UNPKG

@msquared/pixel-streaming-client

Version:

Browser client for viewing pixel-streamed content from MSquared events

14 lines (12 loc) 38.4 kB
"use strict";var MSquaredPixelStreamingClient=(()=>{var xt=Object.create;var J=Object.defineProperty,Et=Object.defineProperties,kt=Object.getOwnPropertyDescriptor,It=Object.getOwnPropertyDescriptors,Tt=Object.getOwnPropertyNames,de=Object.getOwnPropertySymbols,Ct=Object.getPrototypeOf,Ee=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable;var V=Math.pow,xe=(r,e,t)=>e in r?J(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,P=(r,e)=>{for(var t in e||(e={}))Ee.call(e,t)&&xe(r,t,e[t]);if(de)for(var t of de(e))Xe.call(e,t)&&xe(r,t,e[t]);return r},F=(r,e)=>Et(r,It(e));var Nt=(r=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(r,{get:(e,t)=>(typeof require!="undefined"?require:e)[t]}):r)(function(r){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Ye=(r,e)=>{var t={};for(var s in r)Ee.call(r,s)&&e.indexOf(s)<0&&(t[s]=r[s]);if(r!=null&&de)for(var s of de(r))e.indexOf(s)<0&&Xe.call(r,s)&&(t[s]=r[s]);return t};var Ut=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Pt=(r,e)=>{for(var t in e)J(r,t,{get:e[t],enumerable:!0})},Qe=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let l of Tt(e))!Ee.call(r,l)&&l!==t&&J(r,l,{get:()=>e[l],enumerable:!(s=kt(e,l))||s.enumerable});return r};var Ot=(r,e,t)=>(t=r!=null?xt(Ct(r)):{},Qe(e||!r||!r.__esModule?J(t,"default",{value:r,enumerable:!0}):t,r)),Rt=r=>Qe(J({},"__esModule",{value:!0}),r);var I=(r,e,t)=>xe(r,typeof e!="symbol"?e+"":e,t);var N=(r,e,t)=>new Promise((s,l)=>{var d=b=>{try{g(t.next(b))}catch(u){l(u)}},p=b=>{try{g(t.throw(b))}catch(u){l(u)}},g=b=>b.done?s(b.value):Promise.resolve(b.value).then(d,p);g((t=t.apply(r,e)).next())});var tt=Ut((ee,pe)=>{(function(r,e){"use strict";var t="1.0.40",s="",l="?",d="function",p="undefined",g="object",b="string",u="major",n="model",a="name",i="type",o="vendor",c="version",x="architecture",k="console",m="mobile",f="tablet",T="smarttv",C="wearable",z="embedded",K=500,q="Amazon",R="Apple",Ve="ASUS",Fe="BlackBerry",re="Browser",ie="Chrome",ht="Edge",ne="Firefox",Z="Google",De="Huawei",fe="LG",we="Microsoft",Me="Motorola",X="Opera",Y="Samsung",ze="Sharp",oe="Sony",he="Xiaomi",ve="Zebra",qe="Facebook",Be="Chromium OS",je="Mac OS",Ke=" Browser",vt=function(v,S){var h={};for(var E in v)S[E]&&S[E].length%2===0?h[E]=S[E].concat(v[E]):h[E]=v[E];return h},se=function(v){for(var S={},h=0;h<v.length;h++)S[v[h].toUpperCase()]=v[h];return S},We=function(v,S){return typeof v===b?W(S).indexOf(W(v))!==-1:!1},W=function(v){return v.toLowerCase()},St=function(v){return typeof v===b?v.replace(/[^\d\.]/g,s).split(".")[0]:e},Se=function(v,S){if(typeof v===b)return v=v.replace(/^\s\s*/,s),typeof S===p?v:v.substring(0,K)},Q=function(v,S){for(var h=0,E,_,A,y,w,L;h<S.length&&!w;){var ye=S[h],Ze=S[h+1];for(E=_=0;E<ye.length&&!w&&ye[E];)if(w=ye[E++].exec(v),w)for(A=0;A<Ze.length;A++)L=w[++_],y=Ze[A],typeof y===g&&y.length>0?y.length===2?typeof y[1]==d?this[y[0]]=y[1].call(this,L):this[y[0]]=y[1]:y.length===3?typeof y[1]===d&&!(y[1].exec&&y[1].test)?this[y[0]]=L?y[1].call(this,L,y[2]):e:this[y[0]]=L?L.replace(y[1],y[2]):e:y.length===4&&(this[y[0]]=L?y[3].call(this,L.replace(y[1],y[2])):e):this[y]=L||e;h+=2}},ae=function(v,S){for(var h in S)if(typeof S[h]===g&&S[h].length>0){for(var E=0;E<S[h].length;E++)if(We(S[h][E],v))return h===l?e:h}else if(We(S[h],v))return h===l?e:h;return S.hasOwnProperty("*")?S["*"]:v},yt={"1.0":"/8","1.2":"/1","1.3":"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"},He={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"},$e={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[c,[a,"Chrome"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[c,[a,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[a,c],[/opios[\/ ]+([\w\.]+)/i],[c,[a,X+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[c,[a,X+" GX"]],[/\bopr\/([\w\.]+)/i],[c,[a,X]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[c,[a,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[c,[a,"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],[a,c],[/quark(?:pc)?\/([-\w\.]+)/i],[c,[a,"Quark"]],[/\bddg\/([\w\.]+)/i],[c,[a,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[c,[a,"UC"+re]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[c,[a,"WeChat"]],[/konqueror\/([\w\.]+)/i],[c,[a,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[c,[a,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[c,[a,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[c,[a,"Smart Lenovo "+re]],[/(avast|avg)\/([\w\.]+)/i],[[a,/(.+)/,"$1 Secure "+re],c],[/\bfocus\/([\w\.]+)/i],[c,[a,ne+" Focus"]],[/\bopt\/([\w\.]+)/i],[c,[a,X+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[c,[a,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[c,[a,"Dolphin"]],[/coast\/([\w\.]+)/i],[c,[a,X+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[c,[a,"MIUI"+Ke]],[/fxios\/([\w\.-]+)/i],[c,[a,ne]],[/\bqihoobrowser\/?([\w\.]*)/i],[c,[a,"360"]],[/\b(qq)\/([\w\.]+)/i],[[a,/(.+)/,"$1Browser"],c],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[a,/(.+)/,"$1"+Ke],c],[/samsungbrowser\/([\w\.]+)/i],[c,[a,Y+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[c,[a,"Sogou Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[a,"Sogou Mobile"],c],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[a,c],[/(lbbrowser|rekonq)/i,/\[(linkedin)app\]/i],[a],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[c,a],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[a,qe],c],[/(Klarna)\/([\w\.]+)/i,/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\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],[a,c],[/\bgsa\/([\w\.]+) .*safari\//i],[c,[a,"GSA"]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[c,[a,"TikTok"]],[/headlesschrome(?:\/([\w\.]+)| )/i],[c,[a,ie+" Headless"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[a,ie+" WebView"],c],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[c,[a,"Android "+re]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[a,c],[/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i],[c,[a,"Mobile Safari"]],[/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i],[c,a],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[a,[c,ae,yt]],[/(webkit|khtml)\/([\w\.]+)/i],[a,c],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[a,"Netscape"],c],[/(wolvic|librewolf)\/([\w\.]+)/i],[a,c],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[c,[a,ne+" 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,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/(links) \(([\w\.]+)/i],[a,[c,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[a,[c,/master.|lts./,""]]],cpu:[[/(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\)]/i],[[x,"amd64"]],[/(ia32(?=;))/i],[[x,W]],[/((?:i[346]|x)86)[;\)]/i],[[x,"ia32"]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[x,"arm64"]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[x,"armhf"]],[/windows (ce|mobile); ppc;/i],[[x,"arm"]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[x,/ower/,s,W]],[/(sun4\w)[;\)]/i],[[x,"sparc"]],[/((?:avr32|ia64(?=;))|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[x,W]]],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],[n,[o,Y],[i,f]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr])[-\w]+)/i,/sec-(sgh\w+)/i],[n,[o,Y],[i,m]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[n,[o,R],[i,m]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[n,[o,R],[i,f]],[/(macintosh);/i],[n,[o,R]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[n,[o,ze],[i,m]],[/(?:honor)([-\w ]+)[;\)]/i],[n,[o,"Honor"],[i,m]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[n,[o,De],[i,f]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[n,[o,De],[i,m]],[/\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],[[n,/_/g," "],[o,he],[i,m]],[/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i],[[n,/_/g," "],[o,he],[i,f]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[n,[o,"OPPO"],[i,m]],[/\b(opd2\d{3}a?) bui/i],[n,[o,"OPPO"],[i,f]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[n,[o,"Vivo"],[i,m]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[n,[o,"Realme"],[i,m]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w\(\) ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[n,[o,Me],[i,m]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[n,[o,Me],[i,f]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[n,[o,fe],[i,f]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?([\d\w]+) bui/i],[n,[o,fe],[i,m]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab(?:[\w ]+)|yt[-\d\w]{6}|tb[-\d\w]{6})/i],[n,[o,"Lenovo"],[i,f]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w\.]*)/i],[[n,/_/g," "],[o,"Nokia"],[i,m]],[/(pixel c)\b/i],[n,[o,Z],[i,f]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[n,[o,Z],[i,m]],[/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],[n,[o,oe],[i,m]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[n,"Xperia Tablet"],[o,oe],[i,f]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[n,[o,"OnePlus"],[i,m]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[n,[o,q],[i,f]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[n,/(.+)/g,"Fire Phone $1"],[o,q],[i,m]],[/(playbook);[-\w\),; ]+(rim)/i],[n,o,[i,f]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[n,[o,Fe],[i,m]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[n,[o,Ve],[i,f]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[n,[o,Ve],[i,m]],[/(nexus 9)/i],[n,[o,"HTC"],[i,f]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[o,[n,/_/g," "],[i,m]],[/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],[n,[o,"TCL"],[i,f]],[/(itel) ((\w+))/i],[[o,W],n,[i,ae,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[n,[o,"Acer"],[i,f]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[n,[o,"Meizu"],[i,m]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[n,[o,"Ulefone"],[i,m]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[n,[o,"Energizer"],[i,m]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[n,[o,"Cat"],[i,m]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[n,[o,"Smartfren"],[i,m]],[/droid.+; (a(?:015|06[35]|142p?))/i],[n,[o,"Nothing"],[i,m]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (imo) ((?!tab)[\w ]+?)(?: bui|\))/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[o,n,[i,m]],[/(imo) (tab \w+)/i,/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/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],[o,n,[i,f]],[/(surface duo)/i],[n,[o,we],[i,f]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[n,[o,"Fairphone"],[i,m]],[/(u304aa)/i],[n,[o,"AT&T"],[i,m]],[/\bsie-(\w*)/i],[n,[o,"Siemens"],[i,m]],[/\b(rct\w+) b/i],[n,[o,"RCA"],[i,f]],[/\b(venue[\d ]{2,7}) b/i],[n,[o,"Dell"],[i,f]],[/\b(q(?:mv|ta)\w+) b/i],[n,[o,"Verizon"],[i,f]],[/\b(?:barnes[& ]+noble |bn[rt])([\w\+ ]*) b/i],[n,[o,"Barnes & Noble"],[i,f]],[/\b(tm\d{3}\w+) b/i],[n,[o,"NuVision"],[i,f]],[/\b(k88) b/i],[n,[o,"ZTE"],[i,f]],[/\b(nx\d{3}j) b/i],[n,[o,"ZTE"],[i,m]],[/\b(gen\d{3}) b.+49h/i],[n,[o,"Swiss"],[i,m]],[/\b(zur\d{3}) b/i],[n,[o,"Swiss"],[i,f]],[/\b((zeki)?tb.*\b) b/i],[n,[o,"Zeki"],[i,f]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[o,"Dragon Touch"],n,[i,f]],[/\b(ns-?\w{0,9}) b/i],[n,[o,"Insignia"],[i,f]],[/\b((nxa|next)-?\w{0,9}) b/i],[n,[o,"NextBook"],[i,f]],[/\b(xtreme\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[o,"Voice"],n,[i,m]],[/\b(lvtel\-)?(v1[12]) b/i],[[o,"LvTel"],n,[i,m]],[/\b(ph-1) /i],[n,[o,"Essential"],[i,m]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[n,[o,"Envizen"],[i,f]],[/\b(trio[-\w\. ]+) b/i],[n,[o,"MachSpeed"],[i,f]],[/\btu_(1491) b/i],[n,[o,"Rotor"],[i,f]],[/(shield[\w ]+) b/i],[n,[o,"Nvidia"],[i,f]],[/(sprint) (\w+)/i],[o,n,[i,m]],[/(kin\.[onetw]{3})/i],[[n,/\./g," "],[o,we],[i,m]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[n,[o,ve],[i,f]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[n,[o,ve],[i,m]],[/smart-tv.+(samsung)/i],[o,[i,T]],[/hbbtv.+maple;(\d+)/i],[[n,/^/,"SmartTV"],[o,Y],[i,T]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[o,fe],[i,T]],[/(apple) ?tv/i],[o,[n,R+" TV"],[i,T]],[/crkey/i],[[n,ie+"cast"],[o,Z],[i,T]],[/droid.+aft(\w+)( bui|\))/i],[n,[o,q],[i,T]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[n,[o,ze],[i,T]],[/(bravia[\w ]+)( bui|\))/i],[n,[o,oe],[i,T]],[/(mitv-\w{5}) bui/i],[n,[o,he],[i,T]],[/Hbbtv.*(technisat) (.*);/i],[o,n,[i,T]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[o,Se],[n,Se],[i,T]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[i,T]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[o,n,[i,k]],[/droid.+; (shield) bui/i],[n,[o,"Nvidia"],[i,k]],[/(playstation [345portablevi]+)/i],[n,[o,oe],[i,k]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[n,[o,we],[i,k]],[/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i],[n,[o,Y],[i,C]],[/((pebble))app/i],[o,n,[i,C]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[n,[o,R],[i,C]],[/droid.+; (glass) \d/i],[n,[o,Z],[i,C]],[/droid.+; (wt63?0{2,3})\)/i],[n,[o,ve],[i,C]],[/droid.+; (glass) \d/i],[n,[o,Z],[i,C]],[/(pico) (4|neo3(?: link|pro)?)/i],[o,n,[i,C]],[/; (quest( \d| pro)?)/i],[n,[o,qe],[i,C]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[o,[i,z]],[/(aeobc)\b/i],[n,[o,q],[i,z]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[n,[i,m]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[n,[i,f]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[i,f]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[i,m]],[/(android[-\w\. ]{0,9});.+buil/i],[n,[o,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[c,[a,ht+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[a,c],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[c,[a,"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],[a,c],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[c,a]],os:[[/microsoft (windows) (vista|xp)/i],[a,c],[/(windows (?:phone(?: os)?|mobile))[\/ ]?([\d\.\w ]*)/i],[a,[c,ae,He]],[/windows nt 6\.2; (arm)/i,/windows[\/ ]?([ntce\d\. ]+\w)(?!.+xbox)/i,/(?:win(?=3|9|n)|win 9x )([nt\d\.]+)/i],[[c,ae,He],[a,"Windows"]],[/ip[honead]{2,4}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[c,/_/g,"."],[a,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[a,je],[c,/_/g,"."]],[/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i],[c,a],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish|openharmony)[-\/ ]?([\w\.]*)/i,/(blackberry)\w*\/([\w\.]*)/i,/(tizen|kaios)[\/ ]([\w\.]+)/i,/\((series40);/i],[a,c],[/\(bb(10);/i],[c,[a,Fe]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-\/ ]?([\w\.]*)/i],[c,[a,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[c,[a,ne+" OS"]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i],[c,[a,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[c,[a,"watchOS"]],[/crkey\/([\d\.]+)/i],[c,[a,ie+"cast"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[a,Be],c],[/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) ?([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) (\w+)/i],[a,c],[/(sunos) ?([\w\.\d]*)/i],[[a,"Solaris"],c],[/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/(aix) ((\d)(?=\.|\)| )[\w\.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[a,c]]},U=function(v,S){if(typeof v===g&&(S=v,v=e),!(this instanceof U))return new U(v,S).getResult();var h=typeof r!==p&&r.navigator?r.navigator:e,E=v||(h&&h.userAgent?h.userAgent:s),_=h&&h.userAgentData?h.userAgentData:e,A=S?vt($e,S):$e,y=h&&h.userAgent==E;return this.getBrowser=function(){var w={};return w[a]=e,w[c]=e,Q.call(w,E,A.browser),w[u]=St(w[c]),y&&h&&h.brave&&typeof h.brave.isBrave==d&&(w[a]="Brave"),w},this.getCPU=function(){var w={};return w[x]=e,Q.call(w,E,A.cpu),w},this.getDevice=function(){var w={};return w[o]=e,w[n]=e,w[i]=e,Q.call(w,E,A.device),y&&!w[i]&&_&&_.mobile&&(w[i]=m),y&&w[n]=="Macintosh"&&h&&typeof h.standalone!==p&&h.maxTouchPoints&&h.maxTouchPoints>2&&(w[n]="iPad",w[i]=f),w},this.getEngine=function(){var w={};return w[a]=e,w[c]=e,Q.call(w,E,A.engine),w},this.getOS=function(){var w={};return w[a]=e,w[c]=e,Q.call(w,E,A.os),y&&!w[a]&&_&&_.platform&&_.platform!="Unknown"&&(w[a]=_.platform.replace(/chrome os/i,Be).replace(/macos/i,je)),w},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 E},this.setUA=function(w){return E=typeof w===b&&w.length>K?Se(w,K):w,this},this.setUA(E),this};U.VERSION=t,U.BROWSER=se([a,c,u]),U.CPU=se([x]),U.DEVICE=se([n,o,i,k,m,T,f,C,z]),U.ENGINE=U.OS=se([a,c]),typeof ee!==p?(typeof pe!==p&&pe.exports&&(ee=pe.exports=U),ee.UAParser=U):typeof define===d&&define.amd?define(function(){return U}):typeof r!==p&&(r.UAParser=U);var H=typeof r!==p&&(r.jQuery||r.Zepto);if(H&&!H.ua){var ce=new U;H.ua=ce.getResult(),H.ua.get=function(){return ce.getUA()},H.ua.set=function(v){ce.setUA(v);var S=ce.getResult();for(var h in S)H.ua[h]=S[h]}}})(typeof window=="object"?window:ee)});var jt={};Pt(jt,{DEFAULT_GDN_SETTINGS:()=>gt,ElementNotFound:()=>bt,GFNTerminationError:()=>M,PopupBlocked:()=>Le,SessionState:()=>Ae,StreamProvider:()=>_e,StreamState:()=>Ge,StreamTarget:()=>mt,StreamTerminationError:()=>be,StreamingClient:()=>te,StreamingClientError:()=>G,UnsupportedProvider:()=>ft,usePixelStreaming:()=>wt});var le="0123456789abcdef",ue=class r{constructor(e){this.bytes=e}static ofInner(e){if(e.length!==16)throw new TypeError("not 128-bit length");return new r(e)}static fromFieldsV7(e,t,s,l){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(s)||!Number.isInteger(l)||e<0||t<0||s<0||l<0||e>0xffffffffffff||t>4095||s>1073741823||l>4294967295)throw new RangeError("invalid field value");let d=new Uint8Array(16);return d[0]=e/V(2,40),d[1]=e/V(2,32),d[2]=e/V(2,24),d[3]=e/V(2,16),d[4]=e/V(2,8),d[5]=e,d[6]=112|t>>>8,d[7]=t,d[8]=128|s>>>24,d[9]=s>>>16,d[10]=s>>>8,d[11]=s,d[12]=l>>>24,d[13]=l>>>16,d[14]=l>>>8,d[15]=l,new r(d)}static parse(e){var t,s,l,d;let p;switch(e.length){case 32:p=(t=/^[0-9a-f]{32}$/i.exec(e))===null||t===void 0?void 0:t[0];break;case 36:p=(s=/^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||s===void 0?void 0:s.slice(1,6).join("");break;case 38:p=(l=/^\{([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})\}$/i.exec(e))===null||l===void 0?void 0:l.slice(1,6).join("");break;case 45:p=(d=/^urn:uuid:([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/i.exec(e))===null||d===void 0?void 0:d.slice(1,6).join("");break;default:break}if(p){let g=new Uint8Array(16);for(let b=0;b<16;b+=4){let u=parseInt(p.substring(2*b,2*b+8),16);g[b+0]=u>>>24,g[b+1]=u>>>16,g[b+2]=u>>>8,g[b+3]=u}return new r(g)}else throw new SyntaxError("could not parse UUID string")}toString(){let e="";for(let t=0;t<this.bytes.length;t++)e+=le.charAt(this.bytes[t]>>>4),e+=le.charAt(this.bytes[t]&15),(t===3||t===5||t===7||t===9)&&(e+="-");return e}toHex(){let e="";for(let t=0;t<this.bytes.length;t++)e+=le.charAt(this.bytes[t]>>>4),e+=le.charAt(this.bytes[t]&15);return e}toJSON(){return this.toString()}getVariant(){let e=this.bytes[8]>>>4;if(e<0)throw new Error("unreachable");if(e<=7)return this.bytes.every(t=>t===0)?"NIL":"VAR_0";if(e<=11)return"VAR_10";if(e<=13)return"VAR_110";if(e<=15)return this.bytes.every(t=>t===255)?"MAX":"VAR_RESERVED";throw new Error("unreachable")}getVersion(){return this.getVariant()==="VAR_10"?this.bytes[6]>>>4:void 0}clone(){return new r(this.bytes.slice(0))}equals(e){return this.compareTo(e)===0}compareTo(e){for(let t=0;t<16;t++){let s=this.bytes[t]-e.bytes[t];if(s!==0)return Math.sign(s)}return 0}},ke=class{constructor(e){this.timestamp=0,this.counter=0,this.random=e!=null?e:At()}generate(){return this.generateOrResetCore(Date.now(),1e4)}generateOrAbort(){return this.generateOrAbortCore(Date.now(),1e4)}generateOrResetCore(e,t){let s=this.generateOrAbortCore(e,t);return s===void 0&&(this.timestamp=0,s=this.generateOrAbortCore(e,t)),s}generateOrAbortCore(e,t){if(!Number.isInteger(e)||e<1||e>0xffffffffffff)throw new RangeError("`unixTsMs` must be a 48-bit positive integer");if(t<0||t>0xffffffffffff)throw new RangeError("`rollbackAllowance` out of reasonable range");if(e>this.timestamp)this.timestamp=e,this.resetCounter();else if(e+t>=this.timestamp)this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter());else return;return ue.fromFieldsV7(this.timestamp,Math.trunc(this.counter/V(2,30)),this.counter&V(2,30)-1,this.random.nextUint32())}resetCounter(){this.counter=this.random.nextUint32()*1024+(this.random.nextUint32()&1023)}generateV4(){let e=new Uint8Array(Uint32Array.of(this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32(),this.random.nextUint32()).buffer);return e[6]=64|e[6]>>>4,e[8]=128|e[8]>>>2,ue.ofInner(e)}},At=()=>{if(typeof crypto!="undefined"&&typeof crypto.getRandomValues!="undefined")return new Ie;if(typeof UUIDV7_DENY_WEAK_RNG!="undefined"&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");return{nextUint32:()=>Math.trunc(Math.random()*65536)*65536+Math.trunc(Math.random()*65536)}},Ie=class{constructor(){this.buffer=new Uint32Array(8),this.cursor=65535}nextUint32(){return this.cursor>=this.buffer.length&&(crypto.getRandomValues(this.buffer),this.cursor=0),this.buffer[this.cursor++]}},Je,et=()=>Lt().toString(),Lt=()=>(Je||(Je=new ke)).generate();var rt=Ot(tt()),$;function it(){var p;if(navigator.userAgent===($==null?void 0:$.raw))return $;let r=new rt.UAParser(navigator.userAgent),e=r.getOS(),t=r.getDevice(),s=r.getBrowser(),l=r.getEngine(),d=r.getCPU();return((p=e.name)==null?void 0:p.replace(/\s/g,"").toLowerCase())==="macos"&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&(t.model="iPad",t.type="tablet",e.name="iOS"),$={raw:navigator.userAgent,os:e,device:t,browser:s,engine:l,cpu:d},$}var nt={iOS:"iOS"},Te={Safari:"Safari",SafariMobile:"Mobile Safari"};var _t={chrome:{minVer:77},"chrome headless":{minVer:77},edge:{minVer:91},safari:{minVer:16,devices:new Set(["ipad"])},"mobile safari":{minVer:16}},Gt={chrome:{minVer:73},"chrome headless":{minVer:73},firefox:{minVer:66},safari:{minVer:16,devices:new Set(["ipad"])},"mobile safari":{minVer:16}};function ot(r,e,t,s,l){if(l===nt.iOS&&e!==Te.Safari&&e!==Te.SafariMobile)return!1;let d=e.toLowerCase(),p=s.toLowerCase(),g=r[d];if(typeof g!="undefined"){let b=g.minVer<=t,u=g.devices,n=u?u.has(p):!0;return b&&n}return!1}var Ce={};function Vt(){var i,o,c,x,k;let{browser:r,os:e,device:t,raw:s}=it();if(Ce[s])return Ce[s];let l=Number.parseInt((i=r==null?void 0:r.version)!=null?i:"",10),d=(o=t.model)!=null?o:"",p=(c=t.type)!=null?c:"",g=(x=r.name)!=null?x:"",b=(k=e.name)!=null?k:"",u=ot(Gt,g,l,d,b),n=ot(_t,g,l,d,b),a={browserName:g,browserVersion:l,osName:b,deviceModel:d,deviceType:p,ubitusSupported:u,geforceSupported:n};return Ce[s]=a,a}function Ne(r=!1){let e=Vt();return r?F(P({},e),{geforceSupported:!0,ubitusSupported:!0}):e}function Ue(r,e=Error){return typeof e=="function"?r instanceof e:r instanceof Error?r===e:!1}function st(r){return r instanceof Error?r:new Error("unknown error",{cause:r})}function Ft(r,...e){try{return r()}catch(t){if(e.length===0)return st(t);for(let s of e)if(Ue(t,s))return t;throw t}}function at(r,e=Error){if(Ue(r,e))return r;if(r instanceof Error&&r.cause!==void 0)return at(r.cause,e)}var D={is:Ue,wrap:st,catch:Ft,as:at};var me=class{constructor(e=new EventTarget){this.target=e}addEventListener(e,t,s){this.target.addEventListener(e,t,s)}removeEventListener(e,t,s){this.target.removeEventListener(e,t,s)}on(e,t,s){this.addEventListener(e,t,s)}off(e,t,s){this.removeEventListener(e,t,s)}dispatchEvent(e){return this.target.dispatchEvent(e)}emit(e,t){return this.dispatchEvent(new CustomEvent(e,{detail:t}))}};var Pe=class extends Error{constructor(e){super(e!=null?e:"invariant does not hold"),this.name="InvariantError"}};function ct(r,e){if(!r)throw new Pe(e)}var Dt="https://sdk.nvidia.com/gfn/client-sdk/1.x/gfn-client-sdk.js",j=class extends Error{constructor(){super(...arguments);I(this,"name","GFNClientError")}},Re=new j("not-initialized"),Mt=new j("already-initialized"),M=class extends j{constructor(t,s,l,d){super(l,d);this.code=t;this.reason=s;I(this,"name","GFNTerminationError")}},dt="geforce-container",B,Oe=class{constructor(e,t){this.config=e;this.serverInfo=t;I(this,"player")}start(e){return N(this,null,function*(){var l,d;let t=(l=globalThis.GFN.auth.guestUser)==null?void 0:l.idToken;ct(t,"guestUser ID token should exist");let s=globalThis.GFN.streamer.detectStreamingResolution();s.width===1024&&s.height===720&&(s.width=1280),(d=this.player)==null||d.remove(),this.player=document.createElement("div"),this.player.setAttribute("id",dt),this.player.setAttribute("style","width: 100%; height: 100%; background: black;"),e.append(this.player);try{yield globalThis.GFN.streamer.start({server:this.serverInfo.defaultZone.address,appId:this.config.cmsId,windowElementId:dt,streamParams:{width:s.width,height:s.height,fps:60}})}catch(p){return new j("failed to start stream",{cause:p})}})}stop(){globalThis.GFN.streamer.stop()}listen({onTerminated:e,onStarted:t}){globalThis.GFN.streamer.on("started",t),globalThis.GFN.streamer.on("diagnostic",s=>{switch(s.code){case 3237093642:case 3237093643:e(new M(s.code,-1,s.message))}}),globalThis.GFN.streamer.on("terminated",s=>{switch(s.code){case 15868704:case void 0:e();break;default:e(new M(s.code,s.reason))}})}};function zt(r){return N(this,null,function*(){if(B)return Mt;yield qt();try{yield globalThis.GFN.initialize(new globalThis.GFN.Settings(r.settings));let e=yield globalThis.GFN.server.getServerInfo();return yield globalThis.GFN.auth.loginWithNonce(r.nonce,r.cmsId),globalThis.GFN.settings.vpcId=e.vpcId,B=new Oe(r,e),B}catch(e){return new j("GFN client initialization failed",{cause:e})}})}function lt(){return B||Re}function ut(r){return N(this,null,function*(){return B||zt(r)})}function qt(){if(!globalThis.GFN)return new Promise(r=>{let e=document.createElement("script");e.src=Dt,e.addEventListener("load",function t(){r(),e.removeEventListener("load",t)}),document.head.append(e)})}function pt(r,e,{fullscreen:t=!0}={}){let s=new URL("/apps","https://gdn.nvidia.com"),l=s.searchParams,d=!t;return l.append("cms-id",e.cmsId),l.append("action","play-game"),l.append("nonce",e.nonce),l.append("redirect",e.redirect),l.append("partner-id",r),l.append("utm_source","Improbable"),l.append("utm_campaign","Streaming"),l.append("windowed-mode",d.toString()),e.zone&&l.append("zone",e.zone),e.state&&l.append("state",e.state),s.href}var Ae=(u=>(u.Queued="QUEUED",u.Admitted="ADMITTED",u.Ready="READY",u.Pending="PENDING",u.Active="ACTIVE",u.Replaced="REPLACED",u.Expired="EXPIRED",u.Failed="FAILED",u.Deleted="DELETED",u))(Ae||{}),ge=class{constructor(e){I(this,"organizationId");I(this,"token");I(this,"fetch");I(this,"logger");I(this,"baseURL");var t,s,l;this.organizationId=e.organizationId,this.fetch=(t=e.fetch)!=null?t:globalThis.fetch.bind(globalThis),this.token=e.token,this.logger=(s=e.logger)!=null?s:console,this.baseURL=e.host?`${(l=e.protocol)!=null?l:"https"}://${e.host}`:void 0}refreshSession(l){return N(this,arguments,function*({projectId:e,worldId:t,sessionId:s}){let d=new Headers({"x-m2-project-id":e,"x-m2-world-id":t});try{let p=yield this.doFetch(`/api/sessions/${s}`,{method:"post",headers:d});if(!p.ok){this.logger.error("Failed to refresh session:",{body:yield p.text(),status:p.status});return}return yield p.json()}catch(p){this.logger.error("Failed to make refresh session request:",{error:p});return}})}pollSession(e,t,s,l){return N(this,null,function*(){let d;for(;!d||d.state==="QUEUED"||d.state==="ADMITTED"||d.state==="PENDING"||d.state==="READY";){if(d=yield this.refreshSession({projectId:e,worldId:t,sessionId:s}),!d)return;if(d.state==="ACTIVE")return l&&l(d.state),d;yield new Promise(p=>globalThis.setTimeout(p,5e3))}return d})}createSession(p){return N(this,arguments,function*({projectId:e,streamId:t,sessionMetadata:s,worldId:l,onStateChange:d}){let g=new Headers({"x-m2-project-id":e,"x-m2-world-id":l!=null?l:"","Content-Type":"application/json"});try{let b=yield this.doFetch("/api/sessions",{method:"post",headers:g,body:JSON.stringify({streamId:t,metadata:s})});if(!b.ok){this.logger.error("Failed to fetch session config:",{body:yield b.text(),status:b.status});return}let u=yield b.json();return l&&(u.state==="QUEUED"||u.state==="READY")?(d&&d(u.state),yield this.pollSession(e,l,u.sessionId,d)):u}catch(b){this.logger.error("Failed to make fetch session config request:",{error:b});return}})}deleteSession(d){return N(this,arguments,function*({projectId:e,worldId:t,sessionId:s,deletionReason:l}){let p=new Headers({"x-m2-project-id":e,"x-m2-world-id":t});try{let g=yield this.doFetch(`/api/sessions/${s}`,{method:"delete",headers:p,body:JSON.stringify({deletionReason:l})});if(!g.ok){this.logger.error("Failed to delete session:",{body:yield g.text(),status:g.status});return}}catch(g){this.logger.error("Failed to make refresh session request:",{error:g});return}})}doFetch(e,t){return N(this,null,function*(){let s=typeof e=="string"&&this.baseURL?new URL(e,this.baseURL):e,l=new Headers(t==null?void 0:t.headers);if(!l.has("Authorization")&&this.token){let d=typeof this.token=="function"?yield this.token():this.token;l.set("Authorization",`Bearer ${d}`)}return!l.has("x-m2-organization-id")&&this.organizationId&&l.set("x-m2-organization-id",this.organizationId),this.fetch(s,F(P({},t),{headers:l}))})}};var _e=(t=>(t.GeforceNow="gdn",t.Ubitus="ubitus",t))(_e||{}),mt=(t=>(t[t.Window=0]="Window",t[t.Embedded=1]="Embedded",t))(mt||{}),gt={partnerId:"0Xg3tEsmQZqn-zsZgSTIQqJZn5f7X7kuBxE5C9KFsys",clientId:"7F2uPUC63HsHxn3wy51IhSmPyXMsr8Wru-mKOREmqfA",catalogClientId:"18e30568-63b3-43ae-8db6-078689b5705c"},G=class extends Error{constructor(){super(...arguments);I(this,"name","StreamingClientError")}},bt=new G("Stream container element not found in DOM"),be=class extends G{constructor(){super(...arguments);I(this,"name","StreamTerminationError")}},Le=new G("Popup or new tab was blocked by the browser"),ft=new G("only GeforceNow provider is currently supported"),Ge=(d=>(d[d.Idle=0]="Idle",d[d.Loading=1]="Loading",d[d.Streaming=2]="Streaming",d[d.Terminated=3]="Terminated",d[d.Unknown=4]="Unknown",d))(Ge||{}),te=class extends me{constructor(t){var s,l,d,p,g;super();I(this,"skipBrowserSupportChecks");I(this,"gdnSettings");I(this,"logger");I(this,"sessionClient");this.logger=(s=t.logger)!=null?s:console,this.gdnSettings=P(P({},gt),t.gdn),this.sessionClient=new ge(P({host:(d=(l=t.server)==null?void 0:l.host)!=null?d:`${t.auth.organizationId}.m2worlds.io`,protocol:(p=t.server)==null?void 0:p.protocol,fetch:t.fetch},t.auth)),this.skipBrowserSupportChecks=(g=t.skipBrowserSupportChecks)!=null?g:!1}getBrowserSupport(){let t=Ne(this.skipBrowserSupportChecks);return{gdn:t.geforceSupported,ubitus:t.ubitusSupported}}setup(d){return N(this,arguments,function*({projectId:t,worldId:s,forceProvider:l}){let p=Ne(this.skipBrowserSupportChecks),g=et(),b=yield this.sessionClient.createSession({projectId:t,streamId:g,sessionMetadata:F(P({},p),{forceProvider:l}),worldId:s,onStateChange:u=>{this.emit("sessionStateUpdated",u)}});if(b)return{streamId:g,projectId:t,worldId:s,sessionId:b.sessionId,config:b.providerConfig}})}start(b){return N(this,null,function*(){var u=b,{streamId:t,projectId:s,worldId:l,sessionId:d,provider:p}=u,g=Ye(u,["streamId","projectId","worldId","sessionId","provider"]);var i;if(p!=="gdn")return ft;this.emit("streamStateUpdated",{state:1});let n=!0,a=o=>{this.emit("error",o),this.emit("streamStateUpdated",{state:3,error:o}),n&&(this.cleanup({projectId:s,worldId:l,sessionId:d,reason:o}),n=!1)};switch(g.target){case 0:{let{fullscreen:o=!0,config:c,container:x}=g,k=`_stream:${t}`,m=pt(this.gdnSettings.partnerId,c,{fullscreen:o}),f=this.open({container:x,href:m,target:k});return D.is(f)?(D.is(Le)&&((i=this.logger)==null||i.warn("Popup was blocked. We cannot monitor the new window for close events or close it via the SDK")),a(f)):this.emit("streamStateUpdated",{state:2}),f}case 1:{let{config:o,container:c}=g,x=Bt(c);if(x instanceof Error)return a(x),x;let k=yield ut({settings:this.gdnSettings,cmsId:Number.parseInt(o.cmsId),nonce:o.nonce});if(D.is(k))return a(k),k;k.listen({onStarted:()=>{this.emit("streamStateUpdated",{state:2})},onTerminated(f){a(new be("Stream terminated with error",{cause:f}))}});let m=yield k.start(x);return D.is(m)?(a(m),m):x}}})}stop(){let t=lt();if(!D.is(t,Re)){if(D.is(t))return t;t.stop()}}cleanup(p){return N(this,arguments,function*({projectId:t,worldId:s,sessionId:l,reason:d}){let g=d instanceof Error?d.message:d,b=D.as(d,M);if(b){let u=`${b.message||g}`,n=`0x${b.code.toString(16).toUpperCase()}`;g=`GFN: ${u} (reason=${b.reason}, code=${n})`}return yield this.sessionClient.deleteSession({projectId:t,worldId:s,sessionId:l,deletionReason:g})})}open(t){let{container:s,href:l,target:d}=t;if(s)return s.location.href=l,s;let p=globalThis.open(l,d);if(!p)return Le;let g=setInterval(()=>{p.closed&&(clearInterval(g),this.emit("streamStateUpdated",{state:3}))},2e3);return p}};function Bt(r){if(typeof r=="string"){let e=document.querySelector(r);return e||bt}return r}var O=Nt("react");function wt({organizationId:r,projectId:e,worldId:t,authToken:s,clientOptions:l}){let[d,p]=(0,O.useState)(0),[g,b]=(0,O.useState)(),u=(0,O.useRef)(null),n=(0,O.useRef)(null);(0,O.useEffect)(()=>{let c={auth:{token:s,organizationId:r}};return u.current||(u.current=new te(l!=null?l:c)),()=>{i(),u.current=null}},[r,s,l]);let a=(0,O.useCallback)(k=>N(this,[k],function*({streamTarget:c,onError:x=()=>{}}){var K,q;if(!u.current)return;i();let m=R=>{p(R.detail.state)},f=R=>{b(R.detail)},T=R=>{x(R.detail)};n.current={onStreamStateUpdate:m,onSessionStateUpdate:f,onErrorEvent:T},u.current.addEventListener("streamStateUpdated",m),u.current.addEventListener("sessionStateUpdated",f),u.current.addEventListener("error",T);let C=yield u.current.setup({projectId:e,worldId:t,forceProvider:"gdn"});if(!C){x(new Error("Failed to fetch stream config"));return}if(((K=C.config)==null?void 0:K.name)!=="gdn"){x(new Error(`Unsupported provider: ${(q=C.config)==null?void 0:q.name}`));return}let z=yield u.current.start(P(F(P({},C),{provider:"gdn"}),c));if(z instanceof G)throw C&&(yield u.current.cleanup(P({reason:z},C))),z}),[e,t]),i=(0,O.useCallback)(()=>{if(u.current){if(n.current){let{onStreamStateUpdate:c,onSessionStateUpdate:x,onErrorEvent:k}=n.current;u.current.removeEventListener("streamStateUpdated",c),u.current.removeEventListener("sessionStateUpdated",x),u.current.removeEventListener("error",k)}u.current.stop(),p(0),b(void 0)}},[]),o=(0,O.useCallback)(()=>u.current?u.current.getBrowserSupport():{},[]);return{streamState:d,sessionState:g,startStreaming:a,stopStreaming:i,getBrowserSupport:o}}return Rt(jt);})(); /*! Bundled license information: uuidv7/dist/index.js: (** * uuidv7: A JavaScript implementation of UUID version 7 * * Copyright 2021-2024 LiosK * * @license Apache-2.0 * @packageDocumentation *) */