Files
harvester-ui-extension/extensions/harvester/1.10.0-dev/plugin/harvester-1.10.0-dev.umd.min.158.js
T

2 lines
193 KiB
JavaScript

(("undefined"!==typeof self?self:this)["webpackChunkharvester_1_10_0_dev"]=("undefined"!==typeof self?self:this)["webpackChunkharvester_1_10_0_dev"]||[]).push([[158],{24151:function(e,t,s){"use strict";s.d(t,{A:function(){return f}});var i=s(9274);const n={class:"text-default-text"},r={class:"footer"};function a(e,t,s,a,o,h){const l=(0,i.resolveComponent)("Banner"),_=(0,i.resolveComponent)("AsyncButton"),c=(0,i.resolveComponent)("Card"),u=(0,i.resolveComponent)("app-modal");return(0,i.openBlock)(),(0,i.createBlock)(u,(0,i.mergeProps)({name:s.name,width:s.width,"click-to-close":!1,height:s.height},e.$attrs,{class:"modal","data-testid":"mvc__card","trigger-focus-trap":!0,onClose:t[2]||(t[2]=t=>e.$emit("finish",t))}),{default:(0,i.withCtx)(()=>[(0,i.createVNode)(c,{class:"modal","show-highlight-border":!1},{title:(0,i.withCtx)(()=>[(0,i.createElementVNode)("h4",n,[(0,i.renderSlot)(e.$slots,"title",{},void 0,!0)])]),body:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,"content",{},void 0,!0),((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(s.errors,(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)("div",{key:t},[(0,i.createVNode)(l,{class:"banner",color:"error",label:e},null,8,["label"])]))),128))]),actions:(0,i.withCtx)(()=>[(0,i.renderSlot)(e.$slots,"footer",{},()=>[(0,i.createElementVNode)("div",r,[(0,i.createElementVNode)("button",{class:"btn role-secondary mr-20",onClick:t[0]||(t[0]=(0,i.withModifiers)((...e)=>h.hide&&h.hide(...e),["prevent"]))},(0,i.toDisplayString)(s.closeText),1),(0,i.createVNode)(_,{mode:s.saveText,onClick:t[1]||(t[1]=t=>e.$emit("finish",t))},null,8,["mode"])])],!0)]),_:3})]),_:3},16,["name","width","height"])}var o=s(31019),h=s(9980),l=s(30699),_=s(79535),c={name:"ModalWithCard",emits:["close","finish"],components:{Card:o.Z,Banner:h.l,AsyncButton:l.A,AppModal:_.h},props:{name:{type:String,required:!0},closeText:{type:String,default:"Close"},saveText:{type:String,default:"create"},width:{type:[String,Number],default:"50%"},height:{type:[String,Number],default:"auto"},errors:{type:Array,default:()=>[]}},methods:{hide(){this.$emit("close")}}},u=(s(60580),s(1962),s(47433));const d=(0,u.A)(c,[["render",a],["__scopeId","data-v-00744f30"]]);var f=d},7844:function(e,t,s){"use strict";s.r(t);var i=s(36758),n=s.n(i),r=s(40935),a=s.n(r),o=a()(n());o.push([e.id,".footer[data-v-00744f30]{width:100%;display:flex;justify-content:center}.banner[data-v-00744f30]{margin-bottom:0}",""]),t["default"]=o},98570:function(e,t,s){"use strict";s.r(t);var i=s(36758),n=s.n(i),r=s(40935),a=s.n(r),o=a()(n());o.push([e.id,".modal{border-radius:var(--border-radius);max-height:100vh}.modal.card-container{box-shadow:none}",""]),t["default"]=o},60580:function(e,t,s){var i=s(7844);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var n=s(74825).A;n("4b65b293",i,!0,{sourceMap:!1,shadowMode:!1})},1962:function(e,t,s){var i=s(98570);i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.id,i,""]]),i.locals&&(e.exports=i.locals);var n=s(74825).A;n("2853bda7",i,!0,{sourceMap:!1,shadowMode:!1})},54727:function(e,t,s){"use strict";var i=s(83782);t.A={toBase64Table:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split(""),base64Pad:"=",encode(e){let t="";const s=e.length,i=s%3;for(let r=0;r<s-2;r+=3)t+=this.toBase64Table[e[r]>>2],t+=this.toBase64Table[((3&e[r])<<4)+(e[r+1]>>4)],t+=this.toBase64Table[((15&e[r+1])<<2)+(e[r+2]>>6)],t+=this.toBase64Table[63&e[r+2]];const n=s-i;return 2===i?(t+=this.toBase64Table[e[n]>>2],t+=this.toBase64Table[((3&e[n])<<4)+(e[n+1]>>4)],t+=this.toBase64Table[(15&e[n+1])<<2],t+=this.toBase64Table[64]):1===i&&(t+=this.toBase64Table[e[n]>>2],t+=this.toBase64Table[(3&e[n])<<4],t+=this.toBase64Table[64],t+=this.toBase64Table[64]),t},toBinaryTable:[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1],decode(e,t=0){let s=e.indexOf("=")-t;s<0&&(s=e.length-t);const n=3*(s>>2)+Math.floor(s%4/1.5),r=new Array(n);let a=0,o=0;for(let h=0,l=t;l<e.length;l++){const t=this.toBinaryTable[127&e.charCodeAt(l)],s=e.charAt(l)===this.base64Pad;-1!==t?(o=o<<6|t,a+=6,a>=8&&(a-=8,s||(r[h++]=o>>a&255),o&=(1<<a)-1)):i.$D("Illegal character code "+e.charCodeAt(l)+" at position "+l)}if(a){const e=new Error("Corrupted base64 string");throw e.name="Base64-Error",e}return r}}},8099:function(e,t,s){"use strict";s.d(t,{A:function(){return O}});class i{constructor(){this._key=null}get algorithm(){return{name:"AES-ECB"}}static async importKey(e,t,s,n){const r=new i;return await r._importKey(e,s,n),r}async _importKey(e,t,s){this._key=await window.crypto.subtle.importKey("raw",e,{name:"AES-CBC"},t,s)}async encrypt(e,t){const s=new Uint8Array(t);if(s.length%16!==0||null===this._key)return null;const i=s.length/16;for(let n=0;n<i;n++){const e=new Uint8Array(await window.crypto.subtle.encrypt({name:"AES-CBC",iv:new Uint8Array(16)},this._key,s.slice(16*n,16*n+16))).slice(0,16);s.set(e,16*n)}return s}}class n{constructor(){this._rawKey=null,this._ctrKey=null,this._cbcKey=null,this._zeroBlock=new Uint8Array(16),this._prefixBlock0=this._zeroBlock,this._prefixBlock1=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]),this._prefixBlock2=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2])}get algorithm(){return{name:"AES-EAX"}}async _encryptBlock(e){const t=await window.crypto.subtle.encrypt({name:"AES-CBC",iv:this._zeroBlock},this._cbcKey,e);return new Uint8Array(t).slice(0,16)}async _initCMAC(){const e=await this._encryptBlock(this._zeroBlock),t=new Uint8Array(16),s=e[0]>>>6;for(let n=0;n<15;n++)t[n]=e[n+1]>>6|e[n]<<2,e[n]=e[n+1]>>7|e[n]<<1;const i=[0,135,14,137];t[14]^=s>>>1,t[15]=e[15]<<2^i[s],e[15]=e[15]<<1^i[s>>1],this._k1=e,this._k2=t}async _encryptCTR(e,t){const s=await window.crypto.subtle.encrypt({name:"AES-CTR",counter:t,length:128},this._ctrKey,e);return new Uint8Array(s)}async _decryptCTR(e,t){const s=await window.crypto.subtle.decrypt({name:"AES-CTR",counter:t,length:128},this._ctrKey,e);return new Uint8Array(s)}async _computeCMAC(e,t){if(16!==t.length)return null;const s=Math.floor(e.length/16),i=Math.ceil(e.length/16),n=e.length-16*s,r=new Uint8Array(16*(i+1));if(r.set(t),r.set(e,16),0===n)for(let h=0;h<16;h++)r[16*s+h]^=this._k1[h];else{r[16*(s+1)+n]=128;for(let e=0;e<16;e++)r[16*(s+1)+e]^=this._k2[e]}let a=await window.crypto.subtle.encrypt({name:"AES-CBC",iv:this._zeroBlock},this._cbcKey,r);a=new Uint8Array(a);const o=a.slice(a.length-32,a.length-16);return o}static async importKey(e,t,s,i){const r=new n;return await r._importKey(e),r}async _importKey(e){this._rawKey=e,this._ctrKey=await window.crypto.subtle.importKey("raw",e,{name:"AES-CTR"},!1,["encrypt","decrypt"]),this._cbcKey=await window.crypto.subtle.importKey("raw",e,{name:"AES-CBC"},!1,["encrypt"]),await this._initCMAC()}async encrypt(e,t){const s=e.additionalData,i=e.iv,n=await this._computeCMAC(i,this._prefixBlock0),r=await this._encryptCTR(t,n),a=await this._computeCMAC(s,this._prefixBlock1),o=await this._computeCMAC(r,this._prefixBlock2);for(let l=0;l<16;l++)o[l]^=n[l]^a[l];const h=new Uint8Array(16+r.length);return h.set(r),h.set(o,r.length),h}async decrypt(e,t){const s=t.slice(0,t.length-16),i=e.additionalData,n=e.iv,r=t.slice(t.length-16),a=await this._computeCMAC(n,this._prefixBlock0),o=await this._computeCMAC(i,this._prefixBlock1),h=await this._computeCMAC(s,this._prefixBlock2);for(let _=0;_<16;_++)h[_]^=a[_]^o[_];if(h.length!==r.length)return null;for(let _=0;_<r.length;_++)if(h[_]!==r[_])return null;const l=await this._decryptCTR(s,a);return l}}const r=[13,16,10,23,0,4,2,27,14,5,20,9,22,18,11,3,25,7,15,6,26,19,12,1,40,51,30,36,46,54,29,39,50,44,32,47,43,48,38,55,33,52,45,41,49,35,28,31],a=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],o=0;let h,l,_,c,u,d;h=65536,l=1<<24,_=h|l,c=4,u=1024,d=c|u;const f=[_|u,o|o,h|o,_|d,_|c,h|d,o|c,h|o,o|u,_|u,_|d,o|u,l|d,_|c,l|o,o|c,o|d,l|u,l|u,h|u,h|u,_|o,_|o,l|d,h|c,l|c,l|c,h|c,o|o,o|d,h|d,l|o,h|o,_|d,o|c,_|o,_|u,l|o,l|o,o|u,_|c,h|o,h|u,l|c,o|u,o|c,l|d,h|d,_|d,h|c,_|o,l|d,l|c,o|d,h|d,_|u,o|d,l|u,l|u,o|o,h|c,h|u,o|o,_|c];h=1<<20,l=1<<31,_=h|l,c=32,u=32768,d=c|u;const p=[_|d,l|u,o|u,h|d,h|o,o|c,_|c,l|d,l|c,_|d,_|u,l|o,l|u,h|o,o|c,_|c,h|u,h|c,l|d,o|o,l|o,o|u,h|d,_|o,h|c,l|c,o|o,h|u,o|d,_|u,_|o,o|d,o|o,h|d,_|c,h|o,l|d,_|o,_|u,o|u,_|o,l|u,o|c,_|d,h|d,o|c,o|u,l|o,o|d,_|u,h|o,l|c,h|c,l|d,l|c,h|c,h|u,o|o,l|u,o|d,l|o,_|c,_|d,h|u];h=1<<17,l=1<<27,_=h|l,c=8,u=512,d=c|u;const g=[o|d,_|u,o|o,_|c,l|u,o|o,h|d,l|u,h|c,l|c,l|c,h|o,_|d,h|c,_|o,o|d,l|o,o|c,_|u,o|u,h|u,_|o,_|c,h|d,l|d,h|u,h|o,l|d,o|c,_|d,o|u,l|o,_|u,l|o,h|c,o|d,h|o,_|u,l|u,o|o,o|u,h|c,_|d,l|u,l|c,o|u,o|o,_|c,l|d,h|o,l|o,_|d,o|c,h|d,h|u,l|c,_|o,l|d,o|d,_|o,h|d,o|c,_|c,h|u];h=8192,l=1<<23,_=h|l,c=1,u=128,d=c|u;const w=[_|c,h|d,h|d,o|u,_|u,l|d,l|c,h|c,o|o,_|o,_|o,_|d,o|d,o|o,l|u,l|c,o|c,h|o,l|o,_|c,o|u,l|o,h|c,h|u,l|d,o|c,h|u,l|u,h|o,_|u,_|d,o|d,l|u,l|c,_|o,_|d,o|d,o|o,o|o,_|o,h|u,l|u,l|d,o|c,_|c,h|d,h|d,o|u,_|d,o|d,o|c,h|o,l|c,h|c,_|u,l|d,h|c,h|u,l|o,_|c,o|u,l|o,h|o,_|u];h=1<<25,l=1<<30,_=h|l,c=256,u=1<<19,d=c|u;const m=[o|c,h|d,h|u,_|c,o|u,o|c,l|o,h|u,l|d,o|u,h|c,l|d,_|c,_|u,o|d,l|o,h|o,l|u,l|u,o|o,l|c,_|d,_|d,h|c,_|u,l|c,o|o,_|o,h|d,h|o,_|o,o|d,o|u,_|c,o|c,h|o,l|o,h|u,_|c,l|d,h|c,l|o,_|u,h|d,l|d,o|c,h|o,_|u,_|d,o|d,_|o,_|d,h|u,o|o,l|u,_|o,o|d,h|c,l|c,o|u,o|o,l|u,h|d,l|c];h=1<<22,l=1<<29,_=h|l,c=16,u=16384,d=c|u;const y=[l|c,_|o,o|u,_|d,_|o,o|c,_|d,h|o,l|u,h|d,h|o,l|c,h|c,l|u,l|o,o|d,o|o,h|c,l|d,o|u,h|u,l|d,o|c,_|c,_|c,o|o,h|d,_|u,o|d,h|u,_|u,l|o,l|u,o|c,_|c,h|u,_|d,h|o,o|d,l|c,h|o,l|u,l|o,o|d,l|c,_|d,h|u,_|o,h|d,_|u,o|o,_|c,o|c,o|u,_|o,h|d,o|u,h|c,l|d,o|o,_|u,l|o,h|c,l|d];h=1<<21,l=1<<26,_=h|l,c=2,u=2048,d=c|u;const v=[h|o,_|c,l|d,o|o,o|u,l|d,h|d,_|u,_|d,h|o,o|o,l|c,o|c,l|o,_|c,o|d,l|u,h|d,h|c,l|u,l|c,_|o,_|u,h|c,_|o,o|u,o|d,_|d,h|u,o|c,l|o,h|u,l|o,h|u,h|o,l|d,l|d,_|c,_|c,o|c,h|c,l|o,l|u,h|o,_|u,o|d,h|d,_|u,o|d,l|c,_|d,_|o,h|u,o|o,o|c,_|d,o|o,h|d,_|o,o|u,l|c,l|u,o|u,h|c];h=1<<18,l=1<<28,_=h|l,c=64,u=4096,d=c|u;const b=[l|d,o|u,h|o,_|d,l|o,l|d,o|c,l|o,h|c,_|o,_|d,h|u,_|u,h|d,o|u,o|c,_|o,l|c,l|u,o|d,h|u,h|c,_|c,_|u,o|d,o|o,o|o,_|c,l|c,l|u,h|d,h|o,h|d,h|o,_|u,o|u,o|c,_|c,o|u,h|d,l|u,o|c,l|c,_|o,_|c,l|o,h|o,l|d,o|o,_|d,h|c,l|c,_|o,l|u,l|d,o|o,_|d,h|u,h|u,o|d,o|d,h|c,l|o,_|u];class k{constructor(e){this.keys=[];const t=[],s=[],i=[];for(let n=0,r=56;n<56;++n,r-=8){r+=r<-5?65:r<-3?31:r<-1?63:27===r?35:0;const s=7&r;t[n]=0!==(e[r>>>3]&1<<s)?1:0}for(let n=0;n<16;++n){const e=n<<1,o=e+1;i[e]=i[o]=0;for(let i=28;i<59;i+=28)for(let e=i-28;e<i;++e){const r=e+a[n];s[e]=r<i?t[r]:t[r-28]}for(let t=0;t<24;++t)0!==s[r[t]]&&(i[e]|=1<<23-t),0!==s[r[t+24]]&&(i[o]|=1<<23-t)}for(let n=0,r=0,a=0;n<16;++n){const e=i[r++],t=i[r++];this.keys[a]=(16515072&e)<<6,this.keys[a]|=(4032&e)<<10,this.keys[a]|=(16515072&t)>>>10,this.keys[a]|=(4032&t)>>>6,++a,this.keys[a]=(258048&e)<<12,this.keys[a]|=(63&e)<<16,this.keys[a]|=(258048&t)>>>4,this.keys[a]|=63&t,++a}}enc8(e){const t=e.slice();let s,i,n,r=0;s=t[r++]<<24|t[r++]<<16|t[r++]<<8|t[r++],i=t[r++]<<24|t[r++]<<16|t[r++]<<8|t[r++],n=252645135&(s>>>4^i),i^=n,s^=n<<4,n=65535&(s>>>16^i),i^=n,s^=n<<16,n=858993459&(i>>>2^s),s^=n,i^=n<<2,n=16711935&(i>>>8^s),s^=n,i^=n<<8,i=i<<1|i>>>31&1,n=2863311530&(s^i),s^=n,i^=n,s=s<<1|s>>>31&1;for(let a=0,o=0;a<8;++a){n=i<<28|i>>>4,n^=this.keys[o++];let e=v[63&n];e|=m[n>>>8&63],e|=g[n>>>16&63],e|=f[n>>>24&63],n=i^this.keys[o++],e|=b[63&n],e|=y[n>>>8&63],e|=w[n>>>16&63],e|=p[n>>>24&63],s^=e,n=s<<28|s>>>4,n^=this.keys[o++],e=v[63&n],e|=m[n>>>8&63],e|=g[n>>>16&63],e|=f[n>>>24&63],n=s^this.keys[o++],e|=b[63&n],e|=y[n>>>8&63],e|=w[n>>>16&63],e|=p[n>>>24&63],i^=e}for(i=i<<31|i>>>1,n=2863311530&(s^i),s^=n,i^=n,s=s<<31|s>>>1,n=16711935&(s>>>8^i),i^=n,s^=n<<8,n=858993459&(s>>>2^i),i^=n,s^=n<<2,n=65535&(i>>>16^s),s^=n,i^=n<<16,n=252645135&(i>>>4^s),s^=n,i^=n<<4,n=[i,s],r=0;r<8;r++)t[r]=(n[r>>>2]>>>8*(3-r%4))%256,t[r]<0&&(t[r]+=256);return t}}class X{constructor(){this._cipher=null}get algorithm(){return{name:"DES-ECB"}}static importKey(e,t,s,i){const n=new X;return n._importKey(e),n}_importKey(e,t,s){this._cipher=new k(e)}encrypt(e,t){const s=new Uint8Array(t);if(s.length%8!==0||null===this._cipher)return null;const i=s.length/8;for(let n=0;n<i;n++)s.set(this._cipher.enc8(s.slice(8*n,8*n+8)),8*n);return s}}class K{constructor(){this._cipher=null}get algorithm(){return{name:"DES-CBC"}}static importKey(e,t,s,i){const n=new K;return n._importKey(e),n}_importKey(e){this._cipher=new k(e)}encrypt(e,t){const s=new Uint8Array(t);let i=new Uint8Array(e.iv);if(s.length%8!==0||null===this._cipher)return null;const n=s.length/8;for(let r=0;r<n;r++){for(let e=0;e<8;e++)i[e]^=t[8*r+e];i=this._cipher.enc8(i),s.set(i,8*r)}return s}}var A=s(54727);function S(e,t,s){let i=1n;e%=s;while(t>0n)1n===(1n&t)&&(i=i*e%s),t>>=1n,e=e*e%s;return i}function C(e,t=0){let s=e.toString(16);0===t&&(t=Math.ceil(s.length/2)),s=s.padStart(2*t,"0");const i=s.length/2,n=new Uint8Array(i);for(let r=0;r<i;r++)n[r]=parseInt(s.slice(2*r,2*r+2),16);return n}function F(e){let t="0x";for(let s=0;s<e.length;s++)t+=e[s].toString(16).padStart(2,"0");return BigInt(t)}class E{constructor(){this._keyLength=0,this._keyBytes=0,this._n=null,this._e=null,this._d=null,this._nBigInt=null,this._eBigInt=null,this._dBigInt=null,this._extractable=!1}get algorithm(){return{name:"RSA-PKCS1-v1_5"}}_base64urlDecode(e){return e=e.replace(/-/g,"+").replace(/_/g,"/"),e=e.padEnd(4*Math.ceil(e.length/4),"="),A.A.decode(e)}_padArray(e,t){const s=new Uint8Array(t);return s.set(e,t-e.length),s}static async generateKey(e,t,s){const i=new E;return await i._generateKey(e,t),{privateKey:i}}async _generateKey(e,t){this._keyLength=e.modulusLength,this._keyBytes=Math.ceil(this._keyLength/8);const s=await window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:e.modulusLength,publicExponent:e.publicExponent,hash:{name:"SHA-256"}},!0,["encrypt","decrypt"]),i=await window.crypto.subtle.exportKey("jwk",s.privateKey);this._n=this._padArray(this._base64urlDecode(i.n),this._keyBytes),this._nBigInt=F(this._n),this._e=this._padArray(this._base64urlDecode(i.e),this._keyBytes),this._eBigInt=F(this._e),this._d=this._padArray(this._base64urlDecode(i.d),this._keyBytes),this._dBigInt=F(this._d),this._extractable=t}static async importKey(e,t,s,i){if(1!==i.length||"encrypt"!==i[0])throw new Error("only support importing RSA public key");const n=new E;return await n._importKey(e,s),n}async _importKey(e,t){const s=e.n,i=e.e;if(s.length!==i.length)throw new Error("the sizes of modulus and public exponent do not match");this._keyBytes=s.length,this._keyLength=8*this._keyBytes,this._n=new Uint8Array(this._keyBytes),this._e=new Uint8Array(this._keyBytes),this._n.set(s),this._e.set(i),this._nBigInt=F(this._n),this._eBigInt=F(this._e),this._extractable=t}async encrypt(e,t){if(t.length>this._keyBytes-11)return null;const s=new Uint8Array(this._keyBytes-t.length-3);window.crypto.getRandomValues(s);for(let a=0;a<s.length;a++)s[a]=Math.floor(254*s[a]/255+1);const i=new Uint8Array(this._keyBytes);i[1]=2,i.set(s,2),i.set(t,s.length+3);const n=F(i),r=S(n,this._eBigInt,this._nBigInt);return C(r,this._keyBytes)}async decrypt(e,t){if(t.length!==this._keyBytes)return null;const s=F(t),i=S(s,this._dBigInt,this._nBigInt),n=C(i,this._keyBytes);if(0!==n[0]||2!==n[1])return null;let r=2;for(;r<n.length;r++)if(0===n[r])break;return r===n.length?null:n.slice(r+1,n.length)}async exportKey(){if(!this._extractable)throw new Error("key is not extractable");return{n:this._n,e:this._e,d:this._d}}}class x{constructor(e){this._key=e}get algorithm(){return{name:"DH"}}exportKey(){return this._key}}class Q{constructor(){this._g=null,this._p=null,this._gBigInt=null,this._pBigInt=null,this._privateKey=null}get algorithm(){return{name:"DH"}}static generateKey(e,t){const s=new Q;return s._generateKey(e),{privateKey:s,publicKey:new x(s._publicKey)}}_generateKey(e){const t=e.g,s=e.p;this._keyBytes=s.length,this._gBigInt=F(t),this._pBigInt=F(s),this._privateKey=window.crypto.getRandomValues(new Uint8Array(this._keyBytes)),this._privateKeyBigInt=F(this._privateKey),this._publicKey=C(S(this._gBigInt,this._privateKeyBigInt,this._pBigInt),this._keyBytes)}deriveBits(e,t){const s=Math.ceil(t/8),i=new Uint8Array(e.public),n=s>this._keyBytes?s:this._keyBytes,r=S(F(i),this._privateKeyBigInt,this._pBigInt);return C(r,n).slice(0,n)}}async function M(e){let t="";for(let s=0;s<e.length;s++)t+=String.fromCharCode(e[s]);return B(R(T(L(t),8*t.length)))}function B(e){let t=new Uint8Array(e.length);for(let s=0;s<e.length;s++)t[s]=e.charCodeAt(s);return t}function L(e){let t=Array(e.length>>2);for(let s=0;s<t.length;s++)t[s]=0;for(let s=0;s<8*e.length;s+=8)t[s>>5]|=(255&e.charCodeAt(s/8))<<s%32;return t}function R(e){let t="";for(let s=0;s<32*e.length;s+=8)t+=String.fromCharCode(e[s>>5]>>>s%32&255);return t}function T(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;let s=1732584193,i=-271733879,n=-1732584194,r=271733878;for(let a=0;a<e.length;a+=16){let t=s,o=i,h=n,l=r;i=z(i=z(i=z(i=z(i=U(i=U(i=U(i=U(i=I(i=I(i=I(i=I(i=P(i=P(i=P(i=P(i,n=P(n,r=P(r,s=P(s,i,n,r,e[a+0],7,-680876936),i,n,e[a+1],12,-389564586),s,i,e[a+2],17,606105819),r,s,e[a+3],22,-1044525330),n=P(n,r=P(r,s=P(s,i,n,r,e[a+4],7,-176418897),i,n,e[a+5],12,1200080426),s,i,e[a+6],17,-1473231341),r,s,e[a+7],22,-45705983),n=P(n,r=P(r,s=P(s,i,n,r,e[a+8],7,1770035416),i,n,e[a+9],12,-1958414417),s,i,e[a+10],17,-42063),r,s,e[a+11],22,-1990404162),n=P(n,r=P(r,s=P(s,i,n,r,e[a+12],7,1804603682),i,n,e[a+13],12,-40341101),s,i,e[a+14],17,-1502002290),r,s,e[a+15],22,1236535329),n=I(n,r=I(r,s=I(s,i,n,r,e[a+1],5,-165796510),i,n,e[a+6],9,-1069501632),s,i,e[a+11],14,643717713),r,s,e[a+0],20,-373897302),n=I(n,r=I(r,s=I(s,i,n,r,e[a+5],5,-701558691),i,n,e[a+10],9,38016083),s,i,e[a+15],14,-660478335),r,s,e[a+4],20,-405537848),n=I(n,r=I(r,s=I(s,i,n,r,e[a+9],5,568446438),i,n,e[a+14],9,-1019803690),s,i,e[a+3],14,-187363961),r,s,e[a+8],20,1163531501),n=I(n,r=I(r,s=I(s,i,n,r,e[a+13],5,-1444681467),i,n,e[a+2],9,-51403784),s,i,e[a+7],14,1735328473),r,s,e[a+12],20,-1926607734),n=U(n,r=U(r,s=U(s,i,n,r,e[a+5],4,-378558),i,n,e[a+8],11,-2022574463),s,i,e[a+11],16,1839030562),r,s,e[a+14],23,-35309556),n=U(n,r=U(r,s=U(s,i,n,r,e[a+1],4,-1530992060),i,n,e[a+4],11,1272893353),s,i,e[a+7],16,-155497632),r,s,e[a+10],23,-1094730640),n=U(n,r=U(r,s=U(s,i,n,r,e[a+13],4,681279174),i,n,e[a+0],11,-358537222),s,i,e[a+3],16,-722521979),r,s,e[a+6],23,76029189),n=U(n,r=U(r,s=U(s,i,n,r,e[a+9],4,-640364487),i,n,e[a+12],11,-421815835),s,i,e[a+15],16,530742520),r,s,e[a+2],23,-995338651),n=z(n,r=z(r,s=z(s,i,n,r,e[a+0],6,-198630844),i,n,e[a+7],10,1126891415),s,i,e[a+14],15,-1416354905),r,s,e[a+5],21,-57434055),n=z(n,r=z(r,s=z(s,i,n,r,e[a+12],6,1700485571),i,n,e[a+3],10,-1894986606),s,i,e[a+10],15,-1051523),r,s,e[a+1],21,-2054922799),n=z(n,r=z(r,s=z(s,i,n,r,e[a+8],6,1873313359),i,n,e[a+15],10,-30611744),s,i,e[a+6],15,-1560198380),r,s,e[a+13],21,1309151649),n=z(n,r=z(r,s=z(s,i,n,r,e[a+4],6,-145523070),i,n,e[a+11],10,-1120210379),s,i,e[a+2],15,718787259),r,s,e[a+9],21,-343485551),s=N(s,t),i=N(i,o),n=N(n,h),r=N(r,l)}return Array(s,i,n,r)}function D(e,t,s,i,n,r){return N(H(N(N(t,e),N(i,r)),n),s)}function P(e,t,s,i,n,r,a){return D(t&s|~t&i,e,t,n,r,a)}function I(e,t,s,i,n,r,a){return D(t&i|s&~i,e,t,n,r,a)}function U(e,t,s,i,n,r,a){return D(t^s^i,e,t,n,r,a)}function z(e,t,s,i,n,r,a){return D(s^(t|~i),e,t,n,r,a)}function N(e,t){let s=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(s>>16)<<16|65535&s}function H(e,t){return e<<t|e>>>32-t}class V{constructor(){this._algorithms={"AES-ECB":i,"AES-EAX":n,"DES-ECB":X,"DES-CBC":K,"RSA-PKCS1-v1_5":E,DH:Q,MD5:M}}encrypt(e,t,s){if(t.algorithm.name!==e.name)throw new Error("algorithm does not match");if("function"!==typeof t.encrypt)throw new Error("key does not support encryption");return t.encrypt(e,s)}decrypt(e,t,s){if(t.algorithm.name!==e.name)throw new Error("algorithm does not match");if("function"!==typeof t.decrypt)throw new Error("key does not support encryption");return t.decrypt(e,s)}importKey(e,t,s,i,n){if("raw"!==e)throw new Error("key format is not supported");const r=this._algorithms[s.name];if("undefined"===typeof r||"function"!==typeof r.importKey)throw new Error("algorithm is not supported");return r.importKey(t,s,i,n)}generateKey(e,t,s){const i=this._algorithms[e.name];if("undefined"===typeof i||"function"!==typeof i.generateKey)throw new Error("algorithm is not supported");return i.generateKey(e,t,s)}exportKey(e,t){if("raw"!==e)throw new Error("key format is not supported");if("function"!==typeof t.exportKey)throw new Error("key does not support exportKey");return t.exportKey()}digest(e,t){const s=this._algorithms[e];if("function"!==typeof s)throw new Error("algorithm is not supported");return s(t)}deriveBits(e,t,s){if(t.algorithm.name!==e.name)throw new Error("algorithm does not match");if("function"!==typeof t.deriveBits)throw new Error("key does not support deriveBits");return t.deriveBits(e,s)}}var O=new V},35719:function(e,t,s){"use strict";s.d(t,{A:function(){return i}});class i{decodeRect(e,t,s,i,n,r,a){if(n.rQwait("COPYRECT",4))return!1;let o=n.rQshift16(),h=n.rQshift16();return 0===s||0===i||r.copyImage(o,h,e,t,s,i),!0}}},73400:function(e,t,s){"use strict";s.d(t,{Ay:function(){return a}});var i=s(83782);class n{constructor(e){this._data=e,this._index=0,this.profileIdc=null,this.constraintSet=null,this.levelIdc=null}_getStartSequenceLen(e){let t=this._data;return 0==t[e+0]&&0==t[e+1]&&0==t[e+2]&&1==t[e+3]?4:0==t[e+0]&&0==t[e+1]&&1==t[e+2]?3:0}_indexOfNextNalUnit(e){let t=this._data;for(let s=e;s<t.length;++s)if(0!=this._getStartSequenceLen(s))return s;return-1}_parseSps(e){this.profileIdc=this._data[e],this.constraintSet=this._data[e+1],this.levelIdc=this._data[e+2]}_parseNalUnit(e){const t=this._data[e];if(128&t)throw new Error("H264 parsing sanity check failed, forbidden zero bit is set");const s=31&t;switch(s){case 1:return{slice:!0};case 5:return{slice:!0,key:!0};case 6:return{};case 7:return this._parseSps(e+1),{};case 8:return{};default:i.P$("Unhandled unit type: ",s);break}return{}}parse(){const e=this._index;let t=!1;while(this._index<this._data.length){const e=this._getStartSequenceLen(this._index);if(0==e)throw new Error("Invalid start sequence in bit stream");const{slice:s,key:i}=this._parseNalUnit(this._index+e);let n=this._indexOfNextNalUnit(this._index+e);if(this._index=-1==n?this._data.length:n,i&&(t=!0),s)break}return e===this._index?null:{frame:this._data.subarray(e,this._index),key:t}}}class r{constructor(e,t){this.lastUsed=0,this._width=e,this._height=t,this._profileIdc=null,this._constraintSet=null,this._levelIdc=null,this._decoder=null,this._pendingFrames=[]}_handleFrame(e){let t=this._pendingFrames.shift();if(void 0===t)throw new Error("Pending frame queue empty when receiving frame from decoder");if(t.timestamp!=e.timestamp)throw new Error("Video frame timestamp mismatch. Expected "+e.timestamp+" but but got "+t.timestamp);t.frame=e,t.ready=!0,t.resolve(),t.keep||e.close()}_handleError(e){throw new Error("Failed to decode frame: "+e.message)}_configureDecoder(e,t,s){null!==this._decoder&&"closed"!==this._decoder.state||(this._decoder=new VideoDecoder({output:e=>this._handleFrame(e),error:e=>this._handleError(e)}));const i="avc1."+e.toString(16).padStart(2,"0")+t.toString(16).padStart(2,"0")+s.toString(16).padStart(2,"0");this._decoder.configure({codec:i,codedWidth:this._width,codedHeight:this._height,optimizeForLatency:!0})}_preparePendingFrame(e){let t={timestamp:e,promise:null,resolve:null,frame:null,ready:!1,keep:!1};return t.promise=new Promise(e=>{t.resolve=e}),this._pendingFrames.push(t),t}decode(e){let t=new n(e),s=null,r=Math.round(1e3*window.performance.now());while(1){let e=t.parse();if(null===e)break;if(null!==t.profileIdc&&(self._profileIdc=t.profileIdc,self._constraintSet=t.constraintSet,self._levelIdc=t.levelIdc),null===this._decoder||"configured"!==this._decoder.state){if(!e.key){i.P$("Missing key frame. Can't decode until one arrives");continue}if(null===self._profileIdc){i.P$("Cannot config decoder. Have not received SPS and PPS yet.");continue}this._configureDecoder(self._profileIdc,self._constraintSet,self._levelIdc)}s=this._preparePendingFrame(r);const n=new EncodedVideoChunk({timestamp:r,type:e.key?"key":"delta",data:e.frame});try{this._decoder.decode(n)}catch(a){i.P$("Failed to decode:",a)}}return null!==s&&(s.keep=!0),s}}class a{constructor(){this._tick=0,this._contexts={}}_contextId(e,t,s,i){return[e,t,s,i].join(",")}_findOldestContextId(){let e,t=Number.MAX_VALUE;for(const[s,i]of Object.entries(this._contexts))i.lastUsed<t&&(t=i.lastUsed,e=s);return e}_createContext(e,t,s,i){const n=64;if(Object.keys(this._contexts).length>=n){let e=this._findOldestContextId();delete this._contexts[e]}let a=new r(s,i);return this._contexts[this._contextId(e,t,s,i)]=a,a}_getContext(e,t,s,i){let n=this._contexts[this._contextId(e,t,s,i)];return void 0!==n?n:this._createContext(e,t,s,i)}_resetContext(e,t,s,i){delete this._contexts[this._contextId(e,t,s,i)]}_resetAllContexts(){this._contexts={}}decodeRect(e,t,s,i,n,r,a){const o=1,h=2;if(n.rQwait("h264 header",8))return!1;const l=n.rQshift32(),_=n.rQshift32();if(n.rQwait("h264 payload",l,8))return!1;_&h?this._resetAllContexts():_&o&&this._resetContext(e,t,s,i);let c=this._getContext(e,t,s,i);if(c.lastUsed=this._tick++,0!==l){let a=n.rQshiftBytes(l,!1),o=c.decode(a);null!==o&&r.videoFrame(e,t,s,i,o)}return!0}}},88487:function(e,t,s){"use strict";s.d(t,{A:function(){return n}});var i=s(83782);class n{constructor(){this._tiles=0,this._lastsubencoding=0,this._tileBuffer=new Uint8Array(1024)}decodeRect(e,t,s,n,r,a,o){0===this._tiles&&(this._tilesX=Math.ceil(s/16),this._tilesY=Math.ceil(n/16),this._totalTiles=this._tilesX*this._tilesY,this._tiles=this._totalTiles);while(this._tiles>0){let o=1;if(r.rQwait("HEXTILE",o))return!1;let h=r.rQpeek8();if(h>30)throw new Error("Illegal hextile subencoding (subencoding: "+h+")");const l=this._totalTiles-this._tiles,_=l%this._tilesX,c=Math.floor(l/this._tilesX),u=e+16*_,d=t+16*c,f=Math.min(16,e+s-u),p=Math.min(16,t+n-d);if(1&h)o+=f*p*4;else if(2&h&&(o+=4),4&h&&(o+=4),8&h){if(o++,r.rQwait("HEXTILE",o))return!1;let e=r.rQpeekBytes(o).at(-1);o+=16&h?6*e:2*e}if(r.rQwait("HEXTILE",o))return!1;if(r.rQshift8(),0===h)1&this._lastsubencoding?i.y(" Ignoring blank after RAW"):a.fillRect(u,d,f,p,this._background);else if(1&h){let e=f*p,t=r.rQshiftBytes(4*e,!1);for(let s=0;s<e;s++)t[4*s+3]=255;a.blitImage(u,d,f,p,t,0)}else{if(2&h&&(this._background=new Uint8Array(r.rQshiftBytes(4))),4&h&&(this._foreground=new Uint8Array(r.rQshiftBytes(4))),this._startTile(u,d,f,p,this._background),8&h){let e=r.rQshift8();for(let t=0;t<e;t++){let e;e=16&h?r.rQshiftBytes(4):this._foreground;const t=r.rQshift8(),s=t>>4,i=15&t,n=r.rQshift8(),a=1+(n>>4),o=1+(15&n);this._subTile(s,i,a,o,e)}}this._finishTile(a)}this._lastsubencoding=h,this._tiles--}return!0}_startTile(e,t,s,i,n){this._tileX=e,this._tileY=t,this._tileW=s,this._tileH=i;const r=n[0],a=n[1],o=n[2],h=this._tileBuffer;for(let l=0;l<s*i*4;l+=4)h[l]=r,h[l+1]=a,h[l+2]=o,h[l+3]=255}_subTile(e,t,s,i,n){const r=n[0],a=n[1],o=n[2],h=e+s,l=t+i,_=this._tileBuffer,c=this._tileW;for(let u=t;u<l;u++)for(let t=e;t<h;t++){const e=4*(t+u*c);_[e]=r,_[e+1]=a,_[e+2]=o,_[e+3]=255}}_finishTile(e){e.blitImage(this._tileX,this._tileY,this._tileW,this._tileH,this._tileBuffer,0)}}},68226:function(e,t,s){"use strict";s.d(t,{A:function(){return i}});class i{constructor(){this._cachedQuantTables=[],this._cachedHuffmanTables=[],this._segments=[]}decodeRect(e,t,s,i,n,r,a){while(1){let e=this._readSegment(n);if(null===e)return!1;if(this._segments.push(e),217===e[1])break}let o=[],h=[];for(let u of this._segments){let e=u[1];196===e?o.push(u):219===e&&h.push(u)}const l=this._segments.findIndex(e=>192==e[1]||194==e[1]);if(-1==l)throw new Error("Illegal JPEG image without SOF");0===h.length&&this._segments.splice(l+1,0,...this._cachedQuantTables),0===o.length&&this._segments.splice(l+1,0,...this._cachedHuffmanTables);let _=0;for(let u of this._segments)_+=u.length;let c=new Uint8Array(_);_=0;for(let u of this._segments)c.set(u,_),_+=u.length;return r.imageRect(e,t,s,i,"image/jpeg",c),0!==o.length&&(this._cachedHuffmanTables=o),0!==h.length&&(this._cachedQuantTables=h),this._segments=[],!0}_readSegment(e){if(e.rQwait("JPEG",2))return null;let t=e.rQshift8();if(255!=t)throw new Error("Illegal JPEG marker received (byte: "+t+")");let s=e.rQshift8();if(s>=208&&s<=217||1==s)return new Uint8Array([t,s]);if(e.rQwait("JPEG",2,2))return null;let i=e.rQshift16();if(i<2)throw new Error("Illegal JPEG length received (length: "+i+")");if(e.rQwait("JPEG",i-2,4))return null;let n=0;if(218===s){if(e.rQwait("JPEG",i-2+2,4))return null;let t=e.rQlen(),s=e.rQpeekBytes(t,!1);while(1){let r=s.indexOf(255,i-2+n);if(-1===r)return e.rQwait("JPEG",1/0,4),null;if(r===t-1)return e.rQwait("JPEG",1/0,4),null;if(!(0===s.at(r+1)||s.at(r+1)>=208&&s.at(r+1)<=215)){n=r-(i-2);break}n=r+2-(i-2)}}let r=new Uint8Array(2+i+n);return r[0]=t,r[1]=s,r[2]=i>>8,r[3]=i,r.set(e.rQshiftBytes(i-2+n,!1),4),r}}},66624:function(e,t,s){"use strict";s.d(t,{A:function(){return i}});class i{constructor(){this._lines=0}decodeRect(e,t,s,i,n,r,a){if(0===s||0===i)return!0;0===this._lines&&(this._lines=i);const o=8==a?1:4,h=s*o;while(this._lines>0){if(n.rQwait("RAW",h))return!1;const o=t+(i-this._lines);let l=n.rQshiftBytes(h,!1);if(8==a){const e=new Uint8Array(4*s);for(let t=0;t<s;t++)e[4*t+0]=255*(3&l[t])/3,e[4*t+1]=255*(l[t]>>2&3)/3,e[4*t+2]=255*(l[t]>>4&3)/3,e[4*t+3]=255;l=e}for(let e=0;e<s;e++)l[4*e+3]=255;r.blitImage(e,o,s,1,l,0),this._lines--}return!0}}},14253:function(e,t,s){"use strict";s.d(t,{A:function(){return i}});class i{constructor(){this._subrects=0}decodeRect(e,t,s,i,n,r,a){if(0===this._subrects){if(n.rQwait("RRE",8))return!1;this._subrects=n.rQshift32();let a=n.rQshiftBytes(4);r.fillRect(e,t,s,i,a)}while(this._subrects>0){if(n.rQwait("RRE",12))return!1;let s=n.rQshiftBytes(4),i=n.rQshift16(),a=n.rQshift16(),o=n.rQshift16(),h=n.rQshift16();r.fillRect(e+i,t+a,o,h,s),this._subrects--}return!0}}},61454:function(e,t,s){"use strict";s.d(t,{A:function(){return r}});var i=s(83782),n=s(92429);class r{constructor(){this._ctl=null,this._filter=null,this._numColors=0,this._palette=new Uint8Array(1024),this._len=0,this._zlibs=[];for(let e=0;e<4;e++)this._zlibs[e]=new n.A}decodeRect(e,t,s,n,r,a,o){if(null===this._ctl){if(r.rQwait("TIGHT compression-control",1))return!1;this._ctl=r.rQshift8();for(let e=0;e<4;e++)this._ctl>>e&1&&(this._zlibs[e].reset(),i.R2("Reset zlib stream "+e));this._ctl=this._ctl>>4}let h;if(8===this._ctl)h=this._fillRect(e,t,s,n,r,a,o);else if(9===this._ctl)h=this._jpegRect(e,t,s,n,r,a,o);else if(10===this._ctl)h=this._pngRect(e,t,s,n,r,a,o);else{if(0!=(8&this._ctl))throw new Error("Illegal tight compression received (ctl: "+this._ctl+")");h=this._basicRect(this._ctl,e,t,s,n,r,a,o)}return h&&(this._ctl=null),h}_fillRect(e,t,s,i,n,r,a){if(n.rQwait("TIGHT",3))return!1;let o=n.rQshiftBytes(3);return r.fillRect(e,t,s,i,o,!1),!0}_jpegRect(e,t,s,i,n,r,a){let o=this._readData(n);return null!==o&&(r.imageRect(e,t,s,i,"image/jpeg",o),!0)}_pngRect(e,t,s,i,n,r,a){throw new Error("PNG received in standard Tight rect")}_basicRect(e,t,s,i,n,r,a,o){if(null===this._filter)if(4&e){if(r.rQwait("TIGHT",1))return!1;this._filter=r.rQshift8()}else this._filter=0;let h,l=3&e;switch(this._filter){case 0:h=this._copyFilter(l,t,s,i,n,r,a,o);break;case 1:h=this._paletteFilter(l,t,s,i,n,r,a,o);break;case 2:h=this._gradientFilter(l,t,s,i,n,r,a,o);break;default:throw new Error("Illegal tight filter received (ctl: "+this._filter+")")}return h&&(this._filter=null),h}_copyFilter(e,t,s,i,n,r,a,o){const h=i*n*3;let l;if(0===h)return!0;if(h<12){if(r.rQwait("TIGHT",h))return!1;l=r.rQshiftBytes(h)}else{if(l=this._readData(r),null===l)return!1;this._zlibs[e].setInput(l),l=this._zlibs[e].inflate(h),this._zlibs[e].setInput(null)}let _=new Uint8Array(i*n*4);for(let c=0,u=0;c<i*n*4;c+=4,u+=3)_[c]=l[u],_[c+1]=l[u+1],_[c+2]=l[u+2],_[c+3]=255;return a.blitImage(t,s,i,n,_,0,!1),!0}_paletteFilter(e,t,s,i,n,r,a,o){if(0===this._numColors){if(r.rQwait("TIGHT palette",1))return!1;const e=r.rQpeek8()+1,t=3*e;if(r.rQwait("TIGHT palette",1+t))return!1;this._numColors=e,r.rQskipBytes(1),r.rQshiftTo(this._palette,t)}const h=this._numColors<=2?1:8,l=Math.floor((i*h+7)/8),_=l*n;let c;if(0===_)return!0;if(_<12){if(r.rQwait("TIGHT",_))return!1;c=r.rQshiftBytes(_)}else{if(c=this._readData(r),null===c)return!1;this._zlibs[e].setInput(c),c=this._zlibs[e].inflate(_),this._zlibs[e].setInput(null)}return 2==this._numColors?this._monoRect(t,s,i,n,c,this._palette,a):this._paletteRect(t,s,i,n,c,this._palette,a),this._numColors=0,!0}_monoRect(e,t,s,i,n,r,a){const o=this._getScratchBuffer(s*i*4),h=Math.floor((s+7)/8),l=Math.floor(s/8);for(let _=0;_<i;_++){let e,t,i;for(i=0;i<l;i++)for(let a=7;a>=0;a--)e=4*(_*s+8*i+7-a),t=3*(n[_*h+i]>>a&1),o[e]=r[t],o[e+1]=r[t+1],o[e+2]=r[t+2],o[e+3]=255;for(let a=7;a>=8-s%8;a--)e=4*(_*s+8*i+7-a),t=3*(n[_*h+i]>>a&1),o[e]=r[t],o[e+1]=r[t+1],o[e+2]=r[t+2],o[e+3]=255}a.blitImage(e,t,s,i,o,0,!1)}_paletteRect(e,t,s,i,n,r,a){const o=this._getScratchBuffer(s*i*4),h=s*i*4;for(let l=0,_=0;l<h;l+=4,_++){const e=3*n[_];o[l]=r[e],o[l+1]=r[e+1],o[l+2]=r[e+2],o[l+3]=255}a.blitImage(e,t,s,i,o,0,!1)}_gradientFilter(e,t,s,i,n,r,a,o){const h=i*n*3;let l;if(0===h)return!0;if(h<12){if(r.rQwait("TIGHT",h))return!1;l=r.rQshiftBytes(h)}else{if(l=this._readData(r),null===l)return!1;this._zlibs[e].setInput(l),l=this._zlibs[e].inflate(h),this._zlibs[e].setInput(null)}let _=new Uint8Array(4*i*n),c=0,u=0,d=new Uint8Array(3);for(let w=0;w<i;w++){for(let e=0;e<3;e++){const t=d[e],s=l[u++]+t;_[c++]=s,d[e]=s}_[c++]=255}let f=0,p=new Uint8Array(3),g=new Uint8Array(3);for(let w=1;w<n;w++){d.fill(0),g.fill(0);for(let e=0;e<i;e++){for(let e=0;e<3;e++){p[e]=_[f++];let t=d[e]+p[e]-g[e];t<0?t=0:t>255&&(t=255);const s=l[u++]+t;_[c++]=s,g[e]=p[e],d[e]=s}_[c++]=255,f++}}return a.blitImage(t,s,i,n,_,0,!1),!0}_readData(e){if(0===this._len){if(e.rQwait("TIGHT",3))return null;let t;t=e.rQshift8(),this._len=127&t,128&t&&(t=e.rQshift8(),this._len|=(127&t)<<7,128&t&&(t=e.rQshift8(),this._len|=t<<14))}if(e.rQwait("TIGHT",this._len))return null;let t=e.rQshiftBytes(this._len,!1);return this._len=0,t}_getScratchBuffer(e){return(!this._scratchBuffer||this._scratchBuffer.length<e)&&(this._scratchBuffer=new Uint8Array(e)),this._scratchBuffer}}},13875:function(e,t,s){"use strict";s.d(t,{A:function(){return n}});var i=s(61454);class n extends i.A{_pngRect(e,t,s,i,n,r,a){let o=this._readData(n);return null!==o&&(r.imageRect(e,t,s,i,"image/png",o),!0)}_basicRect(e,t,s,i,n,r,a,o){throw new Error("BasicCompression received in TightPNG rect")}}},54501:function(e,t,s){"use strict";s.d(t,{A:function(){return n}});var i=s(92429);class n{constructor(){this._zlib=new i.A,this._length=0}decodeRect(e,t,s,i,n,r,a){if(0===s||0===i)return!0;if(0===this._length){if(n.rQwait("ZLIB",4))return!1;this._length=n.rQshift32()}if(n.rQwait("ZLIB",this._length))return!1;let o=new Uint8Array(n.rQshiftBytes(this._length,!1));this._length=0,this._zlib.setInput(o),o=this._zlib.inflate(s*i*4),this._zlib.setInput(null);for(let h=0;h<s*i;h++)o[4*h+3]=255;return r.blitImage(e,t,s,i,o,0),!0}}},79959:function(e,t,s){"use strict";s.d(t,{A:function(){return a}});var i=s(92429);const n=64,r=64;class a{constructor(){this._length=0,this._inflator=new i.A,this._pixelBuffer=new Uint8Array(n*r*4),this._tileBuffer=new Uint8Array(n*r*4)}decodeRect(e,t,s,i,a,o,h){if(0===this._length){if(a.rQwait("ZLib data length",4))return!1;this._length=a.rQshift32()}if(a.rQwait("Zlib data",this._length))return!1;const l=a.rQshiftBytes(this._length,!1);this._inflator.setInput(l);for(let _=t;_<t+i;_+=r){let a=Math.min(r,t+i-_);for(let t=e;t<e+s;t+=n){let i=Math.min(n,e+s-t);const r=i*a,h=this._inflator.inflate(1)[0];if(0===h){const e=this._readPixels(r);o.blitImage(t,_,i,a,e,0,!1)}else if(1===h){const e=this._readPixels(1);o.fillRect(t,_,i,a,[e[0],e[1],e[2]])}else if(h>=2&&h<=16){const e=this._decodePaletteTile(h,r,i,a);o.blitImage(t,_,i,a,e,0,!1)}else if(128===h){const e=this._decodeRLETile(r);o.blitImage(t,_,i,a,e,0,!1)}else{if(!(h>=130&&h<=255))throw new Error("Unknown subencoding: "+h);{const e=this._decodeRLEPaletteTile(h-128,r);o.blitImage(t,_,i,a,e,0,!1)}}}}return this._length=0,!0}_getBitsPerPixelInPalette(e){return e<=2?1:e<=4?2:e<=16?4:void 0}_readPixels(e){let t=this._pixelBuffer;const s=this._inflator.inflate(3*e);for(let i=0,n=0;i<4*e;i+=4,n+=3)t[i]=s[n],t[i+1]=s[n+1],t[i+2]=s[n+2],t[i+3]=255;return t}_decodePaletteTile(e,t,s,i){const n=this._tileBuffer,r=this._readPixels(e),a=this._getBitsPerPixelInPalette(e),o=(1<<a)-1;let h=0,l=this._inflator.inflate(1)[0];for(let _=0;_<i;_++){let e=8-a;for(let t=0;t<s;t++){e<0&&(e=8-a,l=this._inflator.inflate(1)[0]);let t=l>>e&o;n[h]=r[4*t],n[h+1]=r[4*t+1],n[h+2]=r[4*t+2],n[h+3]=r[4*t+3],h+=4,e-=a}e<8-a&&_<i-1&&(l=this._inflator.inflate(1)[0])}return n}_decodeRLETile(e){const t=this._tileBuffer;let s=0;while(s<e){const e=this._readPixels(1),i=this._readRLELength();for(let n=0;n<i;n++)t[4*s]=e[0],t[4*s+1]=e[1],t[4*s+2]=e[2],t[4*s+3]=e[3],s++}return t}_decodeRLEPaletteTile(e,t){const s=this._tileBuffer,i=this._readPixels(e);let n=0;while(n<t){let r=this._inflator.inflate(1)[0],a=1;if(r>=128&&(r-=128,a=this._readRLELength()),r>e)throw new Error("Too big index in palette: "+r+", palette size: "+e);if(n+a>t)throw new Error("Too big rle length in palette mode: "+a+", allowed length is: "+(t-n));for(let e=0;e<a;e++)s[4*n]=i[4*r],s[4*n+1]=i[4*r+1],s[4*n+2]=i[4*r+2],s[4*n+3]=i[4*r+3],n++}return s}_readRLELength(){let e=0,t=0;do{t=this._inflator.inflate(1)[0],e+=t}while(255===t);return e+1}}},1769:function(e,t,s){"use strict";s.d(t,{A:function(){return Bt}});var i=s(26942),n=4,r=0,a=1,o=2;function h(e){var t=e.length;while(--t>=0)e[t]=0}var l=0,_=1,c=2,u=3,d=258,f=29,p=256,g=p+1+f,w=30,m=19,y=2*g+1,v=15,b=16,k=7,X=256,K=16,A=17,S=18,C=[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],F=[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],E=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],x=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Q=512,M=new Array(2*(g+2));h(M);var B=new Array(2*w);h(B);var L=new Array(Q);h(L);var R=new Array(d-u+1);h(R);var T=new Array(f);h(T);var D,P,I,U=new Array(w);function z(e,t,s,i,n){this.static_tree=e,this.extra_bits=t,this.extra_base=s,this.elems=i,this.max_length=n,this.has_stree=e&&e.length}function N(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function H(e){return e<256?L[e]:L[256+(e>>>7)]}function V(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function O(e,t,s){e.bi_valid>b-s?(e.bi_buf|=t<<e.bi_valid&65535,V(e,e.bi_buf),e.bi_buf=t>>b-e.bi_valid,e.bi_valid+=s-b):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=s)}function W(e,t,s){O(e,s[2*t],s[2*t+1])}function G(e,t){var s=0;do{s|=1&e,e>>>=1,s<<=1}while(--t>0);return s>>>1}function Y(e){16===e.bi_valid?(V(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)}function q(e,t){var s,i,n,r,a,o,h=t.dyn_tree,l=t.max_code,_=t.stat_desc.static_tree,c=t.stat_desc.has_stree,u=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,f=t.stat_desc.max_length,p=0;for(r=0;r<=v;r++)e.bl_count[r]=0;for(h[2*e.heap[e.heap_max]+1]=0,s=e.heap_max+1;s<y;s++)i=e.heap[s],r=h[2*h[2*i+1]+1]+1,r>f&&(r=f,p++),h[2*i+1]=r,i>l||(e.bl_count[r]++,a=0,i>=d&&(a=u[i-d]),o=h[2*i],e.opt_len+=o*(r+a),c&&(e.static_len+=o*(_[2*i+1]+a)));if(0!==p){do{r=f-1;while(0===e.bl_count[r])r--;e.bl_count[r]--,e.bl_count[r+1]+=2,e.bl_count[f]--,p-=2}while(p>0);for(r=f;0!==r;r--){i=e.bl_count[r];while(0!==i)n=e.heap[--s],n>l||(h[2*n+1]!==r&&(e.opt_len+=(r-h[2*n+1])*h[2*n],h[2*n+1]=r),i--)}}}function j(e,t,s){var i,n,r=new Array(v+1),a=0;for(i=1;i<=v;i++)r[i]=a=a+s[i-1]<<1;for(n=0;n<=t;n++){var o=e[2*n+1];0!==o&&(e[2*n]=G(r[o]++,o))}}function Z(){var e,t,s,i,n,r=new Array(v+1);for(s=0,i=0;i<f-1;i++)for(T[i]=s,e=0;e<1<<C[i];e++)R[s++]=i;for(R[s-1]=i,n=0,i=0;i<16;i++)for(U[i]=n,e=0;e<1<<F[i];e++)L[n++]=i;for(n>>=7;i<w;i++)for(U[i]=n<<7,e=0;e<1<<F[i]-7;e++)L[256+n++]=i;for(t=0;t<=v;t++)r[t]=0;e=0;while(e<=143)M[2*e+1]=8,e++,r[8]++;while(e<=255)M[2*e+1]=9,e++,r[9]++;while(e<=279)M[2*e+1]=7,e++,r[7]++;while(e<=287)M[2*e+1]=8,e++,r[8]++;for(j(M,g+1,r),e=0;e<w;e++)B[2*e+1]=5,B[2*e]=G(e,5);D=new z(M,C,p+1,g,v),P=new z(B,F,0,w,v),I=new z(new Array(0),E,0,m,k)}function J(e){var t;for(t=0;t<g;t++)e.dyn_ltree[2*t]=0;for(t=0;t<w;t++)e.dyn_dtree[2*t]=0;for(t=0;t<m;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*X]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function $(e){e.bi_valid>8?V(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function ee(e,t,s,n){$(e),n&&(V(e,s),V(e,~s)),i.Qq(e.pending_buf,e.window,t,s,e.pending),e.pending+=s}function te(e,t,s,i){var n=2*t,r=2*s;return e[n]<e[r]||e[n]===e[r]&&i[t]<=i[s]}function se(e,t,s){var i=e.heap[s],n=s<<1;while(n<=e.heap_len){if(n<e.heap_len&&te(t,e.heap[n+1],e.heap[n],e.depth)&&n++,te(t,i,e.heap[n],e.depth))break;e.heap[s]=e.heap[n],s=n,n<<=1}e.heap[s]=i}function ie(e,t,s){var i,n,r,a,o=0;if(0!==e.last_lit)do{i=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],n=e.pending_buf[e.l_buf+o],o++,0===i?W(e,n,t):(r=R[n],W(e,r+p+1,t),a=C[r],0!==a&&(n-=T[r],O(e,n,a)),i--,r=H(i),W(e,r,s),a=F[r],0!==a&&(i-=U[r],O(e,i,a)))}while(o<e.last_lit);W(e,X,t)}function ne(e,t){var s,i,n,r=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,l=-1;for(e.heap_len=0,e.heap_max=y,s=0;s<h;s++)0!==r[2*s]?(e.heap[++e.heap_len]=l=s,e.depth[s]=0):r[2*s+1]=0;while(e.heap_len<2)n=e.heap[++e.heap_len]=l<2?++l:0,r[2*n]=1,e.depth[n]=0,e.opt_len--,o&&(e.static_len-=a[2*n+1]);for(t.max_code=l,s=e.heap_len>>1;s>=1;s--)se(e,r,s);n=h;do{s=e.heap[1],e.heap[1]=e.heap[e.heap_len--],se(e,r,1),i=e.heap[1],e.heap[--e.heap_max]=s,e.heap[--e.heap_max]=i,r[2*n]=r[2*s]+r[2*i],e.depth[n]=(e.depth[s]>=e.depth[i]?e.depth[s]:e.depth[i])+1,r[2*s+1]=r[2*i+1]=n,e.heap[1]=n++,se(e,r,1)}while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],q(e,t),j(r,l,e.bl_count)}function re(e,t,s){var i,n,r=-1,a=t[1],o=0,h=7,l=4;for(0===a&&(h=138,l=3),t[2*(s+1)+1]=65535,i=0;i<=s;i++)n=a,a=t[2*(i+1)+1],++o<h&&n===a||(o<l?e.bl_tree[2*n]+=o:0!==n?(n!==r&&e.bl_tree[2*n]++,e.bl_tree[2*K]++):o<=10?e.bl_tree[2*A]++:e.bl_tree[2*S]++,o=0,r=n,0===a?(h=138,l=3):n===a?(h=6,l=3):(h=7,l=4))}function ae(e,t,s){var i,n,r=-1,a=t[1],o=0,h=7,l=4;for(0===a&&(h=138,l=3),i=0;i<=s;i++)if(n=a,a=t[2*(i+1)+1],!(++o<h&&n===a)){if(o<l)do{W(e,n,e.bl_tree)}while(0!==--o);else 0!==n?(n!==r&&(W(e,n,e.bl_tree),o--),W(e,K,e.bl_tree),O(e,o-3,2)):o<=10?(W(e,A,e.bl_tree),O(e,o-3,3)):(W(e,S,e.bl_tree),O(e,o-11,7));o=0,r=n,0===a?(h=138,l=3):n===a?(h=6,l=3):(h=7,l=4)}}function oe(e){var t;for(re(e,e.dyn_ltree,e.l_desc.max_code),re(e,e.dyn_dtree,e.d_desc.max_code),ne(e,e.bl_desc),t=m-1;t>=3;t--)if(0!==e.bl_tree[2*x[t]+1])break;return e.opt_len+=3*(t+1)+5+5+4,t}function he(e,t,s,i){var n;for(O(e,t-257,5),O(e,s-1,5),O(e,i-4,4),n=0;n<i;n++)O(e,e.bl_tree[2*x[n]+1],3);ae(e,e.dyn_ltree,t-1),ae(e,e.dyn_dtree,s-1)}function le(e){var t,s=4093624447;for(t=0;t<=31;t++,s>>>=1)if(1&s&&0!==e.dyn_ltree[2*t])return r;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return a;for(t=32;t<p;t++)if(0!==e.dyn_ltree[2*t])return a;return r}h(U);var _e=!1;function ce(e){_e||(Z(),_e=!0),e.l_desc=new N(e.dyn_ltree,D),e.d_desc=new N(e.dyn_dtree,P),e.bl_desc=new N(e.bl_tree,I),e.bi_buf=0,e.bi_valid=0,J(e)}function ue(e,t,s,i){O(e,(l<<1)+(i?1:0),3),ee(e,t,s,!0)}function de(e){O(e,_<<1,3),W(e,X,M),Y(e)}function fe(e,t,s,i){var r,a,h=0;e.level>0?(e.strm.data_type===o&&(e.strm.data_type=le(e)),ne(e,e.l_desc),ne(e,e.d_desc),h=oe(e),r=e.opt_len+3+7>>>3,a=e.static_len+3+7>>>3,a<=r&&(r=a)):r=a=s+5,s+4<=r&&-1!==t?ue(e,t,s,i):e.strategy===n||a===r?(O(e,(_<<1)+(i?1:0),3),ie(e,M,B)):(O(e,(c<<1)+(i?1:0),3),he(e,e.l_desc.max_code+1,e.d_desc.max_code+1,h+1),ie(e,e.dyn_ltree,e.dyn_dtree)),J(e),i&&$(e)}function pe(e,t,s){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&s,e.last_lit++,0===t?e.dyn_ltree[2*s]++:(e.matches++,t--,e.dyn_ltree[2*(R[s]+p+1)]++,e.dyn_dtree[2*H(t)]++),e.last_lit===e.lit_bufsize-1}var ge=s(89430),we=s(53704),me={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"};const ye=0,ve=1,be=3,ke=4,Xe=5,Ke=0,Ae=1,Se=-2,Ce=-5,Fe=-1,Ee=1,xe=2,Qe=3,Me=4,Be=0,Le=2,Re=8;var Te,De=9,Pe=15,Ie=8,Ue=29,ze=256,Ne=ze+1+Ue,He=30,Ve=19,Oe=2*Ne+1,We=15,Ge=3,Ye=258,qe=Ye+Ge+1,je=32,Ze=42,Je=69,$e=73,et=91,tt=103,st=113,it=666,nt=1,rt=2,at=3,ot=4,ht=3;function lt(e,t){return e.msg=me[t],t}function _t(e){return(e<<1)-(e>4?9:0)}function ct(e){var t=e.length;while(--t>=0)e[t]=0}function ut(e){var t=e.state,s=t.pending;s>e.avail_out&&(s=e.avail_out),0!==s&&(i.Qq(e.output,t.pending_buf,t.pending_out,s,e.next_out),e.next_out+=s,t.pending_out+=s,e.total_out+=s,e.avail_out-=s,t.pending-=s,0===t.pending&&(t.pending_out=0))}function dt(e,t){fe(e,e.block_start>=0?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,ut(e.strm)}function ft(e,t){e.pending_buf[e.pending++]=t}function pt(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function gt(e,t,s,n){var r=e.avail_in;return r>n&&(r=n),0===r?0:(e.avail_in-=r,i.Qq(t,e.input,e.next_in,r,s),1===e.state.wrap?e.adler=(0,ge.A)(e.adler,t,r,s):2===e.state.wrap&&(e.adler=(0,we.A)(e.adler,t,r,s)),e.next_in+=r,e.total_in+=r,r)}function wt(e,t){var s,i,n=e.max_chain_length,r=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-qe?e.strstart-(e.w_size-qe):0,l=e.window,_=e.w_mask,c=e.prev,u=e.strstart+Ye,d=l[r+a-1],f=l[r+a];e.prev_length>=e.good_match&&(n>>=2),o>e.lookahead&&(o=e.lookahead);do{if(s=t,l[s+a]===f&&l[s+a-1]===d&&l[s]===l[r]&&l[++s]===l[r+1]){r+=2,s++;do{}while(l[++r]===l[++s]&&l[++r]===l[++s]&&l[++r]===l[++s]&&l[++r]===l[++s]&&l[++r]===l[++s]&&l[++r]===l[++s]&&l[++r]===l[++s]&&l[++r]===l[++s]&&r<u);if(i=Ye-(u-r),r=u-Ye,i>a){if(e.match_start=t,a=i,i>=o)break;d=l[r+a-1],f=l[r+a]}}}while((t=c[t&_])>h&&0!==--n);return a<=e.lookahead?a:e.lookahead}function mt(e){var t,s,n,r,a,o=e.w_size;do{if(r=e.window_size-e.lookahead-e.strstart,e.strstart>=o+(o-qe)){i.Qq(e.window,e.window,o,o,0),e.match_start-=o,e.strstart-=o,e.block_start-=o,s=e.hash_size,t=s;do{n=e.head[--t],e.head[t]=n>=o?n-o:0}while(--s);s=o,t=s;do{n=e.prev[--t],e.prev[t]=n>=o?n-o:0}while(--s);r+=o}if(0===e.strm.avail_in)break;if(s=gt(e.strm,e.window,e.strstart+e.lookahead,r),e.lookahead+=s,e.lookahead+e.insert>=Ge){a=e.strstart-e.insert,e.ins_h=e.window[a],e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+1])&e.hash_mask;while(e.insert)if(e.ins_h=(e.ins_h<<e.hash_shift^e.window[a+Ge-1])&e.hash_mask,e.prev[a&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=a,a++,e.insert--,e.lookahead+e.insert<Ge)break}}while(e.lookahead<qe&&0!==e.strm.avail_in)}function yt(e,t){var s=65535;for(s>e.pending_buf_size-5&&(s=e.pending_buf_size-5);;){if(e.lookahead<=1){if(mt(e),0===e.lookahead&&t===ye)return nt;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var i=e.block_start+s;if((0===e.strstart||e.strstart>=i)&&(e.lookahead=e.strstart-i,e.strstart=i,dt(e,!1),0===e.strm.avail_out))return nt;if(e.strstart-e.block_start>=e.w_size-qe&&(dt(e,!1),0===e.strm.avail_out))return nt}return e.insert=0,t===ke?(dt(e,!0),0===e.strm.avail_out?at:ot):(e.strstart>e.block_start&&(dt(e,!1),e.strm.avail_out),nt)}function vt(e,t){for(var s,i;;){if(e.lookahead<qe){if(mt(e),e.lookahead<qe&&t===ye)return nt;if(0===e.lookahead)break}if(s=0,e.lookahead>=Ge&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Ge-1])&e.hash_mask,s=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==s&&e.strstart-s<=e.w_size-qe&&(e.match_length=wt(e,s)),e.match_length>=Ge)if(i=pe(e,e.strstart-e.match_start,e.match_length-Ge),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=Ge){e.match_length--;do{e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Ge-1])&e.hash_mask,s=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=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else i=pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(i&&(dt(e,!1),0===e.strm.avail_out))return nt}return e.insert=e.strstart<Ge-1?e.strstart:Ge-1,t===ke?(dt(e,!0),0===e.strm.avail_out?at:ot):e.last_lit&&(dt(e,!1),0===e.strm.avail_out)?nt:rt}function bt(e,t){for(var s,i,n;;){if(e.lookahead<qe){if(mt(e),e.lookahead<qe&&t===ye)return nt;if(0===e.lookahead)break}if(s=0,e.lookahead>=Ge&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Ge-1])&e.hash_mask,s=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=Ge-1,0!==s&&e.prev_length<e.max_lazy_match&&e.strstart-s<=e.w_size-qe&&(e.match_length=wt(e,s),e.match_length<=5&&(e.strategy===Ee||e.match_length===Ge&&e.strstart-e.match_start>4096)&&(e.match_length=Ge-1)),e.prev_length>=Ge&&e.match_length<=e.prev_length){n=e.strstart+e.lookahead-Ge,i=pe(e,e.strstart-1-e.prev_match,e.prev_length-Ge),e.lookahead-=e.prev_length-1,e.prev_length-=2;do{++e.strstart<=n&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+Ge-1])&e.hash_mask,s=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=Ge-1,e.strstart++,i&&(dt(e,!1),0===e.strm.avail_out))return nt}else if(e.match_available){if(i=pe(e,0,e.window[e.strstart-1]),i&&dt(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return nt}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(i=pe(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<Ge-1?e.strstart:Ge-1,t===ke?(dt(e,!0),0===e.strm.avail_out?at:ot):e.last_lit&&(dt(e,!1),0===e.strm.avail_out)?nt:rt}function kt(e,t){for(var s,i,n,r,a=e.window;;){if(e.lookahead<=Ye){if(mt(e),e.lookahead<=Ye&&t===ye)return nt;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=Ge&&e.strstart>0&&(n=e.strstart-1,i=a[n],i===a[++n]&&i===a[++n]&&i===a[++n])){r=e.strstart+Ye;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<r);e.match_length=Ye-(r-n),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=Ge?(s=pe(e,1,e.match_length-Ge),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(s=pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),s&&(dt(e,!1),0===e.strm.avail_out))return nt}return e.insert=0,t===ke?(dt(e,!0),0===e.strm.avail_out?at:ot):e.last_lit&&(dt(e,!1),0===e.strm.avail_out)?nt:rt}function Xt(e,t){for(var s;;){if(0===e.lookahead&&(mt(e),0===e.lookahead)){if(t===ye)return nt;break}if(e.match_length=0,s=pe(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,s&&(dt(e,!1),0===e.strm.avail_out))return nt}return e.insert=0,t===ke?(dt(e,!0),0===e.strm.avail_out?at:ot):e.last_lit&&(dt(e,!1),0===e.strm.avail_out)?nt:rt}function Kt(e,t,s,i,n){this.good_length=e,this.max_lazy=t,this.nice_length=s,this.max_chain=i,this.func=n}function At(e){e.window_size=2*e.w_size,ct(e.head),e.max_lazy_match=Te[e.level].max_lazy,e.good_match=Te[e.level].good_length,e.nice_match=Te[e.level].nice_length,e.max_chain_length=Te[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=Ge-1,e.match_available=0,e.ins_h=0}function St(){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=Re,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 i.Jg(2*Oe),this.dyn_dtree=new i.Jg(2*(2*He+1)),this.bl_tree=new i.Jg(2*(2*Ve+1)),ct(this.dyn_ltree),ct(this.dyn_dtree),ct(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Jg(We+1),this.heap=new i.Jg(2*Ne+1),ct(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Jg(2*Ne+1),ct(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function Ct(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=Le,t=e.state,t.pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?Ze:st,e.adler=2===t.wrap?0:1,t.last_flush=ye,ce(t),Ke):lt(e,Se)}function Ft(e){var t=Ct(e);return t===Ke&&At(e.state),t}function Et(e,t,s,n,r,a){if(!e)return Se;var o=1;if(t===Fe&&(t=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>De||s!==Re||n<8||n>15||t<0||t>9||a<0||a>Me)return lt(e,Se);8===n&&(n=9);var h=new St;return e.state=h,h.strm=e,h.wrap=o,h.gzhead=null,h.w_bits=n,h.w_size=1<<h.w_bits,h.w_mask=h.w_size-1,h.hash_bits=r+7,h.hash_size=1<<h.hash_bits,h.hash_mask=h.hash_size-1,h.hash_shift=~~((h.hash_bits+Ge-1)/Ge),h.window=new i.S1(2*h.w_size),h.head=new i.Jg(h.hash_size),h.prev=new i.Jg(h.w_size),h.lit_bufsize=1<<r+6,h.pending_buf_size=4*h.lit_bufsize,h.pending_buf=new i.S1(h.pending_buf_size),h.d_buf=1*h.lit_bufsize,h.l_buf=3*h.lit_bufsize,h.level=t,h.strategy=a,h.method=s,Ft(e)}function xt(e,t){return Et(e,t,Re,Pe,Ie,Be)}function Qt(e,t){var s,i,n,r;if(!e||!e.state||t>Xe||t<0)return e?lt(e,Se):Se;if(i=e.state,!e.output||!e.input&&0!==e.avail_in||i.status===it&&t!==ke)return lt(e,0===e.avail_out?Ce:Se);if(i.strm=e,s=i.last_flush,i.last_flush=t,i.status===Ze)if(2===i.wrap)e.adler=0,ft(i,31),ft(i,139),ft(i,8),i.gzhead?(ft(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)),ft(i,255&i.gzhead.time),ft(i,i.gzhead.time>>8&255),ft(i,i.gzhead.time>>16&255),ft(i,i.gzhead.time>>24&255),ft(i,9===i.level?2:i.strategy>=xe||i.level<2?4:0),ft(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(ft(i,255&i.gzhead.extra.length),ft(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=Je):(ft(i,0),ft(i,0),ft(i,0),ft(i,0),ft(i,0),ft(i,9===i.level?2:i.strategy>=xe||i.level<2?4:0),ft(i,ht),i.status=st);else{var a=Re+(i.w_bits-8<<4)<<8,o=-1;o=i.strategy>=xe||i.level<2?0:i.level<6?1:6===i.level?2:3,a|=o<<6,0!==i.strstart&&(a|=je),a+=31-a%31,i.status=st,pt(i,a),0!==i.strstart&&(pt(i,e.adler>>>16),pt(i,65535&e.adler)),e.adler=1}if(i.status===Je)if(i.gzhead.extra){n=i.pending;while(i.gzindex<(65535&i.gzhead.extra.length)){if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending-n,n)),ut(e),n=i.pending,i.pending===i.pending_buf_size))break;ft(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++}i.gzhead.hcrc&&i.pending>n&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=$e)}else i.status=$e;if(i.status===$e)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending-n,n)),ut(e),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,ft(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>n&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.gzindex=0,i.status=et)}else i.status=et;if(i.status===et)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending-n,n)),ut(e),n=i.pending,i.pending===i.pending_buf_size)){r=1;break}r=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,ft(i,r)}while(0!==r);i.gzhead.hcrc&&i.pending>n&&(e.adler=(0,we.A)(e.adler,i.pending_buf,i.pending-n,n)),0===r&&(i.status=tt)}else i.status=tt;if(i.status===tt&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&ut(e),i.pending+2<=i.pending_buf_size&&(ft(i,255&e.adler),ft(i,e.adler>>8&255),e.adler=0,i.status=st)):i.status=st),0!==i.pending){if(ut(e),0===e.avail_out)return i.last_flush=-1,Ke}else if(0===e.avail_in&&_t(t)<=_t(s)&&t!==ke)return lt(e,Ce);if(i.status===it&&0!==e.avail_in)return lt(e,Ce);if(0!==e.avail_in||0!==i.lookahead||t!==ye&&i.status!==it){var h=i.strategy===xe?Xt(i,t):i.strategy===Qe?kt(i,t):Te[i.level].func(i,t);if(h!==at&&h!==ot||(i.status=it),h===nt||h===at)return 0===e.avail_out&&(i.last_flush=-1),Ke;if(h===rt&&(t===ve?de(i):t!==Xe&&(ue(i,0,0,!1),t===be&&(ct(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),ut(e),0===e.avail_out))return i.last_flush=-1,Ke}return t!==ke?Ke:i.wrap<=0?Ae:(2===i.wrap?(ft(i,255&e.adler),ft(i,e.adler>>8&255),ft(i,e.adler>>16&255),ft(i,e.adler>>24&255),ft(i,255&e.total_in),ft(i,e.total_in>>8&255),ft(i,e.total_in>>16&255),ft(i,e.total_in>>24&255)):(pt(i,e.adler>>>16),pt(i,65535&e.adler)),ut(e),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?Ke:Ae)}Te=[new Kt(0,0,0,0,yt),new Kt(4,4,8,4,vt),new Kt(4,5,16,8,vt),new Kt(4,6,32,32,vt),new Kt(4,4,16,16,bt),new Kt(8,16,32,32,bt),new Kt(8,16,128,128,bt),new Kt(8,32,128,256,bt),new Kt(32,128,258,1024,bt),new Kt(32,258,258,4096,bt)];var Mt=s(1357);class Bt{constructor(){this.strm=new Mt.A,this.chunkSize=102400,this.outputBuffer=new Uint8Array(this.chunkSize),xt(this.strm,Fe)}deflate(e){this.strm.input=e,this.strm.avail_in=this.strm.input.length,this.strm.next_in=0,this.strm.output=this.outputBuffer,this.strm.avail_out=this.chunkSize,this.strm.next_out=0;let t=Qt(this.strm,be),s=new Uint8Array(this.strm.output.buffer,0,this.strm.next_out);if(t<0)throw new Error("zlib deflate failed");if(this.strm.avail_in>0){let e=[s],i=s.length;do{if(this.strm.output=new Uint8Array(this.chunkSize),this.strm.next_out=0,this.strm.avail_out=this.chunkSize,t=Qt(this.strm,be),t<0)throw new Error("zlib deflate failed");let s=new Uint8Array(this.strm.output.buffer,0,this.strm.next_out);i+=s.length,e.push(s)}while(this.strm.avail_in>0);let n=new Uint8Array(i),r=0;for(let t=0;t<e.length;t++)n.set(e[t],r),r+=e[t].length;s=n}return this.strm.input=null,this.strm.avail_in=0,this.strm.next_in=0,s}}},70036:function(e,t,s){"use strict";s.d(t,{A:function(){return a}});var i=s(83782),n=s(54727),r=s(17502);class a{constructor(e){if(this._drawCtx=null,this._renderQ=[],this._flushPromise=null,this._fbWidth=0,this._fbHeight=0,this._prevDrawStyle="",i.y(">> Display.constructor"),this._target=e,!this._target)throw new Error("Target must be set");if("string"===typeof this._target)throw new Error("target must be a DOM element");if(!this._target.getContext)throw new Error("no getContext method");this._targetCtx=this._target.getContext("2d"),this._viewportLoc={x:0,y:0,w:this._target.width,h:this._target.height},this._backbuffer=document.createElement("canvas"),this._drawCtx=this._backbuffer.getContext("2d"),this._damageBounds={left:0,top:0,right:this._backbuffer.width,bottom:this._backbuffer.height},i.y("User Agent: "+navigator.userAgent),i.y("<< Display.constructor"),this._scale=1,this._clipViewport=!1}get scale(){return this._scale}set scale(e){this._rescale(e)}get clipViewport(){return this._clipViewport}set clipViewport(e){this._clipViewport=e;const t=this._viewportLoc;this.viewportChangeSize(t.w,t.h),this.viewportChangePos(0,0)}get width(){return this._fbWidth}get height(){return this._fbHeight}viewportChangePos(e,t){const s=this._viewportLoc;e=Math.floor(e),t=Math.floor(t),this._clipViewport||(e=-s.w,t=-s.h);const n=s.x+s.w-1,r=s.y+s.h-1;e<0&&s.x+e<0&&(e=-s.x),n+e>=this._fbWidth&&(e-=n+e-this._fbWidth+1),s.y+t<0&&(t=-s.y),r+t>=this._fbHeight&&(t-=r+t-this._fbHeight+1),0===e&&0===t||(i.y("viewportChange deltaX: "+e+", deltaY: "+t),s.x+=e,s.y+=t,this._damage(s.x,s.y,s.w,s.h),this.flip())}viewportChangeSize(e,t){this._clipViewport&&"undefined"!==typeof e&&"undefined"!==typeof t||(i.y("Setting viewport to full display region"),e=this._fbWidth,t=this._fbHeight),e=Math.floor(e),t=Math.floor(t),e>this._fbWidth&&(e=this._fbWidth),t>this._fbHeight&&(t=this._fbHeight);const s=this._viewportLoc;if(s.w!==e||s.h!==t){s.w=e,s.h=t;const i=this._target;i.width=e,i.height=t,this.viewportChangePos(0,0),this._damage(s.x,s.y,s.w,s.h),this.flip(),this._rescale(this._scale)}}absX(e){return 0===this._scale?0:(0,r.m)(e/this._scale+this._viewportLoc.x)}absY(e){return 0===this._scale?0:(0,r.m)(e/this._scale+this._viewportLoc.y)}resize(e,t){this._prevDrawStyle="",this._fbWidth=e,this._fbHeight=t;const s=this._backbuffer;if(s.width!==e||s.height!==t){let i=null;s.width>0&&s.height>0&&(i=this._drawCtx.getImageData(0,0,s.width,s.height)),s.width!==e&&(s.width=e),s.height!==t&&(s.height=t),i&&this._drawCtx.putImageData(i,0,0)}const i=this._viewportLoc;this.viewportChangeSize(i.w,i.h),this.viewportChangePos(0,0)}getImageData(){return this._drawCtx.getImageData(0,0,this.width,this.height)}toDataURL(e,t){return this._backbuffer.toDataURL(e,t)}toBlob(e,t,s){return this._backbuffer.toBlob(e,t,s)}_damage(e,t,s,i){e<this._damageBounds.left&&(this._damageBounds.left=e),t<this._damageBounds.top&&(this._damageBounds.top=t),e+s>this._damageBounds.right&&(this._damageBounds.right=e+s),t+i>this._damageBounds.bottom&&(this._damageBounds.bottom=t+i)}flip(e){if(0===this._renderQ.length||e){let e=this._damageBounds.left,t=this._damageBounds.top,s=this._damageBounds.right-e,i=this._damageBounds.bottom-t,n=e-this._viewportLoc.x,r=t-this._viewportLoc.y;n<0&&(s+=n,e-=n,n=0),r<0&&(i+=r,t-=r,r=0),n+s>this._viewportLoc.w&&(s=this._viewportLoc.w-n),r+i>this._viewportLoc.h&&(i=this._viewportLoc.h-r),s>0&&i>0&&this._targetCtx.drawImage(this._backbuffer,e,t,s,i,n,r,s,i),this._damageBounds.left=this._damageBounds.top=65535,this._damageBounds.right=this._damageBounds.bottom=0}else this._renderQPush({type:"flip"})}pending(){return this._renderQ.length>0}flush(){return 0===this._renderQ.length?Promise.resolve():(null===this._flushPromise&&(this._flushPromise=new Promise(e=>{this._flushResolve=e})),this._flushPromise)}fillRect(e,t,s,i,n,r){0===this._renderQ.length||r?(this._setFillColor(n),this._drawCtx.fillRect(e,t,s,i),this._damage(e,t,s,i)):this._renderQPush({type:"fill",x:e,y:t,width:s,height:i,color:n})}copyImage(e,t,s,i,n,r,a){0===this._renderQ.length||a?(this._drawCtx.mozImageSmoothingEnabled=!1,this._drawCtx.webkitImageSmoothingEnabled=!1,this._drawCtx.msImageSmoothingEnabled=!1,this._drawCtx.imageSmoothingEnabled=!1,this._drawCtx.drawImage(this._backbuffer,e,t,n,r,s,i,n,r),this._damage(s,i,n,r)):this._renderQPush({type:"copy",oldX:e,oldY:t,x:s,y:i,width:n,height:r})}imageRect(e,t,s,i,r,a){if(0===s||0===i)return;const o=new Image;o.src="data: "+r+";base64,"+n.A.encode(a),this._renderQPush({type:"img",img:o,x:e,y:t,width:s,height:i})}videoFrame(e,t,s,i,n){this._renderQPush({type:"frame",frame:n,x:e,y:t,width:s,height:i})}blitImage(e,t,s,i,n,r,a){if(0===this._renderQ.length||a){let a=new Uint8ClampedArray(n.buffer,n.byteOffset+r,s*i*4),o=new ImageData(a,s,i);this._drawCtx.putImageData(o,e,t),this._damage(e,t,s,i)}else{const r=new Uint8Array(s*i*4);r.set(new Uint8Array(n.buffer,0,r.length)),this._renderQPush({type:"blit",data:r,x:e,y:t,width:s,height:i})}}drawImage(e,...t){if(this._drawCtx.drawImage(e,...t),t.length<=4){const[s,i]=t;this._damage(s,i,e.width,e.height)}else{const[,,e,s,i,n]=t;this._damage(i,n,e,s)}}autoscale(e,t){let s;if(0===e||0===t)s=0;else{const i=this._viewportLoc,n=e/t,r=i.w/i.h;s=r>=n?e/i.w:t/i.h}this._rescale(s)}_rescale(e){this._scale=e;const t=this._viewportLoc,s=e*t.w+"px",i=e*t.h+"px";this._target.style.width===s&&this._target.style.height===i||(this._target.style.width=s,this._target.style.height=i)}_setFillColor(e){const t="rgb("+e[0]+","+e[1]+","+e[2]+")";t!==this._prevDrawStyle&&(this._drawCtx.fillStyle=t,this._prevDrawStyle=t)}_renderQPush(e){this._renderQ.push(e),1===this._renderQ.length&&this._scanRenderQ()}_resumeRenderQ(){this.removeEventListener("load",this._noVNCDisplay._resumeRenderQ),this._noVNCDisplay._scanRenderQ()}_scanRenderQ(){let e=!0;while(e&&this._renderQ.length>0){const t=this._renderQ[0];switch(t.type){case"flip":this.flip(!0);break;case"copy":this.copyImage(t.oldX,t.oldY,t.x,t.y,t.width,t.height,!0);break;case"fill":this.fillRect(t.x,t.y,t.width,t.height,t.color,!0);break;case"blit":this.blitImage(t.x,t.y,t.width,t.height,t.data,0,!0);break;case"img":if(t.img.complete){if(t.img.width!==t.width||t.img.height!==t.height)return void i.$D("Decoded image has incorrect dimensions. Got "+t.img.width+"x"+t.img.height+". Expected "+t.width+"x"+t.height+".");this.drawImage(t.img,t.x,t.y),t.img.src=""}else t.img._noVNCDisplay=this,t.img.addEventListener("load",this._resumeRenderQ),e=!1;break;case"frame":if(t.frame.ready){let e=t.frame.frame;(e.codedWidth<t.width||e.codedHeight<t.height)&&i.P$("Decoded video frame does not cover its full rectangle area. Expecting at least "+t.width+"x"+t.height+" but got "+e.codedWidth+"x"+e.codedHeight);const s=0,n=0,r=t.width,a=t.height,o=t.x,h=t.y,l=r,_=a;this.drawImage(e,s,n,r,a,o,h,l,_),e.close()}else{let s=this;t.frame.promise.then(()=>{s._scanRenderQ()}),e=!1}break}e&&this._renderQ.shift()}0===this._renderQ.length&&null!==this._flushPromise&&(this._flushResolve(),this._flushPromise=null,this._flushResolve=null)}}},45876:function(e,t,s){"use strict";s.d(t,{d:function(){return i}});const i={encodingRaw:0,encodingCopyRect:1,encodingRRE:2,encodingHextile:5,encodingZlib:6,encodingTight:7,encodingZRLE:16,encodingTightPNG:-260,encodingJPEG:21,encodingH264:50,pseudoEncodingQualityLevel9:-23,pseudoEncodingQualityLevel0:-32,pseudoEncodingDesktopSize:-223,pseudoEncodingLastRect:-224,pseudoEncodingCursor:-239,pseudoEncodingQEMUExtendedKeyEvent:-258,pseudoEncodingQEMULedEvent:-261,pseudoEncodingDesktopName:-307,pseudoEncodingExtendedDesktopSize:-308,pseudoEncodingXvp:-309,pseudoEncodingFence:-312,pseudoEncodingContinuousUpdates:-313,pseudoEncodingExtendedMouseButtons:-316,pseudoEncodingCompressLevel9:-247,pseudoEncodingCompressLevel0:-256,pseudoEncodingVMwareCursor:1464686180,pseudoEncodingExtendedClipboard:3231835598}},92429:function(e,t,s){"use strict";s.d(t,{A:function(){return xe}});var i=s(26942),n=s(89430),r=s(53704),a=30,o=12;function h(e,t){var s,i,n,r,h,l,_,c,u,d,f,p,g,w,m,y,v,b,k,X,K,A,S,C,F;s=e.state,i=e.next_in,C=e.input,n=i+(e.avail_in-5),r=e.next_out,F=e.output,h=r-(t-e.avail_out),l=r+(e.avail_out-257),_=s.dmax,c=s.wsize,u=s.whave,d=s.wnext,f=s.window,p=s.hold,g=s.bits,w=s.lencode,m=s.distcode,y=(1<<s.lenbits)-1,v=(1<<s.distbits)-1;e:do{g<15&&(p+=C[i++]<<g,g+=8,p+=C[i++]<<g,g+=8),b=w[p&y];t:for(;;){if(k=b>>>24,p>>>=k,g-=k,k=b>>>16&255,0===k)F[r++]=65535&b;else{if(!(16&k)){if(0===(64&k)){b=w[(65535&b)+(p&(1<<k)-1)];continue t}if(32&k){s.mode=o;break e}e.msg="invalid literal/length code",s.mode=a;break e}X=65535&b,k&=15,k&&(g<k&&(p+=C[i++]<<g,g+=8),X+=p&(1<<k)-1,p>>>=k,g-=k),g<15&&(p+=C[i++]<<g,g+=8,p+=C[i++]<<g,g+=8),b=m[p&v];s:for(;;){if(k=b>>>24,p>>>=k,g-=k,k=b>>>16&255,!(16&k)){if(0===(64&k)){b=m[(65535&b)+(p&(1<<k)-1)];continue s}e.msg="invalid distance code",s.mode=a;break e}if(K=65535&b,k&=15,g<k&&(p+=C[i++]<<g,g+=8,g<k&&(p+=C[i++]<<g,g+=8)),K+=p&(1<<k)-1,K>_){e.msg="invalid distance too far back",s.mode=a;break e}if(p>>>=k,g-=k,k=r-h,K>k){if(k=K-k,k>u&&s.sane){e.msg="invalid distance too far back",s.mode=a;break e}if(A=0,S=f,0===d){if(A+=c-k,k<X){X-=k;do{F[r++]=f[A++]}while(--k);A=r-K,S=F}}else if(d<k){if(A+=c+d-k,k-=d,k<X){X-=k;do{F[r++]=f[A++]}while(--k);if(A=0,d<X){k=d,X-=k;do{F[r++]=f[A++]}while(--k);A=r-K,S=F}}}else if(A+=d-k,k<X){X-=k;do{F[r++]=f[A++]}while(--k);A=r-K,S=F}while(X>2)F[r++]=S[A++],F[r++]=S[A++],F[r++]=S[A++],X-=3;X&&(F[r++]=S[A++],X>1&&(F[r++]=S[A++]))}else{A=r-K;do{F[r++]=F[A++],F[r++]=F[A++],F[r++]=F[A++],X-=3}while(X>2);X&&(F[r++]=F[A++],X>1&&(F[r++]=F[A++]))}break}}break}}while(i<n&&r<l);X=g>>3,i-=X,g-=X<<3,p&=(1<<g)-1,e.next_in=i,e.next_out=r,e.avail_in=i<n?n-i+5:5-(i-n),e.avail_out=r<l?l-r+257:257-(r-l),s.hold=p,s.bits=g}var l=15,_=852,c=592,u=0,d=1,f=2,p=[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],g=[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],w=[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],m=[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];function y(e,t,s,n,r,a,o,h){var y,v,b,k,X,K,A,S,C,F=h.bits,E=0,x=0,Q=0,M=0,B=0,L=0,R=0,T=0,D=0,P=0,I=null,U=0,z=new i.Jg(l+1),N=new i.Jg(l+1),H=null,V=0;for(E=0;E<=l;E++)z[E]=0;for(x=0;x<n;x++)z[t[s+x]]++;for(B=F,M=l;M>=1;M--)if(0!==z[M])break;if(B>M&&(B=M),0===M)return r[a++]=20971520,r[a++]=20971520,h.bits=1,0;for(Q=1;Q<M;Q++)if(0!==z[Q])break;for(B<Q&&(B=Q),T=1,E=1;E<=l;E++)if(T<<=1,T-=z[E],T<0)return-1;if(T>0&&(e===u||1!==M))return-1;for(N[1]=0,E=1;E<l;E++)N[E+1]=N[E]+z[E];for(x=0;x<n;x++)0!==t[s+x]&&(o[N[t[s+x]]++]=x);if(e===u?(I=H=o,K=19):e===d?(I=p,U-=257,H=g,V-=257,K=256):(I=w,H=m,K=-1),P=0,x=0,E=Q,X=a,L=B,R=0,b=-1,D=1<<B,k=D-1,e===d&&D>_||e===f&&D>c)return 1;for(;;){A=E-R,o[x]<K?(S=0,C=o[x]):o[x]>K?(S=H[V+o[x]],C=I[U+o[x]]):(S=96,C=0),y=1<<E-R,v=1<<L,Q=v;do{v-=y,r[X+(P>>R)+v]=A<<24|S<<16|C}while(0!==v);y=1<<E-1;while(P&y)y>>=1;if(0!==y?(P&=y-1,P+=y):P=0,x++,0===--z[E]){if(E===M)break;E=t[s+o[x]]}if(E>B&&(P&k)!==b){0===R&&(R=B),X+=Q,L=E-R,T=1<<L;while(L+R<M){if(T-=z[L+R],T<=0)break;L++,T<<=1}if(D+=1<<L,e===d&&D>_||e===f&&D>c)return 1;b=P&k,r[b]=B<<24|L<<16|X-a}}return 0!==P&&(r[X+P]=E-R<<24|64<<16),h.bits=B,0}var v=0,b=1,k=2;const X=4,K=5,A=6,S=0,C=1,F=2,E=-2,x=-3,Q=-4,M=-5,B=8;var L=1,R=2,T=3,D=4,P=5,I=6,U=7,z=8,N=9,H=10,V=11,O=12,W=13,G=14,Y=15,q=16,j=17,Z=18,J=19,$=20,ee=21,te=22,se=23,ie=24,ne=25,re=26,ae=27,oe=28,he=29,le=30,_e=31,ce=32,ue=852,de=592,fe=15,pe=fe;function ge(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function we(){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 i.Jg(320),this.work=new i.Jg(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function me(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=L,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new i.d5(ue),t.distcode=t.distdyn=new i.d5(de),t.sane=1,t.back=-1,S):E}function ye(e){var t;return e&&e.state?(t=e.state,t.wsize=0,t.whave=0,t.wnext=0,me(e)):E}function ve(e,t){var s,i;return e&&e.state?(i=e.state,t<0?(s=0,t=-t):(s=1+(t>>4),t<48&&(t&=15)),t&&(t<8||t>15)?E:(null!==i.window&&i.wbits!==t&&(i.window=null),i.wrap=s,i.wbits=t,ye(e))):E}function be(e,t){var s,i;return e?(i=new we,e.state=i,i.window=null,s=ve(e,t),s!==S&&(e.state=null),s):E}function ke(e){return be(e,pe)}var Xe,Ke,Ae=!0;function Se(e){if(Ae){var t;Xe=new i.d5(512),Ke=new i.d5(32),t=0;while(t<144)e.lens[t++]=8;while(t<256)e.lens[t++]=9;while(t<280)e.lens[t++]=7;while(t<288)e.lens[t++]=8;y(b,e.lens,0,288,Xe,0,e.work,{bits:9}),t=0;while(t<32)e.lens[t++]=5;y(k,e.lens,0,32,Ke,0,e.work,{bits:5}),Ae=!1}e.lencode=Xe,e.lenbits=9,e.distcode=Ke,e.distbits=5}function Ce(e,t,s,n){var r,a=e.state;return null===a.window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new i.S1(a.wsize)),n>=a.wsize?(i.Qq(a.window,t,s-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):(r=a.wsize-a.wnext,r>n&&(r=n),i.Qq(a.window,t,s-n,r,a.wnext),n-=r,n?(i.Qq(a.window,t,s-n,n,0),a.wnext=n,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r))),0}function Fe(e,t){var s,a,o,l,_,c,u,d,f,p,g,w,m,ue,de,fe,pe,we,me,ye,ve,be,ke,Xe,Ke=0,Ae=new i.S1(4),Fe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return E;s=e.state,s.mode===O&&(s.mode=W),_=e.next_out,o=e.output,u=e.avail_out,l=e.next_in,a=e.input,c=e.avail_in,d=s.hold,f=s.bits,p=c,g=u,be=S;e:for(;;)switch(s.mode){case L:if(0===s.wrap){s.mode=W;break}while(f<16){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(2&s.wrap&&35615===d){s.check=0,Ae[0]=255&d,Ae[1]=d>>>8&255,s.check=(0,r.A)(s.check,Ae,2,0),d=0,f=0,s.mode=R;break}if(s.flags=0,s.head&&(s.head.done=!1),!(1&s.wrap)||(((255&d)<<8)+(d>>8))%31){e.msg="incorrect header check",s.mode=le;break}if((15&d)!==B){e.msg="unknown compression method",s.mode=le;break}if(d>>>=4,f-=4,ve=8+(15&d),0===s.wbits)s.wbits=ve;else if(ve>s.wbits){e.msg="invalid window size",s.mode=le;break}s.dmax=1<<ve,e.adler=s.check=1,s.mode=512&d?H:O,d=0,f=0;break;case R:while(f<16){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(s.flags=d,(255&s.flags)!==B){e.msg="unknown compression method",s.mode=le;break}if(57344&s.flags){e.msg="unknown header flags set",s.mode=le;break}s.head&&(s.head.text=d>>8&1),512&s.flags&&(Ae[0]=255&d,Ae[1]=d>>>8&255,s.check=(0,r.A)(s.check,Ae,2,0)),d=0,f=0,s.mode=T;case T:while(f<32){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}s.head&&(s.head.time=d),512&s.flags&&(Ae[0]=255&d,Ae[1]=d>>>8&255,Ae[2]=d>>>16&255,Ae[3]=d>>>24&255,s.check=(0,r.A)(s.check,Ae,4,0)),d=0,f=0,s.mode=D;case D:while(f<16){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}s.head&&(s.head.xflags=255&d,s.head.os=d>>8),512&s.flags&&(Ae[0]=255&d,Ae[1]=d>>>8&255,s.check=(0,r.A)(s.check,Ae,2,0)),d=0,f=0,s.mode=P;case P:if(1024&s.flags){while(f<16){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}s.length=d,s.head&&(s.head.extra_len=d),512&s.flags&&(Ae[0]=255&d,Ae[1]=d>>>8&255,s.check=(0,r.A)(s.check,Ae,2,0)),d=0,f=0}else s.head&&(s.head.extra=null);s.mode=I;case I:if(1024&s.flags&&(w=s.length,w>c&&(w=c),w&&(s.head&&(ve=s.head.extra_len-s.length,s.head.extra||(s.head.extra=new Array(s.head.extra_len)),i.Qq(s.head.extra,a,l,w,ve)),512&s.flags&&(s.check=(0,r.A)(s.check,a,w,l)),c-=w,l+=w,s.length-=w),s.length))break e;s.length=0,s.mode=U;case U:if(2048&s.flags){if(0===c)break e;w=0;do{ve=a[l+w++],s.head&&ve&&s.length<65536&&(s.head.name+=String.fromCharCode(ve))}while(ve&&w<c);if(512&s.flags&&(s.check=(0,r.A)(s.check,a,w,l)),c-=w,l+=w,ve)break e}else s.head&&(s.head.name=null);s.length=0,s.mode=z;case z:if(4096&s.flags){if(0===c)break e;w=0;do{ve=a[l+w++],s.head&&ve&&s.length<65536&&(s.head.comment+=String.fromCharCode(ve))}while(ve&&w<c);if(512&s.flags&&(s.check=(0,r.A)(s.check,a,w,l)),c-=w,l+=w,ve)break e}else s.head&&(s.head.comment=null);s.mode=N;case N:if(512&s.flags){while(f<16){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(d!==(65535&s.check)){e.msg="header crc mismatch",s.mode=le;break}d=0,f=0}s.head&&(s.head.hcrc=s.flags>>9&1,s.head.done=!0),e.adler=s.check=0,s.mode=O;break;case H:while(f<32){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}e.adler=s.check=ge(d),d=0,f=0,s.mode=V;case V:if(0===s.havedict)return e.next_out=_,e.avail_out=u,e.next_in=l,e.avail_in=c,s.hold=d,s.bits=f,F;e.adler=s.check=1,s.mode=O;case O:if(t===K||t===A)break e;case W:if(s.last){d>>>=7&f,f-=7&f,s.mode=ae;break}while(f<3){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}switch(s.last=1&d,d>>>=1,f-=1,3&d){case 0:s.mode=G;break;case 1:if(Se(s),s.mode=$,t===A){d>>>=2,f-=2;break e}break;case 2:s.mode=j;break;case 3:e.msg="invalid block type",s.mode=le}d>>>=2,f-=2;break;case G:d>>>=7&f,f-=7&f;while(f<32){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if((65535&d)!==(d>>>16^65535)){e.msg="invalid stored block lengths",s.mode=le;break}if(s.length=65535&d,d=0,f=0,s.mode=Y,t===A)break e;case Y:s.mode=q;case q:if(w=s.length,w){if(w>c&&(w=c),w>u&&(w=u),0===w)break e;i.Qq(o,a,l,w,_),c-=w,l+=w,u-=w,_+=w,s.length-=w;break}s.mode=O;break;case j:while(f<14){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(s.nlen=257+(31&d),d>>>=5,f-=5,s.ndist=1+(31&d),d>>>=5,f-=5,s.ncode=4+(15&d),d>>>=4,f-=4,s.nlen>286||s.ndist>30){e.msg="too many length or distance symbols",s.mode=le;break}s.have=0,s.mode=Z;case Z:while(s.have<s.ncode){while(f<3){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}s.lens[Fe[s.have++]]=7&d,d>>>=3,f-=3}while(s.have<19)s.lens[Fe[s.have++]]=0;if(s.lencode=s.lendyn,s.lenbits=7,ke={bits:s.lenbits},be=y(v,s.lens,0,19,s.lencode,0,s.work,ke),s.lenbits=ke.bits,be){e.msg="invalid code lengths set",s.mode=le;break}s.have=0,s.mode=J;case J:while(s.have<s.nlen+s.ndist){for(;;){if(Ke=s.lencode[d&(1<<s.lenbits)-1],de=Ke>>>24,fe=Ke>>>16&255,pe=65535&Ke,de<=f)break;if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(pe<16)d>>>=de,f-=de,s.lens[s.have++]=pe;else{if(16===pe){Xe=de+2;while(f<Xe){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(d>>>=de,f-=de,0===s.have){e.msg="invalid bit length repeat",s.mode=le;break}ve=s.lens[s.have-1],w=3+(3&d),d>>>=2,f-=2}else if(17===pe){Xe=de+3;while(f<Xe){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}d>>>=de,f-=de,ve=0,w=3+(7&d),d>>>=3,f-=3}else{Xe=de+7;while(f<Xe){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}d>>>=de,f-=de,ve=0,w=11+(127&d),d>>>=7,f-=7}if(s.have+w>s.nlen+s.ndist){e.msg="invalid bit length repeat",s.mode=le;break}while(w--)s.lens[s.have++]=ve}}if(s.mode===le)break;if(0===s.lens[256]){e.msg="invalid code -- missing end-of-block",s.mode=le;break}if(s.lenbits=9,ke={bits:s.lenbits},be=y(b,s.lens,0,s.nlen,s.lencode,0,s.work,ke),s.lenbits=ke.bits,be){e.msg="invalid literal/lengths set",s.mode=le;break}if(s.distbits=6,s.distcode=s.distdyn,ke={bits:s.distbits},be=y(k,s.lens,s.nlen,s.ndist,s.distcode,0,s.work,ke),s.distbits=ke.bits,be){e.msg="invalid distances set",s.mode=le;break}if(s.mode=$,t===A)break e;case $:s.mode=ee;case ee:if(c>=6&&u>=258){e.next_out=_,e.avail_out=u,e.next_in=l,e.avail_in=c,s.hold=d,s.bits=f,h(e,g),_=e.next_out,o=e.output,u=e.avail_out,l=e.next_in,a=e.input,c=e.avail_in,d=s.hold,f=s.bits,s.mode===O&&(s.back=-1);break}for(s.back=0;;){if(Ke=s.lencode[d&(1<<s.lenbits)-1],de=Ke>>>24,fe=Ke>>>16&255,pe=65535&Ke,de<=f)break;if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(fe&&0===(240&fe)){for(we=de,me=fe,ye=pe;;){if(Ke=s.lencode[ye+((d&(1<<we+me)-1)>>we)],de=Ke>>>24,fe=Ke>>>16&255,pe=65535&Ke,we+de<=f)break;if(0===c)break e;c--,d+=a[l++]<<f,f+=8}d>>>=we,f-=we,s.back+=we}if(d>>>=de,f-=de,s.back+=de,s.length=pe,0===fe){s.mode=re;break}if(32&fe){s.back=-1,s.mode=O;break}if(64&fe){e.msg="invalid literal/length code",s.mode=le;break}s.extra=15&fe,s.mode=te;case te:if(s.extra){Xe=s.extra;while(f<Xe){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}s.length+=d&(1<<s.extra)-1,d>>>=s.extra,f-=s.extra,s.back+=s.extra}s.was=s.length,s.mode=se;case se:for(;;){if(Ke=s.distcode[d&(1<<s.distbits)-1],de=Ke>>>24,fe=Ke>>>16&255,pe=65535&Ke,de<=f)break;if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(0===(240&fe)){for(we=de,me=fe,ye=pe;;){if(Ke=s.distcode[ye+((d&(1<<we+me)-1)>>we)],de=Ke>>>24,fe=Ke>>>16&255,pe=65535&Ke,we+de<=f)break;if(0===c)break e;c--,d+=a[l++]<<f,f+=8}d>>>=we,f-=we,s.back+=we}if(d>>>=de,f-=de,s.back+=de,64&fe){e.msg="invalid distance code",s.mode=le;break}s.offset=pe,s.extra=15&fe,s.mode=ie;case ie:if(s.extra){Xe=s.extra;while(f<Xe){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}s.offset+=d&(1<<s.extra)-1,d>>>=s.extra,f-=s.extra,s.back+=s.extra}if(s.offset>s.dmax){e.msg="invalid distance too far back",s.mode=le;break}s.mode=ne;case ne:if(0===u)break e;if(w=g-u,s.offset>w){if(w=s.offset-w,w>s.whave&&s.sane){e.msg="invalid distance too far back",s.mode=le;break}w>s.wnext?(w-=s.wnext,m=s.wsize-w):m=s.wnext-w,w>s.length&&(w=s.length),ue=s.window}else ue=o,m=_-s.offset,w=s.length;w>u&&(w=u),u-=w,s.length-=w;do{o[_++]=ue[m++]}while(--w);0===s.length&&(s.mode=ee);break;case re:if(0===u)break e;o[_++]=s.length,u--,s.mode=ee;break;case ae:if(s.wrap){while(f<32){if(0===c)break e;c--,d|=a[l++]<<f,f+=8}if(g-=u,e.total_out+=g,s.total+=g,g&&(e.adler=s.check=s.flags?(0,r.A)(s.check,o,g,_-g):(0,n.A)(s.check,o,g,_-g)),g=u,(s.flags?d:ge(d))!==s.check){e.msg="incorrect data check",s.mode=le;break}d=0,f=0}s.mode=oe;case oe:if(s.wrap&&s.flags){while(f<32){if(0===c)break e;c--,d+=a[l++]<<f,f+=8}if(d!==(4294967295&s.total)){e.msg="incorrect length check",s.mode=le;break}d=0,f=0}s.mode=he;case he:be=C;break e;case le:be=x;break e;case _e:return Q;case ce:default:return E}return e.next_out=_,e.avail_out=u,e.next_in=l,e.avail_in=c,s.hold=d,s.bits=f,(s.wsize||g!==e.avail_out&&s.mode<le&&(s.mode<ae||t!==X))&&Ce(e,e.output,e.next_out,g-e.avail_out)?(s.mode=_e,Q):(p-=e.avail_in,g-=e.avail_out,e.total_in+=p,e.total_out+=g,s.total+=g,s.wrap&&g&&(e.adler=s.check=s.flags?(0,r.A)(s.check,o,g,e.next_out-g):(0,n.A)(s.check,o,g,e.next_out-g)),e.data_type=s.bits+(s.last?64:0)+(s.mode===O?128:0)+(s.mode===$||s.mode===Y?256:0),(0===p&&0===g||t===X)&&be===S&&(be=M),be)}var Ee=s(1357);class xe{constructor(){this.strm=new Ee.A,this.chunkSize=102400,this.strm.output=new Uint8Array(this.chunkSize),ke(this.strm)}setInput(e){e?(this.strm.input=e,this.strm.avail_in=this.strm.input.length,this.strm.next_in=0):(this.strm.input=null,this.strm.avail_in=0,this.strm.next_in=0)}inflate(e){e>this.chunkSize&&(this.chunkSize=e,this.strm.output=new Uint8Array(this.chunkSize)),this.strm.next_out=0,this.strm.avail_out=e;let t=Fe(this.strm,0);if(t<0)throw new Error("zlib inflate failed");if(this.strm.next_out!=e)throw new Error("Incomplete zlib block");return new Uint8Array(this.strm.output.buffer,0,this.strm.next_out)}reset(){ye(this.strm)}}},95248:function(e,t,s){"use strict";var i=s(25931);const n={};function r(e,t){if(void 0===t)throw new Error('Undefined keysym for key "'+e+'"');if(e in n)throw new Error('Duplicate entry for key "'+e+'"');n[e]=[t,t,t,t]}function a(e,t,s){if(void 0===t)throw new Error('Undefined keysym for key "'+e+'"');if(void 0===s)throw new Error('Undefined keysym for key "'+e+'"');if(e in n)throw new Error('Duplicate entry for key "'+e+'"');n[e]=[t,t,s,t]}function o(e,t,s){if(void 0===t)throw new Error('Undefined keysym for key "'+e+'"');if(void 0===s)throw new Error('Undefined keysym for key "'+e+'"');if(e in n)throw new Error('Duplicate entry for key "'+e+'"');n[e]=[t,t,t,s]}a("Alt",i.A.XK_Alt_L,i.A.XK_Alt_R),r("AltGraph",i.A.XK_ISO_Level3_Shift),r("CapsLock",i.A.XK_Caps_Lock),a("Control",i.A.XK_Control_L,i.A.XK_Control_R),a("Meta",i.A.XK_Super_L,i.A.XK_Super_R),r("NumLock",i.A.XK_Num_Lock),r("ScrollLock",i.A.XK_Scroll_Lock),a("Shift",i.A.XK_Shift_L,i.A.XK_Shift_R),o("Enter",i.A.XK_Return,i.A.XK_KP_Enter),r("Tab",i.A.XK_Tab),o(" ",i.A.XK_space,i.A.XK_KP_Space),o("ArrowDown",i.A.XK_Down,i.A.XK_KP_Down),o("ArrowLeft",i.A.XK_Left,i.A.XK_KP_Left),o("ArrowRight",i.A.XK_Right,i.A.XK_KP_Right),o("ArrowUp",i.A.XK_Up,i.A.XK_KP_Up),o("End",i.A.XK_End,i.A.XK_KP_End),o("Home",i.A.XK_Home,i.A.XK_KP_Home),o("PageDown",i.A.XK_Next,i.A.XK_KP_Next),o("PageUp",i.A.XK_Prior,i.A.XK_KP_Prior),r("Backspace",i.A.XK_BackSpace),o("Clear",i.A.XK_Clear,i.A.XK_KP_Begin),r("Copy",i.A.XF86XK_Copy),r("Cut",i.A.XF86XK_Cut),o("Delete",i.A.XK_Delete,i.A.XK_KP_Delete),o("Insert",i.A.XK_Insert,i.A.XK_KP_Insert),r("Paste",i.A.XF86XK_Paste),r("Redo",i.A.XK_Redo),r("Undo",i.A.XK_Undo),r("Cancel",i.A.XK_Cancel),r("ContextMenu",i.A.XK_Menu),r("Escape",i.A.XK_Escape),r("Execute",i.A.XK_Execute),r("Find",i.A.XK_Find),r("Help",i.A.XK_Help),r("Pause",i.A.XK_Pause),r("Select",i.A.XK_Select),r("ZoomIn",i.A.XF86XK_ZoomIn),r("ZoomOut",i.A.XF86XK_ZoomOut),r("BrightnessDown",i.A.XF86XK_MonBrightnessDown),r("BrightnessUp",i.A.XF86XK_MonBrightnessUp),r("Eject",i.A.XF86XK_Eject),r("LogOff",i.A.XF86XK_LogOff),r("Power",i.A.XF86XK_PowerOff),r("PowerOff",i.A.XF86XK_PowerDown),r("PrintScreen",i.A.XK_Print),r("Hibernate",i.A.XF86XK_Hibernate),r("Standby",i.A.XF86XK_Standby),r("WakeUp",i.A.XF86XK_WakeUp),r("AllCandidates",i.A.XK_MultipleCandidate),r("Alphanumeric",i.A.XK_Eisu_toggle),r("CodeInput",i.A.XK_Codeinput),r("Compose",i.A.XK_Multi_key),r("Convert",i.A.XK_Henkan),r("GroupFirst",i.A.XK_ISO_First_Group),r("GroupLast",i.A.XK_ISO_Last_Group),r("GroupNext",i.A.XK_ISO_Next_Group),r("GroupPrevious",i.A.XK_ISO_Prev_Group),r("NonConvert",i.A.XK_Muhenkan),r("PreviousCandidate",i.A.XK_PreviousCandidate),r("SingleCandidate",i.A.XK_SingleCandidate),r("HangulMode",i.A.XK_Hangul),r("HanjaMode",i.A.XK_Hangul_Hanja),r("JunjaMode",i.A.XK_Hangul_Jeonja),r("Eisu",i.A.XK_Eisu_toggle),r("Hankaku",i.A.XK_Hankaku),r("Hiragana",i.A.XK_Hiragana),r("HiraganaKatakana",i.A.XK_Hiragana_Katakana),r("KanaMode",i.A.XK_Kana_Shift),r("KanjiMode",i.A.XK_Kanji),r("Katakana",i.A.XK_Katakana),r("Romaji",i.A.XK_Romaji),r("Zenkaku",i.A.XK_Zenkaku),r("ZenkakuHankaku",i.A.XK_Zenkaku_Hankaku),r("F1",i.A.XK_F1),r("F2",i.A.XK_F2),r("F3",i.A.XK_F3),r("F4",i.A.XK_F4),r("F5",i.A.XK_F5),r("F6",i.A.XK_F6),r("F7",i.A.XK_F7),r("F8",i.A.XK_F8),r("F9",i.A.XK_F9),r("F10",i.A.XK_F10),r("F11",i.A.XK_F11),r("F12",i.A.XK_F12),r("F13",i.A.XK_F13),r("F14",i.A.XK_F14),r("F15",i.A.XK_F15),r("F16",i.A.XK_F16),r("F17",i.A.XK_F17),r("F18",i.A.XK_F18),r("F19",i.A.XK_F19),r("F20",i.A.XK_F20),r("F21",i.A.XK_F21),r("F22",i.A.XK_F22),r("F23",i.A.XK_F23),r("F24",i.A.XK_F24),r("F25",i.A.XK_F25),r("F26",i.A.XK_F26),r("F27",i.A.XK_F27),r("F28",i.A.XK_F28),r("F29",i.A.XK_F29),r("F30",i.A.XK_F30),r("F31",i.A.XK_F31),r("F32",i.A.XK_F32),r("F33",i.A.XK_F33),r("F34",i.A.XK_F34),r("F35",i.A.XK_F35),r("Close",i.A.XF86XK_Close),r("MailForward",i.A.XF86XK_MailForward),r("MailReply",i.A.XF86XK_Reply),r("MailSend",i.A.XF86XK_Send),r("MediaFastForward",i.A.XF86XK_AudioForward),r("MediaPause",i.A.XF86XK_AudioPause),r("MediaPlay",i.A.XF86XK_AudioPlay),r("MediaRecord",i.A.XF86XK_AudioRecord),r("MediaRewind",i.A.XF86XK_AudioRewind),r("MediaStop",i.A.XF86XK_AudioStop),r("MediaTrackNext",i.A.XF86XK_AudioNext),r("MediaTrackPrevious",i.A.XF86XK_AudioPrev),r("New",i.A.XF86XK_New),r("Open",i.A.XF86XK_Open),r("Print",i.A.XK_Print),r("Save",i.A.XF86XK_Save),r("SpellCheck",i.A.XF86XK_Spell),r("AudioVolumeDown",i.A.XF86XK_AudioLowerVolume),r("AudioVolumeUp",i.A.XF86XK_AudioRaiseVolume),r("AudioVolumeMute",i.A.XF86XK_AudioMute),r("MicrophoneVolumeMute",i.A.XF86XK_AudioMicMute),r("LaunchApplication1",i.A.XF86XK_MyComputer),r("LaunchApplication2",i.A.XF86XK_Calculator),r("LaunchCalendar",i.A.XF86XK_Calendar),r("LaunchMail",i.A.XF86XK_Mail),r("LaunchMediaPlayer",i.A.XF86XK_AudioMedia),r("LaunchMusicPlayer",i.A.XF86XK_Music),r("LaunchPhone",i.A.XF86XK_Phone),r("LaunchScreenSaver",i.A.XF86XK_ScreenSaver),r("LaunchSpreadsheet",i.A.XF86XK_Excel),r("LaunchWebBrowser",i.A.XF86XK_WWW),r("LaunchWebCam",i.A.XF86XK_WebCam),r("LaunchWordProcessor",i.A.XF86XK_Word),r("BrowserBack",i.A.XF86XK_Back),r("BrowserFavorites",i.A.XF86XK_Favorites),r("BrowserForward",i.A.XF86XK_Forward),r("BrowserHome",i.A.XF86XK_HomePage),r("BrowserRefresh",i.A.XF86XK_Refresh),r("BrowserSearch",i.A.XF86XK_Search),r("BrowserStop",i.A.XF86XK_Stop),r("Dimmer",i.A.XF86XK_BrightnessAdjust),r("MediaAudioTrack",i.A.XF86XK_AudioCycleTrack),r("RandomToggle",i.A.XF86XK_AudioRandomPlay),r("SplitScreenToggle",i.A.XF86XK_SplitScreen),r("Subtitle",i.A.XF86XK_Subtitle),r("VideoModeNext",i.A.XF86XK_Next_VMode),o("=",i.A.XK_equal,i.A.XK_KP_Equal),o("+",i.A.XK_plus,i.A.XK_KP_Add),o("-",i.A.XK_minus,i.A.XK_KP_Subtract),o("*",i.A.XK_asterisk,i.A.XK_KP_Multiply),o("/",i.A.XK_slash,i.A.XK_KP_Divide),o(".",i.A.XK_period,i.A.XK_KP_Decimal),o(",",i.A.XK_comma,i.A.XK_KP_Separator),o("0",i.A.XK_0,i.A.XK_KP_0),o("1",i.A.XK_1,i.A.XK_KP_1),o("2",i.A.XK_2,i.A.XK_KP_2),o("3",i.A.XK_3,i.A.XK_KP_3),o("4",i.A.XK_4,i.A.XK_KP_4),o("5",i.A.XK_5,i.A.XK_KP_5),o("6",i.A.XK_6,i.A.XK_KP_6),o("7",i.A.XK_7,i.A.XK_KP_7),o("8",i.A.XK_8,i.A.XK_KP_8),o("9",i.A.XK_9,i.A.XK_KP_9),t.A=n},56459:function(e,t){"use strict";t.A={Backspace:"Backspace",AltLeft:"Alt",AltRight:"Alt",CapsLock:"CapsLock",ContextMenu:"ContextMenu",ControlLeft:"Control",ControlRight:"Control",Enter:"Enter",MetaLeft:"Meta",MetaRight:"Meta",ShiftLeft:"Shift",ShiftRight:"Shift",Tab:"Tab",Delete:"Delete",End:"End",Help:"Help",Home:"Home",Insert:"Insert",PageDown:"PageDown",PageUp:"PageUp",ArrowDown:"ArrowDown",ArrowLeft:"ArrowLeft",ArrowRight:"ArrowRight",ArrowUp:"ArrowUp",NumLock:"NumLock",NumpadBackspace:"Backspace",NumpadClear:"Clear",Escape:"Escape",F1:"F1",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",F10:"F10",F11:"F11",F12:"F12",F13:"F13",F14:"F14",F15:"F15",F16:"F16",F17:"F17",F18:"F18",F19:"F19",F20:"F20",F21:"F21",F22:"F22",F23:"F23",F24:"F24",F25:"F25",F26:"F26",F27:"F27",F28:"F28",F29:"F29",F30:"F30",F31:"F31",F32:"F32",F33:"F33",F34:"F34",F35:"F35",PrintScreen:"PrintScreen",ScrollLock:"ScrollLock",Pause:"Pause",BrowserBack:"BrowserBack",BrowserFavorites:"BrowserFavorites",BrowserForward:"BrowserForward",BrowserHome:"BrowserHome",BrowserRefresh:"BrowserRefresh",BrowserSearch:"BrowserSearch",BrowserStop:"BrowserStop",Eject:"Eject",LaunchApp1:"LaunchMyComputer",LaunchApp2:"LaunchCalendar",LaunchMail:"LaunchMail",MediaPlayPause:"MediaPlay",MediaStop:"MediaStop",MediaTrackNext:"MediaTrackNext",MediaTrackPrevious:"MediaTrackPrevious",Power:"Power",Sleep:"Sleep",AudioVolumeDown:"AudioVolumeDown",AudioVolumeMute:"AudioVolumeMute",AudioVolumeUp:"AudioVolumeUp",WakeUp:"WakeUp"}},14108:function(e,t,s){"use strict";s.d(t,{A:function(){return m}});const i=0,n=1,r=2,a=4,o=8,h=16,l=32,_=64,c=127,u=50,d=90,f=250,p=1e3,g=1e3,w=50;class m{constructor(){this._target=null,this._state=c,this._tracked=[],this._ignored=[],this._waitingRelease=!1,this._releaseStart=0,this._longpressTimeoutId=null,this._twoTouchTimeoutId=null,this._boundEventHandler=this._eventHandler.bind(this)}attach(e){this.detach(),this._target=e,this._target.addEventListener("touchstart",this._boundEventHandler),this._target.addEventListener("touchmove",this._boundEventHandler),this._target.addEventListener("touchend",this._boundEventHandler),this._target.addEventListener("touchcancel",this._boundEventHandler)}detach(){this._target&&(this._stopLongpressTimeout(),this._stopTwoTouchTimeout(),this._target.removeEventListener("touchstart",this._boundEventHandler),this._target.removeEventListener("touchmove",this._boundEventHandler),this._target.removeEventListener("touchend",this._boundEventHandler),this._target.removeEventListener("touchcancel",this._boundEventHandler),this._target=null)}_eventHandler(e){let t;switch(e.stopPropagation(),e.preventDefault(),e.type){case"touchstart":t=this._touchStart;break;case"touchmove":t=this._touchMove;break;case"touchend":case"touchcancel":t=this._touchEnd;break}for(let s=0;s<e.changedTouches.length;s++){let i=e.changedTouches[s];t.call(this,i.identifier,i.clientX,i.clientY)}}_touchStart(e,t,s){if(this._hasDetectedGesture()||this._state===i)this._ignored.push(e);else{if(this._tracked.length>0&&Date.now()-this._tracked[0].started>f)return this._state=i,void this._ignored.push(e);if(this._waitingRelease)return this._state=i,void this._ignored.push(e);switch(this._tracked.push({id:e,started:Date.now(),active:!0,firstX:t,firstY:s,lastX:t,lastY:s,angle:0}),this._tracked.length){case 1:this._startLongpressTimeout();break;case 2:this._state&=~(n|o|h),this._stopLongpressTimeout();break;case 3:this._state&=~(r|l|_);break;default:this._state=i}}}_touchMove(e,t,s){let i=this._tracked.find(t=>t.id===e);if(void 0===i)return;i.lastX=t,i.lastY=s;let c=t-i.firstX,f=s-i.firstY;if(i.firstX===i.lastX&&i.firstY===i.lastY||(i.angle=180*Math.atan2(f,c)/Math.PI),!this._hasDetectedGesture()){if(Math.hypot(c,f)<u)return;if(this._state&=~(n|r|a|h),this._stopLongpressTimeout(),1!==this._tracked.length&&(this._state&=~o),2!==this._tracked.length&&(this._state&=~(l|_)),2===this._tracked.length){let t=this._tracked.find(t=>t.id!==e),s=Math.hypot(t.firstX-t.lastX,t.firstY-t.lastY);if(s>u){let e=Math.abs(i.angle-t.angle);e=Math.abs((e+180)%360-180),this._state&=e>d?~l:~_,this._isTwoTouchTimeoutRunning()&&this._stopTwoTouchTimeout()}else this._isTwoTouchTimeoutRunning()||this._startTwoTouchTimeout()}if(!this._hasDetectedGesture())return;this._pushEvent("gesturestart")}this._pushEvent("gesturemove")}_touchEnd(e,t,s){if(-1!==this._ignored.indexOf(e))return this._ignored.splice(this._ignored.indexOf(e),1),void(0===this._ignored.length&&0===this._tracked.length&&(this._state=c,this._waitingRelease=!1));if(!this._hasDetectedGesture()&&this._isTwoTouchTimeoutRunning()&&(this._stopTwoTouchTimeout(),this._state=i),!this._hasDetectedGesture()&&(this._state&=~(o|l|_),this._state&=~h,this._stopLongpressTimeout(),!this._waitingRelease))switch(this._releaseStart=Date.now(),this._waitingRelease=!0,this._tracked.length){case 1:this._state&=~(r|a);break;case 2:this._state&=~(n|a);break}if(this._waitingRelease){Date.now()-this._releaseStart>f&&(this._state=i),this._tracked.some(e=>Date.now()-e.started>p)&&(this._state=i);let t=this._tracked.find(t=>t.id===e);if(t.active=!1,this._hasDetectedGesture())this._pushEvent("gesturestart");else if(this._state!==i)return}this._hasDetectedGesture()&&this._pushEvent("gestureend");for(let i=0;i<this._tracked.length;i++)this._tracked[i].active&&this._ignored.push(this._tracked[i].id);this._tracked=[],this._state=i,-1!==this._ignored.indexOf(e)&&this._ignored.splice(this._ignored.indexOf(e),1),0===this._ignored.length&&(this._state=c,this._waitingRelease=!1)}_hasDetectedGesture(){return this._state!==i&&(!(this._state&this._state-1)&&!(this._state&(n|r|a)&&this._tracked.some(e=>e.active)))}_startLongpressTimeout(){this._stopLongpressTimeout(),this._longpressTimeoutId=setTimeout(()=>this._longpressTimeout(),g)}_stopLongpressTimeout(){clearTimeout(this._longpressTimeoutId),this._longpressTimeoutId=null}_longpressTimeout(){if(this._hasDetectedGesture())throw new Error("A longpress gesture failed, conflict with a different gesture");this._state=h,this._pushEvent("gesturestart")}_startTwoTouchTimeout(){this._stopTwoTouchTimeout(),this._twoTouchTimeoutId=setTimeout(()=>this._twoTouchTimeout(),w)}_stopTwoTouchTimeout(){clearTimeout(this._twoTouchTimeoutId),this._twoTouchTimeoutId=null}_isTwoTouchTimeoutRunning(){return null!==this._twoTouchTimeoutId}_twoTouchTimeout(){if(0===this._tracked.length)throw new Error("A pinch or two drag gesture failed, no tracked touches");let e=this._getAverageMovement(),t=Math.abs(e.x),s=Math.abs(e.y),i=this._getAverageDistance(),n=Math.abs(Math.hypot(i.first.x,i.first.y)-Math.hypot(i.last.x,i.last.y));this._state=s<n&&t<n?_:l,this._pushEvent("gesturestart"),this._pushEvent("gesturemove")}_pushEvent(e){let t={type:this._stateToGesture(this._state)},s=this._getPosition(),i=s.last;switch("gesturestart"===e&&(i=s.first),this._state){case l:case _:i=s.first;break}if(t["clientX"]=i.x,t["clientY"]=i.y,this._state===_){let s=this._getAverageDistance();"gesturestart"===e?(t["magnitudeX"]=s.first.x,t["magnitudeY"]=s.first.y):(t["magnitudeX"]=s.last.x,t["magnitudeY"]=s.last.y)}else if(this._state===l)if("gesturestart"===e)t["magnitudeX"]=0,t["magnitudeY"]=0;else{let e=this._getAverageMovement();t["magnitudeX"]=e.x,t["magnitudeY"]=e.y}let n=new CustomEvent(e,{detail:t});this._target.dispatchEvent(n)}_stateToGesture(e){switch(e){case n:return"onetap";case r:return"twotap";case a:return"threetap";case o:return"drag";case h:return"longpress";case l:return"twodrag";case _:return"pinch"}throw new Error("Unknown gesture state: "+e)}_getPosition(){if(0===this._tracked.length)throw new Error("Failed to get gesture position, no tracked touches");let e=this._tracked.length,t=0,s=0,i=0,n=0;for(let r=0;r<this._tracked.length;r++)t+=this._tracked[r].firstX,s+=this._tracked[r].firstY,i+=this._tracked[r].lastX,n+=this._tracked[r].lastY;return{first:{x:t/e,y:s/e},last:{x:i/e,y:n/e}}}_getAverageMovement(){if(0===this._tracked.length)throw new Error("Failed to get gesture movement, no tracked touches");let e,t;e=t=0;let s=this._tracked.length;for(let i=0;i<this._tracked.length;i++)e+=this._tracked[i].lastX-this._tracked[i].firstX,t+=this._tracked[i].lastY-this._tracked[i].firstY;return{x:e/s,y:t/s}}_getAverageDistance(){if(0===this._tracked.length)throw new Error("Failed to get gesture distance, no tracked touches");let e=this._tracked[0],t=this._tracked[this._tracked.length-1],s=Math.abs(t.firstX-e.firstX),i=Math.abs(t.firstY-e.firstY),n=Math.abs(t.lastX-e.lastX),r=Math.abs(t.lastY-e.lastY);return{first:{x:s,y:i},last:{x:n,y:r}}}}},42648:function(e,t,s){"use strict";s.a(e,async function(e,i){try{s.d(t,{A:function(){return c}});var n=s(83782),r=s(44110),a=s(22885),o=s(25931),h=s(8155),l=e([a,h]),_=l.then?(await l)():l;a=_[0],h=_[1];class c{constructor(e){this._target=e||null,this._keyDownList={},this._altGrArmed=!1,this._eventHandlers={keyup:this._handleKeyUp.bind(this),keydown:this._handleKeyDown.bind(this),blur:this._allKeysUp.bind(this)},this.onkeyevent=()=>{}}_sendKeyEvent(e,t,s,i=null,r=null){if(s)this._keyDownList[t]=e;else{if(!(t in this._keyDownList))return;delete this._keyDownList[t]}n.y("onkeyevent "+(s?"down":"up")+", keysym: "+e,", code: "+t+", numlock: "+i+", capslock: "+r),this.onkeyevent(e,t,s,i,r)}_getKeyCode(e){const t=a.lv(e);if("Unidentified"!==t)return t;if(e.keyCode&&229!==e.keyCode)return"Platform"+e.keyCode;if(e.keyIdentifier){if("U+"!==e.keyIdentifier.substr(0,2))return e.keyIdentifier;const t=parseInt(e.keyIdentifier.substr(2),16),s=String.fromCharCode(t).toUpperCase();return"Platform"+s.charCodeAt()}return"Unidentified"}_handleKeyDown(e){const t=this._getKeyCode(e);let s=a.Hn(e),i=e.getModifierState("NumLock"),n=e.getModifierState("CapsLock");if((h.cX()||h.un())&&(i=null),this._altGrArmed&&(this._altGrArmed=!1,clearTimeout(this._altGrTimeout),"AltRight"===t&&e.timeStamp-this._altGrCtrlTime<50?s=o.A.XK_ISO_Level3_Shift:this._sendKeyEvent(o.A.XK_Control_L,"ControlLeft",!0,i,n)),"Unidentified"===t)return s&&(this._sendKeyEvent(s,t,!0,i,n),this._sendKeyEvent(s,t,!1,i,n)),void(0,r.jo)(e);if(h.cX()||h.un())switch(s){case o.A.XK_Super_L:s=o.A.XK_Alt_L;break;case o.A.XK_Super_R:s=o.A.XK_Super_L;break;case o.A.XK_Alt_L:s=o.A.XK_Mode_switch;break;case o.A.XK_Alt_R:s=o.A.XK_ISO_Level3_Shift;break}if(t in this._keyDownList&&(s=this._keyDownList[t]),(h.cX()||h.un())&&e.metaKey&&"MetaLeft"!==t&&"MetaRight"!==t)return this._sendKeyEvent(s,t,!0,i,n),this._sendKeyEvent(s,t,!1,i,n),void(0,r.jo)(e);if((h.cX()||h.un())&&"CapsLock"===t)return this._sendKeyEvent(o.A.XK_Caps_Lock,"CapsLock",!0,i,n),this._sendKeyEvent(o.A.XK_Caps_Lock,"CapsLock",!1,i,n),void(0,r.jo)(e);const l=[o.A.XK_Zenkaku_Hankaku,o.A.XK_Eisu_toggle,o.A.XK_Katakana,o.A.XK_Hiragana,o.A.XK_Romaji];return h.uF()&&l.includes(s)?(this._sendKeyEvent(s,t,!0,i,n),this._sendKeyEvent(s,t,!1,i,n),void(0,r.jo)(e)):((0,r.jo)(e),"ControlLeft"===t&&h.uF()&&!("ControlLeft"in this._keyDownList)?(this._altGrArmed=!0,this._altGrTimeout=setTimeout(this._interruptAltGrSequence.bind(this),100),void(this._altGrCtrlTime=e.timeStamp)):void this._sendKeyEvent(s,t,!0,i,n))}_handleKeyUp(e){(0,r.jo)(e);const t=this._getKeyCode(e);if(this._interruptAltGrSequence(),(h.cX()||h.un())&&"CapsLock"===t)return this._sendKeyEvent(o.A.XK_Caps_Lock,"CapsLock",!0),void this._sendKeyEvent(o.A.XK_Caps_Lock,"CapsLock",!1);this._sendKeyEvent(this._keyDownList[t],t,!1),!h.uF()||"ShiftLeft"!==t&&"ShiftRight"!==t||("ShiftRight"in this._keyDownList&&this._sendKeyEvent(this._keyDownList["ShiftRight"],"ShiftRight",!1),"ShiftLeft"in this._keyDownList&&this._sendKeyEvent(this._keyDownList["ShiftLeft"],"ShiftLeft",!1))}_interruptAltGrSequence(){this._altGrArmed&&(this._altGrArmed=!1,clearTimeout(this._altGrTimeout),this._sendKeyEvent(o.A.XK_Control_L,"ControlLeft",!0))}_allKeysUp(){n.y(">> Keyboard.allKeysUp"),this._interruptAltGrSequence();for(let e in this._keyDownList)this._sendKeyEvent(this._keyDownList[e],e,!1);n.y("<< Keyboard.allKeysUp")}grab(){this._target.addEventListener("keydown",this._eventHandlers.keydown),this._target.addEventListener("keyup",this._eventHandlers.keyup),window.addEventListener("blur",this._eventHandlers.blur)}ungrab(){this._target.removeEventListener("keydown",this._eventHandlers.keydown),this._target.removeEventListener("keyup",this._eventHandlers.keyup),window.removeEventListener("blur",this._eventHandlers.blur),this._allKeysUp()}}i()}catch(c){i(c)}})},25931:function(e,t){"use strict";t.A={XK_VoidSymbol:16777215,XK_BackSpace:65288,XK_Tab:65289,XK_Linefeed:65290,XK_Clear:65291,XK_Return:65293,XK_Pause:65299,XK_Scroll_Lock:65300,XK_Sys_Req:65301,XK_Escape:65307,XK_Delete:65535,XK_Multi_key:65312,XK_Codeinput:65335,XK_SingleCandidate:65340,XK_MultipleCandidate:65341,XK_PreviousCandidate:65342,XK_Kanji:65313,XK_Muhenkan:65314,XK_Henkan_Mode:65315,XK_Henkan:65315,XK_Romaji:65316,XK_Hiragana:65317,XK_Katakana:65318,XK_Hiragana_Katakana:65319,XK_Zenkaku:65320,XK_Hankaku:65321,XK_Zenkaku_Hankaku:65322,XK_Touroku:65323,XK_Massyo:65324,XK_Kana_Lock:65325,XK_Kana_Shift:65326,XK_Eisu_Shift:65327,XK_Eisu_toggle:65328,XK_Kanji_Bangou:65335,XK_Zen_Koho:65341,XK_Mae_Koho:65342,XK_Home:65360,XK_Left:65361,XK_Up:65362,XK_Right:65363,XK_Down:65364,XK_Prior:65365,XK_Page_Up:65365,XK_Next:65366,XK_Page_Down:65366,XK_End:65367,XK_Begin:65368,XK_Select:65376,XK_Print:65377,XK_Execute:65378,XK_Insert:65379,XK_Undo:65381,XK_Redo:65382,XK_Menu:65383,XK_Find:65384,XK_Cancel:65385,XK_Help:65386,XK_Break:65387,XK_Mode_switch:65406,XK_script_switch:65406,XK_Num_Lock:65407,XK_KP_Space:65408,XK_KP_Tab:65417,XK_KP_Enter:65421,XK_KP_F1:65425,XK_KP_F2:65426,XK_KP_F3:65427,XK_KP_F4:65428,XK_KP_Home:65429,XK_KP_Left:65430,XK_KP_Up:65431,XK_KP_Right:65432,XK_KP_Down:65433,XK_KP_Prior:65434,XK_KP_Page_Up:65434,XK_KP_Next:65435,XK_KP_Page_Down:65435,XK_KP_End:65436,XK_KP_Begin:65437,XK_KP_Insert:65438,XK_KP_Delete:65439,XK_KP_Equal:65469,XK_KP_Multiply:65450,XK_KP_Add:65451,XK_KP_Separator:65452,XK_KP_Subtract:65453,XK_KP_Decimal:65454,XK_KP_Divide:65455,XK_KP_0:65456,XK_KP_1:65457,XK_KP_2:65458,XK_KP_3:65459,XK_KP_4:65460,XK_KP_5:65461,XK_KP_6:65462,XK_KP_7:65463,XK_KP_8:65464,XK_KP_9:65465,XK_F1:65470,XK_F2:65471,XK_F3:65472,XK_F4:65473,XK_F5:65474,XK_F6:65475,XK_F7:65476,XK_F8:65477,XK_F9:65478,XK_F10:65479,XK_F11:65480,XK_L1:65480,XK_F12:65481,XK_L2:65481,XK_F13:65482,XK_L3:65482,XK_F14:65483,XK_L4:65483,XK_F15:65484,XK_L5:65484,XK_F16:65485,XK_L6:65485,XK_F17:65486,XK_L7:65486,XK_F18:65487,XK_L8:65487,XK_F19:65488,XK_L9:65488,XK_F20:65489,XK_L10:65489,XK_F21:65490,XK_R1:65490,XK_F22:65491,XK_R2:65491,XK_F23:65492,XK_R3:65492,XK_F24:65493,XK_R4:65493,XK_F25:65494,XK_R5:65494,XK_F26:65495,XK_R6:65495,XK_F27:65496,XK_R7:65496,XK_F28:65497,XK_R8:65497,XK_F29:65498,XK_R9:65498,XK_F30:65499,XK_R10:65499,XK_F31:65500,XK_R11:65500,XK_F32:65501,XK_R12:65501,XK_F33:65502,XK_R13:65502,XK_F34:65503,XK_R14:65503,XK_F35:65504,XK_R15:65504,XK_Shift_L:65505,XK_Shift_R:65506,XK_Control_L:65507,XK_Control_R:65508,XK_Caps_Lock:65509,XK_Shift_Lock:65510,XK_Meta_L:65511,XK_Meta_R:65512,XK_Alt_L:65513,XK_Alt_R:65514,XK_Super_L:65515,XK_Super_R:65516,XK_Hyper_L:65517,XK_Hyper_R:65518,XK_ISO_Level3_Shift:65027,XK_ISO_Next_Group:65032,XK_ISO_Prev_Group:65034,XK_ISO_First_Group:65036,XK_ISO_Last_Group:65038,XK_space:32,XK_exclam:33,XK_quotedbl:34,XK_numbersign:35,XK_dollar:36,XK_percent:37,XK_ampersand:38,XK_apostrophe:39,XK_quoteright:39,XK_parenleft:40,XK_parenright:41,XK_asterisk:42,XK_plus:43,XK_comma:44,XK_minus:45,XK_period:46,XK_slash:47,XK_0:48,XK_1:49,XK_2:50,XK_3:51,XK_4:52,XK_5:53,XK_6:54,XK_7:55,XK_8:56,XK_9:57,XK_colon:58,XK_semicolon:59,XK_less:60,XK_equal:61,XK_greater:62,XK_question:63,XK_at:64,XK_A:65,XK_B:66,XK_C:67,XK_D:68,XK_E:69,XK_F:70,XK_G:71,XK_H:72,XK_I:73,XK_J:74,XK_K:75,XK_L:76,XK_M:77,XK_N:78,XK_O:79,XK_P:80,XK_Q:81,XK_R:82,XK_S:83,XK_T:84,XK_U:85,XK_V:86,XK_W:87,XK_X:88,XK_Y:89,XK_Z:90,XK_bracketleft:91,XK_backslash:92,XK_bracketright:93,XK_asciicircum:94,XK_underscore:95,XK_grave:96,XK_quoteleft:96,XK_a:97,XK_b:98,XK_c:99,XK_d:100,XK_e:101,XK_f:102,XK_g:103,XK_h:104,XK_i:105,XK_j:106,XK_k:107,XK_l:108,XK_m:109,XK_n:110,XK_o:111,XK_p:112,XK_q:113,XK_r:114,XK_s:115,XK_t:116,XK_u:117,XK_v:118,XK_w:119,XK_x:120,XK_y:121,XK_z:122,XK_braceleft:123,XK_bar:124,XK_braceright:125,XK_asciitilde:126,XK_nobreakspace:160,XK_exclamdown:161,XK_cent:162,XK_sterling:163,XK_currency:164,XK_yen:165,XK_brokenbar:166,XK_section:167,XK_diaeresis:168,XK_copyright:169,XK_ordfeminine:170,XK_guillemotleft:171,XK_notsign:172,XK_hyphen:173,XK_registered:174,XK_macron:175,XK_degree:176,XK_plusminus:177,XK_twosuperior:178,XK_threesuperior:179,XK_acute:180,XK_mu:181,XK_paragraph:182,XK_periodcentered:183,XK_cedilla:184,XK_onesuperior:185,XK_masculine:186,XK_guillemotright:187,XK_onequarter:188,XK_onehalf:189,XK_threequarters:190,XK_questiondown:191,XK_Agrave:192,XK_Aacute:193,XK_Acircumflex:194,XK_Atilde:195,XK_Adiaeresis:196,XK_Aring:197,XK_AE:198,XK_Ccedilla:199,XK_Egrave:200,XK_Eacute:201,XK_Ecircumflex:202,XK_Ediaeresis:203,XK_Igrave:204,XK_Iacute:205,XK_Icircumflex:206,XK_Idiaeresis:207,XK_ETH:208,XK_Eth:208,XK_Ntilde:209,XK_Ograve:210,XK_Oacute:211,XK_Ocircumflex:212,XK_Otilde:213,XK_Odiaeresis:214,XK_multiply:215,XK_Oslash:216,XK_Ooblique:216,XK_Ugrave:217,XK_Uacute:218,XK_Ucircumflex:219,XK_Udiaeresis:220,XK_Yacute:221,XK_THORN:222,XK_Thorn:222,XK_ssharp:223,XK_agrave:224,XK_aacute:225,XK_acircumflex:226,XK_atilde:227,XK_adiaeresis:228,XK_aring:229,XK_ae:230,XK_ccedilla:231,XK_egrave:232,XK_eacute:233,XK_ecircumflex:234,XK_ediaeresis:235,XK_igrave:236,XK_iacute:237,XK_icircumflex:238,XK_idiaeresis:239,XK_eth:240,XK_ntilde:241,XK_ograve:242,XK_oacute:243,XK_ocircumflex:244,XK_otilde:245,XK_odiaeresis:246,XK_division:247,XK_oslash:248,XK_ooblique:248,XK_ugrave:249,XK_uacute:250,XK_ucircumflex:251,XK_udiaeresis:252,XK_yacute:253,XK_thorn:254,XK_ydiaeresis:255,XK_Hangul:65329,XK_Hangul_Hanja:65332,XK_Hangul_Jeonja:65336,XF86XK_ModeLock:269025025,XF86XK_MonBrightnessUp:269025026,XF86XK_MonBrightnessDown:269025027,XF86XK_KbdLightOnOff:269025028,XF86XK_KbdBrightnessUp:269025029,XF86XK_KbdBrightnessDown:269025030,XF86XK_Standby:269025040,XF86XK_AudioLowerVolume:269025041,XF86XK_AudioMute:269025042,XF86XK_AudioRaiseVolume:269025043,XF86XK_AudioPlay:269025044,XF86XK_AudioStop:269025045,XF86XK_AudioPrev:269025046,XF86XK_AudioNext:269025047,XF86XK_HomePage:269025048,XF86XK_Mail:269025049,XF86XK_Start:269025050,XF86XK_Search:269025051,XF86XK_AudioRecord:269025052,XF86XK_Calculator:269025053,XF86XK_Memo:269025054,XF86XK_ToDoList:269025055,XF86XK_Calendar:269025056,XF86XK_PowerDown:269025057,XF86XK_ContrastAdjust:269025058,XF86XK_RockerUp:269025059,XF86XK_RockerDown:269025060,XF86XK_RockerEnter:269025061,XF86XK_Back:269025062,XF86XK_Forward:269025063,XF86XK_Stop:269025064,XF86XK_Refresh:269025065,XF86XK_PowerOff:269025066,XF86XK_WakeUp:269025067,XF86XK_Eject:269025068,XF86XK_ScreenSaver:269025069,XF86XK_WWW:269025070,XF86XK_Sleep:269025071,XF86XK_Favorites:269025072,XF86XK_AudioPause:269025073,XF86XK_AudioMedia:269025074,XF86XK_MyComputer:269025075,XF86XK_VendorHome:269025076,XF86XK_LightBulb:269025077,XF86XK_Shop:269025078,XF86XK_History:269025079,XF86XK_OpenURL:269025080,XF86XK_AddFavorite:269025081,XF86XK_HotLinks:269025082,XF86XK_BrightnessAdjust:269025083,XF86XK_Finance:269025084,XF86XK_Community:269025085,XF86XK_AudioRewind:269025086,XF86XK_BackForward:269025087,XF86XK_Launch0:269025088,XF86XK_Launch1:269025089,XF86XK_Launch2:269025090,XF86XK_Launch3:269025091,XF86XK_Launch4:269025092,XF86XK_Launch5:269025093,XF86XK_Launch6:269025094,XF86XK_Launch7:269025095,XF86XK_Launch8:269025096,XF86XK_Launch9:269025097,XF86XK_LaunchA:269025098,XF86XK_LaunchB:269025099,XF86XK_LaunchC:269025100,XF86XK_LaunchD:269025101,XF86XK_LaunchE:269025102,XF86XK_LaunchF:269025103,XF86XK_ApplicationLeft:269025104,XF86XK_ApplicationRight:269025105,XF86XK_Book:269025106,XF86XK_CD:269025107,XF86XK_Calculater:269025108,XF86XK_Clear:269025109,XF86XK_Close:269025110,XF86XK_Copy:269025111,XF86XK_Cut:269025112,XF86XK_Display:269025113,XF86XK_DOS:269025114,XF86XK_Documents:269025115,XF86XK_Excel:269025116,XF86XK_Explorer:269025117,XF86XK_Game:269025118,XF86XK_Go:269025119,XF86XK_iTouch:269025120,XF86XK_LogOff:269025121,XF86XK_Market:269025122,XF86XK_Meeting:269025123,XF86XK_MenuKB:269025125,XF86XK_MenuPB:269025126,XF86XK_MySites:269025127,XF86XK_New:269025128,XF86XK_News:269025129,XF86XK_OfficeHome:269025130,XF86XK_Open:269025131,XF86XK_Option:269025132,XF86XK_Paste:269025133,XF86XK_Phone:269025134,XF86XK_Q:269025136,XF86XK_Reply:269025138,XF86XK_Reload:269025139,XF86XK_RotateWindows:269025140,XF86XK_RotationPB:269025141,XF86XK_RotationKB:269025142,XF86XK_Save:269025143,XF86XK_ScrollUp:269025144,XF86XK_ScrollDown:269025145,XF86XK_ScrollClick:269025146,XF86XK_Send:269025147,XF86XK_Spell:269025148,XF86XK_SplitScreen:269025149,XF86XK_Support:269025150,XF86XK_TaskPane:269025151,XF86XK_Terminal:269025152,XF86XK_Tools:269025153,XF86XK_Travel:269025154,XF86XK_UserPB:269025156,XF86XK_User1KB:269025157,XF86XK_User2KB:269025158,XF86XK_Video:269025159,XF86XK_WheelButton:269025160,XF86XK_Word:269025161,XF86XK_Xfer:269025162,XF86XK_ZoomIn:269025163,XF86XK_ZoomOut:269025164,XF86XK_Away:269025165,XF86XK_Messenger:269025166,XF86XK_WebCam:269025167,XF86XK_MailForward:269025168,XF86XK_Pictures:269025169,XF86XK_Music:269025170,XF86XK_Battery:269025171,XF86XK_Bluetooth:269025172,XF86XK_WLAN:269025173,XF86XK_UWB:269025174,XF86XK_AudioForward:269025175,XF86XK_AudioRepeat:269025176,XF86XK_AudioRandomPlay:269025177,XF86XK_Subtitle:269025178,XF86XK_AudioCycleTrack:269025179,XF86XK_CycleAngle:269025180,XF86XK_FrameBack:269025181,XF86XK_FrameForward:269025182,XF86XK_Time:269025183,XF86XK_Select:269025184,XF86XK_View:269025185,XF86XK_TopMenu:269025186,XF86XK_Red:269025187,XF86XK_Green:269025188,XF86XK_Yellow:269025189,XF86XK_Blue:269025190,XF86XK_Suspend:269025191,XF86XK_Hibernate:269025192,XF86XK_TouchpadToggle:269025193,XF86XK_TouchpadOn:269025200,XF86XK_TouchpadOff:269025201,XF86XK_AudioMicMute:269025202,XF86XK_Switch_VT_1:269024769,XF86XK_Switch_VT_2:269024770,XF86XK_Switch_VT_3:269024771,XF86XK_Switch_VT_4:269024772,XF86XK_Switch_VT_5:269024773,XF86XK_Switch_VT_6:269024774,XF86XK_Switch_VT_7:269024775,XF86XK_Switch_VT_8:269024776,XF86XK_Switch_VT_9:269024777,XF86XK_Switch_VT_10:269024778,XF86XK_Switch_VT_11:269024779,XF86XK_Switch_VT_12:269024780,XF86XK_Ungrab:269024800,XF86XK_ClearGrab:269024801,XF86XK_Next_VMode:269024802,XF86XK_Prev_VMode:269024803,XF86XK_LogWindowTree:269024804,XF86XK_LogGrabInfo:269024805}},89648:function(e,t){"use strict";const s={256:960,257:992,258:451,259:483,260:417,261:433,262:454,263:486,264:710,265:742,266:709,267:741,268:456,269:488,270:463,271:495,272:464,273:496,274:938,275:954,278:972,279:1004,280:458,281:490,282:460,283:492,284:728,285:760,286:683,287:699,288:725,289:757,290:939,291:955,292:678,293:694,294:673,295:689,296:933,297:949,298:975,299:1007,302:967,303:999,304:681,305:697,308:684,309:700,310:979,311:1011,312:930,313:453,314:485,315:934,316:950,317:421,318:437,321:419,322:435,323:465,324:497,325:977,326:1009,327:466,328:498,330:957,331:959,332:978,333:1010,336:469,337:501,338:5052,339:5053,340:448,341:480,342:931,343:947,344:472,345:504,346:422,347:438,348:734,349:766,350:426,351:442,352:425,353:441,354:478,355:510,356:427,357:443,358:940,359:956,360:989,361:1021,362:990,363:1022,364:733,365:765,366:473,367:505,368:475,369:507,370:985,371:1017,376:5054,377:428,378:444,379:431,380:447,381:430,382:446,402:2294,466:16777681,711:439,728:418,729:511,731:434,733:445,901:1966,902:1953,904:1954,905:1955,906:1956,908:1959,910:1960,911:1963,912:1974,913:1985,914:1986,915:1987,916:1988,917:1989,918:1990,919:1991,920:1992,921:1993,922:1994,923:1995,924:1996,925:1997,926:1998,927:1999,928:2e3,929:2001,931:2002,932:2004,933:2005,934:2006,935:2007,936:2008,937:2009,938:1957,939:1961,940:1969,941:1970,942:1971,943:1972,944:1978,945:2017,946:2018,947:2019,948:2020,949:2021,950:2022,951:2023,952:2024,953:2025,954:2026,955:2027,956:2028,957:2029,958:2030,959:2031,960:2032,961:2033,962:2035,963:2034,964:2036,965:2037,966:2038,967:2039,968:2040,969:2041,970:1973,971:1977,972:1975,973:1976,974:1979,1025:1715,1026:1713,1027:1714,1028:1716,1029:1717,1030:1718,1031:1719,1032:1720,1033:1721,1034:1722,1035:1723,1036:1724,1038:1726,1039:1727,1040:1761,1041:1762,1042:1783,1043:1767,1044:1764,1045:1765,1046:1782,1047:1786,1048:1769,1049:1770,1050:1771,1051:1772,1052:1773,1053:1774,1054:1775,1055:1776,1056:1778,1057:1779,1058:1780,1059:1781,1060:1766,1061:1768,1062:1763,1063:1790,1064:1787,1065:1789,1066:1791,1067:1785,1068:1784,1069:1788,1070:1760,1071:1777,1072:1729,1073:1730,1074:1751,1075:1735,1076:1732,1077:1733,1078:1750,1079:1754,1080:1737,1081:1738,1082:1739,1083:1740,1084:1741,1085:1742,1086:1743,1087:1744,1088:1746,1089:1747,1090:1748,1091:1749,1092:1734,1093:1736,1094:1731,1095:1758,1096:1755,1097:1757,1098:1759,1099:1753,1100:1752,1101:1756,1102:1728,1103:1745,1105:1699,1106:1697,1107:1698,1108:1700,1109:1701,1110:1702,1111:1703,1112:1704,1113:1705,1114:1706,1115:1707,1116:1708,1118:1710,1119:1711,1168:1725,1169:1709,1488:3296,1489:3297,1490:3298,1491:3299,1492:3300,1493:3301,1494:3302,1495:3303,1496:3304,1497:3305,1498:3306,1499:3307,1500:3308,1501:3309,1502:3310,1503:3311,1504:3312,1505:3313,1506:3314,1507:3315,1508:3316,1509:3317,1510:3318,1511:3319,1512:3320,1513:3321,1514:3322,1548:1452,1563:1467,1567:1471,1569:1473,1570:1474,1571:1475,1572:1476,1573:1477,1574:1478,1575:1479,1576:1480,1577:1481,1578:1482,1579:1483,1580:1484,1581:1485,1582:1486,1583:1487,1584:1488,1585:1489,1586:1490,1587:1491,1588:1492,1589:1493,1590:1494,1591:1495,1592:1496,1593:1497,1594:1498,1600:1504,1601:1505,1602:1506,1603:1507,1604:1508,1605:1509,1606:1510,1607:1511,1608:1512,1609:1513,1610:1514,1611:1515,1612:1516,1613:1517,1614:1518,1615:1519,1616:1520,1617:1521,1618:1522,3585:3489,3586:3490,3587:3491,3588:3492,3589:3493,3590:3494,3591:3495,3592:3496,3593:3497,3594:3498,3595:3499,3596:3500,3597:3501,3598:3502,3599:3503,3600:3504,3601:3505,3602:3506,3603:3507,3604:3508,3605:3509,3606:3510,3607:3511,3608:3512,3609:3513,3610:3514,3611:3515,3612:3516,3613:3517,3614:3518,3615:3519,3616:3520,3617:3521,3618:3522,3619:3523,3620:3524,3621:3525,3622:3526,3623:3527,3624:3528,3625:3529,3626:3530,3627:3531,3628:3532,3629:3533,3630:3534,3631:3535,3632:3536,3633:3537,3634:3538,3635:3539,3636:3540,3637:3541,3638:3542,3639:3543,3640:3544,3641:3545,3642:3546,3647:3551,3648:3552,3649:3553,3650:3554,3651:3555,3652:3556,3653:3557,3654:3558,3655:3559,3656:3560,3657:3561,3658:3562,3659:3563,3660:3564,3661:3565,3664:3568,3665:3569,3666:3570,3667:3571,3668:3572,3669:3573,3670:3574,3671:3575,3672:3576,3673:3577,8194:2722,8195:2721,8196:2723,8197:2724,8199:2725,8200:2726,8201:2727,8202:2728,8210:2747,8211:2730,8212:2729,8213:1967,8215:3295,8216:2768,8217:2769,8218:2813,8220:2770,8221:2771,8222:2814,8224:2801,8225:2802,8226:2790,8229:2735,8230:2734,8240:2773,8242:2774,8243:2775,8248:2812,8254:1150,8361:3839,8364:8364,8453:2744,8470:1712,8471:2811,8478:2772,8482:2761,8531:2736,8532:2737,8533:2738,8534:2739,8535:2740,8536:2741,8537:2742,8538:2743,8539:2755,8540:2756,8541:2757,8542:2758,8592:2299,8593:2300,8594:2301,8595:2302,8658:2254,8660:2253,8706:2287,8711:2245,8728:3018,8730:2262,8733:2241,8734:2242,8743:2270,8744:2271,8745:2268,8746:2269,8747:2239,8756:2240,8764:2248,8771:2249,8773:16785992,8800:2237,8801:2255,8804:2236,8805:2238,8834:2266,8835:2267,8866:3068,8867:3036,8868:3010,8869:3022,8968:3027,8970:3012,8981:2810,8992:2212,8993:2213,9109:3020,9115:2219,9117:2220,9118:2221,9120:2222,9121:2215,9123:2216,9124:2217,9126:2218,9128:2223,9132:2224,9143:2209,9146:2543,9147:2544,9148:2546,9149:2547,9225:2530,9226:2533,9227:2537,9228:2531,9229:2532,9251:2732,9252:2536,9472:2211,9474:2214,9484:2210,9488:2539,9492:2541,9496:2538,9500:2548,9508:2549,9516:2551,9524:2550,9532:2542,9618:2529,9642:2791,9643:2785,9644:2779,9645:2786,9646:2783,9647:2767,9650:2792,9651:2787,9654:2781,9655:2765,9660:2793,9661:2788,9664:2780,9665:2764,9670:2528,9675:2766,9679:2782,9702:2784,9734:2789,9742:2809,9747:2762,9756:2794,9758:2795,9792:2808,9794:2807,9827:2796,9829:2798,9830:2797,9837:2806,9839:2805,10003:2803,10007:2804,10013:2777,10016:2800,10216:2748,10217:2750,12289:1188,12290:1185,12300:1186,12301:1187,12443:1246,12444:1247,12449:1191,12450:1201,12451:1192,12452:1202,12453:1193,12454:1203,12455:1194,12456:1204,12457:1195,12458:1205,12459:1206,12461:1207,12463:1208,12465:1209,12467:1210,12469:1211,12471:1212,12473:1213,12475:1214,12477:1215,12479:1216,12481:1217,12483:1199,12484:1218,12486:1219,12488:1220,12490:1221,12491:1222,12492:1223,12493:1224,12494:1225,12495:1226,12498:1227,12501:1228,12504:1229,12507:1230,12510:1231,12511:1232,12512:1233,12513:1234,12514:1235,12515:1196,12516:1236,12517:1197,12518:1237,12519:1198,12520:1238,12521:1239,12522:1240,12523:1241,12524:1242,12525:1243,12527:1244,12530:1190,12531:1245,12539:1189,12540:1200};t.A={lookup(e){if(e>=32&&e<=255)return e;const t=s[e];return void 0!==t?t:16777216|e}}},22885:function(e,t,s){"use strict";s.a(e,async function(e,i){try{s.d(t,{Hn:function(){return p},lv:function(){return d}});var n=s(25931),r=s(89648),a=s(97115),o=s(56459),h=s(95248),l=s(8155),_=e([l]),c=_.then?(await _)():_;function d(e){if(e.code){switch(e.code){case"OSLeft":return"MetaLeft";case"OSRight":return"MetaRight"}return e.code}if(e.keyCode in a.A){let t=a.A[e.keyCode];if(l.cX()&&"ContextMenu"===t&&(t="MetaRight"),2===e.location)switch(t){case"ShiftLeft":return"ShiftRight";case"ControlLeft":return"ControlRight";case"AltLeft":return"AltRight"}if(3===e.location)switch(t){case"Delete":return"NumpadDecimal";case"Insert":return"Numpad0";case"End":return"Numpad1";case"ArrowDown":return"Numpad2";case"PageDown":return"Numpad3";case"ArrowLeft":return"Numpad4";case"ArrowRight":return"Numpad6";case"Home":return"Numpad7";case"ArrowUp":return"Numpad8";case"PageUp":return"Numpad9";case"Enter":return"NumpadEnter"}return t}return"Unidentified"}function f(e){if(void 0!==e.key&&"Unidentified"!==e.key){switch(e.key){case"OS":return"Meta";case"LaunchMyComputer":return"LaunchApplication1";case"LaunchCalculator":return"LaunchApplication2"}switch(e.key){case"UIKeyInputUpArrow":return"ArrowUp";case"UIKeyInputDownArrow":return"ArrowDown";case"UIKeyInputLeftArrow":return"ArrowLeft";case"UIKeyInputRightArrow":return"ArrowRight";case"UIKeyInputEscape":return"Escape"}return"\0"===e.key&&"NumpadDecimal"===e.code?"Delete":e.key}const t=d(e);return t in o.A?o.A[t]:e.charCode?String.fromCharCode(e.charCode):"Unidentified"}function p(e){const t=f(e);if("Unidentified"===t)return null;if(t in h.A){let s=e.location;if("Meta"===t&&0===s&&(s=2),"Clear"===t&&3===s){let t=d(e);"NumLock"===t&&(s=0)}if((void 0===s||s>3)&&(s=0),"Meta"===t){let t=d(e);if("AltLeft"===t)return n.A.XK_Meta_L;if("AltRight"===t)return n.A.XK_Meta_R}if("Clear"===t){let t=d(e);if("NumLock"===t)return n.A.XK_Num_Lock}if(l.uF())switch(t){case"Zenkaku":case"Hankaku":return n.A.XK_Zenkaku_Hankaku;case"Romaji":case"KanaMode":return n.A.XK_Romaji}return h.A[t][s]}if(1!==t.length)return null;const s=t.charCodeAt();return s?r.A.lookup(s):null}l=c[0],i()}catch(u){i(u)}})},97115:function(e,t){"use strict";t.A={8:"Backspace",9:"Tab",10:"NumpadClear",13:"Enter",16:"ShiftLeft",17:"ControlLeft",18:"AltLeft",19:"Pause",20:"CapsLock",21:"Lang1",25:"Lang2",27:"Escape",28:"Convert",29:"NonConvert",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",41:"Select",44:"PrintScreen",45:"Insert",46:"Delete",47:"Help",48:"Digit0",49:"Digit1",50:"Digit2",51:"Digit3",52:"Digit4",53:"Digit5",54:"Digit6",55:"Digit7",56:"Digit8",57:"Digit9",91:"MetaLeft",92:"MetaRight",93:"ContextMenu",95:"Sleep",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9",106:"NumpadMultiply",107:"NumpadAdd",108:"NumpadDecimal",109:"NumpadSubtract",110:"NumpadDecimal",111:"NumpadDivide",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",124:"F13",125:"F14",126:"F15",127:"F16",128:"F17",129:"F18",130:"F19",131:"F20",132:"F21",133:"F22",134:"F23",135:"F24",144:"NumLock",145:"ScrollLock",166:"BrowserBack",167:"BrowserForward",168:"BrowserRefresh",169:"BrowserStop",170:"BrowserSearch",171:"BrowserFavorites",172:"BrowserHome",173:"AudioVolumeMute",174:"AudioVolumeDown",175:"AudioVolumeUp",176:"MediaTrackNext",177:"MediaTrackPrevious",178:"MediaStop",179:"MediaPlayPause",180:"LaunchMail",181:"MediaSelect",182:"LaunchApp1",183:"LaunchApp2",225:"AltRight"}},6124:function(e,t){"use strict";t.A={Again:57349,AltLeft:56,AltRight:57400,ArrowDown:57424,ArrowLeft:57419,ArrowRight:57421,ArrowUp:57416,AudioVolumeDown:57390,AudioVolumeMute:57376,AudioVolumeUp:57392,Backquote:41,Backslash:43,Backspace:14,BracketLeft:26,BracketRight:27,BrowserBack:57450,BrowserFavorites:57446,BrowserForward:57449,BrowserHome:57394,BrowserRefresh:57447,BrowserSearch:57445,BrowserStop:57448,CapsLock:58,Comma:51,ContextMenu:57437,ControlLeft:29,ControlRight:57373,Convert:121,Copy:57464,Cut:57404,Delete:57427,Digit0:11,Digit1:2,Digit2:3,Digit3:4,Digit4:5,Digit5:6,Digit6:7,Digit7:8,Digit8:9,Digit9:10,Eject:57469,End:57423,Enter:28,Equal:13,Escape:1,F1:59,F10:68,F11:87,F12:88,F13:93,F14:94,F15:95,F16:85,F17:57347,F18:57463,F19:57348,F2:60,F20:90,F21:116,F22:57465,F23:109,F24:111,F3:61,F4:62,F5:63,F6:64,F7:65,F8:66,F9:67,Find:57409,Help:57461,Hiragana:119,Home:57415,Insert:57426,IntlBackslash:86,IntlRo:115,IntlYen:125,KanaMode:112,Katakana:120,KeyA:30,KeyB:48,KeyC:46,KeyD:32,KeyE:18,KeyF:33,KeyG:34,KeyH:35,KeyI:23,KeyJ:36,KeyK:37,KeyL:38,KeyM:50,KeyN:49,KeyO:24,KeyP:25,KeyQ:16,KeyR:19,KeyS:31,KeyT:20,KeyU:22,KeyV:47,KeyW:17,KeyX:45,KeyY:21,KeyZ:44,Lang1:114,Lang2:113,Lang3:120,Lang4:119,Lang5:118,LaunchApp1:57451,LaunchApp2:57377,LaunchMail:57452,MediaPlayPause:57378,MediaSelect:57453,MediaStop:57380,MediaTrackNext:57369,MediaTrackPrevious:57360,MetaLeft:57435,MetaRight:57436,Minus:12,NonConvert:123,NumLock:69,Numpad0:82,Numpad1:79,Numpad2:80,Numpad3:81,Numpad4:75,Numpad5:76,Numpad6:77,Numpad7:71,Numpad8:72,Numpad9:73,NumpadAdd:78,NumpadComma:126,NumpadDecimal:83,NumpadDivide:57397,NumpadEnter:57372,NumpadEqual:89,NumpadMultiply:55,NumpadParenLeft:57462,NumpadParenRight:57467,NumpadSubtract:74,Open:100,PageDown:57425,PageUp:57417,Paste:101,Pause:57414,Period:52,Power:57438,PrintScreen:84,Props:57350,Quote:40,ScrollLock:70,Semicolon:39,ShiftLeft:42,ShiftRight:54,Slash:53,Sleep:57439,Space:57,Suspend:57381,Tab:15,Undo:57351,WakeUp:57443}},60303:function(e,t,s){"use strict";s.d(t,{A:function(){return o}});var i=s(90733),n=s(70382),r=s(8099);class a{constructor(){this._cipher=null,this._counter=new Uint8Array(16)}async setKey(e){this._cipher=await r.A.importKey("raw",e,{name:"AES-EAX"},!1,["encrypt, decrypt"])}async makeMessage(e){const t=new Uint8Array([(65280&e.length)>>>8,255&e.length]),s=await r.A.encrypt({name:"AES-EAX",iv:this._counter,additionalData:t},this._cipher,e);for(let n=0;n<16&&255===this._counter[n]++;n++);const i=new Uint8Array(e.length+2+16);return i.set(t),i.set(s,2),i}async receiveMessage(e,t){const s=new Uint8Array([(65280&e)>>>8,255&e]),i=await r.A.decrypt({name:"AES-EAX",iv:this._counter,additionalData:s},this._cipher,t);for(let n=0;n<16&&255===this._counter[n]++;n++);return i}}class o extends n.A{constructor(e,t){super(),this._hasStarted=!1,this._checkSock=null,this._checkCredentials=null,this._approveServerResolve=null,this._sockReject=null,this._credentialsReject=null,this._approveServerReject=null,this._sock=e,this._getCredentials=t}_waitSockAsync(e){return new Promise((t,s)=>{const i=()=>!this._sock.rQwait("RA2",e);i()?t():(this._checkSock=()=>{i()&&(t(),this._checkSock=null,this._sockReject=null)},this._sockReject=s)})}_waitApproveKeyAsync(){return new Promise((e,t)=>{this._approveServerResolve=e,this._approveServerReject=t})}_waitCredentialsAsync(e){const t=()=>1===e&&void 0!==this._getCredentials().username&&void 0!==this._getCredentials().password||2===e&&void 0!==this._getCredentials().password;return new Promise((e,s)=>{t()?e():(this._checkCredentials=()=>{t()&&(e(),this._checkCredentials=null,this._credentialsReject=null)},this._credentialsReject=s)})}checkInternalEvents(){null!==this._checkSock&&this._checkSock(),null!==this._checkCredentials&&this._checkCredentials()}approveServer(){null!==this._approveServerResolve&&(this._approveServerResolve(),this._approveServerResolve=null)}disconnect(){null!==this._sockReject&&(this._sockReject(new Error("disconnect normally")),this._sockReject=null),null!==this._credentialsReject&&(this._credentialsReject(new Error("disconnect normally")),this._credentialsReject=null),null!==this._approveServerReject&&(this._approveServerReject(new Error("disconnect normally")),this._approveServerReject=null)}async negotiateRA2neAuthAsync(){this._hasStarted=!0,await this._waitSockAsync(4);const e=this._sock.rQpeekBytes(4),t=this._sock.rQshift32();if(t<1024)throw new Error("RA2: server public key is too short: "+t);if(t>8192)throw new Error("RA2: server public key is too long: "+t);const s=Math.ceil(t/8);await this._waitSockAsync(2*s);const n=this._sock.rQshiftBytes(s),o=this._sock.rQshiftBytes(s),h=await r.A.importKey("raw",{n:n,e:o},{name:"RSA-PKCS1-v1_5"},!1,["encrypt"]),l=new Uint8Array(4+2*s);l.set(e),l.set(n,4),l.set(o,4+s);let _=this._waitApproveKeyAsync();this.dispatchEvent(new CustomEvent("serververification",{detail:{type:"RSA",publickey:l}})),await _;const c=2048,u=Math.ceil(c/8),d=(await r.A.generateKey({name:"RSA-PKCS1-v1_5",modulusLength:c,publicExponent:new Uint8Array([1,0,1])},!0,["encrypt"])).privateKey,f=await r.A.exportKey("raw",d),p=f.n,g=f.e,w=new Uint8Array(4+2*u);w[0]=(4278190080&c)>>>24,w[1]=(16711680&c)>>>16,w[2]=(65280&c)>>>8,w[3]=255&c,w.set(p,4),w.set(g,4+u),this._sock.sQpushBytes(w),this._sock.flush();const m=new Uint8Array(16);window.crypto.getRandomValues(m);const y=await r.A.encrypt({name:"RSA-PKCS1-v1_5"},h,m),v=new Uint8Array(2+s);if(v[0]=(65280&s)>>>8,v[1]=255&s,v.set(y,2),this._sock.sQpushBytes(v),this._sock.flush(),await this._waitSockAsync(2),this._sock.rQshift16()!==u)throw new Error("RA2: wrong encrypted message length");const b=this._sock.rQshiftBytes(u),k=await r.A.decrypt({name:"RSA-PKCS1-v1_5"},d,b);if(null===k||16!==k.length)throw new Error("RA2: corrupted server encrypted random");let X=new Uint8Array(32),K=new Uint8Array(32);X.set(k),X.set(m,16),K.set(m),K.set(k,16),X=await window.crypto.subtle.digest("SHA-1",X),X=new Uint8Array(X).slice(0,16),K=await window.crypto.subtle.digest("SHA-1",K),K=new Uint8Array(K).slice(0,16);const A=new a;await A.setKey(X);const S=new a;await S.setKey(K);let C=new Uint8Array(8+2*s+2*u),F=new Uint8Array(8+2*s+2*u);if(C.set(l),C.set(w,4+2*s),F.set(w),F.set(l,4+2*u),C=await window.crypto.subtle.digest("SHA-1",C),F=await window.crypto.subtle.digest("SHA-1",F),C=new Uint8Array(C),F=new Uint8Array(F),this._sock.sQpushBytes(await A.makeMessage(F)),this._sock.flush(),await this._waitSockAsync(38),20!==this._sock.rQshift16())throw new Error("RA2: wrong server hash");const E=await S.receiveMessage(20,this._sock.rQshiftBytes(36));if(null===E)throw new Error("RA2: failed to authenticate the message");for(let i=0;i<20;i++)if(E[i]!==C[i])throw new Error("RA2: wrong server hash");if(await this._waitSockAsync(19),1!==this._sock.rQshift16())throw new Error("RA2: wrong subtype");let x=await S.receiveMessage(1,this._sock.rQshiftBytes(17));if(null===x)throw new Error("RA2: failed to authenticate the message");x=x[0];let Q,M=this._waitCredentialsAsync(x);if(1===x)void 0!==this._getCredentials().username&&void 0!==this._getCredentials().password||this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}}));else{if(2!==x)throw new Error("RA2: wrong subtype");void 0===this._getCredentials().password&&this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["password"]}}))}await M,Q=1===x?(0,i.Y)(this._getCredentials().username).slice(0,255):"";const B=(0,i.Y)(this._getCredentials().password).slice(0,255),L=new Uint8Array(Q.length+B.length+2);L[0]=Q.length,L[Q.length+1]=B.length;for(let i=0;i<Q.length;i++)L[i+1]=Q.charCodeAt(i);for(let i=0;i<B.length;i++)L[Q.length+2+i]=B.charCodeAt(i);this._sock.sQpushBytes(await A.makeMessage(L)),this._sock.flush()}get hasStarted(){return this._hasStarted}set hasStarted(e){this._hasStarted=e}}},89840:function(e,t,s){"use strict";s.a(e,async function(e,i){try{s.d(t,{A:function(){return ae}});var n=s(17502),r=s(83782),a=s(90733),o=s(8155),h=s(30395),l=s(44110),_=s(70382),c=s(70036),u=s(92429),d=s(1769),f=s(42648),p=s(14108),g=s(1689),w=s(54636),m=s(25931),y=s(6124),v=s(45876),b=s(60303),k=s(8099),X=s(66624),K=s(35719),A=s(14253),S=s(88487),C=s(54501),F=s(61454),E=s(13875),x=s(79959),Q=s(68226),M=s(73400),B=e([o,f,g]),L=B.then?(await B)():B;o=L[0],f=L[1],g=L[2];const R=3,T="rgb(40, 40, 40)",D=17,P=50,I=19,U=75,z=50,N=1e3,H=50,V=1,O=2,W=6,G=16,Y=19,q=22,j=30,Z=113,J=129,$=256,ee=1,te=1<<24,se=1<<25,ie=1<<26,ne=1<<27,re=1<<28;class ae extends _.A{constructor(e,t,s){if(!e)throw new Error("Must specify target");if(!t)throw new Error("Must specify URL, WebSocket or RTCDataChannel");window.isSecureContext||r.$D("noVNC requires a secure context (TLS). Expect crashes!"),super(),this._target=e,"string"===typeof t?this._url=t:(this._url=null,this._rawChannel=t),s=s||{},this._rfbCredentials=s.credentials||{},this._shared=!("shared"in s)||!!s.shared,this._repeaterID=s.repeaterID||"",this._wsProtocols=s.wsProtocols||[],this._rfbConnectionState="",this._rfbInitState="",this._rfbAuthScheme=-1,this._rfbCleanDisconnect=!0,this._rfbRSAAESAuthenticationState=null,this._rfbVersion=0,this._rfbMaxVersion=3.8,this._rfbTightVNC=!1,this._rfbVeNCryptState=0,this._rfbXvpVer=0,this._fbWidth=0,this._fbHeight=0,this._fbName="",this._capabilities={power:!1},this._supportsFence=!1,this._supportsContinuousUpdates=!1,this._enabledContinuousUpdates=!1,this._supportsSetDesktopSize=!1,this._screenID=0,this._screenFlags=0,this._pendingRemoteResize=!1,this._lastResize=0,this._qemuExtKeyEventSupported=!1,this._extendedPointerEventSupported=!1,this._clipboardText=null,this._clipboardServerCapabilitiesActions={},this._clipboardServerCapabilitiesFormats={},this._sock=null,this._display=null,this._flushing=!1,this._keyboard=null,this._gestures=null,this._resizeObserver=null,this._disconnTimer=null,this._resizeTimeout=null,this._mouseMoveTimer=null,this._decoders={},this._FBU={rects:0,x:0,y:0,width:0,height:0,encoding:null},this._mousePos={},this._mouseButtonMask=0,this._mouseLastMoveTime=0,this._viewportDragging=!1,this._viewportDragPos={},this._viewportHasMoved=!1,this._accumulatedWheelDeltaX=0,this._accumulatedWheelDeltaY=0,this._gestureLastTapTime=null,this._gestureFirstDoubleTapEv=null,this._gestureLastMagnitudeX=0,this._gestureLastMagnitudeY=0,this._eventHandlers={focusCanvas:this._focusCanvas.bind(this),handleResize:this._handleResize.bind(this),handleMouse:this._handleMouse.bind(this),handleWheel:this._handleWheel.bind(this),handleGesture:this._handleGesture.bind(this),handleRSAAESCredentialsRequired:this._handleRSAAESCredentialsRequired.bind(this),handleRSAAESServerVerification:this._handleRSAAESServerVerification.bind(this)},r.y(">> RFB.constructor"),this._screen=document.createElement("div"),this._screen.style.display="flex",this._screen.style.width="100%",this._screen.style.height="100%",this._screen.style.overflow="auto",this._screen.style.background=T,this._canvas=document.createElement("canvas"),this._canvas.style.margin="auto",this._canvas.style.outline="none",this._canvas.width=0,this._canvas.height=0,this._canvas.tabIndex=-1,this._screen.appendChild(this._canvas),this._cursor=new g.A,this._cursorImage=ae.cursors.none,this._decoders[v.d.encodingRaw]=new X.A,this._decoders[v.d.encodingCopyRect]=new K.A,this._decoders[v.d.encodingRRE]=new A.A,this._decoders[v.d.encodingHextile]=new S.A,this._decoders[v.d.encodingZlib]=new C.A,this._decoders[v.d.encodingTight]=new F.A,this._decoders[v.d.encodingTightPNG]=new E.A,this._decoders[v.d.encodingZRLE]=new x.A,this._decoders[v.d.encodingJPEG]=new Q.A,this._decoders[v.d.encodingH264]=new M.Ay;try{this._display=new c.A(this._canvas)}catch(i){throw r.$D("Display exception: "+i),i}this._keyboard=new f.A(this._canvas),this._keyboard.onkeyevent=this._handleKeyEvent.bind(this),this._remoteCapsLock=null,this._remoteNumLock=null,this._gestures=new p.A,this._sock=new w.A,this._sock.on("open",this._socketOpen.bind(this)),this._sock.on("close",this._socketClose.bind(this)),this._sock.on("message",this._handleMessage.bind(this)),this._sock.on("error",this._socketError.bind(this)),this._expectedClientWidth=null,this._expectedClientHeight=null,this._resizeObserver=new ResizeObserver(this._eventHandlers.handleResize),this._updateConnectionState("connecting"),r.y("<< RFB.constructor"),this.dragViewport=!1,this.focusOnClick=!0,this._viewOnly=!1,this._clipViewport=!1,this._clippingViewport=!1,this._scaleViewport=!1,this._resizeSession=!1,this._showDotCursor=!1,this._qualityLevel=6,this._compressionLevel=2}get viewOnly(){return this._viewOnly}set viewOnly(e){this._viewOnly=e,"connecting"!==this._rfbConnectionState&&"connected"!==this._rfbConnectionState||(e?this._keyboard.ungrab():this._keyboard.grab())}get capabilities(){return this._capabilities}get clippingViewport(){return this._clippingViewport}_setClippingViewport(e){e!==this._clippingViewport&&(this._clippingViewport=e,this.dispatchEvent(new CustomEvent("clippingviewport",{detail:this._clippingViewport})))}get touchButton(){return 0}set touchButton(e){r.P$("Using old API!")}get clipViewport(){return this._clipViewport}set clipViewport(e){this._clipViewport=e,this._updateClip()}get scaleViewport(){return this._scaleViewport}set scaleViewport(e){this._scaleViewport=e,e&&this._clipViewport&&this._updateClip(),this._updateScale(),!e&&this._clipViewport&&this._updateClip()}get resizeSession(){return this._resizeSession}set resizeSession(e){this._resizeSession=e,e&&this._requestRemoteResize()}get showDotCursor(){return this._showDotCursor}set showDotCursor(e){this._showDotCursor=e,this._refreshCursor()}get background(){return this._screen.style.background}set background(e){this._screen.style.background=e}get qualityLevel(){return this._qualityLevel}set qualityLevel(e){!Number.isInteger(e)||e<0||e>9?r.$D("qualityLevel must be an integer between 0 and 9"):this._qualityLevel!==e&&(this._qualityLevel=e,"connected"===this._rfbConnectionState&&this._sendEncodings())}get compressionLevel(){return this._compressionLevel}set compressionLevel(e){!Number.isInteger(e)||e<0||e>9?r.$D("compressionLevel must be an integer between 0 and 9"):this._compressionLevel!==e&&(this._compressionLevel=e,"connected"===this._rfbConnectionState&&this._sendEncodings())}disconnect(){this._updateConnectionState("disconnecting"),this._sock.off("error"),this._sock.off("message"),this._sock.off("open"),null!==this._rfbRSAAESAuthenticationState&&this._rfbRSAAESAuthenticationState.disconnect()}approveServer(){null!==this._rfbRSAAESAuthenticationState&&this._rfbRSAAESAuthenticationState.approveServer()}sendCredentials(e){this._rfbCredentials=e,this._resumeAuthentication()}sendCtrlAltDel(){"connected"!==this._rfbConnectionState||this._viewOnly||(r.R2("Sending Ctrl-Alt-Del"),this.sendKey(m.A.XK_Control_L,"ControlLeft",!0),this.sendKey(m.A.XK_Alt_L,"AltLeft",!0),this.sendKey(m.A.XK_Delete,"Delete",!0),this.sendKey(m.A.XK_Delete,"Delete",!1),this.sendKey(m.A.XK_Alt_L,"AltLeft",!1),this.sendKey(m.A.XK_Control_L,"ControlLeft",!1))}machineShutdown(){this._xvpOp(1,2)}machineReboot(){this._xvpOp(1,3)}machineReset(){this._xvpOp(1,4)}sendKey(e,t,s){if("connected"!==this._rfbConnectionState||this._viewOnly)return;if(void 0===s)return this.sendKey(e,t,!0),void this.sendKey(e,t,!1);const i=y.A[t];if(this._qemuExtKeyEventSupported&&i)e=e||0,r.R2("Sending key ("+(s?"down":"up")+"): keysym "+e+", scancode "+i),ae.messages.QEMUExtendedKeyEvent(this._sock,e,s,i);else{if(!e)return;r.R2("Sending keysym ("+(s?"down":"up")+"): "+e),ae.messages.keyEvent(this._sock,e,s?1:0)}}focus(e){this._canvas.focus(e)}blur(){this._canvas.blur()}clipboardPasteFrom(e){if("connected"===this._rfbConnectionState&&!this._viewOnly)if(this._clipboardServerCapabilitiesFormats[ee]&&this._clipboardServerCapabilitiesActions[ne])this._clipboardText=e,ae.messages.extendedClipboardNotify(this._sock,[ee]);else{let t,s,i;t=0;for(let n of e)t++;i=new Uint8Array(t),s=0;for(let n of e){let e=n.codePointAt(0);e>255&&(e=63),i[s++]=e}ae.messages.clientCutText(this._sock,i)}}getImageData(){return this._display.getImageData()}toDataURL(e,t){return this._display.toDataURL(e,t)}toBlob(e,t,s){return this._display.toBlob(e,t,s)}_connect(){if(r.y(">> RFB.connect"),this._url)r.R2(`connecting to ${this._url}`),this._sock.open(this._url,this._wsProtocols);else{if(r.R2(`attaching ${this._rawChannel} to Websock`),this._sock.attach(this._rawChannel),"closed"===this._sock.readyState)throw Error("Cannot use already closed WebSocket/RTCDataChannel");"open"===this._sock.readyState&&this._socketOpen()}this._target.appendChild(this._screen),this._gestures.attach(this._canvas),this._cursor.attach(this._canvas),this._refreshCursor(),this._resizeObserver.observe(this._screen),this._canvas.addEventListener("mousedown",this._eventHandlers.focusCanvas),this._canvas.addEventListener("touchstart",this._eventHandlers.focusCanvas),this._canvas.addEventListener("mousedown",this._eventHandlers.handleMouse),this._canvas.addEventListener("mouseup",this._eventHandlers.handleMouse),this._canvas.addEventListener("mousemove",this._eventHandlers.handleMouse),this._canvas.addEventListener("click",this._eventHandlers.handleMouse),this._canvas.addEventListener("contextmenu",this._eventHandlers.handleMouse),this._canvas.addEventListener("wheel",this._eventHandlers.handleWheel),this._canvas.addEventListener("gesturestart",this._eventHandlers.handleGesture),this._canvas.addEventListener("gesturemove",this._eventHandlers.handleGesture),this._canvas.addEventListener("gestureend",this._eventHandlers.handleGesture),r.y("<< RFB.connect")}_disconnect(){r.y(">> RFB.disconnect"),this._cursor.detach(),this._canvas.removeEventListener("gesturestart",this._eventHandlers.handleGesture),this._canvas.removeEventListener("gesturemove",this._eventHandlers.handleGesture),this._canvas.removeEventListener("gestureend",this._eventHandlers.handleGesture),this._canvas.removeEventListener("wheel",this._eventHandlers.handleWheel),this._canvas.removeEventListener("mousedown",this._eventHandlers.handleMouse),this._canvas.removeEventListener("mouseup",this._eventHandlers.handleMouse),this._canvas.removeEventListener("mousemove",this._eventHandlers.handleMouse),this._canvas.removeEventListener("click",this._eventHandlers.handleMouse),this._canvas.removeEventListener("contextmenu",this._eventHandlers.handleMouse),this._canvas.removeEventListener("mousedown",this._eventHandlers.focusCanvas),this._canvas.removeEventListener("touchstart",this._eventHandlers.focusCanvas),this._resizeObserver.disconnect(),this._keyboard.ungrab(),this._gestures.detach(),this._sock.close();try{this._target.removeChild(this._screen)}catch(e){if("NotFoundError"!==e.name)throw e}clearTimeout(this._resizeTimeout),clearTimeout(this._mouseMoveTimer),r.y("<< RFB.disconnect")}_socketOpen(){"connecting"===this._rfbConnectionState&&""===this._rfbInitState?(this._rfbInitState="ProtocolVersion",r.y("Starting VNC handshake")):this._fail("Unexpected server connection while "+this._rfbConnectionState)}_socketClose(e){r.y("WebSocket on-close event");let t="";switch(e.code&&(t="(code: "+e.code,e.reason&&(t+=", reason: "+e.reason),t+=")"),this._rfbConnectionState){case"connecting":this._fail("Connection closed "+t);break;case"connected":this._updateConnectionState("disconnecting"),this._updateConnectionState("disconnected");break;case"disconnecting":this._updateConnectionState("disconnected");break;case"disconnected":this._fail("Unexpected server disconnect when already disconnected "+t);break;default:this._fail("Unexpected server disconnect before connecting "+t);break}this._sock.off("close"),this._rawChannel=null}_socketError(e){r.P$("WebSocket on-error event")}_focusCanvas(e){this.focusOnClick&&this.focus({preventScroll:!0})}_setDesktopName(e){this._fbName=e,this.dispatchEvent(new CustomEvent("desktopname",{detail:{name:this._fbName}}))}_saveExpectedClientSize(){this._expectedClientWidth=this._screen.clientWidth,this._expectedClientHeight=this._screen.clientHeight}_currentClientSize(){return[this._screen.clientWidth,this._screen.clientHeight]}_clientHasExpectedSize(){const[e,t]=this._currentClientSize();return e==this._expectedClientWidth&&t==this._expectedClientHeight}_handleResize(){this._clientHasExpectedSize()||(window.requestAnimationFrame(()=>{this._updateClip(),this._updateScale(),this._saveExpectedClientSize()}),this._requestRemoteResize())}_updateClip(){const e=this._display.clipViewport;let t=this._clipViewport;if(this._scaleViewport&&(t=!1),e!==t&&(this._display.clipViewport=t),t){const e=this._screenSize();this._display.viewportChangeSize(e.w,e.h),this._fixScrollbars(),this._setClippingViewport(e.w<this._display.width||e.h<this._display.height)}else this._setClippingViewport(!1);e!==t&&this._saveExpectedClientSize()}_updateScale(){if(this._scaleViewport){const e=this._screenSize();this._display.autoscale(e.w,e.h)}else this._display.scale=1;this._fixScrollbars()}_requestRemoteResize(){if(!this._resizeSession)return;if(this._viewOnly)return;if(!this._supportsSetDesktopSize)return;if(this._pendingRemoteResize)return;if(Date.now()-this._lastResize<100)return clearTimeout(this._resizeTimeout),void(this._resizeTimeout=setTimeout(this._requestRemoteResize.bind(this),100-(Date.now()-this._lastResize)));this._resizeTimeout=null;const e=this._screenSize();e.w===this._fbWidth&&e.h===this._fbHeight||(this._pendingRemoteResize=!0,this._lastResize=Date.now(),ae.messages.setDesktopSize(this._sock,Math.floor(e.w),Math.floor(e.h),this._screenID,this._screenFlags),r.y("Requested new desktop size: "+e.w+"x"+e.h))}_screenSize(){let e=this._screen.getBoundingClientRect();return{w:e.width,h:e.height}}_fixScrollbars(){const e=this._screen.style.overflow;this._screen.style.overflow="hidden",this._screen.getBoundingClientRect(),this._screen.style.overflow=e}_updateConnectionState(e){const t=this._rfbConnectionState;if(e!==t)if("disconnected"!==t){switch(e){case"connected":if("connecting"!==t)return void r.$D("Bad transition to connected state, previous connection state: "+t);break;case"disconnected":if("disconnecting"!==t)return void r.$D("Bad transition to disconnected state, previous connection state: "+t);break;case"connecting":if(""!==t)return void r.$D("Bad transition to connecting state, previous connection state: "+t);break;case"disconnecting":if("connected"!==t&&"connecting"!==t)return void r.$D("Bad transition to disconnecting state, previous connection state: "+t);break;default:return void r.$D("Unknown connection state: "+e)}switch(this._rfbConnectionState=e,r.y("New state '"+e+"', was '"+t+"'."),this._disconnTimer&&"disconnecting"!==e&&(r.y("Clearing disconnect timer"),clearTimeout(this._disconnTimer),this._disconnTimer=null,this._sock.off("close")),e){case"connecting":this._connect();break;case"connected":this.dispatchEvent(new CustomEvent("connect",{detail:{}}));break;case"disconnecting":this._disconnect(),this._disconnTimer=setTimeout(()=>{r.$D("Disconnection timed out."),this._updateConnectionState("disconnected")},1e3*R);break;case"disconnected":this.dispatchEvent(new CustomEvent("disconnect",{detail:{clean:this._rfbCleanDisconnect}}));break}}else r.$D("Tried changing state of a disconnected RFB object");else r.y("Already in state '"+e+"', ignoring")}_fail(e){switch(this._rfbConnectionState){case"disconnecting":r.$D("Failed when disconnecting: "+e);break;case"connected":r.$D("Failed while connected: "+e);break;case"connecting":r.$D("Failed when connecting: "+e);break;default:r.$D("RFB failure: "+e);break}return this._rfbCleanDisconnect=!1,this._updateConnectionState("disconnecting"),this._updateConnectionState("disconnected"),!1}_setCapability(e,t){this._capabilities[e]=t,this.dispatchEvent(new CustomEvent("capabilities",{detail:{capabilities:this._capabilities}}))}_handleMessage(){if(this._sock.rQwait("message",1))r.P$("handleMessage called on an empty receive queue");else switch(this._rfbConnectionState){case"disconnected":r.$D("Got data while disconnected");break;case"connected":while(1){if(this._flushing)break;if(!this._normalMsg())break;if(this._sock.rQwait("message",1))break}break;case"connecting":while("connecting"===this._rfbConnectionState)if(!this._initMsg())break;break;default:r.$D("Got data while in an invalid state");break}}_handleKeyEvent(e,t,s,i,n){"CapsLock"==t&&s&&(this._remoteCapsLock=null),null!==this._remoteCapsLock&&null!==n&&this._remoteCapsLock!==n&&s&&(r.y("Fixing remote caps lock"),this.sendKey(m.A.XK_Caps_Lock,"CapsLock",!0),this.sendKey(m.A.XK_Caps_Lock,"CapsLock",!1),this._remoteCapsLock=null),"NumLock"==t&&s&&(this._remoteNumLock=null),null!==this._remoteNumLock&&null!==i&&this._remoteNumLock!==i&&s&&(r.y("Fixing remote num lock"),this.sendKey(m.A.XK_Num_Lock,"NumLock",!0),this.sendKey(m.A.XK_Num_Lock,"NumLock",!1),this._remoteNumLock=null),this.sendKey(e,t,s)}static _convertButtonMask(e){const t={0:1,1:4,2:2,3:128,4:256};let s=0;for(let i=0;i<5;i++)e&1<<i&&(s|=t[i]);return s}_handleMouse(e){if("click"===e.type&&e.target!==this._canvas)return;if(e.stopPropagation(),e.preventDefault(),"click"===e.type||"contextmenu"===e.type)return;let t=(0,h.B)(e.clientX,e.clientY,this._canvas),s=ae._convertButtonMask(e.buttons),i="mousedown"==e.type;switch(e.type){case"mousedown":case"mouseup":if(this.dragViewport){if(i&&!this._viewportDragging){this._viewportDragging=!0,this._viewportDragPos={x:t.x,y:t.y},this._viewportHasMoved=!1,this._flushMouseMoveTimer(t.x,t.y),this._mouseButtonMask=s;break}if(this._viewportDragging=!1,this._viewportHasMoved){this._mouseButtonMask=s;break}this._sendMouse(t.x,t.y,this._mouseButtonMask)}i&&(0,l.N$)(this._canvas),this._handleMouseButton(t.x,t.y,s);break;case"mousemove":if(this._viewportDragging){const e=this._viewportDragPos.x-t.x,s=this._viewportDragPos.y-t.y;(this._viewportHasMoved||Math.abs(e)>o.ww||Math.abs(s)>o.ww)&&(this._viewportHasMoved=!0,this._viewportDragPos={x:t.x,y:t.y},this._display.viewportChangePos(e,s));break}this._handleMouseMove(t.x,t.y);break}}_handleMouseButton(e,t,s){this._flushMouseMoveTimer(e,t),this._mouseButtonMask=s,this._sendMouse(e,t,this._mouseButtonMask)}_handleMouseMove(e,t){if(this._mousePos={x:e,y:t},null==this._mouseMoveTimer){const s=Date.now()-this._mouseLastMoveTime;s>D?(this._sendMouse(e,t,this._mouseButtonMask),this._mouseLastMoveTime=Date.now()):this._mouseMoveTimer=setTimeout(()=>{this._handleDelayedMouseMove()},D-s)}}_handleDelayedMouseMove(){this._mouseMoveTimer=null,this._sendMouse(this._mousePos.x,this._mousePos.y,this._mouseButtonMask),this._mouseLastMoveTime=Date.now()}_sendMouse(e,t,s){if("connected"!==this._rfbConnectionState)return;if(this._viewOnly)return;if(32768&s)throw new Error("Illegal mouse button mask (mask: "+s+")");let i=32640&s;this._extendedPointerEventSupported&&i?ae.messages.extendedPointerEvent(this._sock,this._display.absX(e),this._display.absY(t),s):ae.messages.pointerEvent(this._sock,this._display.absX(e),this._display.absY(t),s)}_handleWheel(e){if("connected"!==this._rfbConnectionState)return;if(this._viewOnly)return;e.stopPropagation(),e.preventDefault();let t=(0,h.B)(e.clientX,e.clientY,this._canvas),s=ae._convertButtonMask(e.buttons),i=e.deltaX,n=e.deltaY;0!==e.deltaMode&&(i*=I,n*=I),this._accumulatedWheelDeltaX+=i,this._accumulatedWheelDeltaY+=n,Math.abs(this._accumulatedWheelDeltaX)>=P&&(this._accumulatedWheelDeltaX<0?(this._handleMouseButton(t.x,t.y,32|s),this._handleMouseButton(t.x,t.y,s)):this._accumulatedWheelDeltaX>0&&(this._handleMouseButton(t.x,t.y,64|s),this._handleMouseButton(t.x,t.y,s)),this._accumulatedWheelDeltaX=0),Math.abs(this._accumulatedWheelDeltaY)>=P&&(this._accumulatedWheelDeltaY<0?(this._handleMouseButton(t.x,t.y,8|s),this._handleMouseButton(t.x,t.y,s)):this._accumulatedWheelDeltaY>0&&(this._handleMouseButton(t.x,t.y,16|s),this._handleMouseButton(t.x,t.y,s)),this._accumulatedWheelDeltaY=0)}_fakeMouseMove(e,t,s){this._handleMouseMove(t,s),this._cursor.move(e.detail.clientX,e.detail.clientY)}_handleTapEvent(e,t){let s=(0,h.B)(e.detail.clientX,e.detail.clientY,this._canvas);if(null!==this._gestureLastTapTime&&Date.now()-this._gestureLastTapTime<N&&this._gestureFirstDoubleTapEv.detail.type===e.detail.type){let t=this._gestureFirstDoubleTapEv.detail.clientX-e.detail.clientX,i=this._gestureFirstDoubleTapEv.detail.clientY-e.detail.clientY,n=Math.hypot(t,i);n<H?s=(0,h.B)(this._gestureFirstDoubleTapEv.detail.clientX,this._gestureFirstDoubleTapEv.detail.clientY,this._canvas):this._gestureFirstDoubleTapEv=e}else this._gestureFirstDoubleTapEv=e;this._gestureLastTapTime=Date.now(),this._fakeMouseMove(this._gestureFirstDoubleTapEv,s.x,s.y),this._handleMouseButton(s.x,s.y,t),this._handleMouseButton(s.x,s.y,0)}_handleGesture(e){let t,s=(0,h.B)(e.detail.clientX,e.detail.clientY,this._canvas);switch(e.type){case"gesturestart":switch(e.detail.type){case"onetap":this._handleTapEvent(e,1);break;case"twotap":this._handleTapEvent(e,4);break;case"threetap":this._handleTapEvent(e,2);break;case"drag":this.dragViewport?(this._viewportHasMoved=!1,this._viewportDragging=!0,this._viewportDragPos={x:s.x,y:s.y}):(this._fakeMouseMove(e,s.x,s.y),this._handleMouseButton(s.x,s.y,1));break;case"longpress":this.dragViewport?(this._viewportHasMoved=!1,this._viewportDragPos={x:s.x,y:s.y}):(this._fakeMouseMove(e,s.x,s.y),this._handleMouseButton(s.x,s.y,4));break;case"twodrag":this._gestureLastMagnitudeX=e.detail.magnitudeX,this._gestureLastMagnitudeY=e.detail.magnitudeY,this._fakeMouseMove(e,s.x,s.y);break;case"pinch":this._gestureLastMagnitudeX=Math.hypot(e.detail.magnitudeX,e.detail.magnitudeY),this._fakeMouseMove(e,s.x,s.y);break}break;case"gesturemove":switch(e.detail.type){case"onetap":case"twotap":case"threetap":break;case"drag":case"longpress":if(this.dragViewport){this._viewportDragging=!0;const e=this._viewportDragPos.x-s.x,t=this._viewportDragPos.y-s.y;(this._viewportHasMoved||Math.abs(e)>o.ww||Math.abs(t)>o.ww)&&(this._viewportHasMoved=!0,this._viewportDragPos={x:s.x,y:s.y},this._display.viewportChangePos(e,t))}else this._fakeMouseMove(e,s.x,s.y);break;case"twodrag":this._fakeMouseMove(e,s.x,s.y);while(e.detail.magnitudeY-this._gestureLastMagnitudeY>z)this._handleMouseButton(s.x,s.y,8),this._handleMouseButton(s.x,s.y,0),this._gestureLastMagnitudeY+=z;while(e.detail.magnitudeY-this._gestureLastMagnitudeY<-z)this._handleMouseButton(s.x,s.y,16),this._handleMouseButton(s.x,s.y,0),this._gestureLastMagnitudeY-=z;while(e.detail.magnitudeX-this._gestureLastMagnitudeX>z)this._handleMouseButton(s.x,s.y,32),this._handleMouseButton(s.x,s.y,0),this._gestureLastMagnitudeX+=z;while(e.detail.magnitudeX-this._gestureLastMagnitudeX<-z)this._handleMouseButton(s.x,s.y,64),this._handleMouseButton(s.x,s.y,0),this._gestureLastMagnitudeX-=z;break;case"pinch":if(this._fakeMouseMove(e,s.x,s.y),t=Math.hypot(e.detail.magnitudeX,e.detail.magnitudeY),Math.abs(t-this._gestureLastMagnitudeX)>U){this._handleKeyEvent(m.A.XK_Control_L,"ControlLeft",!0);while(t-this._gestureLastMagnitudeX>U)this._handleMouseButton(s.x,s.y,8),this._handleMouseButton(s.x,s.y,0),this._gestureLastMagnitudeX+=U;while(t-this._gestureLastMagnitudeX<-U)this._handleMouseButton(s.x,s.y,16),this._handleMouseButton(s.x,s.y,0),this._gestureLastMagnitudeX-=U}this._handleKeyEvent(m.A.XK_Control_L,"ControlLeft",!1);break}break;case"gestureend":switch(e.detail.type){case"onetap":case"twotap":case"threetap":case"pinch":case"twodrag":break;case"drag":this.dragViewport?this._viewportDragging=!1:(this._fakeMouseMove(e,s.x,s.y),this._handleMouseButton(s.x,s.y,0));break;case"longpress":if(this._viewportHasMoved)break;this.dragViewport&&!this._viewportHasMoved?(this._fakeMouseMove(e,s.x,s.y),this._handleMouseButton(s.x,s.y,4),this._handleMouseButton(s.x,s.y,0),this._viewportDragging=!1):(this._fakeMouseMove(e,s.x,s.y),this._handleMouseButton(s.x,s.y,0));break}break}}_flushMouseMoveTimer(e,t){null!==this._mouseMoveTimer&&(clearTimeout(this._mouseMoveTimer),this._mouseMoveTimer=null,this._sendMouse(e,t,this._mouseButtonMask))}_negotiateProtocolVersion(){if(this._sock.rQwait("version",12))return!1;const e=this._sock.rQshiftStr(12).substr(4,7);r.R2("Server ProtocolVersion: "+e);let t=0;switch(e){case"000.000":t=1;break;case"003.003":case"003.006":this._rfbVersion=3.3;break;case"003.007":this._rfbVersion=3.7;break;case"003.008":case"003.889":case"004.000":case"004.001":case"005.000":this._rfbVersion=3.8;break;default:return this._fail("Invalid server version "+e)}if(t){let e="ID:"+this._repeaterID;while(e.length<250)e+="\0";return this._sock.sQpushString(e),this._sock.flush(),!0}this._rfbVersion>this._rfbMaxVersion&&(this._rfbVersion=this._rfbMaxVersion);const s="00"+parseInt(this._rfbVersion,10)+".00"+10*this._rfbVersion%10;this._sock.sQpushString("RFB "+s+"\n"),this._sock.flush(),r.y("Sent ProtocolVersion: "+s),this._rfbInitState="Security"}_isSupportedSecurityType(e){const t=[V,O,W,G,Y,q,j,Z,$];return t.includes(e)}_negotiateSecurity(){if(this._rfbVersion>=3.7){const e=this._sock.rQshift8();if(this._sock.rQwait("security type",e,1))return!1;if(0===e)return this._rfbInitState="SecurityReason",this._securityContext="no security types",this._securityStatus=1,!0;const t=this._sock.rQshiftBytes(e);r.y("Server security types: "+t),this._rfbAuthScheme=-1;for(let s of t)if(this._isSupportedSecurityType(s)){this._rfbAuthScheme=s;break}if(-1===this._rfbAuthScheme)return this._fail("Unsupported security types (types: "+t+")");this._sock.sQpush8(this._rfbAuthScheme),this._sock.flush()}else{if(this._sock.rQwait("security scheme",4))return!1;if(this._rfbAuthScheme=this._sock.rQshift32(),0==this._rfbAuthScheme)return this._rfbInitState="SecurityReason",this._securityContext="authentication scheme",this._securityStatus=1,!0}return this._rfbInitState="Authentication",r.y("Authenticating using scheme: "+this._rfbAuthScheme),!0}_handleSecurityReason(){if(this._sock.rQwait("reason length",4))return!1;const e=this._sock.rQshift32();let t="";if(e>0){if(this._sock.rQwait("reason",e,4))return!1;t=this._sock.rQshiftStr(e)}return""!==t?(this.dispatchEvent(new CustomEvent("securityfailure",{detail:{status:this._securityStatus,reason:t}})),this._fail("Security negotiation failed on "+this._securityContext+" (reason: "+t+")")):(this.dispatchEvent(new CustomEvent("securityfailure",{detail:{status:this._securityStatus}})),this._fail("Security negotiation failed on "+this._securityContext))}_negotiateXvpAuth(){return void 0===this._rfbCredentials.username||void 0===this._rfbCredentials.password||void 0===this._rfbCredentials.target?(this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password","target"]}})),!1):(this._sock.sQpush8(this._rfbCredentials.username.length),this._sock.sQpush8(this._rfbCredentials.target.length),this._sock.sQpushString(this._rfbCredentials.username),this._sock.sQpushString(this._rfbCredentials.target),this._sock.flush(),this._rfbAuthScheme=O,this._negotiateAuthentication())}_negotiateVeNCryptAuth(){if(0==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt version",2))return!1;const e=this._sock.rQshift8(),t=this._sock.rQshift8();if(0!=e||2!=t)return this._fail("Unsupported VeNCrypt version "+e+"."+t);this._sock.sQpush8(0),this._sock.sQpush8(2),this._sock.flush(),this._rfbVeNCryptState=1}if(1==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt ack",1))return!1;const e=this._sock.rQshift8();if(0!=e)return this._fail("VeNCrypt failure "+e);this._rfbVeNCryptState=2}if(2==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt subtypes length",1))return!1;const e=this._sock.rQshift8();if(e<1)return this._fail("VeNCrypt subtypes empty");this._rfbVeNCryptSubtypesLength=e,this._rfbVeNCryptState=3}if(3==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt subtypes",4*this._rfbVeNCryptSubtypesLength))return!1;const e=[];for(let t=0;t<this._rfbVeNCryptSubtypesLength;t++)e.push(this._sock.rQshift32());this._rfbAuthScheme=-1;for(let t of e)if(t!==Y&&this._isSupportedSecurityType(t)){this._rfbAuthScheme=t;break}return-1===this._rfbAuthScheme?this._fail("Unsupported security types (types: "+e+")"):(this._sock.sQpush32(this._rfbAuthScheme),this._sock.flush(),this._rfbVeNCryptState=4,!0)}}_negotiatePlainAuth(){if(void 0===this._rfbCredentials.username||void 0===this._rfbCredentials.password)return this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}})),!1;const e=(0,a.Y)(this._rfbCredentials.username),t=(0,a.Y)(this._rfbCredentials.password);return this._sock.sQpush32(e.length),this._sock.sQpush32(t.length),this._sock.sQpushString(e),this._sock.sQpushString(t),this._sock.flush(),this._rfbInitState="SecurityResult",!0}_negotiateStdVNCAuth(){if(this._sock.rQwait("auth challenge",16))return!1;if(void 0===this._rfbCredentials.password)return this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["password"]}})),!1;const e=Array.prototype.slice.call(this._sock.rQshiftBytes(16)),t=ae.genDES(this._rfbCredentials.password,e);return this._sock.sQpushBytes(t),this._sock.flush(),this._rfbInitState="SecurityResult",!0}_negotiateARDAuth(){if(void 0===this._rfbCredentials.username||void 0===this._rfbCredentials.password)return this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}})),!1;if(void 0!=this._rfbCredentials.ardPublicKey&&void 0!=this._rfbCredentials.ardCredentials)return this._sock.sQpushBytes(this._rfbCredentials.ardCredentials),this._sock.sQpushBytes(this._rfbCredentials.ardPublicKey),this._sock.flush(),this._rfbCredentials.ardCredentials=null,this._rfbCredentials.ardPublicKey=null,this._rfbInitState="SecurityResult",!0;if(this._sock.rQwait("read ard",4))return!1;let e=this._sock.rQshiftBytes(2),t=this._sock.rQshift16();if(this._sock.rQwait("read ard keylength",2*t,4))return!1;let s=this._sock.rQshiftBytes(t),i=this._sock.rQshiftBytes(t),n=k.A.generateKey({name:"DH",g:e,p:s},!1,["deriveBits"]);return this._negotiateARDAuthAsync(t,i,n),!1}async _negotiateARDAuthAsync(e,t,s){const i=k.A.exportKey("raw",s.publicKey),n=k.A.deriveBits({name:"DH",public:t},s.privateKey,8*e),r=(0,a.Y)(this._rfbCredentials.username).substring(0,63),o=(0,a.Y)(this._rfbCredentials.password).substring(0,63),h=window.crypto.getRandomValues(new Uint8Array(128));for(let a=0;a<r.length;a++)h[a]=r.charCodeAt(a);h[r.length]=0;for(let a=0;a<o.length;a++)h[64+a]=o.charCodeAt(a);h[64+o.length]=0;const l=await k.A.digest("MD5",n),_=await k.A.importKey("raw",l,{name:"AES-ECB"},!1,["encrypt"]),c=await k.A.encrypt({name:"AES-ECB"},_,h);this._rfbCredentials.ardCredentials=c,this._rfbCredentials.ardPublicKey=i,this._resumeAuthentication()}_negotiateTightUnixAuth(){return void 0===this._rfbCredentials.username||void 0===this._rfbCredentials.password?(this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}})),!1):(this._sock.sQpush32(this._rfbCredentials.username.length),this._sock.sQpush32(this._rfbCredentials.password.length),this._sock.sQpushString(this._rfbCredentials.username),this._sock.sQpushString(this._rfbCredentials.password),this._sock.flush(),this._rfbInitState="SecurityResult",!0)}_negotiateTightTunnels(e){const t={0:{vendor:"TGHT",signature:"NOTUNNEL"}},s={};for(let i=0;i<e;i++){const e=this._sock.rQshift32(),t=this._sock.rQshiftStr(4),i=this._sock.rQshiftStr(8);s[e]={vendor:t,signature:i}}return r.y("Server Tight tunnel types: "+s),s[1]&&"SICR"===s[1].vendor&&"SCHANNEL"===s[1].signature&&(r.y("Detected Siemens server. Assuming NOTUNNEL support."),s[0]={vendor:"TGHT",signature:"NOTUNNEL"}),s[0]?s[0].vendor!=t[0].vendor||s[0].signature!=t[0].signature?this._fail("Client's tunnel type had the incorrect vendor or signature"):(r.y("Selected tunnel type: "+t[0]),this._sock.sQpush32(0),this._sock.flush(),!1):this._fail("Server wanted tunnels, but doesn't support the notunnel type")}_negotiateTightAuth(){if(!this._rfbTightVNC){if(this._sock.rQwait("num tunnels",4))return!1;const e=this._sock.rQshift32();if(e>0&&this._sock.rQwait("tunnel capabilities",16*e,4))return!1;if(this._rfbTightVNC=!0,e>0)return this._negotiateTightTunnels(e),!1}if(this._sock.rQwait("sub auth count",4))return!1;const e=this._sock.rQshift32();if(0===e)return this._rfbInitState="SecurityResult",!0;if(this._sock.rQwait("sub auth capabilities",16*e,4))return!1;const t={STDVNOAUTH__:1,STDVVNCAUTH_:2,TGHTULGNAUTH:129},s=[];for(let i=0;i<e;i++){this._sock.rQshift32();const e=this._sock.rQshiftStr(12);s.push(e)}r.y("Server Tight authentication types: "+s);for(let i in t)if(-1!=s.indexOf(i))switch(this._sock.sQpush32(t[i]),this._sock.flush(),r.y("Selected authentication type: "+i),i){case"STDVNOAUTH__":return this._rfbInitState="SecurityResult",!0;case"STDVVNCAUTH_":return this._rfbAuthScheme=O,!0;case"TGHTULGNAUTH":return this._rfbAuthScheme=J,!0;default:return this._fail("Unsupported tiny auth scheme (scheme: "+i+")")}return this._fail("No supported sub-auth types!")}_handleRSAAESCredentialsRequired(e){this.dispatchEvent(e)}_handleRSAAESServerVerification(e){this.dispatchEvent(e)}_negotiateRA2neAuth(){return null===this._rfbRSAAESAuthenticationState&&(this._rfbRSAAESAuthenticationState=new b.A(this._sock,()=>this._rfbCredentials),this._rfbRSAAESAuthenticationState.addEventListener("serververification",this._eventHandlers.handleRSAAESServerVerification),this._rfbRSAAESAuthenticationState.addEventListener("credentialsrequired",this._eventHandlers.handleRSAAESCredentialsRequired)),this._rfbRSAAESAuthenticationState.checkInternalEvents(),this._rfbRSAAESAuthenticationState.hasStarted||this._rfbRSAAESAuthenticationState.negotiateRA2neAuthAsync().catch(e=>{"disconnect normally"!==e.message&&this._fail(e.message)}).then(()=>(this._rfbInitState="SecurityResult",!0)).finally(()=>{this._rfbRSAAESAuthenticationState.removeEventListener("serververification",this._eventHandlers.handleRSAAESServerVerification),this._rfbRSAAESAuthenticationState.removeEventListener("credentialsrequired",this._eventHandlers.handleRSAAESCredentialsRequired),this._rfbRSAAESAuthenticationState=null}),!1}_negotiateMSLogonIIAuth(){if(this._sock.rQwait("mslogonii dh param",24))return!1;if(void 0===this._rfbCredentials.username||void 0===this._rfbCredentials.password)return this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}})),!1;const e=this._sock.rQshiftBytes(8),t=this._sock.rQshiftBytes(8),s=this._sock.rQshiftBytes(8),i=k.A.generateKey({name:"DH",g:e,p:t},!0,["deriveBits"]),n=k.A.exportKey("raw",i.publicKey),r=k.A.deriveBits({name:"DH",public:s},i.privateKey,64),o=k.A.importKey("raw",r,{name:"DES-CBC"},!1,["encrypt"]),h=(0,a.Y)(this._rfbCredentials.username).substring(0,255),l=(0,a.Y)(this._rfbCredentials.password).substring(0,63);let _=new Uint8Array(256),c=new Uint8Array(64);window.crypto.getRandomValues(_),window.crypto.getRandomValues(c);for(let a=0;a<h.length;a++)_[a]=h.charCodeAt(a);_[h.length]=0;for(let a=0;a<l.length;a++)c[a]=l.charCodeAt(a);return c[l.length]=0,_=k.A.encrypt({name:"DES-CBC",iv:r},o,_),c=k.A.encrypt({name:"DES-CBC",iv:r},o,c),this._sock.sQpushBytes(n),this._sock.sQpushBytes(_),this._sock.sQpushBytes(c),this._sock.flush(),this._rfbInitState="SecurityResult",!0}_negotiateAuthentication(){switch(this._rfbAuthScheme){case V:return this._rfbVersion>=3.8?this._rfbInitState="SecurityResult":this._rfbInitState="ClientInitialisation",!0;case q:return this._negotiateXvpAuth();case j:return this._negotiateARDAuth();case O:return this._negotiateStdVNCAuth();case G:return this._negotiateTightAuth();case Y:return this._negotiateVeNCryptAuth();case $:return this._negotiatePlainAuth();case J:return this._negotiateTightUnixAuth();case W:return this._negotiateRA2neAuth();case Z:return this._negotiateMSLogonIIAuth();default:return this._fail("Unsupported auth scheme (scheme: "+this._rfbAuthScheme+")")}}_handleSecurityResult(){if(this._sock.rQwait("VNC auth response ",4))return!1;const e=this._sock.rQshift32();return 0===e?(this._rfbInitState="ClientInitialisation",r.y("Authentication OK"),!0):this._rfbVersion>=3.8?(this._rfbInitState="SecurityReason",this._securityContext="security result",this._securityStatus=e,!0):(this.dispatchEvent(new CustomEvent("securityfailure",{detail:{status:e}})),this._fail("Security handshake failed"))}_negotiateServerInit(){if(this._sock.rQwait("server initialization",24))return!1;const e=this._sock.rQshift16(),t=this._sock.rQshift16(),s=this._sock.rQshift8(),i=this._sock.rQshift8(),n=this._sock.rQshift8(),o=this._sock.rQshift8(),h=this._sock.rQshift16(),l=this._sock.rQshift16(),_=this._sock.rQshift16(),c=this._sock.rQshift8(),u=this._sock.rQshift8(),d=this._sock.rQshift8();this._sock.rQskipBytes(3);const f=this._sock.rQshift32();if(this._sock.rQwait("server init name",f,24))return!1;let p=this._sock.rQshiftStr(f);if(p=(0,a.C)(p,!0),this._rfbTightVNC){if(this._sock.rQwait("TightVNC extended server init header",8,24+f))return!1;const e=this._sock.rQshift16(),t=this._sock.rQshift16(),s=this._sock.rQshift16();this._sock.rQskipBytes(2);const i=16*(e+t+s);if(this._sock.rQwait("TightVNC extended server init header",i,32+f))return!1;this._sock.rQskipBytes(16*e),this._sock.rQskipBytes(16*t),this._sock.rQskipBytes(16*s)}return r.R2("Screen: "+e+"x"+t+", bpp: "+s+", depth: "+i+", bigEndian: "+n+", trueColor: "+o+", redMax: "+h+", greenMax: "+l+", blueMax: "+_+", redShift: "+c+", greenShift: "+u+", blueShift: "+d),this._setDesktopName(p),this._resize(e,t),this._viewOnly||this._keyboard.grab(),this._fbDepth=24,"Intel(r) AMT KVM"===this._fbName&&(r.P$("Intel AMT KVM only supports 8/16 bit depths. Using low color mode."),this._fbDepth=8),ae.messages.pixelFormat(this._sock,this._fbDepth,!0),this._sendEncodings(),ae.messages.fbUpdateRequest(this._sock,!1,0,0,this._fbWidth,this._fbHeight),this._updateConnectionState("connected"),!0}_sendEncodings(){const e=[];e.push(v.d.encodingCopyRect),24==this._fbDepth&&(o.c1&&e.push(v.d.encodingH264),e.push(v.d.encodingTight),e.push(v.d.encodingTightPNG),e.push(v.d.encodingZRLE),e.push(v.d.encodingJPEG),e.push(v.d.encodingHextile),e.push(v.d.encodingRRE),e.push(v.d.encodingZlib)),e.push(v.d.encodingRaw),e.push(v.d.pseudoEncodingQualityLevel0+this._qualityLevel),e.push(v.d.pseudoEncodingCompressLevel0+this._compressionLevel),e.push(v.d.pseudoEncodingDesktopSize),e.push(v.d.pseudoEncodingLastRect),e.push(v.d.pseudoEncodingQEMUExtendedKeyEvent),e.push(v.d.pseudoEncodingQEMULedEvent),e.push(v.d.pseudoEncodingExtendedDesktopSize),e.push(v.d.pseudoEncodingXvp),e.push(v.d.pseudoEncodingFence),e.push(v.d.pseudoEncodingContinuousUpdates),e.push(v.d.pseudoEncodingDesktopName),e.push(v.d.pseudoEncodingExtendedClipboard),e.push(v.d.pseudoEncodingExtendedMouseButtons),24==this._fbDepth&&(e.push(v.d.pseudoEncodingVMwareCursor),e.push(v.d.pseudoEncodingCursor)),ae.messages.clientEncodings(this._sock,e)}_initMsg(){switch(this._rfbInitState){case"ProtocolVersion":return this._negotiateProtocolVersion();case"Security":return this._negotiateSecurity();case"Authentication":return this._negotiateAuthentication();case"SecurityResult":return this._handleSecurityResult();case"SecurityReason":return this._handleSecurityReason();case"ClientInitialisation":return this._sock.sQpush8(this._shared?1:0),this._sock.flush(),this._rfbInitState="ServerInitialisation",!0;case"ServerInitialisation":return this._negotiateServerInit();default:return this._fail("Unknown init state (state: "+this._rfbInitState+")")}}_resumeAuthentication(){setTimeout(this._initMsg.bind(this),0)}_handleSetColourMapMsg(){return r.y("SetColorMapEntries"),this._fail("Unexpected SetColorMapEntries message")}_handleServerCutText(){if(r.y("ServerCutText"),this._sock.rQwait("ServerCutText header",7,1))return!1;this._sock.rQskipBytes(3);let e=this._sock.rQshift32();if(e=(0,n.m)(e),this._sock.rQwait("ServerCutText content",Math.abs(e),8))return!1;if(e>=0){const t=this._sock.rQshiftStr(e);if(this._viewOnly)return!0;this.dispatchEvent(new CustomEvent("clipboard",{detail:{text:t}}))}else{e=Math.abs(e);const t=this._sock.rQshift32();let s=65535&t,i=4278190080&t,n=!!(i&te);if(n){this._clipboardServerCapabilitiesFormats={},this._clipboardServerCapabilitiesActions={};for(let t=0;t<=15;t++){let e=1<<t;s&e&&(this._clipboardServerCapabilitiesFormats[e]=!0,this._sock.rQshift32())}for(let t=24;t<=31;t++){let e=1<<t;this._clipboardServerCapabilitiesActions[e]=!!(i&e)}let e=[te,se,ie,ne,re];ae.messages.extendedClipboardCaps(this._sock,e,{extendedClipboardFormatText:0})}else if(i===se){if(this._viewOnly)return!0;null!=this._clipboardText&&this._clipboardServerCapabilitiesActions[re]&&s&ee&&ae.messages.extendedClipboardProvide(this._sock,[ee],[this._clipboardText])}else if(i===ie){if(this._viewOnly)return!0;this._clipboardServerCapabilitiesActions[ne]&&(null!=this._clipboardText?ae.messages.extendedClipboardNotify(this._sock,[ee]):ae.messages.extendedClipboardNotify(this._sock,[]))}else if(i===ne){if(this._viewOnly)return!0;this._clipboardServerCapabilitiesActions[se]&&s&ee&&ae.messages.extendedClipboardRequest(this._sock,[ee])}else{if(i!==re)return this._fail("Unexpected action in extended clipboard message: "+i);{if(this._viewOnly)return!0;if(!(s&ee))return!0;this._clipboardText=null;let t=this._sock.rQshiftBytes(e-4),i=new u.A,n=null;i.setInput(t);for(let e=0;e<=15;e++){let t=1<<e;if(s&t){let e=0,s=i.inflate(4);e|=s[0]<<24,e|=s[1]<<16,e|=s[2]<<8,e|=s[3];let r=i.inflate(e);t===ee&&(n=r)}}if(i.setInput(null),null!==n){let e="";for(let t=0;t<n.length;t++)e+=String.fromCharCode(n[t]);n=e,n=(0,a.C)(n),n.length>0&&"\0"===n.charAt(n.length-1)&&(n=n.slice(0,-1)),n=n.replaceAll("\r\n","\n"),this.dispatchEvent(new CustomEvent("clipboard",{detail:{text:n}}))}}}}return!0}_handleServerFenceMsg(){if(this._sock.rQwait("ServerFence header",8,1))return!1;this._sock.rQskipBytes(3);let e=this._sock.rQshift32(),t=this._sock.rQshift8();if(this._sock.rQwait("ServerFence payload",t,9))return!1;t>64&&(r.P$("Bad payload length ("+t+") in fence response"),t=64);const s=this._sock.rQshiftStr(t);return this._supportsFence=!0,e&1<<31?(e&=3,ae.messages.clientFence(this._sock,e,s),!0):this._fail("Unexpected fence response")}_handleXvpMsg(){if(this._sock.rQwait("XVP version and message",3,1))return!1;this._sock.rQskipBytes(1);const e=this._sock.rQshift8(),t=this._sock.rQshift8();switch(t){case 0:r.$D("XVP operation failed");break;case 1:this._rfbXvpVer=e,r.R2("XVP extensions enabled (version "+this._rfbXvpVer+")"),this._setCapability("power",!0);break;default:this._fail("Illegal server XVP message (msg: "+t+")");break}return!0}_normalMsg(){let e,t,s;switch(e=this._FBU.rects>0?0:this._sock.rQshift8(),e){case 0:return s=this._framebufferUpdate(),s&&!this._enabledContinuousUpdates&&ae.messages.fbUpdateRequest(this._sock,!0,0,0,this._fbWidth,this._fbHeight),s;case 1:return this._handleSetColourMapMsg();case 2:return r.y("Bell"),this.dispatchEvent(new CustomEvent("bell",{detail:{}})),!0;case 3:return this._handleServerCutText();case 150:return t=!this._supportsContinuousUpdates,this._supportsContinuousUpdates=!0,this._enabledContinuousUpdates=!1,t&&(this._enabledContinuousUpdates=!0,this._updateContinuousUpdates(),r.R2("Enabling continuous updates.")),!0;case 248:return this._handleServerFenceMsg();case 250:return this._handleXvpMsg();default:return this._fail("Unexpected server message (type "+e+")"),r.y("sock.rQpeekBytes(30): "+this._sock.rQpeekBytes(30)),!0}}_framebufferUpdate(){if(0===this._FBU.rects){if(this._sock.rQwait("FBU header",3,1))return!1;if(this._sock.rQskipBytes(1),this._FBU.rects=this._sock.rQshift16(),this._display.pending())return this._flushing=!0,this._display.flush().then(()=>{this._flushing=!1,this._sock.rQwait("message",1)||this._handleMessage()}),!1}while(this._FBU.rects>0){if(null===this._FBU.encoding){if(this._sock.rQwait("rect header",12))return!1;this._FBU.x=this._sock.rQshift16(),this._FBU.y=this._sock.rQshift16(),this._FBU.width=this._sock.rQshift16(),this._FBU.height=this._sock.rQshift16(),this._FBU.encoding=this._sock.rQshift32(),this._FBU.encoding>>=0}if(!this._handleRect())return!1;this._FBU.rects--,this._FBU.encoding=null}return this._display.flip(),!0}_handleRect(){switch(this._FBU.encoding){case v.d.pseudoEncodingLastRect:return this._FBU.rects=1,!0;case v.d.pseudoEncodingVMwareCursor:return this._handleVMwareCursor();case v.d.pseudoEncodingCursor:return this._handleCursor();case v.d.pseudoEncodingQEMUExtendedKeyEvent:return this._qemuExtKeyEventSupported=!0,!0;case v.d.pseudoEncodingDesktopName:return this._handleDesktopName();case v.d.pseudoEncodingDesktopSize:return this._resize(this._FBU.width,this._FBU.height),!0;case v.d.pseudoEncodingExtendedDesktopSize:return this._handleExtendedDesktopSize();case v.d.pseudoEncodingExtendedMouseButtons:return this._extendedPointerEventSupported=!0,!0;case v.d.pseudoEncodingQEMULedEvent:return this._handleLedEvent();default:return this._handleDataRect()}}_handleVMwareCursor(){const e=this._FBU.x,t=this._FBU.y,s=this._FBU.width,i=this._FBU.height;if(this._sock.rQwait("VMware cursor encoding",1))return!1;const n=this._sock.rQshift8();let a;this._sock.rQshift8();const o=4;if(0==n){const e=-256;if(a=new Array(s*i*o),this._sock.rQwait("VMware cursor classic encoding",s*i*o*2,2))return!1;let t=new Array(s*i);for(let r=0;r<s*i;r++)t[r]=this._sock.rQshift32();let n=new Array(s*i);for(let r=0;r<s*i;r++)n[r]=this._sock.rQshift32();for(let r=0;r<s*i;r++)if(0==t[r]){let e=n[r],t=e>>8&255,s=e>>16&255,i=e>>24&255;a[r*o]=t,a[r*o+1]=s,a[r*o+2]=i,a[r*o+3]=255}else(t[r]&e)==e?0==n[r]?(a[r*o]=0,a[r*o+1]=0,a[r*o+2]=0,a[r*o+3]=0):(n[r],a[r*o]=0,a[r*o+1]=0,a[r*o+2]=0,a[r*o+3]=255):(a[r*o]=0,a[r*o+1]=0,a[r*o+2]=0,a[r*o+3]=255)}else{if(1!=n)return r.P$("The given cursor type is not supported: "+n+" given."),!1;if(this._sock.rQwait("VMware cursor alpha encoding",s*i*4,2))return!1;a=new Array(s*i*o);for(let e=0;e<s*i;e++){let t=this._sock.rQshift32();a[4*e]=t>>24&255,a[4*e+1]=t>>16&255,a[4*e+2]=t>>8&255,a[4*e+3]=255&t}}return this._updateCursor(a,e,t,s,i),!0}_handleCursor(){const e=this._FBU.x,t=this._FBU.y,s=this._FBU.width,i=this._FBU.height,n=s*i*4,r=Math.ceil(s/8)*i;let a=n+r;if(this._sock.rQwait("cursor encoding",a))return!1;const o=this._sock.rQshiftBytes(n),h=this._sock.rQshiftBytes(r);let l=new Uint8Array(s*i*4),_=0;for(let c=0;c<i;c++)for(let e=0;e<s;e++){let t=c*Math.ceil(s/8)+Math.floor(e/8),i=h[t]<<e%8&128?255:0;l[_]=o[_+2],l[_+1]=o[_+1],l[_+2]=o[_],l[_+3]=i,_+=4}return this._updateCursor(l,e,t,s,i),!0}_handleDesktopName(){if(this._sock.rQwait("DesktopName",4))return!1;let e=this._sock.rQshift32();if(this._sock.rQwait("DesktopName",e,4))return!1;let t=this._sock.rQshiftStr(e);return t=(0,a.C)(t,!0),this._setDesktopName(t),!0}_handleLedEvent(){if(this._sock.rQwait("LED status",1))return!1;let e=this._sock.rQshift8(),t=!!(2&e),s=!!(4&e);return this._remoteCapsLock=s,this._remoteNumLock=t,!0}_handleExtendedDesktopSize(){if(this._sock.rQwait("ExtendedDesktopSize",4))return!1;const e=this._sock.rQpeek8();let t=4+16*e;if(this._sock.rQwait("ExtendedDesktopSize",t))return!1;const s=!this._supportsSetDesktopSize;this._supportsSetDesktopSize=!0,this._sock.rQskipBytes(1),this._sock.rQskipBytes(3);for(let i=0;i<e;i+=1)0===i?(this._screenID=this._sock.rQshift32(),this._sock.rQskipBytes(2),this._sock.rQskipBytes(2),this._sock.rQskipBytes(2),this._sock.rQskipBytes(2),this._screenFlags=this._sock.rQshift32()):this._sock.rQskipBytes(16);if(1===this._FBU.x&&(this._pendingRemoteResize=!1),1===this._FBU.x&&0!==this._FBU.y){let e="";switch(this._FBU.y){case 1:e="Resize is administratively prohibited";break;case 2:e="Out of resources";break;case 3:e="Invalid screen layout";break;default:e="Unknown reason";break}r.P$("Server did not accept the resize request: "+e)}else this._resize(this._FBU.width,this._FBU.height);return s&&this._requestRemoteResize(),1===this._FBU.x&&0===this._FBU.y&&this._requestRemoteResize(),!0}_handleDataRect(){let e=this._decoders[this._FBU.encoding];if(!e)return this._fail("Unsupported encoding (encoding: "+this._FBU.encoding+")"),!1;try{return e.decodeRect(this._FBU.x,this._FBU.y,this._FBU.width,this._FBU.height,this._sock,this._display,this._fbDepth)}catch(t){return this._fail("Error decoding rect: "+t),!1}}_updateContinuousUpdates(){this._enabledContinuousUpdates&&ae.messages.enableContinuousUpdates(this._sock,!0,0,0,this._fbWidth,this._fbHeight)}_resize(e,t){this._fbWidth=e,this._fbHeight=t,this._display.resize(this._fbWidth,this._fbHeight),this._updateClip(),this._updateScale(),this._updateContinuousUpdates(),this._saveExpectedClientSize()}_xvpOp(e,t){this._rfbXvpVer<e||(r.R2("Sending XVP operation "+t+" (version "+e+")"),ae.messages.xvpOp(this._sock,e,t))}_updateCursor(e,t,s,i,n){this._cursorImage={rgbaPixels:e,hotx:t,hoty:s,w:i,h:n},this._refreshCursor()}_shouldShowDotCursor(){if(!this._showDotCursor)return!1;for(let e=3;e<this._cursorImage.rgbaPixels.length;e+=4)if(this._cursorImage.rgbaPixels[e])return!1;return!0}_refreshCursor(){if("connecting"!==this._rfbConnectionState&&"connected"!==this._rfbConnectionState)return;const e=this._shouldShowDotCursor()?ae.cursors.dot:this._cursorImage;this._cursor.change(e.rgbaPixels,e.hotx,e.hoty,e.w,e.h)}static genDES(e,t){const s=e.split("").map(e=>e.charCodeAt(0)),i=k.A.importKey("raw",s,{name:"DES-ECB"},!1,["encrypt"]);return k.A.encrypt({name:"DES-ECB"},i,t)}}ae.messages={keyEvent(e,t,s){e.sQpush8(4),e.sQpush8(s),e.sQpush16(0),e.sQpush32(t),e.flush()},QEMUExtendedKeyEvent(e,t,s,i){function n(e){const t=i>>8,s=255&i;return 224===t&&s<127?128|s:e}e.sQpush8(255),e.sQpush8(0),e.sQpush16(s),e.sQpush32(t);const r=n(i);e.sQpush32(r),e.flush()},pointerEvent(e,t,s,i){e.sQpush8(5),i&=127,e.sQpush8(i),e.sQpush16(t),e.sQpush16(s),e.flush()},extendedPointerEvent(e,t,s,i){e.sQpush8(5);let n=i>>7&255;if(252&n)throw new Error("Invalid mouse button mask: "+i);let r=127&i;r|=128,e.sQpush8(r),e.sQpush16(t),e.sQpush16(s),e.sQpush8(n),e.flush()},_buildExtendedClipboardFlags(e,t){let s=new Uint8Array(4),i=0,n=0;for(let r=0;r<e.length;r++)n|=e[r];for(let r=0;r<t.length;r++)i|=t[r];return s[0]=n>>24,s[1]=0,s[2]=0,s[3]=i,s},extendedClipboardProvide(e,t,s){let i=new d.A,n=[];for(let h=0;h<t.length;h++){if(t[h]!=ee)throw new Error("Unsupported extended clipboard format for Provide message.");s[h]=s[h].replace(/\r\n|\r|\n/gm,"\r\n");let e=(0,a.Y)(s[h]+"\0");n.push(e.length>>24&255,e.length>>16&255,e.length>>8&255,255&e.length);for(let t=0;t<e.length;t++)n.push(e.charCodeAt(t))}let r=i.deflate(new Uint8Array(n)),o=new Uint8Array(4+r.length);o.set(ae.messages._buildExtendedClipboardFlags([re],t)),o.set(r,4),ae.messages.clientCutText(e,o,!0)},extendedClipboardNotify(e,t){let s=ae.messages._buildExtendedClipboardFlags([ne],t);ae.messages.clientCutText(e,s,!0)},extendedClipboardRequest(e,t){let s=ae.messages._buildExtendedClipboardFlags([se],t);ae.messages.clientCutText(e,s,!0)},extendedClipboardCaps(e,t,s){let i=Object.keys(s),n=new Uint8Array(4+4*i.length);i.map(e=>parseInt(e)),i.sort((e,t)=>e-t),n.set(ae.messages._buildExtendedClipboardFlags(t,[]));let r=4;for(let a=0;a<i.length;a++)n[r]=s[i[a]]>>24,n[r+1]=s[i[a]]>>16,n[r+2]=s[i[a]]>>8,n[r+3]=s[i[a]]|0,r+=4,n[3]|=1<<i[a];ae.messages.clientCutText(e,n,!0)},clientCutText(e,t,s=!1){let i;e.sQpush8(6),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),i=s?(0,n.t)(-t.length):t.length,e.sQpush32(i),e.sQpushBytes(t),e.flush()},setDesktopSize(e,t,s,i,n){e.sQpush8(251),e.sQpush8(0),e.sQpush16(t),e.sQpush16(s),e.sQpush8(1),e.sQpush8(0),e.sQpush32(i),e.sQpush16(0),e.sQpush16(0),e.sQpush16(t),e.sQpush16(s),e.sQpush32(n),e.flush()},clientFence(e,t,s){e.sQpush8(248),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.sQpush32(t),e.sQpush8(s.length),e.sQpushString(s),e.flush()},enableContinuousUpdates(e,t,s,i,n,r){e.sQpush8(150),e.sQpush8(t),e.sQpush16(s),e.sQpush16(i),e.sQpush16(n),e.sQpush16(r),e.flush()},pixelFormat(e,t,s){let i;i=t>16?32:t>8?16:8;const n=Math.floor(t/3);e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.sQpush8(i),e.sQpush8(t),e.sQpush8(0),e.sQpush8(s?1:0),e.sQpush16((1<<n)-1),e.sQpush16((1<<n)-1),e.sQpush16((1<<n)-1),e.sQpush8(0*n),e.sQpush8(1*n),e.sQpush8(2*n),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.flush()},clientEncodings(e,t){e.sQpush8(2),e.sQpush8(0),e.sQpush16(t.length);for(let s=0;s<t.length;s++)e.sQpush32(t[s]);e.flush()},fbUpdateRequest(e,t,s,i,n,r){"undefined"===typeof s&&(s=0),"undefined"===typeof i&&(i=0),e.sQpush8(3),e.sQpush8(t?1:0),e.sQpush16(s),e.sQpush16(i),e.sQpush16(n),e.sQpush16(r),e.flush()},xvpOp(e,t,s){e.sQpush8(250),e.sQpush8(0),e.sQpush8(t),e.sQpush8(s),e.flush()}},ae.cursors={none:{rgbaPixels:new Uint8Array,w:0,h:0,hotx:0,hoty:0},dot:{rgbaPixels:new Uint8Array([255,255,255,255,0,0,0,255,255,255,255,255,0,0,0,255,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,255,255,255,255,255]),w:3,h:3,hotx:1,hoty:1}},i()}catch(R){i(R)}})},8155:function(e,t,s){"use strict";s.a(e,async function(e,i){try{s.d(t,{CN:function(){return h},Yf:function(){return c},c1:function(){return d},cX:function(){return p},uF:function(){return g},un:function(){return w},ww:function(){return l}});var n=s(83782),r=s(54727);let h="ontouchstart"in document.documentElement||void 0!==document.ontouchstart||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0;window.addEventListener("touchstart",function e(){h=!0,window.removeEventListener("touchstart",e,!1)},!1);let l=10*(window.devicePixelRatio||1),_=!1;try{const m=document.createElement("canvas");m.style.cursor='url("data:image/x-icon;base64,AAACAAEACAgAAAIAAgA4AQAAFgAAACgAAAAIAAAAEAAAAAEAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAA==") 2 2, default',0===m.style.cursor.indexOf("url")?(n.R2("Data URI scheme cursor supported"),_=!0):n.P$("Data URI scheme cursor not supported")}catch(a){n.$D("Data URI scheme cursor test exception: "+a)}const c=_;let u=!0;try{const y=document.createElement("div");y.style.visibility="hidden",y.style.overflow="scroll",document.body.appendChild(y);const v=document.createElement("div");y.appendChild(v);const b=y.offsetWidth-v.offsetWidth;y.parentNode.removeChild(y),u=0!=b}catch(a){n.$D("Scrollbar test exception: "+a)}let d=!1;async function f(){if(!("VideoDecoder"in window))return!1;const e={codec:"avc1.42401f",codedWidth:1920,codedHeight:1080,optimizeForLatency:!0};let t=await VideoDecoder.isConfigSupported(e);if(!t.supported)return!1;const s=new Uint8Array(r.A.decode("AAAAAWdCwBTZnpuAgICgAAADACAAAAZB4oVNAAAAAWjJYyyAAAABBgX//4HcRem95tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTY0IHIzMTA4IDMxZTE5ZjkgLSBILjI2NC9NUEVHLTQgQVZDIGNvZGVjIC0gQ29weWxlZnQgMjAwMy0yMDIzIC0gaHR0cDovL3d3dy52aWRlb2xhbi5vcmcveDI2NC5odG1sIC0gb3B0aW9uczogY2FiYWM9MCByZWY9NSBkZWJsb2NrPTE6MDowIGFuYWx5c2U9MHgxOjB4MTExIG1lPWhleCBzdWJtZT04IHBzeT0xIHBzeV9yZD0xLjAwOjAuMDAgbWl4ZWRfcmVmPTEgbWVfcmFuZ2U9MTYgY2hyb21hX21lPTEgdHJlbGxpcz0yIDh4OGRjdD0wIGNxbT0wIGRlYWR6b25lPTIxLDExIGZhc3RfcHNraXA9MSBjaHJvbWFfcXBfb2Zmc2V0PS0yIHRocmVhZHM9MSBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTAgd2VpZ2h0cD0wIGtleWludD1pbmZpbml0ZSBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NTAgcmM9YWJyIG1idHJlZT0xIGJpdHJhdGU9NDAwIHJhdGV0b2w9MS4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAABZYiEBrxmKAAPVccAAS044AA5DRJMnkycJk4TPw=="));let i=!1,n=null,a=new VideoDecoder({output:e=>{i=!0,e.close()},error:e=>{n=e}}),o=new EncodedVideoChunk({timestamp:0,type:"key",data:s});a.configure(e),a.decode(o);try{await a.flush()}catch(h){n=h}return!!i&&null===n}function p(){return!!/mac/i.exec(navigator.platform)}function g(){return!!/win/i.exec(navigator.platform)}function w(){return!!/ipad/i.exec(navigator.platform)||!!/iphone/i.exec(navigator.platform)||!!/ipod/i.exec(navigator.platform)}d=await f(),i()}catch(o){i(o)}},1)},1689:function(e,t,s){"use strict";s.a(e,async function(e,i){try{s.d(t,{A:function(){return h}});var n=s(8155),r=e([n]),a=r.then?(await r)():r;n=a[0];const o=!n.Yf||n.CN;class h{constructor(){this._target=null,this._canvas=document.createElement("canvas"),o&&(this._canvas.style.position="fixed",this._canvas.style.zIndex="65535",this._canvas.style.pointerEvents="none",this._canvas.style.userSelect="none",this._canvas.style.WebkitUserSelect="none",this._canvas.style.visibility="hidden"),this._position={x:0,y:0},this._hotSpot={x:0,y:0},this._eventHandlers={mouseover:this._handleMouseOver.bind(this),mouseleave:this._handleMouseLeave.bind(this),mousemove:this._handleMouseMove.bind(this),mouseup:this._handleMouseUp.bind(this)}}attach(e){if(this._target&&this.detach(),this._target=e,o){document.body.appendChild(this._canvas);const e={capture:!0,passive:!0};this._target.addEventListener("mouseover",this._eventHandlers.mouseover,e),this._target.addEventListener("mouseleave",this._eventHandlers.mouseleave,e),this._target.addEventListener("mousemove",this._eventHandlers.mousemove,e),this._target.addEventListener("mouseup",this._eventHandlers.mouseup,e)}this.clear()}detach(){if(this._target){if(o){const e={capture:!0,passive:!0};this._target.removeEventListener("mouseover",this._eventHandlers.mouseover,e),this._target.removeEventListener("mouseleave",this._eventHandlers.mouseleave,e),this._target.removeEventListener("mousemove",this._eventHandlers.mousemove,e),this._target.removeEventListener("mouseup",this._eventHandlers.mouseup,e),document.contains(this._canvas)&&document.body.removeChild(this._canvas)}this._target=null}}change(e,t,s,i,n){if(0===i||0===n)return void this.clear();this._position.x=this._position.x+this._hotSpot.x-t,this._position.y=this._position.y+this._hotSpot.y-s,this._hotSpot.x=t,this._hotSpot.y=s;let r=this._canvas.getContext("2d");this._canvas.width=i,this._canvas.height=n;let a=new ImageData(new Uint8ClampedArray(e),i,n);if(r.clearRect(0,0,i,n),r.putImageData(a,0,0),o)this._updatePosition();else{let e=this._canvas.toDataURL();this._target.style.cursor="url("+e+")"+t+" "+s+", default"}}clear(){this._target.style.cursor="none",this._canvas.width=0,this._canvas.height=0,this._position.x=this._position.x+this._hotSpot.x,this._position.y=this._position.y+this._hotSpot.y,this._hotSpot.x=0,this._hotSpot.y=0}move(e,t){if(!o)return;window.visualViewport?(this._position.x=e+window.visualViewport.offsetLeft,this._position.y=t+window.visualViewport.offsetTop):(this._position.x=e,this._position.y=t),this._updatePosition();let s=document.elementFromPoint(e,t);this._updateVisibility(s)}_handleMouseOver(e){this._handleMouseMove(e)}_handleMouseLeave(e){this._updateVisibility(e.relatedTarget)}_handleMouseMove(e){this._updateVisibility(e.target),this._position.x=e.clientX-this._hotSpot.x,this._position.y=e.clientY-this._hotSpot.y,this._updatePosition()}_handleMouseUp(e){let t=document.elementFromPoint(e.clientX,e.clientY);this._updateVisibility(t),this._captureIsActive()&&window.setTimeout(()=>{this._target&&(t=document.elementFromPoint(e.clientX,e.clientY),this._updateVisibility(t))},0)}_showCursor(){"hidden"===this._canvas.style.visibility&&(this._canvas.style.visibility="")}_hideCursor(){"hidden"!==this._canvas.style.visibility&&(this._canvas.style.visibility="hidden")}_shouldShowCursor(e){return!!e&&(e===this._target||!!this._target.contains(e)&&"none"===window.getComputedStyle(e).cursor)}_updateVisibility(e){this._captureIsActive()&&(e=document.captureElement),this._shouldShowCursor(e)?this._showCursor():this._hideCursor()}_updatePosition(){this._canvas.style.left=this._position.x+"px",this._canvas.style.top=this._position.y+"px"}_captureIsActive(){return document.captureElement&&document.documentElement.contains(document.captureElement)}}i()}catch(o){i(o)}})},30395:function(e,t,s){"use strict";function i(e,t,s){const i=s.getBoundingClientRect();let n={x:0,y:0};return e<i.left?n.x=0:e>=i.right?n.x=i.width-1:n.x=e-i.left,t<i.top?n.y=0:t>=i.bottom?n.y=i.height-1:n.y=t-i.top,n}s.d(t,{B:function(){return i}})},44110:function(e,t,s){"use strict";function i(e){e.stopPropagation(),e.preventDefault()}s.d(t,{N$:function(){return l},jo:function(){return i}});let n=!1,r=null;function a(e){if(n)return;const t=new e.constructor(e.type,e);n=!0,document.captureElement?document.captureElement.dispatchEvent(t):r.dispatchEvent(t),n=!1,e.stopPropagation(),t.defaultPrevented&&e.preventDefault(),"mouseup"===e.type&&_()}function o(){const e=document.getElementById("noVNC_mouse_capture_elem");e.style.cursor=window.getComputedStyle(document.captureElement).cursor}document.captureElement=null;const h=new MutationObserver(o);function l(e){if(e.setCapture)e.setCapture(),document.captureElement=e;else{_();let t=document.getElementById("noVNC_mouse_capture_elem");null===t&&(t=document.createElement("div"),t.id="noVNC_mouse_capture_elem",t.style.position="fixed",t.style.top="0px",t.style.left="0px",t.style.width="100%",t.style.height="100%",t.style.zIndex=1e4,t.style.display="none",document.body.appendChild(t),t.addEventListener("contextmenu",a),t.addEventListener("mousemove",a),t.addEventListener("mouseup",a)),document.captureElement=e,h.observe(e,{attributes:!0}),o(),t.style.display="",window.addEventListener("mousemove",a),window.addEventListener("mouseup",a)}}function _(){if(document.releaseCapture)document.releaseCapture(),document.captureElement=null;else{if(!document.captureElement)return;r=document.captureElement,document.captureElement=null,h.disconnect();const e=document.getElementById("noVNC_mouse_capture_elem");e.style.display="none",window.removeEventListener("mousemove",a),window.removeEventListener("mouseup",a)}}},70382:function(e,t,s){"use strict";s.d(t,{A:function(){return i}});class i{constructor(){this._listeners=new Map}addEventListener(e,t){this._listeners.has(e)||this._listeners.set(e,new Set),this._listeners.get(e).add(t)}removeEventListener(e,t){this._listeners.has(e)&&this._listeners.get(e).delete(t)}dispatchEvent(e){return!this._listeners.has(e.type)||(this._listeners.get(e.type).forEach(t=>t.call(this,e)),!e.defaultPrevented)}}},17502:function(e,t,s){"use strict";function i(e){return e>>>0}function n(e){return 0|e}s.d(t,{m:function(){return n},t:function(){return i}})},83782:function(e,t,s){"use strict";s.d(t,{$D:function(){return h},P$:function(){return o},R2:function(){return a},y:function(){return r}});var i=s(4364);let n="warn",r=()=>{},a=()=>{},o=()=>{},h=()=>{};function l(e){if("undefined"===typeof e?e=n:n=e,r=a=o=h=()=>{},"undefined"!==typeof window.console)switch(e){case"debug":r=i.debug.bind(window.console);case"info":a=i.info.bind(window.console);case"warn":o=i.warn.bind(window.console);case"error":h=i.error.bind(window.console);case"none":break;default:throw new window.Error("invalid logging type '"+e+"'")}}l()},90733:function(e,t,s){"use strict";function i(e,t=!1){try{return decodeURIComponent(escape(e))}catch(s){if(s instanceof URIError&&t)return e;throw s}}function n(e){return unescape(encodeURIComponent(e))}s.d(t,{C:function(){return i},Y:function(){return n}})},54636:function(e,t,s){"use strict";s.d(t,{A:function(){return h}});var i=s(83782);const n=41943040,r={CONNECTING:"connecting",OPEN:"open",CLOSING:"closing",CLOSED:"closed"},a={CONNECTING:[WebSocket.CONNECTING,r.CONNECTING],OPEN:[WebSocket.OPEN,r.OPEN],CLOSING:[WebSocket.CLOSING,r.CLOSING],CLOSED:[WebSocket.CLOSED,r.CLOSED]},o=["send","close","binaryType","onerror","onmessage","onopen","protocol","readyState"];class h{constructor(){this._websocket=null,this._rQi=0,this._rQlen=0,this._rQbufferSize=4194304,this._rQ=null,this._sQbufferSize=10240,this._sQlen=0,this._sQ=null,this._eventHandlers={message:()=>{},open:()=>{},close:()=>{},error:()=>{}}}get readyState(){let e;return null===this._websocket?"unused":(e=this._websocket.readyState,a.CONNECTING.includes(e)?"connecting":a.OPEN.includes(e)?"open":a.CLOSING.includes(e)?"closing":a.CLOSED.includes(e)?"closed":"unknown")}rQpeek8(){return this._rQ[this._rQi]}rQskipBytes(e){this._rQi+=e}rQshift8(){return this._rQshift(1)}rQshift16(){return this._rQshift(2)}rQshift32(){return this._rQshift(4)}_rQshift(e){let t=0;for(let s=e-1;s>=0;s--)t+=this._rQ[this._rQi++]<<8*s;return t>>>0}rQlen(){return this._rQlen-this._rQi}rQshiftStr(e){let t="";for(let s=0;s<e;s+=4096){let i=this.rQshiftBytes(Math.min(4096,e-s),!1);t+=String.fromCharCode.apply(null,i)}return t}rQshiftBytes(e,t=!0){return this._rQi+=e,t?this._rQ.slice(this._rQi-e,this._rQi):this._rQ.subarray(this._rQi-e,this._rQi)}rQshiftTo(e,t){e.set(new Uint8Array(this._rQ.buffer,this._rQi,t)),this._rQi+=t}rQpeekBytes(e,t=!0){return t?this._rQ.slice(this._rQi,this._rQi+e):this._rQ.subarray(this._rQi,this._rQi+e)}rQwait(e,t,s){if(this._rQlen-this._rQi<t){if(s){if(this._rQi<s)throw new Error("rQwait cannot backup "+s+" bytes");this._rQi-=s}return!0}return!1}sQpush8(e){this._sQensureSpace(1),this._sQ[this._sQlen++]=e}sQpush16(e){this._sQensureSpace(2),this._sQ[this._sQlen++]=e>>8&255,this._sQ[this._sQlen++]=255&e}sQpush32(e){this._sQensureSpace(4),this._sQ[this._sQlen++]=e>>24&255,this._sQ[this._sQlen++]=e>>16&255,this._sQ[this._sQlen++]=e>>8&255,this._sQ[this._sQlen++]=255&e}sQpushString(e){let t=e.split("").map(e=>e.charCodeAt(0));this.sQpushBytes(new Uint8Array(t))}sQpushBytes(e){for(let t=0;t<e.length;){this._sQensureSpace(1);let s=this._sQbufferSize-this._sQlen;s>e.length-t&&(s=e.length-t),this._sQ.set(e.subarray(t,t+s),this._sQlen),this._sQlen+=s,t+=s}}flush(){this._sQlen>0&&"open"===this.readyState&&(this._websocket.send(new Uint8Array(this._sQ.buffer,0,this._sQlen)),this._sQlen=0)}_sQensureSpace(e){this._sQbufferSize-this._sQlen<e&&this.flush()}off(e){this._eventHandlers[e]=()=>{}}on(e,t){this._eventHandlers[e]=t}_allocateBuffers(){this._rQ=new Uint8Array(this._rQbufferSize),this._sQ=new Uint8Array(this._sQbufferSize)}init(){this._allocateBuffers(),this._rQi=0,this._websocket=null}open(e,t){this.attach(new WebSocket(e,t))}attach(e){this.init();const t=[...Object.keys(e),...Object.getOwnPropertyNames(Object.getPrototypeOf(e))];for(let s=0;s<o.length;s++){const e=o[s];if(t.indexOf(e)<0)throw new Error("Raw channel missing property: "+e)}this._websocket=e,this._websocket.binaryType="arraybuffer",this._websocket.onmessage=this._recvMessage.bind(this),this._websocket.onopen=()=>{i.y(">> WebSock.onopen"),this._websocket.protocol&&i.R2("Server choose sub-protocol: "+this._websocket.protocol),this._eventHandlers.open(),i.y("<< WebSock.onopen")},this._websocket.onclose=e=>{i.y(">> WebSock.onclose"),this._eventHandlers.close(e),i.y("<< WebSock.onclose")},this._websocket.onerror=e=>{i.y(">> WebSock.onerror: "+e),this._eventHandlers.error(e),i.y("<< WebSock.onerror: "+e)}}close(){this._websocket&&("connecting"!==this.readyState&&"open"!==this.readyState||(i.R2("Closing WebSocket connection"),this._websocket.close()),this._websocket.onmessage=()=>{})}_expandCompactRQ(e){const t=8*(this._rQlen-this._rQi+e),s=this._rQbufferSize<t;if(s&&(this._rQbufferSize=Math.max(2*this._rQbufferSize,t)),this._rQbufferSize>n&&(this._rQbufferSize=n,this._rQbufferSize-(this._rQlen-this._rQi)<e))throw new Error("Receive queue buffer exceeded "+n+" bytes, and the new message could not fit");if(s){const e=this._rQ.buffer;this._rQ=new Uint8Array(this._rQbufferSize),this._rQ.set(new Uint8Array(e,this._rQi,this._rQlen-this._rQi))}else this._rQ.copyWithin(0,this._rQi,this._rQlen);this._rQlen=this._rQlen-this._rQi,this._rQi=0}_recvMessage(e){this._rQlen==this._rQi&&(this._rQlen=0,this._rQi=0);const t=new Uint8Array(e.data);t.length>this._rQbufferSize-this._rQlen&&this._expandCompactRQ(t.length),this._rQ.set(t,this._rQlen),this._rQlen+=t.length,this._rQlen-this._rQi>0?this._eventHandlers.message():i.y("Ignoring empty message")}}},26942:function(e,t,s){"use strict";function i(e,t,s,i,n){if(t.subarray&&e.subarray)e.set(t.subarray(s,s+i),n);else for(var r=0;r<i;r++)e[n+r]=t[s+r]}s.d(t,{Jg:function(){return r},Qq:function(){return i},S1:function(){return n},d5:function(){return a}});var n=Uint8Array,r=Uint16Array,a=Int32Array},89430:function(e,t,s){"use strict";function i(e,t,s,i){var n=65535&e,r=e>>>16&65535,a=0;while(0!==s){a=s>2e3?2e3:s,s-=a;do{n=n+t[i++]|0,r=r+n|0}while(--a);n%=65521,r%=65521}return n|r<<16}s.d(t,{A:function(){return i}})},53704:function(e,t,s){"use strict";function i(){for(var e,t=[],s=0;s<256;s++){e=s;for(var i=0;i<8;i++)e=1&e?3988292384^e>>>1:e>>>1;t[s]=e}return t}s.d(t,{A:function(){return i}});i()},1357:function(e,t,s){"use strict";function i(){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}s.d(t,{A:function(){return i}})}}]);
//# sourceMappingURL=harvester-1.10.0-dev.umd.min.158.js.map