1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6729],{41812:function(e,t,i){function n(e,t,i,n,s,r,a){try{var o=e[r](a),h=o.value}catch(e){return void i(e)}o.done?t(h):Promise.resolve(h).then(n,s)}function s(e){return function(){var t=this,i=arguments;return new Promise(function(s,r){var a=e.apply(t,i);function o(e){n(a,s,r,o,h,"next",e)}function h(e){n(a,s,r,o,h,"throw",e)}o(void 0)})}}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}function a(e,t){if(e){if("string"==typeof e)return r(e,t);var i=({}).toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?r(e,t):void 0}}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var n,s,r,a,o=[],h=!0,u=!1;try{if(r=(i=i.call(e)).next,0===t);else for(;!(h=(n=r.call(i)).done)&&(o.push(n.value),o.length!==t);h=!0);}catch(e){u=!0,s=e}finally{try{if(!h&&null!=i.return&&(a=i.return(),Object(a)!==a))return}finally{if(u)throw s}}return o}}(e,t)||a(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,function(e){var t=function(e,t){if("object"!=u(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var n=i.call(e,t);if("object"!=u(n))return n;throw TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==u(t)?t:t+""}(n.key),n)}}function l(e,t,i){return t&&c(e.prototype,t),i&&c(e,i),Object.defineProperty(e,"prototype",{writable:!1}),e}function _(e,t){if(t&&("object"==u(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e,t){return(f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}i.r(t),i.d(t,{default:function(){return iX}});var v,g,y,m,k,w,b,x,S,K,C,X,A,E,F,Q={exports:{}},M={exports:{}};!function(e){function t(i){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(i)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(M);var B=M.exports;!function(e){var t=B.default;function i(){e.exports=i=function(){return s},e.exports.__esModule=!0,e.exports.default=e.exports;var n,s={},r=Object.prototype,a=r.hasOwnProperty,o=Object.defineProperty||function(e,t,i){e[t]=i.value},h="function"==typeof Symbol?Symbol:{},u=h.iterator||"@@iterator",c=h.asyncIterator||"@@asyncIterator",l=h.toStringTag||"@@toStringTag";function _(e,t,i){return Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{_({},"")}catch(e){_=function(e,t,i){return e[t]=i}}function d(e,t,i,s){var r,a,h=Object.create((t&&t.prototype instanceof m?t:m).prototype);return o(h,"_invoke",{value:(r=new F(s||[]),a=p,function(t,s){if(a===v)throw Error("Generator is already running");if(a===g){if("throw"===t)throw s;return{value:n,done:!0}}for(r.method=t,r.arg=s;;){var o=r.delegate;if(o){var h=function e(t,i){var s=i.method,r=t.iterator[s];if(r===n)return i.delegate=null,"throw"===s&&t.iterator.return&&
vendor: 5,137 bytes, line 1
1(i.method="return",i.arg=n,e(t,i),"throw"===i.method)||"return"!==s&&(i.method="throw",i.arg=TypeError("The iterator does not provide a '"+s+"' method")),y;var a=f(r,t.iterator,i.arg);if("throw"===a.type)return i.method="throw",i.arg=a.arg,i.delegate=null,y;var o=a.arg;return o?o.done?(i[t.resultName]=o.value,i.next=t.nextLoc,"return"!==i.method&&(i.method="next",i.arg=n),i.delegate=null,y):o:(i.method="throw",i.arg=TypeError("iterator result is not an object"),i.delegate=null,y)}(o,r);if(h){if(h===y)continue;return h}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if(a===p)throw a=g,r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);a=v;var u=f(e,i,r);if("normal"===u.type){if(a=r.done?g:"suspendedYield",u.arg===y)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(a=g,r.method="throw",r.arg=u.arg)}})}),h}function f(e,t,i){try{return{type:"normal",arg:e.call(t,i)}}catch(e){return{type:"throw",arg:e}}}s.wrap=d;var p="suspendedStart",v="executing",g="completed",y={};function m(){}function k(){}function w(){}var b={};_(b,u,function(){return this});var x=Object.getPrototypeOf,S=x&&x(x(Q([])));S&&S!==r&&a.call(S,u)&&(b=S);var K=w.prototype=m.prototype=Object.create(b);function C(e){["next","throw","return"].forEach(function(t){_(e,t,function(e){return this._invoke(t,e)})})}function X(e,i){var n;o(this,"_invoke",{value:function(s,r){function o(){return new i(function(n,o){!function n(s,r,o,h){var u=f(e[s],e,r);if("throw"!==u.type){var c=u.arg,l=c.value;return l&&"object"==t(l)&&a.call(l,"__await")?i.resolve(l.__await).then(function(e){n("next",e,o,h)},function(e){n("throw",e,o,h)}):i.resolve(l).then(function(e){c.value=e,o(c)},function(e){return n("throw",e,o,h)})}h(u.arg)}(s,r,n,o)})}return n=n?n.then(o,o):o()}})}function A(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(A,this),this.reset(!0)}function Q(e){if(e||""===e){var i=e[u];if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,r=function t(){for(;++s<e.length;)if(a.call(e,s))return t.value=e[s],t.done=!1,t;return t.value=n,t.done=!0,t};return r.next=r}}throw TypeError(t(e)+" is not iterable")}return k.prototype=w,o(K,"constructor",{value:w,configurable:!0}),o(w,"constructor",{value:k,configurable:!0}),k.displayName=_(w,l,"GeneratorFunction"),s.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===k||"GeneratorFunction"===(t.displayName||t.name))},s.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,w):(e.__proto__=w,_(e,l,"GeneratorFunction")),e.prototype=Object.create(K),e},s.awrap=function(e){return{__await:e}},C(X.prototype),_(X.prototype,c,function(){return this}),s.AsyncIterator=X,s.async=function(e,t,i,n,r){void 0===r&&(r=Promise);var a=new X(d(e,t,i,n),r);return s.isGeneratorFunction(t)?a:a.next().then(function(e){return e.done?e.value:a.next()})},C(K),_(K,l,"Generator"),_(K,u,function(){return this}),_(K,"toString",function(){return"[object Generator]"}),s.keys=function(e){var t=Object(e),i=[];for(var n in t)i.push(n);return i.reverse(),function e(){for(;i.length;){var n=i.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},s.values=Q,F.prototype={constructor:F,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&a.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=n)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function i(i,s){return o.type="throw",o.arg=e,t.next=i,s&&(t.method="next",t.arg=n),!!s}for(var s=this.tryEntries.length-1;s>=0;--s){var r=this.tryEntries[s],o=r.completion;if("root"===r.tryLoc)return i("end");if(r.tryLoc<=this.prev){var h=a.call(r,"catchLoc"),u=a.call(r,"finallyLoc");if(h&&u){if(this.prev<r.catchLoc)return i(r.catchLoc,!0);if(this.prev<r.finallyLoc)return i(r.finallyLoc)}else if(h){if(this.prev<r.catchLoc)return i(r.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<r.finallyLoc)return i(r.finallyLoc)}}}},abrupt:function(e,t){for(var i=this.tryEntries.length-1;i>=0;--i){var n=this.tryEntries[i];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var s=n;break}}s&&("break"===e||"continue"===e)&&s.tryLoc<=t&&t<=s.finallyLoc&&(s=null);var r=s?s.completion:{};return r.type=e,r.arg=t,s?(this.method="next",this.next=s.finallyLoc,y):this.complete(r)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];
1if(i.finallyLoc===e)return this.complete(i.completion,i.afterLoc),E(i),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var i=this.tryEntries[t];if(i.tryLoc===e){var n=i.completion;if("throw"===n.type){var s=n.arg;E(i)}return s}}throw Error("illegal catch attempt")},delegateYield:function(e,t,i){return this.delegate={iterator:Q(e),resultName:t,nextLoc:i},"next"===this.method&&(this.arg=n),y}},s}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports}(Q);var L=(0,Q.exports)();try{regeneratorRuntime=L}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=L:Function("r","regeneratorRuntime = r")(L)}var R=L&&L.__esModule&&Object.prototype.hasOwnProperty.call(L,"default")?L.default:L,T="warn",P=function(){},D=function(){},I=function(){},U=function(){};function z(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{return decodeURIComponent(escape(e))}catch(i){if(i instanceof URIError&&t)return e;throw i}}function H(e){return unescape(encodeURIComponent(e))}!function(e){if(void 0===e?e=T:T=e,P=D=I=U=function(){},void 0!==window.console)switch(e){case"debug":P=console.debug.bind(window.console);case"info":D=console.info.bind(window.console);case"warn":I=console.warn.bind(window.console);case"error":U=console.error.bind(window.console);case"none":break;default:throw new window.Error("invalid logging type '"+e+"'")}}();var N={toBase64Table:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".split(""),base64Pad:"=",encode:function(e){for(var t="",i=e.length,n=i%3,s=0;s<i-2;s+=3)t+=this.toBase64Table[e[s]>>2]+this.toBase64Table[((3&e[s])<<4)+(e[s+1]>>4)]+this.toBase64Table[((15&e[s+1])<<2)+(e[s+2]>>6)]+this.toBase64Table[63&e[s+2]];var r=i-n;return 2===n?t+=this.toBase64Table[e[r]>>2]+this.toBase64Table[((3&e[r])<<4)+(e[r+1]>>4)]+this.toBase64Table[(15&e[r+1])<<2]+this.toBase64Table[64]:1===n&&(t+=this.toBase64Table[e[r]>>2]+this.toBase64Table[(3&e[r])<<4]+this.toBase64Table[64]+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:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=e.indexOf("=")-t;i<0&&(i=e.length-t);for(var n=Array((i>>2)*3+Math.floor(i%4/1.5)),s=0,r=0,a=0,o=t;o<e.length;o++){var h=this.toBinaryTable[127&e.charCodeAt(o)],u=e.charAt(o)===this.base64Pad;if(-1===h){U("Illegal character code "+e.charCodeAt(o)+" at position "+o);continue}r=r<<6|h,(s+=6)>=8&&(s-=8,u||(n[a++]=r>>s&255),r&=(1<<s)-1)}if(s){var c=Error("Corrupted base64 string");throw c.name="Base64-Error",c}return n}},V=!1,O=10,W=!1,G=!1,j=!1,Y=!1,Z=!1;if("undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator){var q,J=(q=s(R.mark(function e(){var t,i,n,s,r,a;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if("VideoDecoder"in window){e.next=2;break}return e.abrupt("return",!1);case 2:return t={codec:"avc1.42401f",codedWidth:1920,codedHeight:1080,optimizeForLatency:!0},e.prev=3,e.next=6,VideoDecoder.isConfigSupported(t);case 6:if(e.sent.supported){e.next=9;break}return e.abrupt("return",!1);case 9:return i=new Uint8Array(N.decode("AAAAAWdCwBTZnpuAgICgAAADACAAAAZB4oVNAAAAAWjJYyyAAAABBgX//4HcRem95tlIt5Ys2CDZI+7veDI2NCAtIGNvcmUgMTY0IHIzMTA4IDMxZTE5ZjkgLSBILjI2NC9NUEVHLTQgQVZDIGNvZGVjIC0gQ29weWxlZnQgMjAwMy0yMDIzIC0gaHR0cDovL3d3dy52aWRlb2xhbi5vcmcveDI2NC5odG1sIC0gb3B0aW9uczogY2FiYWM9MCByZWY9NSBkZWJsb2NrPTE6MDowIGFuYWx5c2U9MHgxOjB4MTExIG1lPWhleCBzdWJtZT04IHBzeT0xIHBzeV9yZD0xLjAwOjAuMDAgbWl4ZWRfcmVmPTEgbWVfcmFuZ2U9MTYgY2hyb21hX21lPTEgdHJlbGxpcz0yIDh4OGRjdD0wIGNxbT0wIGRlYWR6b25lPTIxLDExIGZhc3RfcHNraXA9MSBjaHJvbWFfcXBfb2Zmc2V0PS0yIHRocmVhZHM9MSBsb29rYWhlYWRfdGhyZWFkcz0xIHNsaWNlZF90aHJlYWRzPTAgbnI9MCBkZWNpbWF0ZT0xIGludGVybGFjZWQ9MCBibHVyYXlfY29tcGF0PTAgY29uc3RyYWluZWRfaW50cmE9MCBiZnJhbWVzPTAgd2VpZ2h0cD0wIGtleWludD1pbmZpbml0ZSBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NTAgcmM9YWJyIG
11idHJlZT0xIGJpdHJhdGU9NDAwIHJhdGV0b2w9MS4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAAABZYiEBrxmKAAPVccAAS044AA5DRJMnkycJk4TPw==")),n=!1,s=null,r=new VideoDecoder({output:function(e){n=!0,e.close()},error:function(e){s=e}}),a=new EncodedVideoChunk({timestamp:0,type:"key",data:i}),r.configure(t),r.decode(a),e.prev=16,e.next=19,r.flush();case 19:e.next=24;break;case 21:e.prev=21,e.t0=e.catch(16),s=e.t0;case 24:if(!(!n||null!==s)){e.next=27;break}return I("WebCodecs H.264 decode test failed (frame/error)."),e.abrupt("return",!1);case 27:return D("WebCodecs H.264 decode supported."),e.abrupt("return",!0);case 31:return e.prev=31,e.t1=e.catch(3),U("WebCodecs H.264 decode support check failed: "+e.t1),e.abrupt("return",!1);case 35:case"end":return e.stop()}},e,null,[[3,31],[16,21]])})),function(){return q.apply(this,arguments)});V="ontouchstart"in document.documentElement||void 0!==document.ontouchstart||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0,window.addEventListener("touchstart",function e(){V=!0,window.removeEventListener("touchstart",e,!1)},!1),O=10*(window.devicePixelRatio||1);try{var $=document.createElement("canvas");$.style.cursor='url("data:image/x-icon;base64,AAACAAEACAgAAAIAAgA4AQAAFgAAACgAAAAIAAAAEAAAAAEAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAA==") 2 2, default',0===$.style.cursor.indexOf("url")?(D("Data URI scheme cursor supported"),W=!0):I("Data URI scheme cursor not supported")}catch(e){U("Data URI scheme cursor test exception: "+e)}try{var ee=document.createElement("div");ee.style.visibility="hidden",ee.style.width="100px",ee.style.position="absolute",ee.style.top="-9999px",ee.style.overflow="scroll",document.body.appendChild(ee);var et=document.createElement("div");et.style.width="100%",ee.appendChild(et);var ei=ee.offsetWidth-ee.clientWidth;document.body.removeChild(ee),ei>0?D("Scrollbar test indicates gutter present"):D("Scrollbar test indicates no gutter")}catch(e){U("Scrollbar test exception: "+e)}var en=navigator.platform||"",es=navigator.userAgent||"";j=!!/mac/i.exec(en),Y=!!/win/i.exec(en),Z=!!/ipad/i.exec(en)||!!/iphone/i.exec(en)||!!/ipod/i.exec(en),es.match("Android "),es.match(" CrOS "),!es.match("Safari/...")||es.match("Chrome/...")||es.match("Chromium/...")||es.match("Epiphany/...")||es.match("Edg/...")||es.match("OPR/..."),es.match("Firefox/...")&&es.match("Seamonkey/..."),!es.match("Chrome/...")||es.match("Chromium/...")||es.match("Edg/...")||es.match("OPR/..."),es.match("Chromium/...")&&es.match("Edg/..."),es.match("OPR/..."),es.match("Edg/..."),es.match("Gecko/...")&&es.match("like Gecko"),!es.match("AppleWebKit/...")||es.match("Chrome/...")||es.match("Edg/..."),!es.match("Chrome/...")||es.match("OPR/...")||es.match("Edg/..."),J().then(function(e){G=e})}else D("Running outside browser environment, browser features disabled.");var er=V,ea=O,eo=W,eh=G;function eu(e,t,i){var n=i.getBoundingClientRect(),s={x:0,y:0};return e<n.left?s.x=0:e>=n.right?s.x=n.width-1:s.x=e-n.left,t<n.top?s.y=0:t>=n.bottom?s.y=n.height-1:s.y=t-n.top,s}function ec(e){e.stopPropagation(),e.preventDefault()}var el=!1,e_=null;function ed(e){if(!el){var t=new e.constructor(e.type,e);el=!0,document.captureElement?document.captureElement.dispatchEvent(t):e_.dispatchEvent(t),el=!1,e.stopPropagation(),t.defaultPrevented&&e.preventDefault(),"mouseup"===e.type&&ev()}}function ef(){document.getElementById("noVNC_mouse_capture_elem").style.cursor=window.getComputedStyle(document.captureElement).cursor}document.captureElement=null;var ep=new MutationObserver(ef);function ev(){if(document.releaseCapture)document.releaseCapture(),document.captureElement=null;else{if(!document.captureElement)return;e_=document.captureElement,document.captureElement=null,ep.disconnect(),document.getElementById("noVNC_mouse_capture_elem").style.display="none",window.removeEventListener("mousemove",ed),window.removeEventListener("mouseup",ed)}}var eg=l(function e(){h(this,e),this._listeners=new Map},[{key:"addEventListener",value:function(e,t){this._listeners.has(e)||this._listeners.set(e,new Set),this._listeners.get(e).add(t)}},{key:"removeEventListener",value:function(e,t){this._listeners.has(e)&&this._listeners.get(e).delete(t)}},{key:"dispatchEvent",value:function(e){var t=this;return!this._listeners.has(e.type)||(this._listeners.get(e.type).forEach(function(i){return i.call(t,e)}),!e.defaultPrevented)}}]),ey=l(function e(t){if(h(this,e),this._drawCtx=null,this._renderQ=[],this._flushPromise=null,this._fbWidth=0,this._fbHeight=0,this._prevDrawStyle="",P(">> Display.constructor"),this._target=t,!this._target)throw Error("Target must be set");if("string"==typeof this._target)throw Error("target must be a DOM element");
1if(!this._target.getContext)throw 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},P("User Agent: "+navigator.userAgent),P("<< Display.constructor"),this._scale=1,this._clipViewport=!1},[{key:"scale",get:function(){return this._scale},set:function(e){this._rescale(e)}},{key:"clipViewport",get:function(){return this._clipViewport},set:function(e){this._clipViewport=e;var t=this._viewportLoc;this.viewportChangeSize(t.w,t.h),this.viewportChangePos(0,0)}},{key:"width",get:function(){return this._fbWidth}},{key:"height",get:function(){return this._fbHeight}},{key:"viewportChangePos",value:function(e,t){var i=this._viewportLoc;e=Math.floor(e),t=Math.floor(t),this._clipViewport||(e=-i.w,t=-i.h);var n=i.x+i.w-1,s=i.y+i.h-1;e<0&&i.x+e<0&&(e=-i.x),n+e>=this._fbWidth&&(e-=n+e-this._fbWidth+1),i.y+t<0&&(t=-i.y),s+t>=this._fbHeight&&(t-=s+t-this._fbHeight+1),(0!==e||0!==t)&&(P("viewportChange deltaX: "+e+", deltaY: "+t),i.x+=e,i.y+=t,this._damage(i.x,i.y,i.w,i.h),this.flip())}},{key:"viewportChangeSize",value:function(e,t){this._clipViewport&&void 0!==e&&void 0!==t||(P("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);var i=this._viewportLoc;if(i.w!==e||i.h!==t){i.w=e,i.h=t;var n=this._target;n.width=e,n.height=t,this.viewportChangePos(0,0),this._damage(i.x,i.y,i.w,i.h),this.flip(),this._rescale(this._scale)}
1}},{key:"absX",value:function(e){return 0===this._scale?0:0|e/this._scale+this._viewportLoc.x}},{key:"absY",value:function(e){return 0===this._scale?0:0|e/this._scale+this._viewportLoc.y}},{key:"resize",value:function(e,t){this._prevDrawStyle="",this._fbWidth=e,this._fbHeight=t;var i=this._backbuffer;if(i.width!==e||i.height!==t){var n=null;i.width>0&&i.height>0&&(n=this._drawCtx.getImageData(0,0,i.width,i.height)),i.width!==e&&(i.width=e),i.height!==t&&(i.height=t),n&&this._drawCtx.putImageData(n,0,0)}var s=this._viewportLoc;this.viewportChangeSize(s.w,s.h),this.viewportChangePos(0,0)}},{key:"getImageData",value:function(){return this._drawCtx.getImageData(0,0,this.width,this.height)}},{key:"toDataURL",value:function(e,t){return this._backbuffer.toDataURL(e,t)}},{key:"toBlob",value:function(e,t,i){return this._backbuffer.toBlob(e,t,i)}},{key:"_damage",value:function(e,t,i,n){e<this._damageBounds.left&&(this._damageBounds.left=e),t<this._damageBounds.top&&(this._damageBounds.top=t),e+i>this._damageBounds.right&&(this._damageBounds.right=e+i),t+n>this._damageBounds.bottom&&(this._damageBounds.bottom=t+n)}},{key:"flip",value:function(e){if(0===this._renderQ.length||e){var t=this._damageBounds.left,i=this._damageBounds.top,n=this._damageBounds.right-t,s=this._damageBounds.bottom-i,r=t-this._viewportLoc.x,a=i-this._viewportLoc.y;r<0&&(n+=r,t-=r,r=0),a<0&&(s+=a,i-=a,a=0),r+n>this._viewportLoc.w&&(n=this._viewportLoc.w-r),a+s>this._viewportLoc.h&&(s=this._viewportLoc.h-a),n>0&&s>0&&this._targetCtx.drawImage(this._backbuffer,t,i,n,s,r,a,n,s),this._damageBounds.left=this._damageBounds.top=65535,this._damageBounds.right=this._damageBounds.bottom=0}else this._renderQPush({type:"flip"})}},{key:"pending",value:function(){return this._renderQ.length>0}},{key:"flush",value:function(){var e=this;return 0===this._renderQ.length?Promise.resolve():(null===this._flushPromise&&(this._flushPromise=new Promise(function(t){e._flushResolve=t})),this._flushPromise)}},{key:"fillRect",value:function(e,t,i,n,s,r){0===this._renderQ.length||r?(this._setFillColor(s),this._drawCtx.fillRect(e,t,i,n),this._damage(e,t,i,n)):this._renderQPush({type:"fill",x:e,y:t,width:i,height:n,color:s})}},{key:"copyImage",value:function(e,t,i,n,s,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,s,r,i,n,s,r),this._damage(i,n,s,r)):this._renderQPush({type:"copy",oldX:e,oldY:t,x:i,y:n,width:s,height:r})}},{key:"imageRect",value:function(e,t,i,n,s,r){if(0!==i&&0!==n){var a=new Image;a.src="data: "+s+";base64,"+N.encode(r),this._renderQPush({type:"img",img:a,x:e,y:t,width:i,height:n})}}},{key:"videoFrame",value:function(e,t,i,n,s){this._renderQPush({type:"frame",frame:s,x:e,y:t,width:i,height:n})}},{key:"blitImage",value:function(e,t,i,n,s,r,a){if(0===this._renderQ.length||a){var o=new ImageData(new Uint8ClampedArray(s.buffer,s.byteOffset+r,i*n*4),i,n);this._drawCtx.putImageData(o,e,t),this._damage(e,t,i,n)}else{var h=new Uint8Array(i*n*4);h.set(new Uint8Array(s.buffer,0,h.length)),this._renderQPush({type:"blit",data:h,x:e,y:t,width:i,height:n})}}},{key:"drawImage",value:function(e){for(var t,i=arguments.length,n=Array(i>1?i-1:0),s=1;s<i;s++)n[s-1]=arguments[s];if((t=this._drawCtx).drawImage.apply(t,[e].concat(n)),n.length<=4){var r=n[0],a=n[1];this._damage(r,a,e.width,e.height)}else{var o=n[2],h=n[3],u=n[4],c=n[5];this._damage(u,c,o,h)}}},{key:"autoscale",value:function(e,t){var i;if(0===e||0===t)i=0;else{var n=this._viewportLoc;i=n.w/n.h>=e/t?e/n.w:t/n.h}this._rescale(i)}},{key:"_rescale",value:function(e){this._scale=e;var t=this._viewportLoc,i=e*t.w+"px",n=e*t.h+"px";(this._target.style.width!==i||this._target.style.height!==n)&&(this._target.style.width=i,this._target.style.height=n)}},{key:"_setFillColor",value:function(e){var t="rgb("+e[0]+","+e[1]+","+e[2]+")";t!==this._prevDrawStyle&&(this._drawCtx.fillStyle=t,this._prevDrawStyle=t)}},{key:"_renderQPush",value:function(e){this._renderQ.push(e),1===this._renderQ.length&&this._scanRenderQ()}},{key:"_resumeRenderQ",value:function(){this.removeEventListener("load",this._noVNCDisplay._resumeRenderQ),this._noVNCDisplay._scanRenderQ()}},{key:"_scanRenderQ",value:function(){for(var e,t=this,i=!0;i&&this._renderQ.length>0;)if(e=function(){var e=t._renderQ[0];switch(e.type){case"flip":t.flip(!0);break;case"copy":t.copyImage(e.oldX,e.oldY,e.x,e.y,e.width,e.height,!0);break;case"fill":t.fillRect(e.x,e.y,e.width,e.height,e.color,!0);break;case"blit":t.blitImage(e.x,e.y,e.width,e.height,e.data,0,!0);break;case"img":if(e.img.complete){if(e.img.width!==e.width||e.img.height!==e.height)return U("Decoded image has incorrect dimensions. Got "+e.img.width+"x"+e.img.he
1ight+". Expected "+e.width+"x"+e.height+"."),{v:void 0};t.drawImage(e.img,e.x,e.y)}else e.img._noVNCDisplay=t,e.img.addEventListener("load",t._resumeRenderQ),i=!1;break;case"frame":if(e.frame.ready){var n=e.frame.frame;(n.codedWidth<e.width||n.codedHeight<e.height)&&I("Decoded video frame does not cover its full rectangle area. Expecting at least "+e.width+"x"+e.height+" but got "+n.codedWidth+"x"+n.codedHeight);var s=e.width,r=e.height,a=e.x,o=e.y;t.drawImage(n,0,0,s,r,a,o,s,r),n.close()}else e.frame.promise.then(function(){t._scanRenderQ()}),i=!1}i&&t._renderQ.shift()}())return e.v;0===this._renderQ.length&&null!==this._flushPromise&&(this._flushResolve(),this._flushPromise=null,this._flushResolve=null)}}]);function em(e,t,i,n,s){if(t.subarray&&e.subarray){e.set(t.subarray(i,i+n),s);return}for(var r=0;r<n;r++)e[s+r]=t[i+r]}var ek=Uint8Array,ew=Uint16Array,eb=Int32Array;function ex(e,t,i,n){for(var s=65535&e|0,r=e>>>16&65535|0,a=0;0!==i;){a=i>2e3?2e3:i,i-=a;do r=r+(s=s+t[n++]|0)|0;while(--a);s%=65521,r%=65521}return s|r<<16|0}function eS(){for(var e,t=[],i=0;i<256;i++){e=i;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[i]=e}return t}eS();var eK=[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],eC=[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],eX=[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],eA=[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 eE(e,t,i,n,s,r,a,o){var h,u,c,l,_,d,f,p,v,g=o.bits,y=0,m=0,k=0,w=0,b=0,x=0,S=0,K=0,C=0,X=0,A=null,E=0,F=new ew(16),Q=new ew(16),M=null,B=0;for(y=0;y<=15;y++)F[y]=0;for(m=0;m<n;m++)F[t[i+m]]++;for(w=15,b=g;w>=1&&0===F[w];w--);if(b>w&&(b=w),0===w)return s[r++]=20971520,s[r++]=20971520,o.bits=1,0;for(k=1;k<w&&0===F[k];k++);for(b<k&&(b=k),K=1,y=1;y<=15;y++)if(K<<=1,(K-=F[y])<0)return -1;if(K>0&&(0===e||1!==w))return -1;for(y=1,Q[1]=0;y<15;y++)Q[y+1]=Q[y]+F[y];for(m=0;m<n;m++)0!==t[i+m]&&(a[Q[t[i+m]]++]=m);if(0===e?(A=M=a,d=19):1===e?(A=eK,E-=257,M=eC,B-=257,d=256):(A=eX,M=eA,d=-1),X=0,m=0,y=k,_=r,x=b,S=0,c=-1,l=(C=1<<b)-1,1===e&&C>852||2===e&&C>592)return 1;for(;;){f=y-S,a[m]<d?(p=0,v=a[m]):a[m]>d?(p=M[B+a[m]],v=A[E+a[m]]):(p=96,v=0),h=1<<y-S,k=u=1<<x;do s[_+(X>>S)+(u-=h)]=f<<24|p<<16|v|0;while(0!==u);for(h=1<<y-1;X&h;)h>>=1;if(0!==h?(X&=h-1,X+=h):X=0,m++,0==--F[y]){if(y===w)break;y=t[i+a[m]]}if(y>b&&(X&l)!==c){for(0===S&&(S=b),_+=k,K=1<<(x=y-S);x+S<w&&!((K-=F[x+S])<=0);)x++,K<<=1;if(C+=1<<x,1===e&&C>852||2===e&&C>592)return 1;s[c=X&l]=b<<24|x<<16|_-r|0}}return 0!==X&&(s[_+X]=y-S<<24|4194304),o.bits=b,0}function eF(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function eQ(){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 ew(320),this.work=new ew(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function eM(e){var t,i;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,e&&e.state?(i=e.state,e.total_in=e.total_out=i.total=0,e.msg="",i.wrap&&(e.adler=1&i.wrap),i.mode=1,i.last=0,i.havedict=0,i.dmax=32768,i.head=null,i.hold=0,i.bits=0,i.lencode=i.lendyn=new eb(852),i.distcode=i.distdyn=new eb(592),i.sane=1,i.back=-1,0):-2):-2}var eB=!0;function eL(){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}var eR=l(function e(){var t,i,n,s,r,a;h(this,e),this.strm=new eL,this.chunkSize=102400,this.strm.output=new Uint8Array(this.chunkSize),t=this.strm,i=0,!t||(n=new eQ,t.state=n,n.window=null,s=15,0===(t&&t.state?(a=t.state,s<0?(r=0,s=-s):(r=(s>>4)+1,s<48&&(s&=15)),s&&(s<8||s>15))?-2:(null!==a.window&&a.wbits!==s&&(a.window=null),a.wrap=r,a.wbits=s,eM(t)):-2)||(t.state=null))},[{key:"setInput",value:function(e){e?(this.strm.input=e,this.strm.avail_in=this.strm.input.length):(this.strm.input=null,this.strm.avail_in=0),this.strm.next_in=0}},{key:"inflate",value:function(e){if(e>this.chunkSize&&(this.chunkSize=e,this.strm.output=new Uint8Array(this.chunkSize)),this.strm.next_out=0,this.strm.avail_out=e,0>function(e,t){var i,n,s,r,a,o,h,u,c,l,_,d,f,p,v,g,y,w,b,x,S,K,C,X,A,E,F,Q,M,B=0,L=new ek(4),R=[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 -2;12===(o=e.state).mode&&(o.mode=13),l=e.next_out,u=e.output,d=e.avail_out,c=e.next_in,h=e.input,_=e.avail_in,f=o.hold,p=o.bits,v=_,g=d,F=0;e:for(;;)switch(o.mode){case 1:if(0===o.wrap){o.mode=13;break}for(;p<16;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(2&o.wrap&&35615===f){o.check=0,L[0]=255&f,L[1]=f>>>8&255,o.check=eS(o.check),f=0,p=0,o.mode=2;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&f)<<8)+(f>>8))%31){e.msg="incorrect header check",o.mode=30;break}if((15&f)!=8){e.msg="unknown compression method",o.mode=30;break}if(f>>>=4,p-=4,E=(15&f)+8,0===o.wbits)o.wbits=E;else if(E>o.wbits){e.msg="invalid window size",o.mode=30;break}o.dmax=1<<E,e.adler=o.check=1,o.mode=512&f?10:12,f=0,p=0;break;case 2:for(;p<16;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(o.flags=f,(255&o.flags)!=8){e.msg="unknown compression method",o.mode=30;break}if(57344&o.flags){e.msg="unknown header flags set",o.mode=30;break}o.head&&(o.head.text=f>>8&1),512&o.flags&&(L[0]=255&f,L[1]=f>>>8&255,o.check=eS(o.check)),f=0,p=0,o.mode=3;case 3:for(;p<32;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}o.head&&(o.head.time=f),512&o.flags&&(L[0]=255&f,L[1]=f>>>8&255,L[2]=f>>>16&255,L[3]=f>>>24&255,o.check=eS(o.check)),f=0,p=0,o.mode=4;case 4:for(;p<16;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}o.head&&(o.head.xflags=255&f,o.head.os=f>>8),512&o.flags&&(L[0]=255&f,L[1]=f>>>8&255,o.check=eS(o.check)),f=0,p=0,o.mode=5;case 5:if(1024&o.flags){for(;p<16;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}o.length=f,o.head&&(o.head.extra_len=f),512&o.flags&&(L[0]=255&f,L[1]=f>>>8&255,o.check=eS(o.check)),f=0,p=0}else o.head&&(o.head.extra=null);o.mode=6;case 6:if(1024&o.flags&&((y=o.length)>_&&(y=_),y&&(o.head&&(E=o.head.extra_len-o.length,o.head.extra||(o.head.extra=Array(o.head.extra_len)),em(o.head.extra,h,c,y,E)),512&o.flags&&(o.check=eS(o.check)),_-=y,c+=y,o.length-=y),o.length))break e;o.length=0,o.mode=7;case 7:if(2048&o.flags){if(0===_)break e;y=0;do E=h[c+y++],o.head&&E&&o.length<65536&&(o.head.name+=String.fromCharCode(E));while(E&&y<_);if(512&o.flags&&(o.check=eS(o.check)),_-=y,c+=y,E)break e}else o.head&&(o.head.name=null);o.length=0,o.mode=8;case 8:if(4096&o.flags){if(0===_)break e;y=0;do E=h[c+y++],o.head&&E&&o.length<65536&&(o.head.comment+=String.fromCharCode(E));while(E&&y<_);if(512&o.flags&&(o.check=eS(o.check)),_-=y,c+=y,E)break e}else o.head&&(o.head.comment=null);o.mode=9;case 9:if(512&o.flags){for(;p<16;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(f!==(65535&o.check)){e.msg="header crc mismatch",o.mode=30;break}f=0,p=0}o.head&&(o.head.hcrc=o.flags>>9&1,o.head.done=!0),e.adler=o.check=0,o.mode=12;break;case 10:for(;p<32;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}e.adler=o.check=eF(f),f=0,p=0,o.mode=11;case 11:if(0===o.havedict)return e.next_out=l,e.avail_out=d,e.next_in=c,e.avail_in=_,o.hold=f,o.bits=p,2;e.adler=o.check=1,o.mode=12;case 12:case 13:if(o.last){f>>>=7&p,p-=7&p,o.mode=27;break}for(;p<3;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}switch(o.last=1&f,p-=1,3&(f>>>=1)){case 0:o.mode=14;break;case 1:(function(e){if(eB){var t;for(m=new eb(512),k=new eb(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(eE(1,e.lens,0,288,m,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;eE(2,e.lens,0,32,k,0,e.work,{bits:5}),eB=!1}
1e.lencode=m,e.lenbits=9,e.distcode=k,e.distbits=5})(o),o.mode=20;break;case 2:o.mode=17;break;case 3:e.msg="invalid block type",o.mode=30}f>>>=2,p-=2;break;case 14:for(f>>>=7&p,p-=7&p;p<32;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if((65535&f)!=(f>>>16^65535)){e.msg="invalid stored block lengths",o.mode=30;break}o.length=65535&f,f=0,p=0,o.mode=15;case 15:o.mode=16;case 16:if(y=o.length){if(y>_&&(y=_),y>d&&(y=d),0===y)break e;em(u,h,c,y,l),_-=y,c+=y,d-=y,l+=y,o.length-=y;break}o.mode=12;break;case 17:for(;p<14;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(o.nlen=(31&f)+257,f>>>=5,p-=5,o.ndist=(31&f)+1,f>>>=5,p-=5,o.ncode=(15&f)+4,f>>>=4,p-=4,o.nlen>286||o.ndist>30){e.msg="too many length or distance symbols",o.mode=30;break}o.have=0,o.mode=18;case 18:for(;o.have<o.ncode;){for(;p<3;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}o.lens[R[o.have++]]=7&f,f>>>=3,p-=3}for(;o.have<19;)o.lens[R[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,Q={bits:o.lenbits},F=eE(0,o.lens,0,19,o.lencode,0,o.work,Q),o.lenbits=Q.bits,F){e.msg="invalid code lengths set",o.mode=30;break}o.have=0,o.mode=19;case 19:for(;o.have<o.nlen+o.ndist;){for(;x=(B=o.lencode[f&(1<<o.lenbits)-1])>>>24,S=B>>>16&255,K=65535&B,!(x<=p);){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(K<16)f>>>=x,p-=x,o.lens[o.have++]=K;else{if(16===K){for(M=x+2;p<M;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(f>>>=x,p-=x,0===o.have){e.msg="invalid bit length repeat",o.mode=30;break}E=o.lens[o.have-1],y=3+(3&f),f>>>=2,p-=2}else if(17===K){for(M=x+3;p<M;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}f>>>=x,p-=x,E=0,y=3+(7&f),f>>>=3,p-=3}else{for(M=x+7;p<M;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}f>>>=x,p-=x,E=0,y=11+(127&f),f>>>=7,p-=7}if(o.have+y>o.nlen+o.ndist){e.msg="invalid bit length repeat",o.mode=30;break}for(;y--;)o.lens[o.have++]=E}}if(30===o.mode)break;if(0===o.lens[256]){e.msg="invalid code -- missing end-of-block",o.mode=30;break}if(o.lenbits=9,Q={bits:o.lenbits},F=eE(1,o.lens,0,o.nlen,o.lencode,0,o.work,Q),o.lenbits=Q.bits,F){e.msg="invalid literal/lengths set",o.mode=30;break}if(o.distbits=6,o.distcode=o.distdyn,Q={bits:o.distbits},F=eE(2,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,Q),o.distbits=Q.bits,F){e.msg="invalid distances set",o.mode=30;break}o.mode=20;
1case 20:o.mode=21;case 21:if(_>=6&&d>=258){e.next_out=l,e.avail_out=d,e.next_in=c,e.avail_in=_,o.hold=f,o.bits=p,function(e,t){var i,n,s,r,a,o,h,u,c,l,_,d,f,p,v,g,y,m,k,w,b,x,S,K,C;i=e.state,n=e.next_in,K=e.input,s=n+(e.avail_in-5),r=e.next_out,C=e.output,a=r-(t-e.avail_out),o=r+(e.avail_out-257),h=i.dmax,u=i.wsize,c=i.whave,l=i.wnext,_=i.window,d=i.hold,f=i.bits,p=i.lencode,v=i.distcode,g=(1<<i.lenbits)-1,y=(1<<i.distbits)-1;t:do for(f<15&&(d+=K[n++]<<f,f+=8,d+=K[n++]<<f,f+=8),m=p[d&g];;){if(d>>>=k=m>>>24,f-=k,0==(k=m>>>16&255))C[r++]=65535&m;else if(16&k)for(w=65535&m,(k&=15)&&(f<k&&(d+=K[n++]<<f,f+=8),w+=d&(1<<k)-1,d>>>=k,f-=k),f<15&&(d+=K[n++]<<f,f+=8,d+=K[n++]<<f,f+=8),m=v[d&y];;){if(d>>>=k=m>>>24,f-=k,16&(k=m>>>16&255)){if(b=65535&m,f<(k&=15)&&(d+=K[n++]<<f,(f+=8)<k&&(d+=K[n++]<<f,f+=8)),(b+=d&(1<<k)-1)>h){e.msg="invalid distance too far back",i.mode=30;break t}if(d>>>=k,f-=k,b>(k=r-a)){if((k=b-k)>c&&i.sane){e.msg="invalid distance too far back",i.mode=30;break t}if(x=0,S=_,0===l){if(x+=u-k,k<w){w-=k;do C[r++]=_[x++];while(--k);x=r-b,S=C}}else if(l<k){if(x+=u+l-k,(k-=l)<w){w-=k;do C[r++]=_[x++];while(--k);if(x=0,l<w){w-=k=l;do C[r++]=_[x++];while(--k);x=r-b,S=C}}}else if(x+=l-k,k<w){w-=k;do C[r++]=_[x++];while(--k);x=r-b,S=C}for(;w>2;)C[r++]=S[x++],C[r++]=S[x++],C[r++]=S[x++],w-=3;w&&(C[r++]=S[x++],w>1&&(C[r++]=S[x++]))}else{x=r-b;do C[r++]=C[x++],C[r++]=C[x++],C[r++]=C[x++],w-=3;while(w>2);w&&(C[r++]=C[x++],w>1&&(C[r++]=C[x++]))}}else if((64&k)==0){m=v[(65535&m)+(d&(1<<k)-1)];continue}else{e.msg="invalid distance code",i.mode=30;break t}break}else if((64&k)==0){m=p[(65535&m)+(d&(1<<k)-1)];continue}else if(32&k){i.mode=12;break t}else{e.msg="invalid literal/length code",i.mode=30;break t}break}while(n<s&&r<o);n-=w=f>>3,f-=w<<3,d&=(1<<f)-1,e.next_in=n,e.next_out=r,e.avail_in=n<s?5+(s-n):5-(n-s),e.avail_out=r<o?257+(o-r):257-(r-o),i.hold=d,i.bits=f}(e,g),l=e.next_out,u=e.output,d=e.avail_out,c=e.next_in,h=e.input,_=e.avail_in,f=o.hold,p=o.bits,12===o.mode&&(o.back=-1);break}for(o.back=0;x=(B=o.lencode[f&(1<<o.lenbits)-1])>>>24,S=B>>>16&255,K=65535&B,!(x<=p);){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(S&&(240&S)==0){for(C=x,X=S,A=K;x=(B=o.lencode[A+((f&(1<<C+X)-1)>>C)])>>>24,S=B>>>16&255,K=65535&B,!(C+x<=p);){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}f>>>=C,p-=C,o.back+=C}if(f>>>=x,p-=x,o.back+=x,o.length=K,0===S){o.mode=26;break}if(32&S){o.back=-1,o.mode=12;break}if(64&S){e.msg="invalid literal/length code",o.mode=30;break}o.extra=15&S,o.mode=22;case 22:if(o.extra){for(M=o.extra;p<M;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}o.length+=f&(1<<o.extra)-1,f>>>=o.extra,p-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=23;case 23:for(;x=(B=o.distcode[f&(1<<o.distbits)-1])>>>24,S=B>>>16&255,K=65535&B,!(x<=p);){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if((240&S)==0){for(C=x,X=S,A=K;x=(B=o.distcode[A+((f&(1<<C+X)-1)>>C)])>>>24,S=B>>>16&255,K=65535&B,!(C+x<=p);){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}f>>>=C,p-=C,o.back+=C}if(f>>>=x,p-=x,o.back+=x,64&S){e.msg="invalid distance code",o.mode=30;break}o.offset=K,o.extra=15&S,o.mode=24;case 24:if(o.extra){for(M=o.extra;p<M;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}o.offset+=f&(1<<o.extra)-1,f>>>=o.extra,p-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){e.msg="invalid distance too far back",o.mode=30;break}o.mode=25;case 25:if(0===d)break e;if(y=g-d,o.offset>y){if((y=o.offset-y)>o.whave&&o.sane){e.msg="invalid distance too far back",o.mode=30;break}y>o.wnext?(y-=o.wnext,w=o.wsize-y):w=o.wnext-y,y>o.length&&(y=o.length),b=o.window}else b=u,w=l-o.offset,y=o.length;y>d&&(y=d),d-=y,o.length-=y;do u[l++]=b[w++];while(--y);0===o.length&&(o.mode=21);break;case 26:if(0===d)break e;u[l++]=o.length,d--,o.mode=21;break;case 27:if(o.wrap){for(;p<32;){if(0===_)break e;_--,f|=h[c++]<<p,p+=8}if(g-=d,e.total_out+=g,o.total+=g,g&&(e.adler=o.check=o.flags?eS(o.check):ex(o.check,u,g,l-g)),g=d,(o.flags?f:eF(f))!==o.check){e.msg="incorrect data check",o.mode=30;break}f=0,p=0}o.mode=28;case 28:if(o.wrap&&o.flags){for(;p<32;){if(0===_)break e;_--,f+=h[c++]<<p,p+=8}if(f!==(4294967295&o.total)){e.msg="incorrect length check",o.mode=30;break}f=0,p=0}o.mode=29;case 29:F=1;break e;case 30:F=-3;break e;case 31:return -4;default:return -2}return e.next_out=l,e.avail_out=d,e.next_in=c,e.avail_in=_,o.hold=f,o.bits=p,(o.wsize||g!==e.avail_out&&o.mode<30&&(o.mode,1))&&(i=e.output,n=e.next_out,s=g-e.avail_out,null===(a=e.state).window&&(a.wsize=1<<a.wbits,a.wnext=0,a.whave=0,a.window=new ek(a.wsize)),s>=a.wsize?(em(a.window,i,n-a.wsize,a.wsize,0),a.wnext=0,a.whave=a.wsize):((r=a.wsize-a.wnext)>s&&(r=s),em(a.window,i,n-s,r,a.wnext),(s-=r)?(em(a.window,i,n-s,s,0),a.wnext=s,a.whave=a.wsize):(a.wnext+=r,a.wnext===a.wsize&&(a.wnext=0),a.whave<a.wsize&&(a.whave+=r)))),v-=e.avail_in,g-=e.avail_out,e.total_in+=v,e.total_out+=g,o.total+=g,o.wrap&&g&&(e.adler=o.check=o.flags?eS(o.check,u,g,e.next_out-g):ex(o.check,u,g,e.next_out-g)),e.data_type=o.bits+(o.last?64:0)+(12===o.mode?128:0)+(20===o.mode||15===o.mode?256:0),0===v&&0===g&&0===F&&(F=-5),F}(this.strm,0))throw Error("zlib inflate failed");if(this.strm.next_out!=e)throw Error("Incomplete zlib block");return new Uint8Array(this.strm.output.buffer,0,this.strm.next_out)}},{key:"reset",value:function(){eM(this.strm)}}]);function eT(e){for(var t=e.length;--t>=0;)e[t]=0}var eP=[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],eD=[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],eI=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],eU=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],ez=Array(576);eT(ez);var eH=Array(60);eT(eH);var eN=Array(512);eT(eN);var eV=Array(256);eT(eV);var eO=Array(29);eT(eO);var eW=Array(30);function eG(e,t,i,n,s){this.static_tree=e,this.extra_bits=t,this.extra_base=i,this.elems=n,this.max_length=s,this.has_stree=e&&e.length}function ej(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function eY(e){return e<256?eN[e]:eN[256+(e>>>7)]}
1function eZ(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function eq(e,t,i){e.bi_valid>16-i?(e.bi_buf|=t<<e.bi_valid&65535,eZ(e,e.bi_buf),e.bi_buf=t>>16-e.bi_valid,e.bi_valid+=i-16):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=i)}function eJ(e,t,i){eq(e,i[2*t],i[2*t+1])}function e$(e,t){var i=0;do i|=1&e,e>>>=1,i<<=1;while(--t>0);return i>>>1}function e1(e,t,i){var n,s,r=Array(16),a=0;for(n=1;n<=15;n++)r[n]=a=a+i[n-1]<<1;for(s=0;s<=t;s++){var o=e[2*s+1];0!==o&&(e[2*s]=e$(r[o]++,o))}}function e0(e){var t;for(t=0;t<286;t++)e.dyn_ltree[2*t]=0;for(t=0;t<30;t++)e.dyn_dtree[2*t]=0;for(t=0;t<19;t++)e.bl_tree[2*t]=0;e.dyn_ltree[512]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function e2(e){e.bi_valid>8?eZ(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 e5(e,t,i,n){var s=2*t,r=2*i;return e[s]<e[r]||e[s]===e[r]&&n[t]<=n[i]}function e3(e,t,i){for(var n=e.heap[i],s=i<<1;s<=e.heap_len&&(s<e.heap_len&&e5(t,e.heap[s+1],e.heap[s],e.depth)&&s++,!e5(t,n,e.heap[s],e.depth));)e.heap[i]=e.heap[s],i=s,s<<=1;e.heap[i]=n}function e6(e,t,i){var n,s,r,a,o=0;if(0!==e.last_lit)do n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],s=e.pending_buf[e.l_buf+o],o++,0===n?eJ(e,s,t):(eJ(e,(r=eV[s])+256+1,t),0!==(a=eP[r])&&eq(e,s-=eO[r],a),eJ(e,r=eY(--n),i),0!==(a=eD[r])&&eq(e,n-=eW[r],a));while(o<e.last_lit);eJ(e,256,t)}function e4(e,t){var i,n,s,r=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(i=0,e.heap_len=0,e.heap_max=573;i<h;i++)0!==r[2*i]?(e.heap[++e.heap_len]=u=i,e.depth[i]=0):r[2*i+1]=0;for(;e.heap_len<2;)r[2*(s=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[s]=0,e.opt_len--,o&&(e.static_len-=a[2*s+1]);for(t.max_code=u,i=e.heap_len>>1;i>=1;i--)e3(e,r,i);s=h;do i=e.heap[1],e.heap[1]=e.heap[e.heap_len--],e3(e,r,1),n=e.heap[1],e.heap[--e.heap_max]=i,e.heap[--e.heap_max]=n,r[2*s]=r[2*i]+r[2*n],e.depth[s]=(e.depth[i]>=e.depth[n]?e.depth[i]:e.depth[n])+1,r[2*i+1]=r[2*n+1]=s,e.heap[1]=s++,e3(e,r,1);while(e.heap_len>=2);e.heap[--e.heap_max]=e.heap[1],function(e,t){var i,n,s,r,a,o,h=t.dyn_tree,u=t.max_code,c=t.stat_desc.static_tree,l=t.stat_desc.has_stree,_=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,f=t.stat_desc.max_length,p=0;for(r=0;r<=15;r++)e.bl_count[r]=0;for(h[2*e.heap[e.heap_max]+1]=0,i=e.heap_max+1;i<573;i++)(r=h[2*h[2*(n=e.heap[i])+1]+1]+1)>f&&(r=f,p++),h[2*n+1]=r,!(n>u)&&(e.bl_count[r]++,a=0,n>=d&&(a=_[n-d]),o=h[2*n],e.opt_len+=o*(r+a),l&&(e.static_len+=o*(c[2*n+1]+a)));if(0!==p){do{for(r=f-1;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--)for(n=e.bl_count[r];0!==n;)!((s=e.heap[--i])>u)&&(h[2*s+1]!==r&&(e.opt_len+=(r-h[2*s+1])*h[2*s],h[2*s+1]=r),n--)}}(e,t),e1(r,u,e.bl_count)}function e8(e,t,i){var n,s,r=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[(i+1)*2+1]=65535,n=0;n<=i;n++)s=a,a=t[(n+1)*2+1],++o<h&&s===a||(o<u?e.bl_tree[2*s]+=o:0!==s?(s!==r&&e.bl_tree[2*s]++,e.bl_tree[32]++):o<=10?e.bl_tree[34]++:e.bl_tree[36]++,o=0,r=s,0===a?(h=138,u=3):s===a?(h=6,u=3):(h=7,u=4))}function e7(e,t,i){var n,s,r=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=i;n++)if(s=a,a=t[(n+1)*2+1],!(++o<h)||s!==a){if(o<u)do eJ(e,s,e.bl_tree);while(0!=--o);else 0!==s?(s!==r&&(eJ(e,s,e.bl_tree),o--),eJ(e,16,e.bl_tree),eq(e,o-3,2)):o<=10?(eJ(e,17,e.bl_tree),eq(e,o-3,3)):(eJ(e,18,e.bl_tree),eq(e,o-11,7));o=0,r=s,0===a?(h=138,u=3):s===a?(h=6,u=3):(h=7,u=4)}}eT(eW);var e9=!1;function te(e,t,i,n){eq(e,0+(n?1:0),3),e2(e),eZ(e,i),eZ(e,~i),em(e.pending_buf,e.window,t,i,e.pending),e.pending+=i}function tt(e,t,i){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&i,e.last_lit++,0===t?e.dyn_ltree[2*i]++:(e.matches++,t--,e.dyn_ltree[(eV[i]+256+1)*2]++,e.dyn_dtree[2*eY(t)]++),e.last_lit===e.lit_bufsize-1}var ti={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"};function tn(e,t){return e.msg=ti[t],t}function ts(e){return(e<<1)-(e>4?9:0)}function tr(e){for(var t=e.length;--t>=0;)e[t]=0}function ta(e){var t=e.state,i=t.pending;i>e.avail_out&&(i=e.avail_out),0!==i&&(em(e.output,t.pending_buf,t.pending_out,i,e.next_out),e.next_out+=i,t.pending_out+=i,e.total_out+=i,e.avail_out-=i,t.pending-=i,0===t.pending&&(t.pen
1ding_out=0))}function to(e,t){var i,n,s,r,a;i=e.block_start>=0?e.block_start:-1,n=e.strstart-e.block_start,a=0,e.level>0?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,i=4093624447;for(t=0;t<=31;t++,i>>>=1)if(1&i&&0!==e.dyn_ltree[2*t])return 0;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return 1;for(t=32;t<256;t++)if(0!==e.dyn_ltree[2*t])return 1;return 0}(e)),e4(e,e.l_desc),e4(e,e.d_desc),a=function(e){var t;for(e8(e,e.dyn_ltree,e.l_desc.max_code),e8(e,e.dyn_dtree,e.d_desc.max_code),e4(e,e.bl_desc),t=18;t>=3&&0===e.bl_tree[2*eU[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),s=e.opt_len+3+7>>>3,(r=e.static_len+3+7>>>3)<=s&&(s=r)):s=r=n+5,n+4<=s&&-1!==i?te(e,i,n,t):4===e.strategy||r===s?(eq(e,2+(t?1:0),3),e6(e,ez,eH)):(eq(e,4+(t?1:0),3),function(e,t,i,n){var s;for(eq(e,t-257,5),eq(e,i-1,5),eq(e,n-4,4),s=0;s<n;s++)eq(e,e.bl_tree[2*eU[s]+1],3);e7(e,e.dyn_ltree,t-1),e7(e,e.dyn_dtree,i-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),e6(e,e.dyn_ltree,e.dyn_dtree)),e0(e),t&&e2(e),e.block_start=e.strstart,ta(e.strm)}function th(e,t){e.pending_buf[e.pending++]=t}function tu(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function tc(e,t){var i,n,s=e.max_chain_length,r=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-262?e.strstart-(e.w_size-262):0,u=e.window,c=e.w_mask,l=e.prev,_=e.strstart+258,d=u[r+a-1],f=u[r+a];e.prev_length>=e.good_match&&(s>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(i=t)+a]!==f||u[i+a-1]!==d||u[i]!==u[r]||u[++i]!==u[r+1])continue;r+=2,i++;do;while(u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&u[++r]===u[++i]&&r<_);if(n=258-(_-r),r=_-258,n>a){if(e.match_start=t,a=n,n>=o)break;d=u[r+a-1],f=u[r+a]}}while((t=l[t&c])>h&&0!=--s);return a<=e.lookahead?a:e.lookahead}function tl(e){var t,i,n,s,r,a=e.w_size;do{if(s=e.window_size-e.lookahead-e.strstart,e.strstart>=a+(a-262)){em(e.window,e.window,a,a,0),e.match_start-=a,e.strstart-=a,e.block_start-=a,t=i=e.hash_size;do n=e.head[--t],e.head[t]=n>=a?n-a:0;while(--i);t=i=a;do n=e.prev[--t],e.prev[t]=n>=a?n-a:0;while(--i);s+=a}if(0===e.strm.avail_in)break;if(i=function(e,t,i,n){var s=e.avail_in;return(s>n&&(s=n),0===s)?0:(e.avail_in-=s,em(t,e.input,e.next_in,s,i),1===e.state.wrap?e.adler=ex(e.adler,t,s,i):2===e.state.wrap&&(e.adler=eS(e.adler)),e.next_in+=s,e.total_in+=s,s)}(e.strm,e.window,e.strstart+e.lookahead,s),e.lookahead+=i,e.lookahead+e.insert>=3)for(r=e.strstart-e.insert,e.ins_h=e.window[r],e.ins_h=(e.ins_h<<e.hash_shift^e.window[r+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[r+3-1])&e.hash_mask,e.prev[r&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=r,r++,e.insert--,!(e.lookahead+e.insert<3)););}while(e.lookahead<262&&0!==e.strm.avail_in)}function t_(e,t){for(var i,n;;){if(e.lookahead<262){if(tl(e),e.lookahead<262&&0===t)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==i&&e.strstart-i<=e.w_size-262&&(e.match_length=tc(e,i)),e.match_length>=3){if(n=tt(e,e.strstart-e.match_start,e.match_length-3),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=3){e.match_length--;do e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart;while(0!=--e.match_length);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask}else n=tt(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(to(e,!1),0===e.strm.avail_out))return 1}return(e.insert=e.strstart<2?e.strstart:2,4===t)?(to(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(to(e,!1),0===e.strm.avail_out)?1:2}function td(e,t){for(var i,n,s;;){if(e.lookahead<262){if(tl(e),e.lookahead<262&&0===t)return 1;if(0===e.lookahead)break}if(i=0,e.lookahead>=3&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=2,0!==i&&e.prev_length<e.max_lazy_match&&e.strstart-i<=e.w_size-262&&(e.match_length=tc(e,i),e.match_length<=5&&(1===e.strategy||3===e.match_length&&e.strstart-e.match_start>4096)&&(e.match_length=2)),e.prev_length>=3&&e.match_length<=e.prev_length){s=e.strstart+e.lookahead-3,n=tt(e,e.strstart-1-e.prev_match,e.prev_length-3),e.lookahead-=e.prev_length-1,e.prev_length-=2;do++e.strstart<=s&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+3-1])&e.hash_mask,i=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart);while(0!=--e.prev_length);if(e.match_available=0,e.match_length=2,e.strstart++,n&&(to(e,!1),0===e.strm.avail_out))return 1}else if(e.match_available){if((n=tt(e,0,e.window[e.strstart-1]))&&to(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return 1}else e.match_available=1,e.strstart++,e.lookahead--}return(e.match_available&&(n=tt(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<2?e.strstart:2,4===t)?(to(e,!0),0===e.strm.avail_out)?3:4:e.last_lit&&(to(e,!1),0===e.strm.avail_out)?1:2}function tf(e,t,i,n,s){this.good_length=e,this.max_lazy=t,this.nice_length=i,this.max_chain=n,this.func=s}function tp(){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=8,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 ew(1146),this.dyn_dtree=new ew(122),this.bl_tree=new ew(78),tr(this.dyn_ltree),tr(this.dyn_dtree),tr(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new ew(16),this.heap=new ew(573),tr(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new ew(573),tr(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 tv(e,t){if(!e||!e.state||t>5||t<0)return e?tn(e,-2):-2;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&4!==t)return tn(e,0===e.avail_out?-5:-2);if(n.strm=e,i=n.last_flush,n.last_flush=t,42===n.status){if(2===n.wrap)e.adler=0,th(n,31),th(n,139),th(n,8),n.gzhead?(th(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),th(n,255&n.gzhead.time),th(n,n.gzhead.time>>8&255),th(n,n.gzhead.time>>16&255),th(n,n.gzhead.time>>24&255),th(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),th(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(th(n,255&n.gzhead.extra.length),th(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=eS(e.adler,n.pending_buf,n.pending)),n.gz
1index=0,n.status=69):(th(n,0),th(n,0),th(n,0),th(n,0),th(n,0),th(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),th(n,3),n.status=113);else{var i,n,s,r,a=8+(n.w_bits-8<<4)<<8;a|=(n.strategy>=2||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=113,tu(n,a),0!==n.strstart&&(tu(n,e.adler>>>16),tu(n,65535&e.adler)),e.adler=1}}if(69===n.status){if(n.gzhead.extra){for(s=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>s&&(e.adler=eS(e.adler,n.pending_buf,n.pending-s)),ta(e),s=n.pending,n.pending!==n.pending_buf_size));)th(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>s&&(e.adler=eS(e.adler,n.pending_buf,n.pending-s)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73}if(73===n.status){if(n.gzhead.name){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=eS(e.adler,n.pending_buf,n.pending-s)),ta(e),s=n.pending,n.pending===n.pending_buf_size)){r=1;break}r=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,th(n,r)}while(0!==r);n.gzhead.hcrc&&n.pending>s&&(e.adler=eS(e.adler,n.pending_buf,n.pending-s)),0===r&&(n.gzindex=0,n.status=91)}else n.status=91}if(91===n.status){if(n.gzhead.comment){s=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>s&&(e.adler=eS(e.adler,n.pending_buf,n.pending-s)),ta(e),s=n.pending,n.pending===n.pending_buf_size)){r=1;break}r=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,th(n,r)}while(0!==r);n.gzhead.hcrc&&n.pending>s&&(e.adler=eS(e.adler,n.pending_buf,n.pending-s)),0===r&&(n.status=103)}else n.status=103}if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&ta(e),n.pending+2<=n.pending_buf_size&&(th(n,255&e.adler),th(n,e.adler>>8&255),e.adler=0,n.status=113)):n.status=113),0!==n.pending){if(ta(e),0===e.avail_out)return n.last_flush=-1,0}else if(0===e.avail_in&&ts(t)<=ts(i)&&4!==t)return tn(e,-5);if(666===n.status&&0!==e.avail_in)return tn(e,-5);if(0!==e.avail_in||0!==n.lookahead||666!==n.status){var o=2===n.strategy?function(e,t){for(var i;0!==e.lookahead||(tl(e),0!==e.lookahead);)if(e.match_length=0,i=tt(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,i&&(to(e,!1),0===e.strm.avail_out))return 1;return(e.insert=0,e.last_lit&&(to(e,!1),0===e.strm.avail_out))?1:2}(n):3===n.strategy?function(e,t){for(var i,n,s,r,a=e.window;!(e.lookahead<=258)||(tl(e),e.lookahead,0!==e.lookahead);){if(e.match_length=0,e.lookahead>=3&&e.strstart>0&&(n=a[s=e.strstart-1])===a[++s]&&n===a[++s]&&n===a[++s]){r=e.strstart+258;do;while(n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&n===a[++s]&&s<r);e.match_length=258-(r-s),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=3?(i=tt(e,1,e.match_length-3),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(i=tt(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),i&&(to(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,e.last_lit&&(to(e,!1),0===e.strm.avail_out))?1:2}(n,0):S[n.level].func(n,t);if((3===o||4===o)&&(n.status=666),1===o||3===o)return 0===e.avail_out&&(n.last_flush=-1),0;if(2===o&&(te(n,0,0,!1),tr(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0),ta(e),0===e.avail_out))return n.last_flush=-1,0}return 0}S=[new tf(0,0,0,0,function(e,t){var i=65535;for(65535>e.pending_buf_size-5&&(i=e.pending_buf_size-5);;){if(e.lookahead<=1){if(tl(e),0===e.lookahead&&0===t)return 1;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+i;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,to(e,!1),0===e.strm.avail_out)||e.strstart-e.block_start>=e.w_size-262&&(to(e,!1),0===e.strm.avail_out))return 1}return(e.insert=0,4===t)?(to(e,!0),0===e.strm.avail_out)?3:4:(e.strstart>e.block_start&&(to(e,!1),e.strm.avail_out),1)}),new tf(4,4,8,4,t_),new tf(4,5,16,8,t_),new tf(4,6,32,32,t_),new tf(4,4,16,16,td),new tf(8,16,32,32,td),new tf(8,16,128,128,td),new tf(8,32,128,256,td),new tf(32,128,258,1024,td),new tf(32,258,258,4096,td)];var tg=l(function e(){h(this,e),this.strm=new eL,this.chunkSize=102400,this.outputBuffer=new Uint8Array(this.chunkSize),function(e,t,i,n,s,r){if(e){if(-1===t&&(t=6),t<0||t>9)return tn(e,-2);var a,o,h,u=new tp;e.state=u,u.strm=e,u.wrap=1,u.gzhead=null,u.w_bits=15,u.w_size=1<<u.w_bits,u.w_mask=u.w_size-1,u.hash_bits=15,u.hash_size=1<<u.hash_bits,u.hash_mask=u.hash_size-1,u.hash_shift=~~((u.hash_bits+3-1)/3),u.window=new ek(2*u.w_size),u.head=new ew(u.hash_size),u.prev=new ew(u.w_size),u.lit_bufsize=16384,u.pending_buf_size=4*u.lit_bufsize,u.pending_buf=new ek(u.pending_buf_size),u.d_buf=1*u.lit_bufsize,u.l_buf=3*u.lit_bufsize,u.level=t,u.strategy=0,u.method=8,0===((a=e)&&a.state?(a.total_in=a.total_out=0,a.data_type=2,(o=a.state).pending=0,o.pending_out=0,o.wrap<0&&(o.wrap=-o.wrap),o.status=o.wrap?42:113,a.adler=2===o.wrap?0:1,o.last_flush=0,e9||(function(){var e,t,i,n,s,r=Array(16);for(n=0,i=0;n<28;n++)for(e=0,eO[n]=i;e<1<<eP[n];e++)eV[i++]=n;for(eV[i-1]=n,s=0,n=0;n<16;n++)for(e=0,eW[n]=s;e<1<<eD[n];e++)eN[s++]=n;for(s>>=7;n<30;n++)for(e=0,eW[n]=s<<7;e<1<<eD[n]-7;e++)eN[256+s++]=n;for(t=0;t<=15;t++)r[t]=0;for(e=0;e<=143;)ez[2*e+1]=8,e++,r[8]++;for(;e<=255;)ez[2*e+1]=9,e++,r[9]++;for(;e<=279;)ez[2*e+1]=7,e++,r[7]++;for(;e<=287;)ez[2*e+1]=8,e++,r[8]++;for(e1(ez,287,r),e=0;e<30;e++)eH[2*e+1]=5,eH[2*e]=e$(e,5);w=new eG(ez,eP,257,286,15),b=new eG(eH,eD,0,30,15),x=new eG([],eI,
10,19,7)}(),e9=!0),o.l_desc=new ej(o.dyn_ltree,w),o.d_desc=new ej(o.dyn_dtree,b),o.bl_desc=new ej(o.bl_tree,x),o.bi_buf=0,o.bi_valid=0,e0(o),0):tn(a,-2))&&((h=e.state).window_size=2*h.w_size,tr(h.head),h.max_lazy_match=S[h.level].max_lazy,h.good_match=S[h.level].good_length,h.nice_match=S[h.level].nice_length,h.max_chain_length=S[h.level].max_chain,h.strstart=0,h.block_start=0,h.lookahead=0,h.insert=0,h.match_length=h.prev_length=2,h.match_available=0,h.ins_h=0)}}(this.strm,-1,0,0,0,0)},[{key:"deflate",value:function(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;var t=tv(this.strm,3),i=new Uint8Array(this.strm.output.buffer,0,this.strm.next_out);if(t<0)throw Error("zlib deflate failed");if(this.strm.avail_in>0){var n=[i],s=i.length;do{if(this.strm.output=new Uint8Array(this.chunkSize),this.strm.next_out=0,this.strm.avail_out=this.chunkSize,(t=tv(this.strm,3))<0)throw Error("zlib deflate failed");var r=new Uint8Array(this.strm.output.buffer,0,this.strm.next_out);s+=r.length,n.push(r)}while(this.strm.avail_in>0);for(var a=new Uint8Array(s),o=0,h=0;h<n.length;h++)a.set(n[h],o),o+=n[h].length;i=a}return this.strm.input=null,this.strm.avail_in=0,this.strm.next_in=0,i}}]),ty={XK_BackSpace:65288,XK_Tab:65289,XK_Clear:65291,XK_Return:65293,XK_Pause:65299,XK_Scroll_Lock:65300,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: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_Kana_Shift:65326,XK_Eisu_toggle:65328,XK_Home:65360,XK_Left:65361,XK_Up:65362,XK_Right:65363,XK_Down:65364,XK_Prior:65365,XK_Next:65366,XK_End:65367,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_Mode_switch:65406,XK_Num_Lock:65407,XK_KP_Space:65408,XK_KP_Enter:65421,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_Next: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
1: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_F12:65481,XK_F13:65482,XK_F14:65483,XK_F15:65484,XK_F16:65485,XK_F17:65486,XK_F18:65487,XK_F19:65488,XK_F20:65489,XK_F21:65490,XK_F22:65491,XK_F23:65492,XK_F24:65493,XK_F25:65494,XK_F26:65495,XK_F27:65496,XK_F28:65497,XK_F29:65498,XK_F30:65499,XK_F31:65500,XK_F32:65501,XK_F33:65502,XK_F34:65503,XK_F35:65504,XK_Shift_L:65505,XK_Shift_R:65506,XK_Control_L:65507,XK_Control_R:65508,XK_Caps_Lock:65509,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_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_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_equal:61,XK_Hangul:65329,XK_Hangul_Hanja:65332,XK_Hangul_Jeonja:65336,XF86XK_MonBrightnessUp:269025026,XF86XK_MonBrightnessDown:269025027,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_Search:269025051,XF86XK_AudioRecord:269025052,XF86XK_Calculator:269025053,XF86XK_Calendar:269025056,XF86XK_PowerDown:269025057,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_Favorites:269025072,XF86XK_AudioPause:269025073,XF86XK_AudioMedia:269025074,XF86XK_MyComputer:269025075,XF86XK_BrightnessAdjust:269025083,XF86XK_AudioRewind:269025086,XF86XK_Close:269025110,XF86XK_Copy:269025111,XF86XK_Cut:269025112,XF86XK_Excel:269025116,XF86XK_LogOff:269025121,XF86XK_New:269025128,XF86XK_Open:269025131,XF86XK_Paste:269025133,XF86XK_Phone:269025134,XF86XK_Reply:269025138,XF86XK_Save:269025143,XF86XK_Send:269025147,XF86XK_Spell:269025148,XF86XK_SplitScreen:269025149,XF86XK_Word:269025161,XF86XK_ZoomIn:269025163,XF86XK_ZoomOut:269025164,XF86XK_WebCam:269025167,XF86XK_MailForward:269025168,XF86XK_Music:269025170,XF86XK_AudioForward:269025175,XF86XK_AudioRandomPlay:269025177,XF86XK_Subtitle:269025178,XF86XK_AudioCycleTrack:269025179,XF86XK_Hibernate:269025192,XF86XK_AudioMicMute:269025202,XF86XK_Next_VMode:269024802},tm={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,9
169: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},tk={lookup:function(e){if(e>=32&&e<=255)return e;var t=tm[e];return void 0!==t?t:16777216|e}},tw={8:"Backspace",9:"Tab",10:"NumpadClear",13:"Enter",16:"ShiftLeft",17:"Control
1Left",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"},tb={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"},tx={};function tS(e,t){if(void 0===t)throw Error('Undefined keysym for key "'+e+'"');if(e in tx)throw Error('Duplicate entry for key "'+e+'"');tx[e]=[t,t,t,t]}function tK(e,t,i){if(void 0===t||void 0===i)throw Error('Undefined keysym for key "'+e+'"');if(e in tx)throw Error('Duplicate entry for key "'+e+'"');tx[e]=[t,t,i,t]}function tC(e,t,i){if(void 0===t||void 0===i)throw Error('Undefined keysym for key "'+e+'"');if(e in tx)throw Error('Duplicate entry for key "'+e+'"');tx[e]=[t,t,t,i]}function tX(e){if(e.code){switch(e.code){case"OSLeft":return"MetaLeft";case"OSRight":return"MetaRight"}return e.code}if(e.keyCode in tw){var t=tw[e.keyCode];if(j&&"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"}tK("Alt",ty.XK_Alt_L,ty.XK_Alt_R),tS("AltGraph",ty.XK_ISO_Level3_Shift),tS("CapsLock",ty.XK_Caps_Lock),tK("Control",ty.XK_Control_L,ty.XK_Control_R),tK("Meta",ty.XK_Super_L,ty.XK_Super_R),tS("NumLock",ty.XK_Num_Lock),tS("ScrollLock",ty.XK_Scroll_Lock),tK("Shift",ty.XK_Shift_L,ty.XK_Shift_R),tC("Enter",ty.XK_Return,ty.XK_KP_Enter),tS("Tab",ty.XK_Tab),tC(" ",ty.XK_space,ty.XK_KP_Space),tC("ArrowDown",ty.XK_Down,ty.XK_KP_Down),tC("ArrowLeft",ty.XK_Left,ty.XK_KP_Left),tC("ArrowRight",ty.XK_Right,ty.XK_KP_Right),tC("ArrowUp",ty.XK_Up,ty.XK_KP_Up),tC("End",ty.XK_End,ty.XK_KP_End),tC("Home",ty.XK_Home,ty.XK_KP_Home),tC("PageDown",ty.XK_Next,ty.XK_KP_Next),tC("PageUp",ty.XK_Prior,ty.XK_KP_Prior),tS("Backspace",ty.XK_BackSpace),tC("Clear",ty.XK_Clear,ty.XK_KP_Begin),tS("Copy",ty.XF86XK_Copy),tS("Cut",ty.XF86XK_Cut),tC("Delete",ty.XK_Delete,ty.XK_KP_Delete),tC("Insert",ty.XK_Insert,ty.XK_KP_Insert),tS("Paste",ty.XF86XK_Paste),tS("Redo",ty.XK_Redo),tS("Undo",ty.XK_Undo),tS("Cancel",ty.XK_Cancel),tS("ContextMenu",ty.XK_Menu),tS("Escape",ty.XK_Escape),tS("Execute",ty.XK_Execute),tS("Find",ty.XK_Find),tS("Help",ty.XK_Help),tS("Pause",ty.XK_Pause),tS("Select",ty.XK_Select),tS("ZoomIn",ty.XF86XK_ZoomIn),tS("ZoomOut",ty.XF86XK_ZoomOut),tS("BrightnessDown",ty.XF86XK_MonBrightnessDown),tS("BrightnessUp",ty.XF86XK_MonBrightnessUp),tS("Eject",ty.XF86XK_Eject),tS("LogOff",ty.XF86XK_LogOff),tS("Power",ty.XF86XK_PowerOff),tS("PowerOff",ty.XF86XK_PowerDown),tS("PrintScreen",ty.XK_Print),tS("Hibernate",ty.XF86XK_Hibernate),tS("Standby",ty.XF86XK_Standby),tS("WakeUp",ty.XF86XK_WakeUp),tS("AllCandidates",ty.XK_MultipleCandidate),tS("Alphanumeric",ty.XK_Eisu_toggle),tS("CodeInput",ty.XK_Codeinput),tS("Compose",ty.XK_Multi_key),tS("Convert",ty.XK_Henkan),tS("GroupFirst",ty.XK_ISO_First_Group),tS("GroupLast",ty.XK_ISO_Last_Group),tS("GroupNext",ty.XK_ISO_Next_Group),tS("GroupPrevious",ty.XK_ISO_Prev_Group),tS("NonConvert",ty.XK_Muhenkan),tS("PreviousCandidate",ty.XK_PreviousCandidate),tS("SingleCandidate",ty.XK_SingleCandidate),tS("HangulMode",ty.XK_Hangul),tS("HanjaMo
1de",ty.XK_Hangul_Hanja),tS("JunjaMode",ty.XK_Hangul_Jeonja),tS("Eisu",ty.XK_Eisu_toggle),tS("Hankaku",ty.XK_Hankaku),tS("Hiragana",ty.XK_Hiragana),tS("HiraganaKatakana",ty.XK_Hiragana_Katakana),tS("KanaMode",ty.XK_Kana_Shift),tS("KanjiMode",ty.XK_Kanji),tS("Katakana",ty.XK_Katakana),tS("Romaji",ty.XK_Romaji),tS("Zenkaku",ty.XK_Zenkaku),tS("ZenkakuHankaku",ty.XK_Zenkaku_Hankaku),tS("F1",ty.XK_F1),tS("F2",ty.XK_F2),tS("F3",ty.XK_F3),tS("F4",ty.XK_F4),tS("F5",ty.XK_F5),tS("F6",ty.XK_F6),tS("F7",ty.XK_F7),tS("F8",ty.XK_F8),tS("F9",ty.XK_F9),tS("F10",ty.XK_F10),tS("F11",ty.XK_F11),tS("F12",ty.XK_F12),tS("F13",ty.XK_F13),tS("F14",ty.XK_F14),tS("F15",ty.XK_F15),tS("F16",ty.XK_F16),tS("F17",ty.XK_F17),tS("F18",ty.XK_F18),tS("F19",ty.XK_F19),tS("F20",ty.XK_F20),tS("F21",ty.XK_F21),tS("F22",ty.XK_F22),tS("F23",ty.XK_F23),tS("F24",ty.XK_F24),tS("F25",ty.XK_F25),tS("F26",ty.XK_F26),tS("F27",ty.XK_F27),tS("F28",ty.XK_F28),tS("F29",ty.XK_F29),tS("F30",ty.XK_F30),tS("F31",ty.XK_F31),tS("F32",ty.XK_F32),tS("F33",ty.XK_F33),tS("F34",ty.XK_F34),tS("F35",ty.XK_F35),tS("Close",ty.XF86XK_Close),tS("MailForward",ty.XF86XK_MailForward),tS("MailReply",ty.XF86XK_Reply),tS("MailSend",ty.XF86XK_Send),tS("MediaFastForward",ty.XF86XK_AudioForward),tS("MediaPause",ty.XF86XK_AudioPause),tS("MediaPlay",ty.XF86XK_AudioPlay),tS("MediaRecord",ty.XF86XK_AudioRecord),tS("MediaRewind",ty.XF86XK_AudioRewind),tS("MediaStop",ty.XF86XK_AudioStop),tS("MediaTrackNext",ty.XF86XK_AudioNext),tS("MediaTrackPrevious",ty.XF86XK_AudioPrev),tS("New",ty.XF86XK_New),tS("Open",ty.XF86XK_Open),tS("Print",ty.XK_Print),tS("Save",ty.XF86XK_Save),tS("SpellCheck",ty.XF86XK_Spell),tS("AudioVolumeDown",ty.XF86XK_AudioLowerVolume),tS("AudioVolumeUp",ty.XF86XK_AudioRaiseVolume),tS("AudioVolumeMute",ty.XF86XK_AudioMute),tS("MicrophoneVolumeMute",ty.XF86XK_AudioMicMute),tS("LaunchApplication1",ty.XF86XK_MyComputer),tS("LaunchApplication2",ty.XF86XK_Calculator),tS("LaunchCalendar",ty.XF86XK_Calendar),tS("LaunchMail",ty.XF86XK_Mail),tS("LaunchMediaPlayer",ty.XF86XK_AudioMedia),tS("LaunchMusicPlayer",ty.XF86XK_Music),tS("LaunchPhone",ty.XF86XK_Phone),tS("LaunchScreenSaver",ty.XF86XK_ScreenSaver),tS("LaunchSpreadsheet",ty.XF86XK_Excel),tS("LaunchWebBrowser",ty.XF86XK_WWW),tS("LaunchWebCam",ty.XF86XK_WebCam),tS("LaunchWordProcessor",ty.XF86XK_Word),tS("BrowserBack",ty.XF86XK_Back),tS("BrowserFavorites",ty.XF86XK_Favorites),tS("BrowserForward",ty.XF86XK_Forward),tS("BrowserHome",ty.XF86XK_HomePage),tS("BrowserRefresh",ty.XF86XK_Refresh),tS("BrowserSearch",ty.XF86XK_Search),tS("BrowserStop",ty.XF86XK_Stop),tS("Dimmer",ty.XF86XK_BrightnessAdjust),tS("MediaAudioTrack",ty.XF86XK_AudioCycleTrack),tS("RandomToggle",ty.XF86XK_AudioRandomPlay),tS("SplitScreenToggle",ty.XF86XK_SplitScreen),tS("Subtitle",ty.XF86XK_Subtitle),tS("VideoModeNext",ty.XF86XK_Next_VMode),tC("=",ty.XK_equal,ty.XK_KP_Equal),tC("+",ty.XK_plus,ty.XK_KP_Add),tC("-",ty.XK_minus,ty.XK_KP_Subtract),tC("*",ty.XK_asterisk,ty.XK_KP_Multiply),tC("/",ty.XK_slash,ty.XK_KP_Divide),tC(".",ty.XK_period,ty.XK_KP_Decimal),tC(",",ty.XK_comma,ty.XK_KP_Separator),tC("0",ty.XK_0,ty.XK_KP_0),tC("1",ty.XK_1,ty.XK_KP_1),tC("2",ty.XK_2,ty.XK_KP_2),tC("3",ty.XK_3,ty.XK_KP_3),tC("4",ty.XK_4,ty.XK_KP_4),tC("5",ty.XK_5,ty.XK_KP_5),tC("6",ty.XK_6,ty.XK_KP_6),tC("7",ty.XK_7,ty.XK_KP_7),tC("8",ty.XK_8,ty.XK_KP_8),tC("9",ty.XK_9,ty.XK_KP_9);var tA=l(function e(t){h(this,e),this._target=t||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=function(){}},[{key:"_sendKeyEvent",value:function(e,t,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;if(i)this._keyDownList[t]=e;else{if(!(t in this._keyDownList))return;delete this._keyDownList[t]}P("onkeyevent "+(i?"down":"up")+", keysym: "+e,", code: "+t+", numlock: "+n+", capslock: "+s),this.onkeyevent(e,t,i,n,s)}},{key:"_getKeyCode",value:function(e){var t=tX(e);return"Unidentified"!==t?t:e.keyCode&&229!==e.keyCode?"Platform"+e.keyCode:e.keyIdentifier?"U+"!==e.keyIdentifier.substr(0,2)?e.keyIdentifier:"Platform"+String.fromCharCode(parseInt(e.keyIdentifier.substr(2),16)).toUpperCase().charCo
1deAt():"Unidentified"}},{key:"_handleKeyDown",value:function(e){var t=this._getKeyCode(e),i=function(e){var t=function(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}var t=tX(e);return t in tb?tb[t]:e.charCode?String.fromCharCode(e.charCode):"Unidentified"}(e);if("Unidentified"===t)return null;if(t in tx){var i=e.location;if("Meta"===t&&0===i&&(i=2),"Clear"===t&&3===i&&"NumLock"===tX(e)&&(i=0),(void 0===i||i>3)&&(i=0),"Meta"===t){var n=tX(e);if("AltLeft"===n)return ty.XK_Meta_L;if("AltRight"===n)return ty.XK_Meta_R}if("Clear"===t&&"NumLock"===tX(e))return ty.XK_Num_Lock;if(Y)switch(t){case"Zenkaku":case"Hankaku":return ty.XK_Zenkaku_Hankaku;case"Romaji":case"KanaMode":return ty.XK_Romaji}return tx[t][i]}if(1!==t.length)return null;var s=t.charCodeAt();return s?tk.lookup(s):null}(e),n=e.getModifierState("NumLock"),s=e.getModifierState("CapsLock");if((j||Z)&&(n=null),this._altGrArmed&&(this._altGrArmed=!1,clearTimeout(this._altGrTimeout),"AltRight"===t&&e.timeStamp-this._altGrCtrlTime<50?i=ty.XK_ISO_Level3_Shift:this._sendKeyEvent(ty.XK_Control_L,"ControlLeft",!0,n,s)),"Unidentified"===t){i&&(this._sendKeyEvent(i,t,!0,n,s),this._sendKeyEvent(i,t,!1,n,s)),ec(e);return}if(j||Z)switch(i){case ty.XK_Super_L:i=ty.XK_Alt_L;break;case ty.XK_Super_R:i=ty.XK_Super_L;break;case ty.XK_Alt_L:i=ty.XK_Mode_switch;break;case ty.XK_Alt_R:i=ty.XK_ISO_Level3_Shift}if(t in this._keyDownList&&(i=this._keyDownList[t]),(j||Z)&&e.metaKey&&"MetaLeft"!==t&&"MetaRight"!==t){this._sendKeyEvent(i,t,!0,n,s),this._sendKeyEvent(i,t,!1,n,s),ec(e);return}if((j||Z)&&"CapsLock"===t){this._sendKeyEvent(ty.XK_Caps_Lock,"CapsLock",!0,n,s),this._sendKeyEvent(ty.XK_Caps_Lock,"CapsLock",!1,n,s),ec(e);return}var r=[ty.XK_Zenkaku_Hankaku,ty.XK_Eisu_toggle,ty.XK_Katakana,ty.XK_Hiragana,ty.XK_Romaji];if(Y&&r.includes(i)){this._sendKeyEvent(i,t,!0,n,s),this._sendKeyEvent(i,t,!1,n,s),ec(e);return}if(ec(e),"ControlLeft"===t&&Y&&!("ControlLeft"in this._keyDownList)){this._altGrArmed=!0,this._altGrTimeout=setTimeout(this._interruptAltGrSequence.bind(this),100),this._altGrCtrlTime=e.timeStamp;return}this._sendKeyEvent(i,t,!0,n,s)}},{key:"_handleKeyUp",value:function(e){ec(e);var t=this._getKeyCode(e);if(this._interruptAltGrSequence(),(j||Z)&&"CapsLock"===t){this._sendKeyEvent(ty.XK_Caps_Lock,"CapsLock",!0),this._sendKeyEvent(ty.XK_Caps_Lock,"CapsLock",!1);return}this._sendKeyEvent(this._keyDownList[t],t,!1),Y&&("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))}},{key:"_interruptAltGrSequence",value:function(){this._altGrArmed&&(this._altGrArmed=!1,clearTimeout(this._altGrTimeout),this._sendKeyEvent(ty.XK_Control_L,"ControlLeft",!0))}},{key:"_allKeysUp",value:function(){for(var e in P(">> Keyboard.allKeysUp"),this._interruptAltGrSequence(),this._keyDownList)this._sendKeyEvent(this._keyDownList[e],e,!1);P("<< Keyboard.allKeysUp")}},{key:"grab",value:function(){this._target.addEventListener("keydown",this._eventHandlers.keydown),this._target.addEventListener("keyup",this._eventHandlers.keyup),"undefined"!=typeof window&&window.addEventListener("blur",this._eventHandlers.blur)}},{key:"ungrab",value:function(){this._target.removeEventListener("keydown",this._eventHandlers.keydown),this._target.removeEventListener("keyup",this._eventHandlers.keyup),"undefined"!=typeof window&&window.removeEventListener("blur",this._eventHandlers.blur),this._allKeysUp()}}]),tE=l(function e(){h(this,e),this._target=null,this._state=127,this._tracked=[],this._ignored=[],this._waitingRelease=!1,this._releaseStart=0,this._longpressTimeoutId=null,this._twoTouchTimeoutId=null,this._boundEventHandler=this._eventHandler.bind(this)},[{key:"attach",value:function(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)}},{key:"detach",value:function(){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)}},{key:"_eventHandler",value:function(e){var 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}for(var i=0;i<e.changedTouches.length;i++){var n=e.changedTouches[i];t.call(this,n.identifier,n.clientX,n.clientY)}}},{key:"_touchStart",value:function(e,t,i){if(this._hasDetectedGesture()||0===this._state){this._ignored.push(e);return}if(this._tracked.length>0&&Date.now()-this._tracked[0].started>250||this._waitingRelease){this._state=0,this._ignored.push(e);return}switch(this._tracked.push({id:e,started:Date.now(),active:!0,firstX:t,firstY:i,lastX:t,lastY:i,angle:0}),this._tracked.length){case 1:this._startLongpressTimeout();break;case 2:this._state&=-26,this._stopLongpressTimeout();break;case 3:this._state&=-99;break;default:this._state=0}}},{key:"_touchMove",value:function(e,t,i){var n=this._tracked.find(function(t){return t.id===e});if(void 0!==n){n.lastX=t,n.lastY=i;var s=t-n.firstX,r=i-n.firstY;if((n.firstX!==n.lastX||n.firstY!==n.lastY)&&(n.angle=180*Math.atan2(r,s)/Math.PI),!this._hasDetectedGesture()){if(50>Math.hypot(s,r))return;if(this._state&=-24,this._stopLongpressTimeout(),1!==this._tracked.length&&(this._state&=-9),2!==this._tracked.length&&(this._state&=-97),2===this._tracked.length){var a=this._tracked.find(function(t){return t.id!==e});if(Math.hypot(a.firstX-a.lastX,a.firstY-a.lastY)>50){var o=Math.abs(n.angle-a.angle);(o=Math.abs((o+180)%360-180))>90?this._state&=-33:this._state&=-65,this._isTwoTouchTimeoutRunning()&&this._stopTwoTouchTimeout()}else this._isTwoTouchTimeoutRunning()||this._startTwoTouchTimeout()}if(!this._hasDetectedGesture())return;this._pushEvent("gesturestart")}this._pushEvent("gesturemove")}}},{key:"_touchEnd",value:function(e,t,i){if(-1!==this._ignored.indexOf(e)){this._ignored.splice(this._ignored.indexOf(e),1),0===this._ignored.length&&0===this._tracked.length&&(this._state=127,this._waitingRelease=!1);return}if(!this._hasDetectedGesture()&&this._isTwoTouchTimeoutRunning()&&(this._stopTwoTouchTimeout(),this._state=0),!this._hasDetectedGesture()&&
1(this._state&=-105,this._state&=-17,this._stopLongpressTimeout(),!this._waitingRelease))switch(this._releaseStart=Date.now(),this._waitingRelease=!0,this._tracked.length){case 1:this._state&=-7;break;case 2:this._state&=-6}if(this._waitingRelease){if(Date.now()-this._releaseStart>250&&(this._state=0),this._tracked.some(function(e){return Date.now()-e.started>1e3})&&(this._state=0),this._tracked.find(function(t){return t.id===e}).active=!1,this._hasDetectedGesture())this._pushEvent("gesturestart");else if(0!==this._state)return}this._hasDetectedGesture()&&this._pushEvent("gestureend");for(var n=0;n<this._tracked.length;n++)this._tracked[n].active&&this._ignored.push(this._tracked[n].id);this._tracked=[],this._state=0,-1!==this._ignored.indexOf(e)&&this._ignored.splice(this._ignored.indexOf(e),1),0===this._ignored.length&&(this._state=127,this._waitingRelease=!1)}},{key:"_hasDetectedGesture",value:function(){return!(0===this._state||this._state&this._state-1||7&this._state&&this._tracked.some(function(e){return e.active}))}},{key:"_startLongpressTimeout",value:function(){var e=this;this._stopLongpressTimeout(),this._longpressTimeoutId=setTimeout(function(){return e._longpressTimeout()},1e3)}},{key:"_stopLongpressTimeout",value:function(){clearTimeout(this._longpressTimeoutId),this._longpressTimeoutId=null}},{key:"_longpressTimeout",value:function(){if(this._hasDetectedGesture())throw Error("A longpress gesture failed, conflict with a different gesture");this._state=16,this._pushEvent("gesturestart")}},{key:"_startTwoTouchTimeout",value:function(){var e=this;this._stopTwoTouchTimeout(),this._twoTouchTimeoutId=setTimeout(function(){return e._twoTouchTimeout()},50)}},{key:"_stopTwoTouchTimeout",value:function(){clearTimeout(this._twoTouchTimeoutId),this._twoTouchTimeoutId=null}},{key:"_isTwoTouchTimeoutRunning",value:function(){return null!==this._twoTouchTimeoutId}},{key:"_twoTouchTimeout",value:function(){if(0===this._tracked.length)throw Error("A pinch or two drag gesture failed, no tracked touches");var e=this._getAverageMovement(),t=Math.abs(e.x),i=Math.abs(e.y),n=this._getAverageDistance(),s=Math.abs(Math.hypot(n.first.x,n.first.y)-Math.hypot(n.last.x,n.last.y));i<s&&t<s?this._state=64:this._state=32,this._pushEvent("gesturestart"),this._pushEvent("gesturemove")}},{key:"_pushEvent",value:function(e){var t={type:this._stateToGesture(this._state)},i=this._getPosition(),n=i.last;switch("gesturestart"===e&&(n=i.first),this._state){case 32:case 64:n=i.first}if(t.clientX=n.x,t.clientY=n.y,64===this._state){var 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(32===this._state){if("gesturestart"===e)t.magnitudeX=0,t.magnitudeY=0;else{var r=this._getAverageMovement();t.magnitudeX=r.x,t.magnitudeY=r.y}}var a=new CustomEvent(e,{detail:t});this._target.dispatchEvent(a)}},{key:"_stateToGesture",value:function(e){switch(e){case 1:return"onetap";case 2:return"twotap";case 4:return"threetap";case 8:return"drag";case 16:return"longpress";case 32:return"twodrag";case 64:return"pinch"}throw Error("Unknown gesture state: "+e)}},{key:"_getPosition",value:function(){if(0===this._tracked.length)throw Error("Failed to get gesture position, no tracked touches");for(var e=this._tracked.length,t=0,i=0,n=0,s=0,r=0;r<this._tracked.length;r++)t+=this._tracked[r].firstX,i+=this._tracked[r].firstY,n+=this._tracked[r].lastX,s+=this._tracked[r].lastY;return{first:{x:t/e,y:i/e},last:{x:n/e,y:s/e}}}},{key:"_getAverageMovement",value:function(){if(0===this._tracked.length)throw Error("Failed to get gesture movement, no tracked touches");e=t=0;for(var e,t,i=this._tracked.length,n=0;n<this._tracked.length;n++)e+=this._tracked[n].lastX-this._tracked[n].firstX,t+=this._tracked[n].lastY-this._tracked[n].firstY;return{x:e/i,y:t/i}}},{key:"_getAverageDistance",value:function(){if(0===this._tracked.length)throw Error("Failed to get gesture distance, no tracked touches");var e=this._tracked[0],t=this._tracked[this._tracked.length-1];return{first:{x:Math.abs(t.firstX-e.firstX),y:Math.abs(t.firstY-e.firstY)},last:{x:Math.abs(t.lastX-e.lastX),y:Math.abs(t.lastY-e.lastY)}}}}]),tF=!eo||er,tQ=l(function e(){h(this,e),this._target=null,this._canvas=document.createElement("canvas"),tF&&(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)}},[{key:"attach",value:function(e){if(this._target&&this.detach(),this._target=e,tF){document.body.appendChild(this._canvas);var t={capture:!0,passive:!0};this._target.addEventListener("mouseover",this._eventHandlers.mouseover,t),this._target.addEventListener("mouseleave",this._eventHandlers.mouseleave,t),this._target.addEventListener("mousemove",this._eventHandlers.mousemove,t),this._target.addEventListener("mouseup",this._eventHandlers.mouseup,t)}this.clear()}},{key:"detach",value:function(){if(this._target){if(tF){var 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}}},{key:"change",value:function(e,t,i,n,s){if(0===n||0===s){this.clear();return}this._position.x=this._position.x+this._hotSpot.x-t,this._position.y=this._position.y+this._hotSpot.y-i,this._hotSpot.x=t,this._hotSpot.y=i;var r=this._canvas.getContext("2d");this._canvas.width=n,this._canvas.height=s;var a=new ImageData(new Uint8ClampedArray(e),n,s);if(r.clearRect(0,0,n,s),r.putImageData(a,0,0),tF)this._updatePosition();else{var o=this._canvas.toDataURL();this._target.style.cursor="url("+o+")"+t+" "+i+", default"}}},{key:"clear",value:function(){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}}
1,{key:"move",value:function(e,t){if(tF){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();var i=document.elementFromPoint(e,t);this._updateVisibility(i)}}},{key:"_handleMouseOver",value:function(e){this._handleMouseMove(e)}},{key:"_handleMouseLeave",value:function(e){this._updateVisibility(e.relatedTarget)}},{key:"_handleMouseMove",value:function(e){this._updateVisibility(e.target),this._position.x=e.clientX-this._hotSpot.x,this._position.y=e.clientY-this._hotSpot.y,this._updatePosition()}},{key:"_handleMouseUp",value:function(e){var t=this,i=document.elementFromPoint(e.clientX,e.clientY);this._updateVisibility(i),this._captureIsActive()&&window.setTimeout(function(){t._target&&(i=document.elementFromPoint(e.clientX,e.clientY),t._updateVisibility(i))},0)}},{key:"_showCursor",value:function(){"hidden"===this._canvas.style.visibility&&(this._canvas.style.visibility="")}},{key:"_hideCursor",value:function(){"hidden"!==this._canvas.style.visibility&&(this._canvas.style.visibility="hidden")}},{key:"_shouldShowCursor",value:function(e){return!!e&&(e===this._target||!!this._target.contains(e)&&"none"===window.getComputedStyle(e).cursor)}},{key:"_updateVisibility",value:function(e){this._captureIsActive()&&(e=document.captureElement),this._shouldShowCursor(e)?this._showCursor():this._hideCursor()}},{key:"_updatePosition",value:function(){this._canvas.style.left=this._position.x+"px",this._canvas.style.top=this._position.y+"px"}},{key:"_captureIsActive",value:function(){return document.captureElement&&document.documentElement.contains(document.captureElement)}}]);function tM(e){return function(e){if(Array.isArray(e))return r(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var tB={CONNECTING:[WebSocket.CONNECTING,"connecting"],OPEN:[WebSocket.OPEN,"open"],CLOSING:[WebSocket.CLOSING,"closing"],CLOSED:[WebSocket.CLOSED,"closed"]},tL=["send","close","binaryType","onerror","onmessage","onopen","protocol","readyState"],tR=l(function e(){h(this,e),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:function(){},open:function(){},close:function(){},error:function(){}}},[{key:"readyState",get:function(){var e;return null===this._websocket?"unused":(e=this._websocket.readyState,tB.CONNECTING.includes(e))?"connecting":tB.OPEN.includes(e)?"open":tB.CLOSING.includes(e)?"closing":tB.CLOSED.includes(e)?"closed":"unknown"}},{key:"rQpeek8",value:function(){return this._rQ[this._rQi]}},{key:"rQskipBytes",value:function(e){this._rQi+=e}},{key:"rQshift8",value:function(){return this._rQshift(1)}},{key:"rQshift16",value:function(){return this._rQshift(2)}},{key:"rQshift32",value:function(){return this._rQshift(4)}},{key:"_rQshift",value:function(e){for(var t=0,i=e-1;i>=0;i--)t+=this._rQ[this._rQi++]<<8*i;return t>>>0}},{key:"rQshiftStr",value:function(e){for(var t="",i=0;i<e;i+=4096){var n=this.rQshiftBytes(Math.min(4096,e-i),!1);t+=String.fromCharCode.apply(null,n)}return t}},{key:"rQshiftBytes",value:function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return(this._rQi+=e,t)?this._rQ.slice(this._rQi-e,this._rQi):this._rQ.subarray(this._rQi-e,this._rQi)}},{key:"rQshiftTo",value:function(e,t){e.set(new Uint8Array(this._rQ.buffer,this._rQi,t)),this._rQi+=t}},{key:"rQpeekBytes",value:function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return t?this._rQ.slice(this._rQi,this._rQi+e):this._rQ.subarray(this._rQi,this._rQi+e)}},{key:"rQwait",value:function(e,t,i){if(this._rQlen-this._rQi<t){if(i){if(this._rQi<i)throw Error("rQwait cannot backup "+i+" bytes");this._rQi-=i}return!0}return!1}},{key:"sQpush8",value:function(e){this._sQensureSpace(1),this._sQ[this._sQlen++]=e}},{key:"sQpush16",value:function(e){this._sQensureSpace(2),this._sQ[this._sQlen++]=e>>8&255,this._sQ[this._sQlen++]=e>>0&255}},{key:"sQpush32",value:function(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++]=e>>0&255}},{key:"sQpushString",value:function(e){var t=e.split("").map(function(e){return e.charCodeAt(0)});this.sQpushBytes(new Uint8Array(t))}},{key:"sQpushBytes",value:function(e){for(var t=0;t<e.length;){this._sQensureSpace(1);var i=this._sQbufferSize-this._sQlen;i>e.length-t&&(i=e.length-t),this._sQ.set(e.subarray(t,t+i),this._sQlen),this._sQlen+=i,t+=i}}},{key:"flush",value:function(){this._sQlen>0&&"open"===this.readyState&&(this._websocket.send(new Uint8Array(this._sQ.buffer,0,this._sQlen)),this._sQlen=0)}},{key:"_sQensureSpace",value:function(e){this._sQbufferSize-this._sQlen<e&&this.flush()}},{key:"off",value:function(e){this._eventHandlers[e]=function(){}}},{key:"on",value:function(e,t){this._eventHandlers[e]=t}},{key:"_allocateBuffers",value:function(){this._rQ=new Uint8Array(this._rQbufferSize),this._sQ=new Uint8Array(this._sQbufferSize)}},{key:"init",value:function(){this._allocateBuffers(),this._rQi=0,this._websocket=null}},{key:"open",value:function(e,t){this.attach(new WebSocket(e,t))}},{key:"attach",value:function(e){var t=this;this.init();for(var i=[].concat(tM(Object.keys(e)),tM(Object.getOwnPropertyNames(Object.getPrototypeOf(e)))),n=0;n<tL.length;n++){var s=tL[n];if(0>i.indexOf(s))throw Error("Raw channel missing property: "+s)}
1this._websocket=e,this._websocket.binaryType="arraybuffer",this._websocket.onmessage=this._recvMessage.bind(this),this._websocket.onopen=function(){P(">> WebSock.onopen"),t._websocket.protocol&&D("Server choose sub-protocol: "+t._websocket.protocol),t._eventHandlers.open(),P("<< WebSock.onopen")},this._websocket.onclose=function(e){P(">> WebSock.onclose"),t._eventHandlers.close(e),P("<< WebSock.onclose")},this._websocket.onerror=function(e){P(">> WebSock.onerror: "+e),t._eventHandlers.error(e),P("<< WebSock.onerror: "+e)}}},{key:"close",value:function(){this._websocket&&(("connecting"===this.readyState||"open"===this.readyState)&&(D("Closing WebSocket connection"),this._websocket.close()),this._websocket.onmessage=function(){})}},{key:"_expandCompactRQ",value:function(e){var t=(this._rQlen-this._rQi+e)*8,i=this._rQbufferSize<t;if(i&&(this._rQbufferSize=Math.max(2*this._rQbufferSize,t)),this._rQbufferSize>41943040&&(this._rQbufferSize=41943040,this._rQbufferSize-(this._rQlen-this._rQi)<e))throw Error("Receive queue buffer exceeded 41943040 bytes, and the new message could not fit");if(i){var n=this._rQ.buffer;this._rQ=new Uint8Array(this._rQbufferSize),this._rQ.set(new Uint8Array(n,this._rQi,this._rQlen-this._rQi))}else this._rQ.copyWithin(0,this._rQi,this._rQlen);this._rQlen=this._rQlen-this._rQi,this._rQi=0}},{key:"_recvMessage",value:function(e){this._rQlen==this._rQi&&(this._rQlen=0,this._rQi=0);var 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():P("Ignoring empty message")}}]),tT={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},tP={encodingRaw:0,encodingCopyRect:1,encodingRRE:2,encodingHextile:5,encodingZlib:6,encodingTight:7,encodingZRLE:16,encodingTightPNG:-260,encodingJPEG:21,encodingH264:50,pseudoEncodingQualityLevel0:-32,pseudoEncodingDesktopSize:-223,pseudoEncodingLastRect:-224,pseudoEncodingCursor:-239,pseudoEncodingQEMUExtendedKeyEvent:-258,pseudoEncodingQEMULedEvent:-261,pseudoEncodingDesktopName:-307,pseudoEncodingExtendedDesktopSize:-308,pseudoEncodingXvp:-309,pseudoEncodingFence:-312,pseudoEncodingContinuousUpdates:-313,pseudoEncodingExtendedMouseButtons:-316,pseudoEncodingCompressLevel0:-256,pseudoEncodingVMwareCursor:1464686180,pseudoEncodingExtendedClipboard:3231835598},tD=function(){var e,t,i;function n(){h(this,n),this._key=null}return l(n,[{key:"algorithm",get:function(){return{name:"AES-ECB"}}},{key:"_importKey",value:(e=s(R.mark(function e(t,i,n){return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.crypto.subtle.importKey("raw",t,{name:"AES-CBC"},i,n);case 2:this._key=e.sent;case 3:case"end":return e.stop()}},e,this)})),function(t,i,n){return e.apply(this,arguments)})},{key:"encrypt",value:(t=s(R.mark(function e(t,i){var n,s,r,a;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!((n=new Uint8Array(i)).length%16!=0||null===this._key)){e.next=3;break}return e.abrupt("return",null);case 3:s=n.length/16,r=0;
1case 5:if(!(r<s)){e.next=15;break}return e.t0=Uint8Array,e.next=9,window.crypto.subtle.encrypt({name:"AES-CBC",iv:new Uint8Array(16)},this._key,n.slice(16*r,16*r+16));case 9:e.t1=e.sent,a=new e.t0(e.t1).slice(0,16),n.set(a,16*r);case 12:r++,e.next=5;break;case 15:return e.abrupt("return",n);case 16:case"end":return e.stop()}},e,this)})),function(e,i){return t.apply(this,arguments)})}],[{key:"importKey",value:(i=s(R.mark(function e(t,i,s,r){var a;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return a=new n,e.next=3,a._importKey(t,s,r);case 3:return e.abrupt("return",a);case 4:case"end":return e.stop()}},e)})),function(e,t,n,s){return i.apply(this,arguments)})}])}(),tI=function(){var e,t,i,n,r,a,o,u,c;function _(){h(this,_),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])}return l(_,[{key:"algorithm",get:function(){return{name:"AES-EAX"}}},{key:"_encryptBlock",value:(e=s(R.mark(function e(t){var i;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.crypto.subtle.encrypt({name:"AES-CBC",iv:this._zeroBlock},this._cbcKey,t);case 2:return i=e.sent,e.abrupt("return",new Uint8Array(i).slice(0,16));case 4:case"end":return e.stop()}},e,this)})),function(t){return e.apply(this,arguments)})},{key:"_initCMAC",value:(t=s(R.mark(function e(){var t,i,n,s,r;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._encryptBlock(this._zeroBlock);case 2:for(s=0,t=e.sent,i=new Uint8Array(16),n=t[0]>>>6;s<15;s++)i[s]=t[s+1]>>6|t[s]<<2,t[s]=t[s+1]>>7|t[s]<<1;r=[0,135,14,137],i[14]^=n>>>1,i[15]=t[15]<<2^r[n],t[15]=t[15]<<1^r[n>>1],this._k1=t,this._k2=i;case 12:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"_encryptCTR",value:(i=s(R.mark(function e(t,i){var n;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.crypto.subtle.encrypt({name:"AES-CTR",counter:i,length:128},this._ctrKey,t);case 2:return n=e.sent,e.abrupt("return",new Uint8Array(n));case 4:case"end":return e.stop()}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"_decryptCTR",value:(n=s(R.mark(function e(t,i){var n;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,window.crypto.subtle.decrypt({name:"AES-CTR",counter:i,length:128},this._ctrKey,t);case 2:return n=e.sent,e.abrupt("return",new Uint8Array(n));case 4:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"_computeCMAC",value:(r=s(R.mark(function e(t,i){var n,s,r,a,o,h,u,c;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(16!==i.length)){e.next=2;break}return e.abrupt("return",null);case 2:if(n=Math.floor(t.length/16),s=Math.ceil(t.length/16),r=t.length-16*n,(a=new Uint8Array((s+1)*16)).set(i),a.set(t,16),0===r)for(o=0;o<16;o++)a[16*n+o]^=this._k1[o];else for(h=0,a[(n+1)*16+r]=128;h<16;h++)a[(n+1)*16+h]^=this._k2[h];return e.next=11,window.crypto.subtle.encrypt({name:"AES-CBC",iv:this._zeroBlock},this._cbcKey,a);case 11:return c=(u=new Uint8Array(u=e.sent)).slice(u.length-32,u.length-16),e.abrupt("return",c);case 15:case"end":return e.stop()}},e,this)})),function(e,t){return r.apply(this,arguments)})},{key:"_importKey",value:(a=s(R.mark(function e(t){return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this._rawKey=t,e.next=3,window.crypto.subtle.importKey("raw",t,{name:"AES-CTR"},!1,["encrypt","decrypt"]);case 3:return this._ctrKey=e.sent,e.next=6,window.crypto.subtle.importKey("raw",t,{name:"AES-CBC"},!1,["encrypt"]);case 6:return this._cbcKey=e.sent,e.next=9,this._initCMAC();case 9:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"encrypt",value:(o=s(R.mark(function e(t,i){var n,s,r,a,o,h,u,c;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.additionalData,s=t.iv,e.next=4,this._computeCMAC(s,this._prefixBlock0);case 4:return r=e.sent,e.next=7,this._encryptCTR(i,r);case 7:return a=e.sent,e.next=10,this._computeCMAC(n,this._prefixBlock1);case 10:return o=e.sent,e.next=13,this._computeCMAC(a,this._prefixBlock2);case 13:for(u=0,h=e.sent;u<16;u++)h[u]^=r[u]^o[u];return(c=new Uint8Array(16+a.length)).set(a),c.set(h,a.length),e.abrupt("return",c);case 19:case"end":return e.stop()}},e,this)})),function(e,t){return o.apply(this,arguments)})},{key:"decrypt",value:(u=s(R.mark(function e(t,i){var n,s,r,a,o,h,u,c,l,_;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=i.slice(0,i.length-16),s=t.additionalData,r=t.iv,a=i.slice(i.length-16),e.next=6,this._computeCMAC(r,this._prefixBlock0);case 6:return o=e.sent,e.next=9,this._computeCMAC(s,this._prefixBlock1);case 9:return h=e.sent,e.next=12,this._computeCMAC(n,this._prefixBlock2);case 12:for(c=0,u=e.sent;c<16;c++)u[c]^=o[c]^h[c];if(!(u.length!==a.length)){e.next=16;break}return e.abrupt("return",null);case 16:l=0;case 17:if(!(l<a.length)){e.next=23;break}if(!(u[l]!==a[l])){e.next=20;break}return e.abrupt("return",null);case 20:l++,e.next=17;break;case 23:return e.next=25,this._decryptCTR(n,o);case 25:return _=e.sent,e.abrupt("return",_);case 27:case"end":return e.stop()}},e,this)})),function(e,t){return u.apply(this,arguments)})}],[{key:"importKey",value:(c=s(R.mark(function e(t,i,n,s){var r;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r=new _,e.next=3,r._importKey(t);case 3:return e.abrupt("return",r);case 4:case"end":return e.stop()}},e)})),function(e,t,i,n){return c.apply(this,arguments)})}])}
1(),tU=[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],tz=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28];X=(K=65536)|(C=16777216),F=(A=4)|(E=1024);var tH=[X|E,0,0|K,X|F,X|A,K|F,0|A,0|K,0|E,X|E,X|F,0|E,C|F,X|A,0|C,0|A,0|F,C|E,C|E,K|E,K|E,0|X,0|X,C|F,K|A,C|A,C|A,K|A,0,0|F,K|F,0|C,0|K,X|F,0|A,0|X,X|E,0|C,0|C,0|E,X|A,0|K,K|E,C|A,0|E,0|A,C|F,K|F,X|F,K|A,0|X,C|F,C|A,0|F,K|F,X|E,0|F,C|E,C|E,0,K|A,K|E,0,X|A],tN=[(X=(K=1048576)|(C=-2147483648))|(F=(A=32)|(E=32768)),C|E,0|E,K|F,0|K,0|A,X|A,C|F,C|A,X|F,X|E,0|C,C|E,0|K,0|A,X|A,K|E,K|A,C|F,0,0|C,0|E,K|F,0|X,K|A,C|A,0,K|E,0|F,X|E,0|X,0|F,0,K|F,X|A,0|K,C|F,0|X,X|E,0|E,0|X,C|E,0|A,X|F,K|F,0|A,0|E,0|C,0|F,X|E,0|K,C|A,K|A,C|F,C|A,K|A,K|E,0,C|E,0|F,0|C,X|A,X|F,K|E];X=(K=131072)|(C=134217728);var tV=[0|(F=(A=8)|(E=512)),X|E,0,X|A,C|E,0,K|F,C|E,K|A,C|A,C|A,0|K,X|F,K|A,0|X,0|F,0|C,0|A,X|E,0|E,K|E,0|X,X|A,K|F,C|F,K|E,0|K,C|F,0|A,X|F,0|E,0|C,X|E,0|C,K|A,0|F,0|K,X|E,C|E,0,0|E,K|A,X|F,C|E,C|A,0|E,0,X|A,C|F,0|K,0|C,X|F,0|A,K|F,K|E,C|A,0|X,C|F,0|F,0|X,K|F,0|A,X|A,K|E];X=(K=8192)|(C=8388608),F=(A=1)|(E=128);var tO=[X|A,K|F,K|F,0|E,X|E,C|F,C|A,K|A,0,0|X,0|X,X|F,0|F,0,C|E,C|A,0|A,0|K,0|C,X|A,0|E,0|C,K|A,K|E,C|F,0|A,K|E,C|E,0|K,X|E,X|F,0|F,C|E,C|A,0|X,X|F,0|F,0,0,0|X,K|E,C|E,C|F,0|A,X|A,K|F,K|F,0|E,X|F,0|F,0|A,0|K,C|A,K|A,X|E,C|F,K|A,K|E,0|C,X|A,0|E,0|C,0|K,X|E];X=(K=33554432)|(C=1073741824),F=(A=256)|(E=524288);var tW=[0|A,K|F,K|E,X|A,0|E,0|A,0|C,K|E,C|F,0|E,K|A,C|F,X|A,X|E,0|F,0|C,0|K,C|E,C|E,0,C|A,X|F,X|F,K|A,X|E,C|A,0,0|X,K|F,0|K,0|X,0|F,0|E,X|A,0|A,0|K,0|C,K|E,X|A,C|F,K|A,0|C,X|E,K|F,C|F,0|A,0|K,X|E,X|F,0|F,0|X,X|F,K|E,0,C|E,0|X,0|F,K|A,C|A,0|E,0,C|E,K|F,C|A];X=(K=4194304)|(C=536870912),F=(A=16)|(E=16384);var tG=[C|A,0|X,0|E,X|F,0|X,0|A,X|F,0|K,C|E,K|F,0|K,C|A,K|A,C|E,0|C,0|F,0,K|A,C|F,0|E,K|E,C|F,0|A,X|A,X|A,0,K|F,X|E,0|F,K|E,X|E,0|C,C|E,0|A,X|A,K|E,X|F,0|K,0|F,C|A,0|K,C|E,0|C,0|F,C|A,X|F,K|E,0|X,K|F,X|E,0,X|A,0|A,0|E,0|X,K|F,0|E,K|A,C|F,0,X|E,0|C,K|A,C|F];X=(K=2097152)|(C=67108864),F=(A=2)|(E=2048);var tj=[0|K,X|A,C|F,0,0|E,C|F,K|F,X|E,X|F,0|K,0,C|A,0|A,0|C,X|A,0|F,C|E,K|F,K|A,C|E,C|A,0|X,X|E,K|A,0|X,0|E,0|F,X|F,K|E,0|A,0|C,K|E,0|C,K|E,0|K,C|F,C|F,X|A,X|A,0|A,K|A,0|C,C|E,0|K,X|E,0|F,K|F,X|E,0|F,C|A,X|F,0|X,K|E,0,0|A,X|F,0,K|F,0|X,0|E,C|A,C|E,0|E,K|A];X=(K=262144)|(C=268435456);var tY=[C|(F=(A=64)|(E=4096)),0|E,0|K,X|F,0|C,C|F,0|A,0|C,K|A,0|X,X|F,K|E,X|E,K|F,0|E,0|A,0|X,C|A,C|E,0|F,K|E,K|A,X|A,X|E,0|F,0,0,X|A,C|A,C|E,K|F,0|K,K|F,0|K,X|E,0|E,0|A,X|A,0|E,K|F,C|E,0|A,C|A,0|X,X|A,0|C,0|K,C|F,0,X|F,K|A,C|A,0|X,C|E,C|F,0,X|F,K|E,K|E,0|F,0|F,K|A,0|C,X|E],tZ=l(function e(t){h(this,e),this.keys=[];for(var i=[],n=[],s=[],r=0,a=56;r<56;++r,a-=8){var o=7&(a+=a<-5?65:a<-3?31:a<-1?63:27===a?35:0);i[r]=(t[a>>>3]&1<<o)!=0?1:0}for(var u=0;u<16;++u){var c=u<<1,l=c+1;s[c]=s[l]=0;for(var _=28;_<59;_+=28)for(var d=_-28;d<_;++d){var f=d+tz[u];n[d]=f<_?i[f]:i[f-28]}for(var p=0;p<24;++p)0!==n[tU[p]]&&(s[c]|=1<<23-p),0!==n[tU[p+24]]&&(s[l]|=1<<23-p)}for(var v=0,g=0,y=0;v<16;++v){var m=s[g++],k=s[g++];this.keys[y]=(16515072&m)<<6,this.keys[y]|=(4032&m)<<10,this.keys[y]|=(16515072&k)>>>10,this.keys[y]|=(4032&k)>>>6,++y,this.keys[y]=(258048&m)<<12,this.keys[y]|=(63&m)<<16,this.keys[y]|=(258048&k)>>>4,this.keys[y]|=63&k,++y}},[{key:"enc8",value:function(e){var t,i,n,s=e.slice(),r=0;n=((t=s[r++]<<24|s[r++]<<16|s[r++]<<8|s[r++])>>>4^(i=s[r++]<<24|s[r++]<<16|s[r++]<<8|s[r++]))&252645135,i^=n,t^=n<<4,n=(t>>>16^i)&65535,i^=n,t^=n<<16,n=(i>>>2^t)&858993459,t^=n,i^=n<<2,n=(i>>>8^t)&16711935,t^=n,i^=n<<8,n=(t^(i=i<<1|i>>>31&1))&2863311530,t^=n,i^=n,t=t<<1|t>>>31&1;for(var a=0,o=0;a<8;++a){var h=tj[63&(n=(i<<28|i>>>4)^this.keys[o++])];h|=tW[n>>>8&63],h|=tV[n>>>16&63],h|=tH[n>>>24&63],h|=tY[63&(n=i^this.keys[o++])],h|=tG[n>>>8&63],h|=tO[n>>>16&63],h|=tN[n>>>24&63],t^=h,i^=h=tj[63&(n=(t<<28|t>>>4)^this.keys[o++])]|tW[n>>>8&63]|tV[n>>>16&63]|tH[n>>>24&63]|tY[63&(n=t^this.keys[o++])]|tG[n>>>8&63]|tO[n>>>16&63]|tN[n>>>24&63]}for(n=(t^(i=i<<31|i>>>1))&2863311530,t^=n,i^=n,n=((t=t<<31|t>>>1)>>>8^i)&16711935,i^=n,t^=n<<8,n=(t>>>2^i)&858993459,i^=n,t^=n<<2,n=(i>>>16^t)&65535,t^=n,i^=n<<16,n=(i>>>4^t)&252645135,t^=n,i^=n<<4,n=[i,t],r=0;r<8;r++)s[r]=(n[r>>>2]>>>8*(3-r%4))%256,s[r]<0&&(s[r]+=256);return s}}]),tq=function(){function e(){h(this,e),this._cipher=null}return l(e,[{key:"algorithm",get:function(){return{name:"DES-ECB"}}},{key:"_importKey",value:function(e,t,i){this._cipher=new tZ(e)}},{key:"encrypt",value:function(e,t){var i=new Uint8Array(t);if(i.length%8!=0||null===this._cipher)return null;for(var n=i.length/8,s=0;s<n;s++)i.set(this._cipher.enc8(i.slice(8*s,8*s+8)),8*s);return i}}],[{key:"importKey",value:function(t,i,n,s){var r=new e;return r._importKey(t),r}}])}(),tJ=function(){function e(){h(this,e),this._cipher=null}return l(e,[{key:"algorithm",get:function(){return{name:"DES-CBC"}}},{key:"_importKey",value:function(e){this._cipher=new tZ(e)}},{key:"encrypt",value:function(e,t){var i=new Uint8Array(t),n=new Uint8Array(e.iv);if(i.length%8!=0||null===this._cipher)return null;for(var s=i.length/8,r=0;r<s;r++){for(var a=0;a<8;a++)n[a]^=t[8*r+a];n=this._cipher.enc8(n),i.set(n,8*r)}return i}}],[{key:"importKey",value:function(t,i,n,s){var r=new e;return r._importKey(t),r}}])}();function t$(e,t,i){var n=1n;for(e%=i;t>0n;)(1n&t)===1n&&(n=n*e%i),t>>=1n,e=e*e%i;return n}function t1(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=e.toString(16);0===t&&(t=Math.ceil(i.length/2));for(var n=(i=i.padStart(2*t,"0")).length/2,s=new Uint8Array(n),r=0;r<n;r++)s[r]=parseInt(i.slice(2*r,2*r+2),16);return s}function t0(e){for(var t="0x",i=0;i<e.length;i++)t+=e[i].toString(16).padStart(2,"0");return BigInt(t)}var t2=function(){var e,t,i,n,r,a,o;function u(){h(this,u),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}return l(u,[{key:"algorithm",get:function(){return{name:"RSA-PKCS1-v1_5"}}},{key:"_base64urlDecode",value:function(e){return e=(e=e.replace(/-/g,"+").replace(/_/g,"/")).padEnd(4*Math.ceil(e.length/4),"="),N.decode(e)}},{key:"_padArray",value:function(e,t){var i=new Uint8Array(t);return i.set(e,t-e.length),i}},{key:"_generateKey",value:(e=s(R.mark(function e(t,i){var n,s;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this._keyLength=t.modulusLength,this._keyBytes=Math.ceil(this._keyLength/8),e.next=4,window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:t.modulusLength,publicExponent:t.publicExponent,hash:{name:"SHA-256"}},!0,["encrypt","decrypt"]);case 4:return n=e.sent,e.next=7,window.crypto.subtle.exportKey("jwk",n.privateKey);case 7:s=e.sent,this._n=this._padArray(this._base64urlDecode(s.n),this._keyBytes),this._nBigInt=t0(this._n),this._e=this._padArray(this._base64urlDecode(s.e),this._keyBytes),this._eBigInt=t0(this._e),this._d=this._padArray(this._base64urlDecode(s.d),this._keyBytes),this._dBigInt=t0(this._d),this._extractable=i;case 15:case"end":return e.stop()}},e,this)})),function(t,i){return e.apply(this,arguments)})},{key:"_importKey",value:(t=s(R.mark(function e(t,i){var n,s;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.n,s=t.e,!(n.length!==s.length)){e.next=4;break}throw Error("the sizes of modulus and public exponent do not match");case 4:this._keyBytes=n.length,this._keyLength=8*this._keyBytes,this._n=new Uint8Array(this._keyBytes),this._e=new Uint8Array(this._keyBytes),this._n.set(n),this._e.set(s),this._nBigInt=t0(this._n),this._eBigInt=t0(this._e),this._extractable=i;case 13:case"end":return e.stop()}},e,this)})),function(e,i){return t.apply(this,arguments)})},{key:"encrypt",value:(i=s(R.mark(function e(t,i){var n,s,r,a;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(i.length>
1this._keyBytes-11)){e.next=2;break}return e.abrupt("return",null);case 2:for(n=new Uint8Array(this._keyBytes-i.length-3),window.crypto.getRandomValues(n),s=0;s<n.length;s++)n[s]=Math.floor(254*n[s]/255+1);return(r=new Uint8Array(this._keyBytes))[1]=2,r.set(n,2),r.set(i,n.length+3),a=t$(t0(r),this._eBigInt,this._nBigInt),e.abrupt("return",t1(a,this._keyBytes));case 12:case"end":return e.stop()}},e,this)})),function(e,t){return i.apply(this,arguments)})},{key:"decrypt",value:(n=s(R.mark(function e(t,i){var n,s;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(i.length!==this._keyBytes)){e.next=2;break}return e.abrupt("return",null);case 2:if(!(0!==(n=t1(t$(t0(i),this._dBigInt,this._nBigInt),this._keyBytes))[0]||2!==n[1])){e.next=7;break}return e.abrupt("return",null);case 7:s=2;case 8:if(!(s<n.length)){e.next=14;break}if(0!==n[s]){e.next=11;break}return e.abrupt("break",14);case 11:s++,e.next=8;break;case 14:if(s!==n.length){e.next=16;break}return e.abrupt("return",null);case 16:return e.abrupt("return",n.slice(s+1,n.length));case 17:case"end":return e.stop()}},e,this)})),function(e,t){return n.apply(this,arguments)})},{key:"exportKey",value:(r=s(R.mark(function e(){return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(this._extractable){e.next=2;break}throw Error("key is not extractable");case 2:return e.abrupt("return",{n:this._n,e:this._e,d:this._d});case 3:case"end":return e.stop()}},e,this)})),function(){return r.apply(this,arguments)})}],[{key:"generateKey",value:(a=s(R.mark(function e(t,i,n){var s;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return s=new u,e.next=3,s._generateKey(t,i);case 3:return e.abrupt("return",{privateKey:s});case 4:case"end":return e.stop()}},e)})),function(e,t,i){return a.apply(this,arguments)})},{key:"importKey",value:(o=s(R.mark(function e(t,i,n,s){var r;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(!(1!==s.length||"encrypt"!==s[0])){e.next=2;break}throw Error("only support importing RSA public key");case 2:return r=new u,e.next=5,r._importKey(t,n);case 5:return e.abrupt("return",r);case 6:case"end":return e.stop()}},e)})),function(e,t,i,n){return o.apply(this,arguments)})}])}(),t5=l(function e(t){h(this,e),this._key=t},[{key:"algorithm",get:function(){return{name:"DH"}}},{key:"exportKey",value:function(){return this._key}}]),t3=function(){function e(){h(this,e),this._g=null,this._p=null,this._gBigInt=null,this._pBigInt=null,this._privateKey=null}return l(e,[{key:"algorithm",get:function(){return{name:"DH"}}},{key:"_generateKey",value:function(e){var t=e.g,i=e.p;this._keyBytes=i.length,this._gBigInt=t0(t),this._pBigInt=t0(i),this._privateKey=window.crypto.getRandomValues(new Uint8Array(this._keyBytes)),this._privateKeyBigInt=t0(this._privateKey),this._publicKey=t1(t$(this._gBigInt,this._privateKeyBigInt,this._pBigInt),this._keyBytes)}},{key:"deriveBits",value:function(e,t){var i=Math.ceil(t/8),n=new Uint8Array(e.public),s=i>this._keyBytes?i:this._keyBytes;return t1(t$(t0(n),this._privateKeyBigInt,this._pBigInt),s).slice(0,s)}}],[{key:"generateKey",value:function(t,i){var n=new e;return n._generateKey(t),{privateKey:n,publicKey:new t5(n._publicKey)}}}])}();function t6(e){return t4.apply(this,arguments)}function t4(){return(t4=s(R.mark(function e(t){var i,n;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(n=0,i="";n<t.length;n++)i+=String.fromCharCode(t[n]);return e.abrupt("return",function(e){for(var t=new Uint8Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}(function(e){for(var t="",i=0;i<32*e.length;i+=8)t+=String.fromCharCode(e[i>>5]>>>i%32&255);return t}(function(e,t){e[t>>5]|=128<<t%32,e[14+(t+64>>>9<<4)]=t;for(var i=1732584193,n=-271733879,s=-1732584194,r=271733878,a=0;a<e.length;a+=16){var o=i,h=n,u=s,c=r;n=it(n=it(n=it(n=it(n=ie(n=ie(n=ie(n=ie(n=t9(n=t9(n=t9(n=t9(n=t7(n=t7(n=t7(n=t7(n,s=t7(s,r=t7(r,i=t7(i,n,s,r,e[a+0],7,-680876936),n,s,e[a+1],12,-389564586),i,n,e[a+2],17,606105819),r,i,e[a+3],22,-1044525330),s=t7(s,r=t7(r,i=t7(i,n,s,r,e[a+4],7,-176418897),n,s,e[a+5],12,1200080426),i,n,e[a+6],17,-1473231341),r,i,e[a+7],22,-45705983),s=t7(s,r=t7(r,i=t7(i,n,s,r,e[a+8],7,1770035416),n,s,e[a+9],12,-1958414417),i,n,e[a+10],17,-42063),r,i,e[a+11],22,-1990404162),s=t7(s,r=t7(r,i=t7(i,n,s,r,e[a+12],7,1804603682),n,s,e[a+13],12,-40341101),i,n,e[a+14],17,-1502002290),r,i,e[a+15],22,1236535329),s=t9(s,r=t9(r,i=t9(i,n,s,r,e[a+1],5,-165796510),n,s,e[a+6],9,-1069501632),i,n,e[a+11],14,643717713),r,i,e[a+0],20,-373897302),s=t9(s,r=t9(r,i=t9(i,n,s,r,e[a+5],5,-701558691),n,s,e[a+10],9,38016083),i,n,e[a+15],14,-660478335),r,i,e[a+4],20,-405537848),s=t9(s,r=t9(r,i=t9(i,n,s,r,e[a+9],5,568446438),n,s,e[a+14],9,-1019803690),i,n,e[a+3],14,-187363961),r,i,e[a+8],20,1163531501),s=t9
1(s,r=t9(r,i=t9(i,n,s,r,e[a+13],5,-1444681467),n,s,e[a+2],9,-51403784),i,n,e[a+7],14,1735328473),r,i,e[a+12],20,-1926607734),s=ie(s,r=ie(r,i=ie(i,n,s,r,e[a+5],4,-378558),n,s,e[a+8],11,-2022574463),i,n,e[a+11],16,1839030562),r,i,e[a+14],23,-35309556),s=ie(s,r=ie(r,i=ie(i,n,s,r,e[a+1],4,-1530992060),n,s,e[a+4],11,1272893353),i,n,e[a+7],16,-155497632),r,i,e[a+10],23,-1094730640),s=ie(s,r=ie(r,i=ie(i,n,s,r,e[a+13],4,681279174),n,s,e[a+0],11,-358537222),i,n,e[a+3],16,-722521979),r,i,e[a+6],23,76029189),s=ie(s,r=ie(r,i=ie(i,n,s,r,e[a+9],4,-640364487),n,s,e[a+12],11,-421815835),i,n,e[a+15],16,530742520),r,i,e[a+2],23,-995338651),s=it(s,r=it(r,i=it(i,n,s,r,e[a+0],6,-198630844),n,s,e[a+7],10,1126891415),i,n,e[a+14],15,-1416354905),r,i,e[a+5],21,-57434055),s=it(s,r=it(r,i=it(i,n,s,r,e[a+12],6,1700485571),n,s,e[a+3],10,-1894986606),i,n,e[a+10],15,-1051523),r,i,e[a+1],21,-2054922799),s=it(s,r=it(r,i=it(i,n,s,r,e[a+8],6,1873313359),n,s,e[a+15],10,-30611744),i,n,e[a+6],15,-1560198380),r,i,e[a+13],21,1309151649),s=it(s,r=it(r,i=it(i,n,s,r,e[a+4],6,-145523070),n,s,e[a+11],10,-1120210379),i,n,e[a+2],15,718787259),r,i,e[a+9],21,-343485551),i=ii(i,o),n=ii(n,h),s=ii(s,u),r=ii(r,c)}return[i,n,s,r]}(function(e){for(var t=Array(e.length>>2),i=0;i<t.length;i++)t[i]=0;for(var n=0;n<8*e.length;n+=8)t[n>>5]|=(255&e.charCodeAt(n/8))<<n%32;return t}(i),8*i.length))));case 3:case"end":return e.stop()}},e)}))).apply(this,arguments)}function t8(e,t,i,n,s,r){var a;return ii((a=ii(ii(t,e),ii(n,r)))<<s|a>>>32-s,i)}function t7(e,t,i,n,s,r,a){return t8(t&i|~t&n,e,t,s,r,a)}function t9(e,t,i,n,s,r,a){return t8(t&n|i&~n,e,t,s,r,a)}function ie(e,t,i,n,s,r,a){return t8(t^i^n,e,t,s,r,a)}function it(e,t,i,n,s,r,a){return t8(i^(t|~n),e,t,s,r,a)}function ii(e,t){var i=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(i>>16)<<16|65535&i}var is=new(l(function e(){h(this,e),this._algorithms={"AES-ECB":tD,"AES-EAX":tI,"DES-ECB":tq,"DES-CBC":tJ,"RSA-PKCS1-v1_5":t2,DH:t3,MD5:t6}},[{key:"encrypt",value:function(e,t,i){if(t.algorithm.name!==e.name)throw Error("algorithm does not match");if("function"!=typeof t.encrypt)throw Error("key does not support encryption");return t.encrypt(e,i)}},{key:"decrypt",value:function(e,t,i){if(t.algorithm.name!==e.name)throw Error("algorithm does not match");if("function"!=typeof t.decrypt)throw Error("key does not support encryption");return t.decrypt(e,i)}},{key:"importKey",value:function(e,t,i,n,s){if("raw"!==e)throw Error("key format is not supported");var r=this._algorithms[i.name];if(void 0===r||"function"!=typeof r.importKey)throw Error("algorithm is not supported");return r.importKey(t,i,n,s)}},{key:"generateKey",value:function(e,t,i){var n=this._algorithms[e.name];if(void 0===n||"function"!=typeof n.generateKey)throw Error("algorithm is not supported");return n.generateKey(e,t,i)}},{key:"exportKey",value:function(e,t){if("raw"!==e)throw Error("key format is not supported");if("function"!=typeof t.exportKey)throw Error("key does not support exportKey");return t.exportKey()}},{key:"digest",value:function(e,t){var i=this._algorithms[e];if("function"!=typeof i)throw Error("algorithm is not supported");return i(t)}},{key:"deriveBits",value:function(e,t,i){if(t.algorithm.name!==e.name)throw Error("algorithm does not match");if("function"!=typeof t.deriveBits)throw Error("key does not support deriveBits");return t.deriveBits(e,i)}}]));function ir(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ir=function(){return!!e})()}var ia=l(function e(){h(this,e),this._cipher=null,this._counter=new Uint8Array(16)},[{key:"setKey",value:(v=s(R.mark(function e(t){return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,is.importKey("raw",t,{name:"AES-EAX"},!1,["encrypt, decrypt"]);case 2:this._cipher=e.sent;case 3:case"end":return e.stop()}},e,this)})),function(e){return v.apply(this,arguments)})},{key:"makeMessage",value:(g=s(R.mark(function e(t){var i,n,s,r;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return i=new Uint8Array([(65280&t.length)>>>
18,255&t.length]),e.next=3,is.encrypt({name:"AES-EAX",iv:this._counter,additionalData:i},this._cipher,t);case 3:for(s=0,n=e.sent;s<16&&255==this._counter[s]++;s++);return(r=new Uint8Array(t.length+2+16)).set(i),r.set(n,2),e.abrupt("return",r);case 9:case"end":return e.stop()}},e,this)})),function(e){return g.apply(this,arguments)})},{key:"receiveMessage",value:(y=s(R.mark(function e(t,i){var n,s,r;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return n=new Uint8Array([(65280&t)>>>8,255&t]),e.next=3,is.decrypt({name:"AES-EAX",iv:this._counter,additionalData:n},this._cipher,i);case 3:for(r=0,s=e.sent;r<16&&255==this._counter[r]++;r++);return e.abrupt("return",s);case 6:case"end":return e.stop()}},e,this)})),function(e,t){return y.apply(this,arguments)})}]),io=function(e){var t;function i(e,t){var n,s;return h(this,i),s=d(s=i),(n=_(this,ir()?Reflect.construct(s,[],d(this).constructor):s.apply(this,void 0)))._hasStarted=!1,n._checkSock=null,n._checkCredentials=null,n._approveServerResolve=null,n._sockReject=null,n._credentialsReject=null,n._approveServerReject=null,n._sock=e,n._getCredentials=t,n}return p(i,e),l(i,[{key:"_waitSockAsync",value:function(e){var t=this;return new Promise(function(i,n){var s=function(){return!t._sock.rQwait("RA2",e)};s()?i():(t._checkSock=function(){s()&&(i(),t._checkSock=null,t._sockReject=null)},t._sockReject=n)})}},{key:"_waitApproveKeyAsync",value:function(){var e=this;return new Promise(function(t,i){e._approveServerResolve=t,e._approveServerReject=i})}},{key:"_waitCredentialsAsync",value:function(e){var t=this,i=function(){return 1===e&&void 0!==t._getCredentials().username&&void 0!==t._getCredentials().password||2===e&&void 0!==t._getCredentials().password};return new Promise(function(e,n){i()?e():(t._checkCredentials=function(){i()&&(e(),t._checkCredentials=null,t._credentialsReject=null)},t._credentialsReject=n)})}},{key:"checkInternalEvents",value:function(){null!==this._checkSock&&this._checkSock(),null!==this._checkCredentials&&this._checkCredentials()}},{key:"approveServer",value:function(){null!==this._approveServerResolve&&(this._approveServerResolve(),this._approveServerResolve=null)}},{key:"disconnect",value:function(){null!==this._sockReject&&(this._sockReject(Error("disconnect normally")),this._sockReject=null),null!==this._credentialsReject&&(this._credentialsReject(Error("disconnect normally")),this._credentialsReject=null),null!==this._approveServerReject&&(this._approveServerReject(Error("disconnect normally")),this._approveServerReject=null)}},{key:"negotiateRA2neAuthAsync",value:(t=s(R.mark(function e(){var t,i,n,s,r,a,o,h,u,c,l,_,d,f,p,v,g,y,m,k,w,b,x,S,K,C,X,A,E,F,Q,M,B,L,T;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this._hasStarted=!0,e.next=3,this._waitSockAsync(4);case 3:if(t=this._sock.rQpeekBytes(4),!((i=this._sock.rQshift32())<1024)){e.next=9;break}throw Error("RA2: server public key is too short: "+i);case 9:if(!(i>8192)){e.next=11;break}throw Error("RA2: server public key is too long: "+i);case 11:return n=Math.ceil(i/8),e.next=14,this._waitSockAsync(2*n);case 14:return s=this._sock.rQshiftBytes(n),r=this._sock.rQshiftBytes(n),e.next=18,is.importKey("raw",{n:s,e:r},{name:"RSA-PKCS1-v1_5"},!1,["encrypt"]);case 18:return a=e.sent,(o=new Uint8Array(4+2*n)).set(t),o.set(s,4),o.set(r,4+n),h=this._waitApproveKeyAsync(),this.dispatchEvent(new CustomEvent("serververification",{detail:{type:"RSA",publickey:o}})),e.next=27,h;case 27:return c=Math.ceil((u=2048)/8),e.next=31,is.generateKey({name:"RSA-PKCS1-v1_5",modulusLength:u,publicExponent:new Uint8Array([1,0,1])},!0,["encrypt"]);case 31:return l=e.sent.privateKey,e.next=34,is.exportKey("raw",l);case 34:return d=(_=e.sent).n,f=_.e,(p=new Uint8Array(4+2*c))[0]=(4278190080&u)>>>24,p[1]=(16711680&u)>>>16,p[2]=(65280&u)>>>8,p[3]=255&u,p.set(d,4),p.set(f,4+c),this._sock.sQpushBytes(p),this._sock.flush(),v=new Uint8Array(16),window.crypto.getRandomValues(v),e.next=50,is.encrypt({name:"RSA-PKCS1-v1_5"},a,v);case 50:return g=e.sent,(y=new Uint8Array(2+n))[0]=(65280&n)>>>8,y[1]=255&n,y.set(g,2),this._sock.sQpushBytes(y),this._sock.flush(),e.next=59,this._waitSockAsync(2);case 59:if(!(this._sock.rQshift16()!==c)){e.next=61;break}throw Error("RA2: wrong encrypted message length");case 61:return m=this._sock.rQshiftBytes(c),e.next=64,is.decrypt({
1name:"RSA-PKCS1-v1_5"},l,m);case 64:if(!(null===(k=e.sent)||16!==k.length)){e.next=67;break}throw Error("RA2: corrupted server encrypted random");case 67:return w=new Uint8Array(32),b=new Uint8Array(32),w.set(k),w.set(v,16),b.set(v),b.set(k,16),e.next=75,window.crypto.subtle.digest("SHA-1",w);case 75:return w=new Uint8Array(w=e.sent).slice(0,16),e.next=79,window.crypto.subtle.digest("SHA-1",b);case 79:return b=new Uint8Array(b=e.sent).slice(0,16),x=new ia,e.next=84,x.setKey(w);case 84:return S=new ia,e.next=87,S.setKey(b);case 87:return K=new Uint8Array(8+2*n+2*c),C=new Uint8Array(8+2*n+2*c),K.set(o),K.set(p,4+2*n),C.set(p),C.set(o,4+2*c),e.next=95,window.crypto.subtle.digest("SHA-1",K);case 95:return K=e.sent,e.next=98,window.crypto.subtle.digest("SHA-1",C);case 98:return C=e.sent,K=new Uint8Array(K),C=new Uint8Array(C),e.t0=this._sock,e.next=104,x.makeMessage(C);case 104:return e.t1=e.sent,e.t0.sQpushBytes.call(e.t0,e.t1),this._sock.flush(),e.next=109,this._waitSockAsync(38);case 109:if(!(20!==this._sock.rQshift16())){e.next=111;break}throw Error("RA2: wrong server hash");case 111:return e.next=113,S.receiveMessage(20,this._sock.rQshiftBytes(36));case 113:if(null!==(X=e.sent)){e.next=116;break}throw Error("RA2: failed to authenticate the message");case 116:A=0;case 117:if(!(A<20)){e.next=123;break}if(!(X[A]!==K[A])){e.next=120;break}throw Error("RA2: wrong server hash");case 120:A++,e.next=117;break;case 123:return e.next=125,this._waitSockAsync(19);case 125:if(!(1!==this._sock.rQshift16())){e.next=127;break}throw Error("RA2: wrong subtype");case 127:return e.next=129,S.receiveMessage(1,this._sock.rQshiftBytes(17));case 129:if(null!==(E=e.sent)){e.next=132;break}throw Error("RA2: failed to authenticate the message");case 132:if(E=E[0],F=this._waitCredentialsAsync(E),1!==E){e.next=138;break}(void 0===this._getCredentials().username||void 0===this._getCredentials().password)&&this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}})),e.next=143;break;case 138:if(2!==E){e.next=142;break}void 0===this._getCredentials().password&&this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["password"]}})),e.next=143;break;case 142:throw Error("RA2: wrong subtype");case 143:return e.next=145,F;case 145:for(L=0,Q=1===E?H(this._getCredentials().username).slice(0,255):"",M=H(this._getCredentials().password).slice(0,255),(B=new Uint8Array(Q.length+M.length+2))[0]=Q.length,B[Q.length+1]=M.length;L<Q.length;L++)B[L+1]=Q.charCodeAt(L);for(T=0;T<M.length;T++)B[Q.length+2+T]=M.charCodeAt(T);return e.t2=this._sock,e.next=155,x.makeMessage(B);case 155:e.t3=e.sent,e.t2.sQpushBytes.call(e.t2,e.t3),this._sock.flush();case 158:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})},{key:"hasStarted",get:function(){return this._hasStarted},set:function(e){this._hasStarted=e}}])}(eg),ih=l(function e(){h(this,e),this._lines=0},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(0===i||0===n)return!0;0===this._lines&&(this._lines=n);for(var o=i*(8==a?1:4);this._lines>0;){if(s.rQwait("RAW",o))return!1;var h=t+(n-this._lines),u=s.rQshiftBytes(o,!1);if(8==a){for(var c=new Uint8Array(4*i),l=0;l<i;l++)c[4*l+0]=(u[l]>>0&3)*255/3,c[4*l+1]=(u[l]>>2&3)*255/3,c[4*l+2]=(u[l]>>4&3)*255/3,c[4*l+3]=255;u=c}for(var _=0;_<i;_++)u[4*_+3]=255;r.blitImage(e,h,i,1,u,0),this._lines--}return!0}}]),iu=l(function e(){h(this,e)},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(s.rQwait("COPYRECT",4))return!1;var o=s.rQshift16(),h=s.rQshift16();return 0===i||0===n||(r.copyImage(o,h,e,t,i,n),!0)}}]),ic=l(function e(){h(this,e),this._subrects=0}
1,[{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(0===this._subrects){if(s.rQwait("RRE",8))return!1;this._subrects=s.rQshift32();var o=s.rQshiftBytes(4);r.fillRect(e,t,i,n,o)}for(;this._subrects>0;){if(s.rQwait("RRE",12))return!1;var h=s.rQshiftBytes(4),u=s.rQshift16(),c=s.rQshift16(),l=s.rQshift16(),_=s.rQshift16();r.fillRect(e+u,t+c,l,_,h),this._subrects--}return!0}}]),il=l(function e(){h(this,e),this._tiles=0,this._lastsubencoding=0,this._tileBuffer=new Uint8Array(1024)},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){for(0===this._tiles&&(this._tilesX=Math.ceil(i/16),this._tilesY=Math.ceil(n/16),this._totalTiles=this._tilesX*this._tilesY,this._tiles=this._totalTiles);this._tiles>0;){var o=1;if(s.rQwait("HEXTILE",o))return!1;var h=s.rQpeek8();if(h>30)throw Error("Illegal hextile subencoding (subencoding: "+h+")");var u=this._totalTiles-this._tiles,c=u%this._tilesX,l=Math.floor(u/this._tilesX),_=e+16*c,d=t+16*l,f=Math.min(16,e+i-_),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++,s.rQwait("HEXTILE",o))return!1;var v=s.rQpeekBytes(o).at(-1);16&h?o+=6*v:o+=2*v}if(s.rQwait("HEXTILE",o))return!1;if(s.rQshift8(),0===h)1&this._lastsubencoding?P(" Ignoring blank after RAW"):r.fillRect(_,d,f,p,this._background);else if(1&h){for(var g=f*p,y=s.rQshiftBytes(4*g,!1),m=0;m<g;m++)y[4*m+3]=255;r.blitImage(_,d,f,p,y,0)}else{if(2&h&&(this._background=new Uint8Array(s.rQshiftBytes(4))),4&h&&(this._foreground=new Uint8Array(s.rQshiftBytes(4))),this._startTile(_,d,f,p,this._background),8&h)for(var k=s.rQshift8(),w=0;w<k;w++){var b=void 0;b=16&h?s.rQshiftBytes(4):this._foreground;var x=s.rQshift8(),S=x>>4,K=15&x,C=s.rQshift8(),X=(C>>4)+1,A=(15&C)+1;this._subTile(S,K,X,A,b)}this._finishTile(r)}this._lastsubencoding=h,this._tiles--}return!0}},{key:"_startTile",value:function(e,t,i,n,s){this._tileX=e,this._tileY=t,this._tileW=i,this._tileH=n;for(var r=s[0],a=s[1],o=s[2],h=this._tileBuffer,u=0;u<i*n*4;u+=4)h[u]=r,h[u+1]=a,h[u+2]=o,h[u+3]=255}},{key:"_subTile",value:function(e,t,i,n,s){for(var r=s[0],a=s[1],o=s[2],h=e+i,u=t+n,c=this._tileBuffer,l=this._tileW,_=t;_<u;_++)for(var d=e;d<h;d++){var f=(d+_*l)*4;c[f]=r,c[f+1]=a,c[f+2]=o,c[f+3]=255}}},{key:"_finishTile",value:function(e){e.blitImage(this._tileX,this._tileY,this._tileW,this._tileH,this._tileBuffer,0)}}]),i_=l(function e(){h(this,e),this._zlib=new eR,this._length=0},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(0===i||0===n)return!0;if(0===this._length){if(s.rQwait("ZLIB",4))return!1;this._length=s.rQshift32()}if(s.rQwait("ZLIB",this._length))return!1;var o=new Uint8Array(s.rQshiftBytes(this._length,!1));this._length=0,this._zlib.setInput(o),o=this._zlib.inflate(i*n*4),this._zlib.setInput(null);for(var h=0;h<i*n;h++)o[4*h+3]=255;return r.blitImage(e,t,i,n,o,0),!0}}]),id=l(function e(){h(this,e),this._ctl=null,this._filter=null,this._numColors=0,this._palette=new Uint8Array(1024),this._len=0,this._zlibs=[];for(var t=0;t<4;t++)this._zlibs[t]=new eR},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(null===this._ctl){if(s.rQwait("TIGHT compression-control",1))return!1;this._ctl=s.rQshift8();for(var o,h=0;h<4;h++)this._ctl>>h&1&&(this._zlibs[h].reset(),D("Reset zlib stream "+h));this._ctl=this._ctl>>4}if(8===this._ctl)o=this._fillRect(e,t,i,n,s,r,a);else if(9===this._ctl)o=this._jpegRect(e,t,i,n,s,r,a);else if(10===this._ctl)o=this._pngRect(e,t,i,n,s,r,a);else if((8&this._ctl)==0)o=this._basicRect(this._ctl,e,t,i,n,s,r,a);else throw Error("Illegal tight compression received (ctl: "+this._ctl+")");return o&&(this._ctl=null),o}},{key:"_fillRect",value:function(e,t,i,n,s,r,a){if(s.rQwait("TIGHT",3))return!1;var o=s.rQshiftBytes(3);return r.fillRect(e,t,i,n,o,!1),!0}},{key:"_jpegRect",value:function(e,t,i,n,s,r,a){var o=this._readData(s);return null!==o&&(r.imageRect(e,t,i,n,"image/jpeg",o),!0)}},{key:"_pngRect",value:function(e,t,i,n,s,r,a){throw Error("PNG received in standard Tight rect")}},{key:"_basicRect",value:function(e,t,i,n,s,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}var h,u=3&e;switch(this._filter){case 0:h=this._copyFilter(u,t,i,n,s,r,a,o);break;case 1:h=this._paletteFilter(u,t,i,n,s,r,a,o);break;case 2:h=this._gradientFilter(u,t,i,n,s,r,a,o);break;default:throw Error("Illegal tight filter received (ctl: "+this._filter+")")}return h&&(this._filter=null),h}},{key:"_copyFilter",value:function(e,t,i,n,s,r,a,o){var h,u=n*s*3;if(0===u)return!0;
1if(u<12){if(r.rQwait("TIGHT",u))return!1;h=r.rQshiftBytes(u)}else{if(null===(h=this._readData(r)))return!1;this._zlibs[e].setInput(h),h=this._zlibs[e].inflate(u),this._zlibs[e].setInput(null)}for(var c=new Uint8Array(n*s*4),l=0,_=0;l<n*s*4;l+=4,_+=3)c[l]=h[_],c[l+1]=h[_+1],c[l+2]=h[_+2],c[l+3]=255;return a.blitImage(t,i,n,s,c,0,!1),!0}},{key:"_paletteFilter",value:function(e,t,i,n,s,r,a,o){if(0===this._numColors){if(r.rQwait("TIGHT palette",1))return!1;var h,u=r.rQpeek8()+1,c=3*u;if(r.rQwait("TIGHT palette",1+c))return!1;this._numColors=u,r.rQskipBytes(1),r.rQshiftTo(this._palette,c)}var l=Math.floor((n*(this._numColors<=2?1:8)+7)/8)*s;if(0===l)return!0;if(l<12){if(r.rQwait("TIGHT",l))return!1;h=r.rQshiftBytes(l)}else{if(null===(h=this._readData(r)))return!1;this._zlibs[e].setInput(h),h=this._zlibs[e].inflate(l),this._zlibs[e].setInput(null)}return 2==this._numColors?this._monoRect(t,i,n,s,h,this._palette,a):this._paletteRect(t,i,n,s,h,this._palette,a),this._numColors=0,!0}},{key:"_monoRect",value:function(e,t,i,n,s,r,a){for(var o=this._getScratchBuffer(i*n*4),h=Math.floor((i+7)/8),u=Math.floor(i/8),c=0;c<n;c++){var l=void 0,_=void 0,d=void 0;for(d=0;d<u;d++)for(var f=7;f>=0;f--)l=(c*i+8*d+7-f)*4,_=(s[c*h+d]>>f&1)*3,o[l]=r[_],o[l+1]=r[_+1],o[l+2]=r[_+2],o[l+3]=255;for(var p=7;p>=8-i%8;p--)l=(c*i+8*d+7-p)*4,_=(s[c*h+d]>>p&1)*3,o[l]=r[_],o[l+1]=r[_+1],o[l+2]=r[_+2],o[l+3]=255}a.blitImage(e,t,i,n,o,0,!1)}},{key:"_paletteRect",value:function(e,t,i,n,s,r,a){for(var o=this._getScratchBuffer(i*n*4),h=i*n*4,u=0,c=0;u<h;u+=4,c++){var l=3*s[c];o[u]=r[l],o[u+1]=r[l+1],o[u+2]=r[l+2],o[u+3]=255}a.blitImage(e,t,i,n,o,0,!1)}},{key:"_gradientFilter",value:function(e,t,i,n,s,r,a,o){var h,u=n*s*3;if(0===u)return!0;if(u<12){if(r.rQwait("TIGHT",u))return!1;h=r.rQshiftBytes(u)}else{if(null===(h=this._readData(r)))return!1;this._zlibs[e].setInput(h),h=this._zlibs[e].inflate(u),this._zlibs[e].setInput(null)}for(var c=new Uint8Array(4*n*s),l=0,_=0,d=new Uint8Array(3),f=0;f<n;f++){for(var p=0;p<3;p++){var v=d[p],g=h[_++]+v;c[l++]=g,d[p]=g}c[l++]=255}for(var y=0,m=new Uint8Array(3),k=new Uint8Array(3),w=1;w<s;w++){d.fill(0),k.fill(0);for(var b=0;b<n;b++){for(var x=0;x<3;x++){m[x]=c[y++];var S=d[x]+m[x]-k[x];S<0?S=0:S>255&&(S=255);var K=h[_++]+S;c[l++]=K,k[x]=m[x],d[x]=K}c[l++]=255,y++}}return a.blitImage(t,i,n,s,c,0,!1),!0}},{key:"_readData",value:function(e){if(0===this._len){var t;if(e.rQwait("TIGHT",3))return null;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;var i=e.rQshiftBytes(this._len,!1);return this._len=0,i}},{key:"_getScratchBuffer",value:function(e){return(!this._scratchBuffer||this._scratchBuffer.length<e)&&(this._scratchBuffer=new Uint8Array(e)),this._scratchBuffer}}]);function ip(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ip=function(){return!!e})()}var iv=function(e){function t(){var e,i;return h(this,t),e=t,i=arguments,e=d(e),_(this,ip()?Reflect.construct(e,i||[],d(this).constructor):e.apply(this,i))}return p(t,e),l(t,[{key:"_pngRect",value:function(e,t,i,n,s,r,a){var o=this._readData(s);return null!==o&&(r.imageRect(e,t,i,n,"image/png",o),!0)}},{key:"_basicRect",value:function(e,t,i,n,s,r,a,o){throw Error("BasicCompression received in TightPNG rect")}}])}(id),ig=l(function e(){h(this,e),this._length=0,this._inflator=new eR,this._pixelBuffer=new Uint8Array(16384),this._tileBuffer=new Uint8Array(16384)},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(0===this._length){if(s.rQwait("ZLib data length",4))return!1;this._length=s.rQshift32()}if(s.rQwait("Zlib data",this._length))return!1;var o=s.rQshiftBytes(this._length,!1);this._inflator.setInput(o);for(var h=t;h<t+n;h+=64)for(var u=Math.min(64,t+n-h),c=e;c<e+i;c+=64){var l=Math.min(64,e+i-c),_=l*u,d=this._inflator.inflate(1)[0];if(0===d){var f=this._readPixels(_);r.blitImage(c,h,l,u,f,0,!1)}else if(1===d){var p=this._readPixels(1);r.fillRect(c,h,l,u,[p[0],p[1],p[2]])}else if(d>=2&&d<=16){var v=this._decodePaletteTile(d,_,l,u);r.blitImage(c,h,l,u,v,0,!1)}else if(128===d){var g=this._decodeRLETile(_);r.blitImage(c,h,l,u,g,0,!1)}else if(d>=130&&d<=255){var y=this._decodeRLEPaletteTile(d-128,_);r.blitImage(c,h,l,u,y,0,!1)}else throw Error("Unknown subencoding: "+d)}return this._length=0,!0}},{key:"_getBitsPerPixelInPalette",value:function(e){return e<=2?1:e<=4?2:e<=16?4:void 0}},{key:"_readPixels",value:function(e){for(var t=this._pixelBuffer,i=this._inflator.inflate(3*e),n=0,s=0;n<4*e;
1n+=4,s+=3)t[n]=i[s],t[n+1]=i[s+1],t[n+2]=i[s+2],t[n+3]=255;return t}},{key:"_decodePaletteTile",value:function(e,t,i,n){for(var s=this._tileBuffer,r=this._readPixels(e),a=this._getBitsPerPixelInPalette(e),o=(1<<a)-1,h=0,u=this._inflator.inflate(1)[0],c=0;c<n;c++){for(var l=8-a,_=0;_<i;_++){l<0&&(l=8-a,u=this._inflator.inflate(1)[0]);var d=u>>l&o;s[h]=r[4*d],s[h+1]=r[4*d+1],s[h+2]=r[4*d+2],s[h+3]=r[4*d+3],h+=4,l-=a}l<8-a&&c<n-1&&(u=this._inflator.inflate(1)[0])}return s}},{key:"_decodeRLETile",value:function(e){for(var t=this._tileBuffer,i=0;i<e;)for(var n=this._readPixels(1),s=this._readRLELength(),r=0;r<s;r++)t[4*i]=n[0],t[4*i+1]=n[1],t[4*i+2]=n[2],t[4*i+3]=n[3],i++;return t}},{key:"_decodeRLEPaletteTile",value:function(e,t){for(var i=this._tileBuffer,n=this._readPixels(e),s=0;s<t;){var r=this._inflator.inflate(1)[0],a=1;if(r>=128&&(r-=128,a=this._readRLELength()),r>e)throw Error("Too big index in palette: "+r+", palette size: "+e);if(s+a>t)throw Error("Too big rle length in palette mode: "+a+", allowed length is: "+(t-s));for(var o=0;o<a;o++)i[4*s]=n[4*r],i[4*s+1]=n[4*r+1],i[4*s+2]=n[4*r+2],i[4*s+3]=n[4*r+3],s++}return i}},{key:"_readRLELength",value:function(){var e=0,t=0;do e+=t=this._inflator.inflate(1)[0];while(255===t);return e+1}}]);function iy(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return im(e,void 0);var i=({}).toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?im(e,void 0):void 0}}(e))||t){i&&(e=i);var n=0,s=function(){};return{s:s,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:s}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,o=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){o=!0,r=e},f:function(){try{a||null==i.return||i.return()}finally{if(o)throw r}}}}function im(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}var ik=l(function e(){h(this,e),this._cachedQuantTables=[],this._cachedHuffmanTables=[],this._segments=[]},[{key:"decodeRect",value:function(e,t,i,n,s,r,a){for(;;){var o=this._readSegment(s);if(null===o)return!1;if(this._segments.push(o),217===o[1])break}var h,u=[],c=[],l=iy(this._segments);try{for(l.s();!(h=l.n()).done;){var _=h.value,d=_[1];196===d?u.push(_):219===d&&c.push(_)}}catch(e){l.e(e)}finally{l.f()}var f=this._segments.findIndex(function(e){return 192==e[1]||194==e[1]});if(-1==f)throw Error("Illegal JPEG image without SOF");0===c.length&&(p=this._segments).splice.apply(p,[f+1,0].concat(tM(this._cachedQuantTables))),0===u.length&&(v=this._segments).splice.apply(v,[f+1,0].concat(tM(this._cachedHuffmanTables)));var p,v,g,y=0,m=iy(this._segments);try{for(m.s();!(g=m.n()).done;){var k=g.value;y+=k.length}}catch(e){m.e(e)}finally{m.f()}var w=new Uint8Array(y);y=0;var b,x=iy(this._segments);try{for(x.s();!(b=x.n()).done;){var S=b.value;w.set(S,y),y+=S.length}}catch(e){x.e(e)}finally{x.f()}return r.imageRect(e,t,i,n,"image/jpeg",w),0!==u.length&&(this._cachedHuffmanTables=u),0!==c.length&&(this._cachedQuantTables=c),this._segments=[],!0}},{key:"_readSegment",value:function(e){if(e.rQwait("JPEG",2))return null;var t=e.rQshift8();if(255!=t)throw Error("Illegal JPEG marker received (byte: "+t+")");var i=e.rQshift8();if(i>=208&&i<=217||1==i)return new Uint8Array([t,i]);if(e.rQwait("JPEG",2,2))return null;var n=e.rQshift16();if(n<2)throw Error("Illegal JPEG length received (length: "+n+")");if(e.rQwait("JPEG",n-2,4))return null;var s=0;if(218===i)for(s+=2;;){if(e.rQwait("JPEG",n-2+s,4))return null;var r=e.rQpeekBytes(n-2+s,!1);if(255===r.at(-2)&&0!==r.at(-1)&&!(r.at(-1)>=208&&215>=r.at(-1))){s-=2;break}s++}var a=new Uint8Array(2+n+s);return a[0]=t,a[1]=i,a[2]=n>>8,a[3]=n,a.set(e.rQshiftBytes(n-2+s,!1),4),a}}]),iw=l(function e(t){h(this,e),this._data=t,this._index=0,this.profileIdc=null,this.constraintSet=null,this.levelIdc=null},[{key:"_getStartSequenceLen",value:function(e){var 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}},{key:"_indexOfNextNalUnit",value:function(e){for(var t=this._data,i=e;i<t.length;++i)if(0!=this._getStartSequenceLen(i))return i;return -1}},{key:"_parseSps",value:function(e){this.profileIdc=this._data[e],this.constraintSet=this._data[e+1],this.levelIdc=this._data[e+2]}},{key:"_parseNalUnit",value:function(e){var t=this._data[e];if(128&t)throw Error("H264 parsing sanity check failed, forbidden zero bit is set");var i=31&t;switch(i){case 1:return{slice:!0};case 5:return{slice:!0,key:!0};case 6:case 8:break;case 7:this._parseSps(e+1);break;default:I("Unhandled unit type: ",i)}return{}}},{key:"parse",value:function(){for(var e=this._index,t=!1;this._index<this._data.length;){var i=this._getStartSequenceLen(this._index);if(0==i)throw Error("Invalid start sequence in bit stream");var n=this._parseNalUnit(this._index+i),s=n.slice,r=n.key,a=this._indexOfNextNalUnit(this._index+i);if(-1==a?this._index=this._data.length:this._index=a,r&&(t=!0),s)break}return e===this._index?null:{frame:this._data.subarray(e,this._index),key:t}}}]),ib=l(function e(t,i){h(this,e),this.lastUsed=0,this._width=t,this._height=i,this._profileIdc=null,this._constraintSet=null,this._levelIdc=null,this._decoder=null,this._pendingFrames=[]}
1,[{key:"_handleFrame",value:function(e){var t=this._pendingFrames.shift();if(void 0===t)throw Error("Pending frame queue empty when receiving frame from decoder");if(t.timestamp!=e.timestamp)throw 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()}},{key:"_handleError",value:function(e){throw Error("Failed to decode frame: "+e.message)}},{key:"_configureDecoder",value:function(e,t,i){var n=this;(null===this._decoder||"closed"===this._decoder.state)&&(this._decoder=new VideoDecoder({output:function(e){return n._handleFrame(e)},error:function(e){return n._handleError(e)}}));var s="avc1."+e.toString(16).padStart(2,"0")+t.toString(16).padStart(2,"0")+i.toString(16).padStart(2,"0");this._decoder.configure({codec:s,codedWidth:this._width,codedHeight:this._height,optimizeForLatency:!0})}},{key:"_preparePendingFrame",value:function(e){var t={timestamp:e,promise:null,resolve:null,frame:null,ready:!1,keep:!1};return t.promise=new Promise(function(e){t.resolve=e}),this._pendingFrames.push(t),t}},{key:"decode",value:function(e){for(var t=new iw(e),i=null,n=Math.round(1e3*window.performance.now());;){var s=t.parse();if(null===s)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(!s.key){I("Missing key frame. Can't decode until one arrives");continue}if(null===self._profileIdc){I("Cannot config decoder. Have not received SPS and PPS yet.");continue}this._configureDecoder(self._profileIdc,self._constraintSet,self._levelIdc)}i=this._preparePendingFrame(n);var r=new EncodedVideoChunk({timestamp:n,type:s.key?"key":"delta",data:s.frame});try{this._decoder.decode(r)}catch(e){I("Failed to decode:",e)}}return null!==i&&(i.keep=!0),i}}]),ix=l(function e(){h(this,e),this._tick=0,this._contexts={}},[{key:"_contextId",value:function(e,t,i,n){return[e,t,i,n].join(",")}},{key:"_findOldestContextId",value:function(){for(var e=Number.MAX_VALUE,t=void 0,i=0,n=Object.entries(this._contexts);i<n.length;i++){var s=o(n[i],2),r=s[0],a=s[1];a.lastUsed<e&&(e=a.lastUsed,t=r)}return t}},{key:"_createContext",value:function(e,t,i,n){if(Object.keys(this._contexts).length>=64){var s=this._findOldestContextId();delete this._contexts[s]}var r=new ib(i,n);return this._contexts[this._contextId(e,t,i,n)]=r,r}},{key:"_getContext",value:function(e,t,i,n){var s=this._contexts[this._contextId(e,t,i,n)];return void 0!==s?s:this._createContext(e,t,i,n)}},{key:"_resetContext",value:function(e,t,i,n){delete this._contexts[this._contextId(e,t,i,n)]}},{key:"_resetAllContexts",value:function(){this._contexts={}}},{key:"decodeRect",value:function(e,t,i,n,s,r,a){if(s.rQwait("h264 header",8))return!1;var o=s.rQshift32(),h=s.rQshift32();if(s.rQwait("h264 payload",o,8))return!1;2&h?this._resetAllContexts():1&h&&this._resetContext(e,t,i,n);var u=this._getContext(e,t,i,n);if(u.lastUsed=this._tick++,0!==o){var c=s.rQshiftBytes(o,!1),l=u.decode(c);null!==l&&r.videoFrame(e,t,i,n,l)}return!0}}]);function iS(e,t){var i="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!i){if(Array.isArray(e)||(i=function(e,t){if(e){if("string"==typeof e)return iK(e,void 0);var i=({}).toString.call(e).slice(8,-1);return"Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i?Array.from(e):"Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?iK(e,void 0):void 0}}(e))||t){i&&(e=i);var n=0,s=function(){};return{s:s,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:s}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,a=!0,o=!1;return{s:function(){i=i.call(e)},n:function(){var e=i.next();return a=e.done,e},e:function(e){o=!0,r=e},f:function(){try{a||null==i.return||i.return()}finally{if(o)throw r}}}}function iK(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=Array(t);i<t;i++)n[i]=e[i];return n}function iC(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(iC=function(){return!!e})()}var iX=function(e){var t;function i(e,t,n){var s,r;
1if(h(this,i),!e)throw Error("Must specify target");if(!t)throw Error("Must specify URL, WebSocket or RTCDataChannel");window.isSecureContext||U("noVNC requires a secure context (TLS). Expect crashes!"),r=d(r=i),(s=_(this,iC()?Reflect.construct(r,[],d(this).constructor):r.apply(this,void 0)))._target=e,"string"==typeof t?s._url=t:(s._url=null,s._rawChannel=t),n=n||{},s._rfbCredentials=n.credentials||{},s._shared=!("shared"in n)||!!n.shared,s._repeaterID=n.repeaterID||"",s._wsProtocols=n.wsProtocols||[],s._rfbConnectionState="",s._rfbInitState="",s._rfbAuthScheme=-1,s._rfbCleanDisconnect=!0,s._rfbRSAAESAuthenticationState=null,s._rfbVersion=0,s._rfbMaxVersion=3.8,s._rfbTightVNC=!1,s._rfbVeNCryptState=0,s._rfbXvpVer=0,s._fbWidth=0,s._fbHeight=0,s._fbName="",s._capabilities={power:!1},s._supportsFence=!1,s._supportsContinuousUpdates=!1,s._enabledContinuousUpdates=!1,s._supportsSetDesktopSize=!1,s._screenID=0,s._screenFlags=0,s._pendingRemoteResize=!1,s._lastResize=0,s._qemuExtKeyEventSupported=!1,s._extendedPointerEventSupported=!1,s._clipboardText=null,s._clipboardServerCapabilitiesActions={},s._clipboardServerCapabilitiesFormats={},s._sock=null,s._display=null,s._flushing=!1,s._keyboard=null,s._gestures=null,s._resizeObserver=null,s._disconnTimer=null,s._resizeTimeout=null,s._mouseMoveTimer=null,s._decoders={},s._FBU={rects:0,x:0,y:0,width:0,height:0,encoding:null},s._mousePos={},s._mouseButtonMask=0,s._mouseLastMoveTime=0,s._viewportDragging=!1,s._viewportDragPos={},s._viewportHasMoved=!1,s._accumulatedWheelDeltaX=0,s._accumulatedWheelDeltaY=0,s._gestureLastTapTime=null,s._gestureFirstDoubleTapEv=null,s._gestureLastMagnitudeX=0,s._gestureLastMagnitudeY=0,s._eventHandlers={focusCanvas:s._focusCanvas.bind(s),handleResize:s._handleResize.bind(s),handleMouse:s._handleMouse.bind(s),handleWheel:s._handleWheel.bind(s),handleGesture:s._handleGesture.bind(s),handleRSAAESCredentialsRequired:s._handleRSAAESCredentialsRequired.bind(s),handleRSAAESServerVerification:s._handleRSAAESServerVerification.bind(s)},P(">> RFB.constructor"),s._screen=document.createElement("div"),s._screen.style.display="flex",s._screen.style.width="100%",s._screen.style.height="100%",s._screen.style.overflow="auto",s._screen.style.background="rgb(40, 40, 40)",s._c
1anvas=document.createElement("canvas"),s._canvas.style.margin="auto",s._canvas.style.outline="none",s._canvas.width=0,s._canvas.height=0,s._canvas.tabIndex=-1,s._screen.appendChild(s._canvas),s._cursor=new tQ,s._cursorImage=i.cursors.none,s._decoders[tP.encodingRaw]=new ih,s._decoders[tP.encodingCopyRect]=new iu,s._decoders[tP.encodingRRE]=new ic,s._decoders[tP.encodingHextile]=new il,s._decoders[tP.encodingZlib]=new i_,s._decoders[tP.encodingTight]=new id,s._decoders[tP.encodingTightPNG]=new iv,s._decoders[tP.encodingZRLE]=new ig,s._decoders[tP.encodingJPEG]=new ik,s._decoders[tP.encodingH264]=new ix;try{s._display=new ey(s._canvas)}catch(e){throw U("Display exception: "+e),e}return s._keyboard=new tA(s._canvas),s._keyboard.onkeyevent=s._handleKeyEvent.bind(s),s._remoteCapsLock=null,s._remoteNumLock=null,s._gestures=new tE,s._sock=new tR,s._sock.on("open",s._socketOpen.bind(s)),s._sock.on("close",s._socketClose.bind(s)),s._sock.on("message",s._handleMessage.bind(s)),s._sock.on("error",s._socketError.bind(s)),s._expectedClientWidth=null,s._expectedClientHeight=null,s._resizeObserver=new ResizeObserver(s._eventHandlers.handleResize),s._updateConnectionState("connecting"),P("<< RFB.constructor"),s.dragViewport=!1,s.focusOnClick=!0,s._viewOnly=!1,s._clipViewport=!1,s._clippingViewport=!1,s._scaleViewport=!1,s._resizeSession=!1,s._showDotCursor=!1,void 0!==n.showDotCursor&&(I("Specifying showDotCursor as a RFB constructor argument is deprecated"),s._showDotCursor=n.showDotCursor),s._qualityLevel=6,s._compressionLevel=2,s}return p(i,e),l(i,[{key:"viewOnly",get:function(){return this._viewOnly},set:function(e){this._viewOnly=e,("connecting"===this._rfbConnectionState||"connected"===this._rfbConnectionState)&&(e?this._keyboard.ungrab():this._keyboard.grab())}},{key:"capabilities",get:function(){return this._capabilities}},{key:"clippingViewport",get:function(){return this._clippingViewport}},{key:"_setClippingViewport",value:function(e){e!==this._clippingViewport&&(this._clippingViewport=e,this.dispatchEvent(new CustomEvent("clippingviewport",{detail:this._clippingViewport})))}},{key:"touchButton",get:function(){return 0},set:function(e){I("Using old API!")}},{key:"clipViewport",get:function(){return this._clipViewport},set:function(e){this._clipViewport=e,this._updateClip()}},{key:"scaleViewport",get:function(){return this._scaleViewport},set:function(e){this._scaleViewport=e,e&&this._clipViewport&&this._updateClip(),this._updateScale(),!e&&this._clipViewport&&this._updateClip()}},{key:"resizeSession",get:function(){return this._resizeSession},set:function(e){this._resizeSession=e,e&&this._requestRemoteResize()}},{key:"showDotCursor",get:function(){return this._showDotCursor},set:function(e){this._showDotCursor=e,this._refreshCursor()}},{key:"background",get:function(){return this._screen.style.background},set:function(e){this._screen.style.background=e}},{key:"qualityLevel",get:function(){return this._qualityLevel},set:function(e){if(!Number.isInteger(e)||e<0||e>9){U("qualityLevel must be an integer between 0 and 9");return}this._qualityLevel!==e&&(this._qualityLevel=e,"connected"===this._rfbConnectionState&&this._sendEncodings())}},{key:"compressionLevel",get:function(){return this._compressionLevel},set:function(e){if(!Number.isInteger(e)||e<0||e>9){U("compressionLevel must be an integer between 0 and 9");return}this._compressionLevel!==e&&(this._compressionLevel=e,"connected"===this._rfbConnectionState&&this._sendEncodings())}},{key:"disconnect",value:function(){this._updateConnectionState("disconnecting"),this._sock.off("error"),this._sock.off("message"),this._sock.off("open"),null!==this._rfbRSAAESAuthenticationState&&this._rfbRSAAESAuthenticationState.disconnect()}},{key:"approveServer",value:function(){null!==this._rfbRSAAESAuthenticationState&&this._rfbRSAAESAuthenticationState.approveServer()}},{key:"sendCredentials",value:function(e){this._rfbCredentials=e,this._resumeAuthentication()}},{key:"sendCtrlAltDel",value:function(){"connected"!==this._rfbConnectionState||this._viewOnly||(D("Sending Ctrl-Alt-Del"),this.sendKey(ty.XK_Control_L,"ControlLeft",!0),this.sendKey(ty.XK_Alt_L,"AltLeft",!0),this.sendKey(ty.XK_Delete,"Delete",!0),this.sendKey(ty.XK_Delete,"Delete",!1),this.sendKey(ty.XK_Alt_L,"AltLeft",!1),this.sendKey(ty.XK_Control_L,"ControlLeft",!1))}},{key:"machineShutdown",value:function(){this._xvpOp(1,2)}},{key:"machineReboot",value:function(){this._xvpOp(1,3)}}
1,{key:"machineReset",value:function(){this._xvpOp(1,4)}},{key:"sendKey",value:function(e,t,n){if("connected"===this._rfbConnectionState&&!this._viewOnly){if(void 0===n){this.sendKey(e,t,!0),this.sendKey(e,t,!1);return}var s=tT[t];if(this._qemuExtKeyEventSupported&&s)D("Sending key ("+(n?"down":"up")+"): keysym "+(e=e||0)+", scancode "+s),i.messages.QEMUExtendedKeyEvent(this._sock,e,n,s);else{if(!e)return;D("Sending keysym ("+(n?"down":"up")+"): "+e),i.messages.keyEvent(this._sock,e,n?1:0)}}}},{key:"focus",value:function(e){this._canvas.focus(e)}},{key:"blur",value:function(){this._canvas.blur()}},{key:"clipboardPasteFrom",value:function(e){if("connected"===this._rfbConnectionState&&!this._viewOnly){if(this._clipboardServerCapabilitiesFormats[1]&&this._clipboardServerCapabilitiesActions[134217728])this._clipboardText=e,i.messages.extendedClipboardNotify(this._sock,[1]);else{t=0;var t,n,s,r,a=iS(e);try{for(a.s();!(r=a.n()).done;)r.value,t++}catch(e){a.e(e)}finally{a.f()}s=new Uint8Array(t),n=0;var o,h=iS(e);try{for(h.s();!(o=h.n()).done;){var u=o.value.codePointAt(0);u>255&&(u=63),s[n++]=u}}catch(e){h.e(e)}finally{h.f()}i.messages.clientCutText(this._sock,s)}}}},{key:"getImageData",value:function(){return this._display.getImageData()}},{key:"toDataURL",value:function(e,t){return this._display.toDataURL(e,t)}},{key:"toBlob",value:function(e,t,i){return this._display.toBlob(e,t,i)}},{key:"_connect",value:function(){if(P(">> RFB.connect"),this._url)D("connecting to ".concat(this._url)),this._sock.open(this._url,this._wsProtocols);else{if(D("attaching ".concat(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),P("<< RFB.connect")}},{key:"_disconnect",value:function(){P(">> 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);else throw e}clearTimeout(this._resizeTimeout),clearTimeout(this._mouseMoveTimer),P("<< RFB.disconnect")}},{key:"_socketOpen",value:function(){"connecting"===this._rfbConnectionState&&""===this._rfbInitState?(this._rfbInitState="ProtocolVersion",P("Starting VNC handshake")):this._fail("Unexpected server connection while "+this._rfbConnectionState)}},{key:"_socketClose",value:function(e){P("WebSocket on-close event");var 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)}
1this._sock.off("close"),this._rawChannel=null}},{key:"_socketError",value:function(e){I("WebSocket on-error event")}},{key:"_focusCanvas",value:function(e){this.focusOnClick&&this.focus({preventScroll:!0})}},{key:"_setDesktopName",value:function(e){this._fbName=e,this.dispatchEvent(new CustomEvent("desktopname",{detail:{name:this._fbName}}))}},{key:"_saveExpectedClientSize",value:function(){this._expectedClientWidth=this._screen.clientWidth,this._expectedClientHeight=this._screen.clientHeight}},{key:"_currentClientSize",value:function(){return[this._screen.clientWidth,this._screen.clientHeight]}},{key:"_clientHasExpectedSize",value:function(){var e=o(this._currentClientSize(),2),t=e[0],i=e[1];return t==this._expectedClientWidth&&i==this._expectedClientHeight}},{key:"_handleResize",value:function(){var e=this;this._clientHasExpectedSize()||(window.requestAnimationFrame(function(){e._updateClip(),e._updateScale(),e._saveExpectedClientSize()}),this._requestRemoteResize())}},{key:"_updateClip",value:function(){var e=this._display.clipViewport,t=this._clipViewport;if(this._scaleViewport&&(t=!1),e!==t&&(this._display.clipViewport=t),t){var i=this._screenSize();this._display.viewportChangeSize(i.w,i.h),this._fixScrollbars(),this._setClippingViewport(i.w<this._display.width||i.h<this._display.height)}else this._setClippingViewport(!1);e!==t&&this._saveExpectedClientSize()}},{key:"_updateScale",value:function(){if(this._scaleViewport){var e=this._screenSize();this._display.autoscale(e.w,e.h)}else this._display.scale=1;this._fixScrollbars()}},{key:"_requestRemoteResize",value:function(){if(this._resizeSession&&!this._viewOnly&&this._supportsSetDesktopSize&&!this._pendingRemoteResize){if(Date.now()-this._lastResize<100){clearTimeout(this._resizeTimeout),this._resizeTimeout=setTimeout(this._requestRemoteResize.bind(this),100-(Date.now()-this._lastResize));return}this._resizeTimeout=null;var e=this._screenSize();(e.w!==this._fbWidth||e.h!==this._fbHeight)&&(this._pendingRemoteResize=!0,this._lastResize=Date.now(),i.messages.setDesktopSize(this._sock,Math.floor(e.w),Math.floor(e.h),this._screenID,this._screenFlags),P("Requested new desktop size: "+e.w+"x"+e.h))}}},{key:"_screenSize",value:function(){var e=this._screen.getBoundingClientRect();return{w:e.width,h:e.height}}},{key:"_fixScrollbars",value:function(){var e=this._screen.style.overflow;this._screen.style.overflow="hidden",this._screen.getBoundingClientRect(),this._screen.style.overflow=e}},{key:"_updateConnectionState",value:function(e){var t=this,i=this._rfbConnectionState;if(e===i){P("Already in state '"+e+"', ignoring");return}if("disconnected"===i){U("Tried changing state of a disconnected RFB object");return}switch(e){case"connected":if("connecting"!==i){U("Bad transition to connected state, previous connection state: "+i);return}break;case"disconnected":if("disconnecting"!==i){U("Bad transition to disconnected state, previous connection state: "+i);return}break;case"connecting":if(""!==i){U("Bad transition to connecting state, previous connection state: "+i);return}break;case"disconnecting":if("connected"!==i&&"connecting"!==i){U("Bad transition to disconnecting state, previous connection state: "+i);return}break;default:U("Unknown connection state: "+e);return}switch(this._rfbConnectionState=e,P("New state '"+e+"', was '"+i+"'."),this._disconnTimer&&"disconnecting"!==e&&(P("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(function(){U("Disconnection timed out."),t._updateConnectionState("disconnected")},3e3);break;case"disconnected":this.dispatchEvent(new CustomEvent("disconnect",{detail:{clean:this._rfbCleanDisconnect}}))}}},{key:"_fail",value:function(e){switch(this._rfbConnectionState){case"disconnecting":U("Failed when disconnecting: "+e);break;case"connected":U("Failed while connected: "+e);break;case"connecting":U("Failed when connecting: "+e);break;default:U("RFB failure: "+e)}return this._rfbCleanDisconnect=!1,this._updateConnectionState("disconnecting"),this._updateConnectionState("disconnected"),!1}},{key:"_setCapability",value:function(e,t){this._capabilities[e]=t,this.dispatchEvent(new CustomEvent("capabilities",{detail:{capabilities:this._capabilities}}))}},{key:"_handleMessage",value:function(){if(this._sock.rQwait("message",1)){I("handleMessage called on an empty receive queue");return}switch(this._rfbConnectionState){case"disconnected":U("Got data while disconnected");break;case"connected":for(;!(this._flushing||!this._normalMsg()||this._sock.rQwait("message",1)););break;case"connecting":for(;"connecting"===this._rfbConnectionState&&this._initMsg(););break;
1default:U("Got data while in an invalid state")}}},{key:"_handleKeyEvent",value:function(e,t,i,n,s){"CapsLock"==t&&i&&(this._remoteCapsLock=null),null!==this._remoteCapsLock&&null!==s&&this._remoteCapsLock!==s&&i&&(P("Fixing remote caps lock"),this.sendKey(ty.XK_Caps_Lock,"CapsLock",!0),this.sendKey(ty.XK_Caps_Lock,"CapsLock",!1),this._remoteCapsLock=null),"NumLock"==t&&i&&(this._remoteNumLock=null),null!==this._remoteNumLock&&null!==n&&this._remoteNumLock!==n&&i&&(P("Fixing remote num lock"),this.sendKey(ty.XK_Num_Lock,"NumLock",!0),this.sendKey(ty.XK_Num_Lock,"NumLock",!1),this._remoteNumLock=null),this.sendKey(e,t,i)}},{key:"_handleMouse",value:function(e){if(("click"!==e.type||e.target===this._canvas)&&(e.stopPropagation(),e.preventDefault(),"click"!==e.type&&"contextmenu"!==e.type)){var t=eu(e.clientX,e.clientY,this._canvas),n=i._convertButtonMask(e.buttons),s="mousedown"==e.type;switch(e.type){case"mousedown":case"mouseup":if(this.dragViewport){if(s&&!this._viewportDragging){this._viewportDragging=!0,this._viewportDragPos={x:t.x,y:t.y},this._viewportHasMoved=!1,this._flushMouseMoveTimer(t.x,t.y),this._mouseButtonMask=n;break}if(this._viewportDragging=!1,this._viewportHasMoved){this._mouseButtonMask=n;break}this._sendMouse(t.x,t.y,this._mouseButtonMask)}s&&function(e){if(e.setCapture)e.setCapture(),document.captureElement=e;else{ev();var t=document.getElementById("noVNC_mouse_capture_elem");null===t&&((t=document.createElement("div")).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",ed),t.addEventListener("mousemove",ed),t.addEventListener("mouseup",ed)),document.captureElement=e,ep.observe(e,{attributes:!0}),ef(),t.style.display="",window.addEventListener("mousemove",ed),window.addEventListener("mouseup",ed)}}(this._canvas),this._handleMouseButton(t.x,t.y,n);break;case"mousemove":if(this._viewportDragging){var r=this._viewportDragPos.x-t.x,a=this._viewportDragPos.y-t.y;(this._viewportHasMoved||Math.abs(r)>ea||Math.abs(a)>ea)&&(this._viewportHasMoved=!0,this._viewportDragPos={x:t.x,y:t.y},this._display.viewportChangePos(r,a));break}this._handleMouseMove(t.x,t.y)}}}},{key:"_handleMouseButton",value:function(e,t,i){this._flushMouseMoveTimer(e,t),this._mouseButtonMask=i,this._sendMouse(e,t,this._mouseButtonMask)}},{key:"_handleMouseMove",value:function(e,t){var i=this;if(this._mousePos={x:e,y:t},null==this._mouseMoveTimer){var n=Date.now()-this._mouseLastMoveTime;n>17?(this._sendMouse(e,t,this._mouseButtonMask),this._mouseLastMoveTime=Date.now()):this._mouseMoveTimer=setTimeout(function(){i._handleDelayedMouseMove()},17-n)}}},{key:"_handleDelayedMouseMove",value:function(){this._mouseMoveTimer=null,this._sendMouse(this._mousePos.x,this._mousePos.y,this._mouseButtonMask),this._mouseLastMoveTime=Date.now()}},{key:"_sendMouse",value:function(e,t,n){if("connected"===this._rfbConnectionState&&!this._viewOnly){if(32768&n)throw Error("Illegal mouse button mask (mask: "+n+")");var s=32640&n;this._extendedPointerEventSupported&&s?i.messages.extendedPointerEvent(this._sock,this._display.absX(e),this._display.absY(t),n):i.messages.pointerEvent(this._sock,this._display.absX(e),this._display.absY(t),n)}}},{key:"_handleWheel",value:function(e){if("connected"===this._rfbConnectionState&&!this._viewOnly){e.stopPropagation(),e.preventDefault();var t=eu(e.clientX,e.clientY,this._canvas),n=i._convertButtonMask(e.buttons),s=e.deltaX,r=e.deltaY;0!==e.deltaMode&&(s*=19,r*=19),this._accumulatedWheelDeltaX+=s,this._accumulatedWheelDeltaY+=r,Math.abs(this._accumulatedWheelDeltaX)>=50&&(this._accumulatedWheelDeltaX<0?(this._handleMouseButton(t.x,t.y,32|n),this._handleMouseButton(t.x,t.y,n)):this._accumulatedWheelDeltaX>0&&(this._handleMouseButton(t.x,t.y,64|n),this._handleMouseButton(t.x,t.y,n)),this._accumulatedWheelDeltaX=0),Math.abs(this._accumulatedWheelDeltaY)>=50&&(this._accumulatedWheelDeltaY<0?(this._handleMouseButton(t.x,t.y,8|n),this._handleMouseButton(t.x,t.y,n)):this._accumulatedWheelDeltaY>0&&(this._handleMouseButton(t.x,t.y,16|n),this._handleMouseButton(t.x,t.y,n)),this._accumulatedWheelDeltaY=0)}}},{key:"_fakeMouseMove",value:function(e,t,i){this._handleMouseMove(t,i),this._cursor.move(e.detail.clientX,e.detail.clientY)}},{key:"_handleTapEvent",value:function(e,t){var i=eu(e.detail.clientX,e.detail.clientY,this._canvas);null!==this._gestureLastTapTime&&Date.now()-this._gestureLastTapTime<1e3&&this._gestureFirstDoubleTapEv.detail.type===e.detail.type&&50>Math.hypot(this._gestureFirstDoubleTapEv.detail.clientX-e.detail.clientX,this._gestureFirstDoubleTapEv.detail.clientY-e.detail.clientY)?i=eu(this._gestureFirstDoubleTapEv.detail.clientX,this._gestureFirstDoubleTapEv.detail.clientY,this._canvas):this._gestureFirstDoubleTapEv=e,this._gestureLastTapTime=Date.now(),this._fakeMouseMove(this._gestureFirstDoubleTapEv,i.x,i.y),this._handleMouseButton(i.x,i.y,t),this._handleMouseButton(i.x,i.y,0)}},{key:"_handleGesture",value:function(e){var t,i=eu(e.detail.clientX,e.detail.clientY,this._canvas);switch(e.type){case"gesturestart":switch(e.detail.type){case"oneta
1p":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:i.x,y:i.y}):(this._fakeMouseMove(e,i.x,i.y),this._handleMouseButton(i.x,i.y,1));break;case"longpress":this.dragViewport?(this._viewportHasMoved=!1,this._viewportDragPos={x:i.x,y:i.y}):(this._fakeMouseMove(e,i.x,i.y),this._handleMouseButton(i.x,i.y,4));break;case"twodrag":this._gestureLastMagnitudeX=e.detail.magnitudeX,this._gestureLastMagnitudeY=e.detail.magnitudeY,this._fakeMouseMove(e,i.x,i.y);break;case"pinch":this._gestureLastMagnitudeX=Math.hypot(e.detail.magnitudeX,e.detail.magnitudeY),this._fakeMouseMove(e,i.x,i.y)}break;case"gesturemove":switch(e.detail.type){case"onetap":case"twotap":case"threetap":break;case"drag":case"longpress":if(this.dragViewport){this._viewportDragging=!0;var n=this._viewportDragPos.x-i.x,s=this._viewportDragPos.y-i.y;(this._viewportHasMoved||Math.abs(n)>ea||Math.abs(s)>ea)&&(this._viewportHasMoved=!0,this._viewportDragPos={x:i.x,y:i.y},this._display.viewportChangePos(n,s))}else this._fakeMouseMove(e,i.x,i.y);break;case"twodrag":for(this._fakeMouseMove(e,i.x,i.y);e.detail.magnitudeY-this._gestureLastMagnitudeY>50;)this._handleMouseButton(i.x,i.y,8),this._handleMouseButton(i.x,i.y,0),this._gestureLastMagnitudeY+=50;for(;e.detail.magnitudeY-this._gestureLastMagnitudeY<-50;)this._handleMouseButton(i.x,i.y,16),this._handleMouseButton(i.x,i.y,0),this._gestureLastMagnitudeY-=50;for(;e.detail.magnitudeX-this._gestureLastMagnitudeX>50;)this._handleMouseButton(i.x,i.y,32),this._handleMouseButton(i.x,i.y,0),this._gestureLastMagnitudeX+=50;for(;e.detail.magnitudeX-this._gestureLastMagnitudeX<-50;)this._handleMouseButton(i.x,i.y,64),this._handleMouseButton(i.x,i.y,0),this._gestureLastMagnitudeX-=50;break;case"pinch":if(this._fakeMouseMove(e,i.x,i.y),Math.abs((t=Math.hypot(e.detail.magnitudeX,e.detail.magnitudeY))-this._gestureLastMagnitudeX)>75){for(this._handleKeyEvent(ty.XK_Control_L,"ControlLeft",!0);t-this._gestureLastMagnitudeX>75;)this._handleMouseButton(i.x,i.y,8),this._handleMouseButton(i.x,i.y,0),this._gestureLastMagnitudeX+=75;for(;t-this._gestureLastMagnitudeX<-75;)this._handleMouseButton(i.x,i.y,16),this._handleMouseButton(i.x,i.y,0),this._gestureLastMagnitudeX-=75}this._handleKeyEvent(ty.XK_Control_L,"ControlLeft",!1)}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,i.x,i.y),this._handleMouseButton(i.x,i.y,0));break;case"longpress":if(this._viewportHasMoved)break;this.dragViewport&&!this._viewportHasMoved?(this._fakeMouseMove(e,i.x,i.y),this._handleMouseButton(i.x,i.y,4),this._handleMouseButton(i.x,i.y,0),this._viewportDragging=!1):(this._fakeMouseMove(e,i.x,i.y),this._handleMouseButton(i.x,i.y,0))}}}},{key:"_flushMouseMoveTimer",value:function(e,t){null!==this._mouseMoveTimer&&(clearTimeout(this._mouseMoveTimer),this._mouseMoveTimer=null,this._sendMouse(e,t,this._mouseButtonMask))}},{key:"_negotiateProtocolVersion",value:function(){if(this._sock.rQwait("version",12))return!1;var e=this._sock.rQshiftStr(12).substr(4,7);D("Server ProtocolVersion: "+e);var 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){for(var i="ID:"+this._repeaterID;i.length<250;)i+="\0";return this._sock.sQpushString(i),this._sock.flush(),!0}this._rfbVersion>this._rfbMaxVersion&&(this._rfbVersion=this._rfbMaxVersion);var n="00"+parseInt(this._rfbVersion,10)+".00"+10*this._rfbVersion%10;this._sock.sQpushString("RFB "+n+"\n"),this._sock.flush(),P("Sent ProtocolVersion: "+n),this._rfbInitState="Security"}},{key:"_isSupportedSecurityType",value:function(e){return[1,2,6,16,19,22,30,113,256].includes(e)}},{key:"_negotiateSecurity",value:function(){if(this._rfbVersion>=3.7){var 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;var t=this._sock.rQshiftBytes(e);P("Server security types: "+t),this._rfbAuthScheme=-1;var i,n=iS(t);try{for(n.s();!(i=n.n()).done;){var s=i.value;if(this._isSupportedSecurityType(s)){this._rfbAuthScheme=s;break}}}catch(e){n.e(e)}finally{n.f()}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",P("Authenticating using scheme: "+this._rfbAuthScheme),!0}},{key:"_handleSecurityReason",value:function(){if(this._sock.rQwait("reason length",4))return!1;var e=this._sock.rQshift32(),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))}},{key:"_negotiateXvpAuth",value:function(){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=2,this._negotiateAuthentication())}},{key:"_negotiateVeNCryptAuth",value:function(){if(0==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt version",2))return!1;var 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;var i=this._sock.rQshift8();if(0!=i)return this._fail("VeNCrypt failure "+i);this._rfbVeNCryptState=2}if(2==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt subtypes length",1))return!1;var n=this._sock.rQshift8();if(n<1)return this._fail("VeNCrypt subtypes empty");this._rfbVeNCryptSubtypesLength=n,this._rfbVeNCryptState=3}if(3==this._rfbVeNCryptState){if(this._sock.rQwait("vencrypt subtypes",4*this._rfbVeNCryptSubtypesLength))return!1;for(var s=[],r=0;r<this._rfbVeNCryptSubtypesLength;r++)s.push(this._sock.rQshift32());this._rfbAuthScheme=-1;for(var a=0;a<s.length;a++){var o=s[a];if(19!==o&&this._isSupportedSecurityType(o)){this._rfbAuthScheme=o;break}}return -1===this._rfbAuthScheme?this._fail("Unsupported security types (types: "+s+")"):(this._sock.sQpush32(this._rfbAuthScheme),this._sock.flush(),this._rfbVeNCryptState=4,!0)}}},{key:"_negotiatePlainAuth",value:function(){if(void 0===this._rfbCredentials.username||void 0===this._rfbCredentials.password)return this.dispatchEvent(new CustomEvent("credentialsrequired",{detail:{types:["username","password"]}})),!1;var e=H(this._rfbCredentials.username),t=H(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}},{key:"_negotiateStdVNCAuth",value:function(){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;var e=Array.prototype.slice.call(this._sock.rQshiftBytes(16)),t=i.genDES(this._rfbCredentials.password,e);return this._sock.sQpushBytes(t),this._sock.flush(),this._rfbInitState="SecurityResult",!0}},{key:"_negotiateARDAuth",value:function(){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;var e=this._sock.rQshiftBytes(2),t=this._sock.rQshift16();if(this._sock.rQwait("read ard keylength",2*t,4))return!1;var i=this._sock.rQshiftBytes(t),n=this._sock.rQshiftBytes(t),s=is.generateKey({name:"DH",g:e,p:i},!1,["deriveBits"]);return this._negotiateARDAuthAsync(t,n,s),!1}},{key:"_negotiateARDAuthAsync",value:(t=s(R.mark(function e(t,i,n){var s,r,a,o,h,u,c,l,_,d;return R.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:for(u=0,s=is.exportKey("raw",n.publicKey),r=is.deriveBits({name:"DH",public:i},n.privateKey,8*t),a=H(this._rfbCredentials.username).substring(0,63),o=H(this._rfbCredentials.password).substring(0,63),h=window.crypto.getRandomValues(new Uint8Array(128));u<a.length;
1u++)h[u]=a.charCodeAt(u);for(c=0,h[a.length]=0;c<o.length;c++)h[64+c]=o.charCodeAt(c);return h[64+o.length]=0,e.next=11,is.digest("MD5",r);case 11:return l=e.sent,e.next=14,is.importKey("raw",l,{name:"AES-ECB"},!1,["encrypt"]);case 14:return _=e.sent,e.next=17,is.encrypt({name:"AES-ECB"},_,h);case 17:d=e.sent,this._rfbCredentials.ardCredentials=d,this._rfbCredentials.ardPublicKey=s,this._resumeAuthentication();case 21:case"end":return e.stop()}},e,this)})),function(e,i,n){return t.apply(this,arguments)})},{key:"_negotiateTightUnixAuth",value:function(){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)}},{key:"_negotiateTightTunnels",value:function(e){for(var t={0:{vendor:"TGHT",signature:"NOTUNNEL"}},i={},n=0;n<e;n++){var s=this._sock.rQshift32(),r=this._sock.rQshiftStr(4),a=this._sock.rQshiftStr(8);i[s]={vendor:r,signature:a}}return(P("Server Tight tunnel types: "+i),i[1]&&"SICR"===i[1].vendor&&"SCHANNEL"===i[1].signature&&(P("Detected Siemens server. Assuming NOTUNNEL support."),i[0]={vendor:"TGHT",signature:"NOTUNNEL"}),i[0])?i[0].vendor!=t[0].vendor||i[0].signature!=t[0].signature?this._fail("Client's tunnel type had the incorrect vendor or signature"):(P("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")}},{key:"_negotiateTightAuth",value:function(){if(!this._rfbTightVNC){if(this._sock.rQwait("num tunnels",4))return!1;var 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;var t=this._sock.rQshift32();if(0===t)return this._rfbInitState="SecurityResult",!0;if(this._sock.rQwait("sub auth capabilities",16*t,4))return!1;for(var i={STDVNOAUTH__:1,STDVVNCAUTH_:2,TGHTULGNAUTH:129},n=[],s=0;s<t;s++){this._sock.rQshift32();var r=this._sock.rQshiftStr(12);n.push(r)}for(var a in P("Server Tight authentication types: "+n),i)if(-1!=n.indexOf(a))switch(this._sock.sQpush32(i[a]),this._sock.flush(),P("Selected authentication type: "+a),a){case"STDVNOAUTH__":return this._rfbInitState="SecurityResult",!0;case"STDVVNCAUTH_":return this._rfbAuthScheme=2,!0;case"TGHTULGNAUTH":return this._rfbAuthScheme=129,!0;default:return this._fail("Unsupported tiny auth scheme (scheme: "+a+")")}return this._fail("No supported sub-auth types!")}},{key:"_handleRSAAESCredentialsRequired",value:function(e){this.dispatchEvent(e)}},{key:"_handleRSAAESServerVerification",value:function(e){this.dispatchEvent(e)}},{key:"_negotiateRA2neAuth",value:function(){var e=this;return null===this._rfbRSAAESAuthenticationState&&(this._rfbRSAAESAuthenticationState=new io(this._sock,function(){return e._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(function(t){"disconnect normally"!==t.message&&e._fail(t.message)}).then(function(){return e._rfbInitState="SecurityResult",!0}).finally(function(){e._rfbRSAAESAuthenticationState.removeEventListener("serververification",e._eventHandlers.handleRSAAESServerVerification),e._rfbRSAAESAuthenticationState.removeEventListener("credentialsrequired",e._eventHandlers.handleRSAAESCredentialsRequired),e._rfbRSAAESAuthenticationState=null}),!1}},{key:"_negotiateMSLogonIIAuth",value:function(){if(this._sock.rQwait("mslogonii d
1h 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;var e=this._sock.rQshiftBytes(8),t=this._sock.rQshiftBytes(8),i=this._sock.rQshiftBytes(8),n=is.generateKey({name:"DH",g:e,p:t},!0,["deriveBits"]),s=is.exportKey("raw",n.publicKey),r=is.deriveBits({name:"DH",public:i},n.privateKey,64),a=is.importKey("raw",r,{name:"DES-CBC"},!1,["encrypt"]),o=H(this._rfbCredentials.username).substring(0,255),h=H(this._rfbCredentials.password).substring(0,63),u=new Uint8Array(256),c=new Uint8Array(64);window.crypto.getRandomValues(u),window.crypto.getRandomValues(c);for(var l=0;l<o.length;l++)u[l]=o.charCodeAt(l);u[o.length]=0;for(var _=0;_<h.length;_++)c[_]=h.charCodeAt(_);return c[h.length]=0,u=is.encrypt({name:"DES-CBC",iv:r},a,u),c=is.encrypt({name:"DES-CBC",iv:r},a,c),this._sock.sQpushBytes(s),this._sock.sQpushBytes(u),this._sock.sQpushBytes(c),this._sock.flush(),this._rfbInitState="SecurityResult",!0}},{key:"_negotiateAuthentication",value:function(){switch(this._rfbAuthScheme){case 1:return this._rfbVersion>=3.8?this._rfbInitState="SecurityResult":this._rfbInitState="ClientInitialisation",!0;case 22:return this._negotiateXvpAuth();case 30:return this._negotiateARDAuth();case 2:return this._negotiateStdVNCAuth();case 16:return this._negotiateTightAuth();case 19:return this._negotiateVeNCryptAuth();case 256:return this._negotiatePlainAuth();case 129:return this._negotiateTightUnixAuth();case 6:return this._negotiateRA2neAuth();case 113:return this._negotiateMSLogonIIAuth();default:return this._fail("Unsupported auth scheme (scheme: "+this._rfbAuthScheme+")")}}},{key:"_handleSecurityResult",value:function(){if(this._sock.rQwait("VNC auth response ",4))return!1;var e=this._sock.rQshift32();return 0===e?(this._rfbInitState="ClientInitialisation",P("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"))}},{key:"_negotiateServerInit",value:function(){if(this._sock.rQwait("server initialization",24))return!1;var e=this._sock.rQshift16(),t=this._sock.rQshift16(),n=this._sock.rQshift8(),s=this._sock.rQshift8(),r=this._sock.rQshift8(),a=this._sock.rQshift8(),o=this._sock.rQshift16(),h=this._sock.rQshift16(),u=this._sock.rQshift16(),c=this._sock.rQshift8(),l=this._sock.rQshift8(),_=this._sock.rQshift8();this._sock.rQskipBytes(3);var d=this._sock.rQshift32();if(this._sock.rQwait("server init name",d,24))return!1;var f=this._sock.rQshiftStr(d);if(f=z(f,!0),this._rfbTightVNC){if(this._sock.rQwait("TightVNC extended server init header",8,24+d))return!1;var p=this._sock.rQshift16(),v=this._sock.rQshift16(),g=this._sock.rQshift16();if(this._sock.rQskipBytes(2),this._sock.rQwait("TightVNC extended server init header",(p+v+g)*16,32+d))return!1;this._sock.rQskipBytes(16*p),this._sock.rQskipBytes(16*v),this._sock.rQskipBytes(16*g)}return D("Screen: "+e+"x"+t+", bpp: "+n+", depth: "+s+", bigEndian: "+r+", trueColor: "+a+", redMax: "+o+", greenMax: "+h+", blueMax: "+u+", redShift: "+c+", greenShift: "+l+", blueShift: "+_),this._setDesktopName(f),this._resize(e,t),this._viewOnly||this._keyboard.grab(),this._fbDepth=24,"Intel(r) AMT KVM"===this._fbName&&(I("Intel AMT KVM only supports 8/16 bit depths. Using low color mode."),this._fbDepth=8),i.messages.pixelFormat(this._sock,this._fbDepth,!0),this._sendEncodings(),i.messages.fbUpdateRequest(this._sock,!1,0,0,this._fbWidth,this._fbHeight),this._updateConnectionState("connected"),!0}},{key:"_sendEncodings",value:function(){var e=[];e.push(tP.encodingCopyRect),24==this._fbDepth&&(eh&&e.push(tP.encodingH264),e.push(tP.encodingTight),e.push(tP.encodingTightPNG),e.push(tP.encodingZRLE),e.push(tP.encodingJPEG),e.push(tP.encodingHextile),e.push(tP.encodingRRE),e.push(tP.encodingZlib)),e.push(tP.encodingRaw),e.push(tP.pseudoEncodingQualityLevel0+this._qualityLevel),e.push(tP.pseudoEncodingCompressLevel0+this._compressionLevel),e.push(tP.pseudoEncodingDesktopSize),e.push(tP.pseudoEncodingLastRect),e.push(tP.pseudoEncodingQEMUExtendedKeyEvent),e.push(tP.pseudoEncodingQEMULedEvent),e.push(tP.pseudoEncodingExtendedDesktopSize),e.push(tP.pseudoEncodingXvp),e.push(tP.pseudoEncodingFence),e.push(tP.pseudoEncodingContinuousUpdates),e.push(tP.pseudoEncodingDesktopName),e.push(tP.pseudoEncodingExtendedClipboard),e.push(tP.pseudoEncodingExtendedMouseButtons),24==this._fbDepth&&(e.push(tP.pseudoEncodingVMwareCursor),e.push(tP.pseudoEncodingCursor)),i.messages.clientEncodings(this._sock,e)}},{key:"_initMsg",value:function(){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+")")}}},{key:"_resumeAuthentication",value:function(){setTimeout(this._initMsg.bind(this),0)}},{key:"_handleSetColourMapMsg",value:function(){return P("SetColorMapEntries"),this._fail("Unexpected SetColorMapEntries message")}},{key:"_handleServerCutText",value:function(){if(P("ServerCutText"),this._sock.rQwait("ServerCutText header",7,1))return!1;this._sock.rQskipBytes(3);var e=this._sock.rQshift32();if(e|=0,this._sock.rQwait("ServerCutText content",Math.abs(e),8))return!1;if(e>=0){var t=this._sock.rQshiftStr(e);if(this._viewOnly)return!0;this.dispatchEvent(new CustomEvent("clipboard",{detail:{text:t}}))}else{e=Math.abs(e);var n=this._sock.rQshift32(),s=65535&n,r=4278190080&n;if(16777216&r){this._clipboardServerCapabilitiesFormats={},this._clipboardServerCapabilitiesActions={};for(var a=0;a<=15;a++){var o=1<<a;s&o&&(this._clipboardServerCapabilitiesFormats[o]=!0,this._sock.rQshift32())}for(var h=24;h<=31;h++){var u=1<<h;this._clipboardServerCapabilitiesActions[u]=!!(r&u)}i.messages.extendedClipboardCaps(this._sock,[16777216,33554432,67108864,134217728,268435456],{extendedClipboardFormatText:0})}else if(33554432===r){if(this._viewOnly)return!0;null!=this._clipboardText&&this._clipboardServerCapabilitiesActions[268435456]&&1&s&&i.messages.extendedClipboardProvide(this._sock,[1],[this._clipboardText])}else if(67108864===r){if(this._viewOnly)return!0;this._clipboardServerCapabilitiesActions[134217728]&&(null!=this._clipboardText?i.messages.extendedClipboardNotify(this._sock,[1]):i.messages.extendedClipboardNotify(this._sock,[]))}else if(134217728===r){if(this._viewOnly)return!0;this._clipboardServerCapabilitiesActions[33554432]&&1&s&&i.messages.extendedClipboardRequest(this._sock,[1])}else{if(268435456!==r)return this._fail("Unexpected action in extended clipboard message: "+r);if(this._viewOnly||!(1&s))return!0;this._clipboardText=null;var c=this._sock.rQshiftBytes(e-4),l=new eR,_=null;l.setInput(c);for(var d=0;d<=15;d++){var f=1<<d;if(s&f){var p=0,v=l.inflate(4);p|=v[0]<<24,p|=v[1]<<16,p|=v[2]<<8,p|=v[3];var g=l.inflate(p);1===f&&(_=g)}}if(l.setInput(null),null!==_){for(var y="",m=0;m<_.length;m++)y+=String.fromCharCode(_[m]);(_=z(_=y)).length>0&&"\0"===_.charAt(_.length-1)&&(_=_.slice(0,-1)),_=_.replaceAll("\r\n","\n"),this.dispatchEvent(new CustomEvent("clipboard",{detail:{text:_}}))}}}return!0}},{key:"_handleServerFenceMsg",value:function(){if(this._sock.rQwait("ServerFence header",8,1)
1)return!1;this._sock.rQskipBytes(3);var e=this._sock.rQshift32(),t=this._sock.rQshift8();if(this._sock.rQwait("ServerFence payload",t,9))return!1;t>64&&(I("Bad payload length ("+t+") in fence response"),t=64);var n=this._sock.rQshiftStr(t);return(this._supportsFence=!0,-2147483648&e)?(e&=3,i.messages.clientFence(this._sock,e,n),!0):this._fail("Unexpected fence response")}},{key:"_handleXvpMsg",value:function(){if(this._sock.rQwait("XVP version and message",3,1))return!1;this._sock.rQskipBytes(1);var e=this._sock.rQshift8(),t=this._sock.rQshift8();switch(t){case 0:U("XVP operation failed");break;case 1:this._rfbXvpVer=e,D("XVP extensions enabled (version "+this._rfbXvpVer+")"),this._setCapability("power",!0);break;default:this._fail("Illegal server XVP message (msg: "+t+")")}return!0}},{key:"_normalMsg",value:function(){var e,t,n;switch(e=this._FBU.rects>0?0:this._sock.rQshift8()){case 0:return(n=this._framebufferUpdate())&&!this._enabledContinuousUpdates&&i.messages.fbUpdateRequest(this._sock,!0,0,0,this._fbWidth,this._fbHeight),n;case 1:return this._handleSetColourMapMsg();case 2:return P("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(),D("Enabling continuous updates.")),!0;case 248:return this._handleServerFenceMsg();case 250:return this._handleXvpMsg();default:return this._fail("Unexpected server message (type "+e+")"),P("sock.rQpeekBytes(30): "+this._sock.rQpeekBytes(30)),!0}}},{key:"_framebufferUpdate",value:function(){var e=this;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(function(){e._flushing=!1,e._sock.rQwait("message",1)||e._handleMessage()}),!1}for(;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}},{key:"_handleRect",value:function(){switch(this._FBU.encoding){case tP.pseudoEncodingLastRect:return this._FBU.rects=1,!0;case tP.pseudoEncodingVMwareCursor:return this._handleVMwareCursor(
1);case tP.pseudoEncodingCursor:return this._handleCursor();case tP.pseudoEncodingQEMUExtendedKeyEvent:return this._qemuExtKeyEventSupported=!0,!0;case tP.pseudoEncodingDesktopName:return this._handleDesktopName();case tP.pseudoEncodingDesktopSize:return this._resize(this._FBU.width,this._FBU.height),!0;case tP.pseudoEncodingExtendedDesktopSize:return this._handleExtendedDesktopSize();case tP.pseudoEncodingExtendedMouseButtons:return this._extendedPointerEventSupported=!0,!0;case tP.pseudoEncodingQEMULedEvent:return this._handleLedEvent();default:return this._handleDataRect()}}},{key:"_handleVMwareCursor",value:function(){var e,t=this._FBU.x,i=this._FBU.y,n=this._FBU.width,s=this._FBU.height;if(this._sock.rQwait("VMware cursor encoding",1))return!1;var r=this._sock.rQshift8();if(this._sock.rQshift8(),0==r){if(e=Array(n*s*4),this._sock.rQwait("VMware cursor classic encoding",n*s*8,2))return!1;for(var a=Array(n*s),o=0;o<n*s;o++)a[o]=this._sock.rQshift32();for(var h=Array(n*s),u=0;u<n*s;u++)h[u]=this._sock.rQshift32();for(var c=0;c<n*s;c++)if(0==a[c]){var l=h[c],_=l>>8&255,d=l>>16&255,f=l>>24&255;e[4*c]=_,e[4*c+1]=d,e[4*c+2]=f,e[4*c+3]=255}else(-256&a[c])==-256?0==h[c]?(e[4*c]=0,e[4*c+1]=0,e[4*c+2]=0,e[4*c+3]=0):(h[c],e[4*c]=0,e[4*c+1]=0,e[4*c+2]=0,e[4*c+3]=255):(e[4*c]=0,e[4*c+1]=0,e[4*c+2]=0,e[4*c+3]=255)}else{if(1!=r)return I("The given cursor type is not supported: "+r+" given."),!1;if(this._sock.rQwait("VMware cursor alpha encoding",n*s*4,2))return!1;e=Array(n*s*4);for(var p=0;p<n*s;p++){var v=this._sock.rQshift32();e[4*p]=v>>24&255,e[4*p+1]=v>>16&255,e[4*p+2]=v>>8&255,e[4*p+3]=255&v}}return this._updateCursor(e,t,i,n,s),!0}},{key:"_handleCursor",value:function(){var e=this._FBU.x,t=this._FBU.y,i=this._FBU.width,n=this._FBU.height,s=i*n*4,r=Math.ceil(i/8)*n;if(this._sock.rQwait("cursor encoding",s+r))return!1;for(var a=this._sock.rQshiftBytes(s),o=this._sock.rQshiftBytes(r),h=new Uint8Array(i*n*4),u=0,c=0;c<n;c++)for(var l=0;l<i;l++){var _=o[c*Math.ceil(i/8)+Math.floor(l/8)]<<l%8&128?255:0;h[u]=a[u+2],h[u+1]=a[u+1],h[u+2]=a[u],h[u+3]=_,u+=4}return this._updateCursor(h,e,t,i,n),!0}},{key:"_handleDesktopName",value:function(){if(this._sock.rQwait("DesktopName",4))return!1;var e=this._sock.rQshift32();if(this._sock.rQwait("DesktopName",e,4))return!1;var t=this._sock.rQshiftStr(e);return t=z(t,!0),this._setDesktopName(t),!0}},{key:"_handleLedEvent",value:function(){if(this._sock.rQwait("LED status",1))return!1;var e=this._sock.rQshift8();return this._remoteCapsLock=!!(4&e),this._remoteNumLock=!!(2&e),!0}},{key:"_handleExtendedDesktopSize",value:function(){if(this._sock.rQwait("ExtendedDesktopSize",4))return!1;var e=this._sock.rQpeek8();if(this._sock.rQwait("ExtendedDesktopSize",4+16*e))return!1;var t=!this._supportsSetDesktopSize;this._supportsSetDesktopSize=!0,this._sock.rQskipBytes(1),this._sock.rQskipBytes(3);for(var 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){var n="";switch(this._FBU.y){case 1:n="Resize is administratively prohibited";break;case 2:n="Out of resources";break;case 3:n="Invalid screen layout";break;default:n="Unknown reason"}I("Server did not accept the resize request: "+n)}else this._resize(this._FBU.width,this._FBU.height);return t&&this._requestRemoteResize(),1===this._FBU.x&&0===this._FBU.y&&this._requestRemoteResize(),!0}},{key:"_handleDataRect",value:function(){var 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(e){return this._fail("Error decoding rect: "+e),!1}}},{key:"_updateContinuousUpdates",value:function(){this._enabledContinuousUpdates&&i.messages.enableContinuousUpdates(this._sock,!0,0,0,this._fbWidth,this._fbHeight)}},{key:"_resize",value:function(e,t){this._fbWidth=e,this._fbHeight=t,this._display.resize(this._fbWidth,this._fbHeight),this._updateClip(),this._updateScale(),this._updateContinuousUpdates(),this._saveExpectedClientSize()}},{key:"_xvpOp",value:function(e,t){this._rfbXvpVer<e||(D("Sending XVP operation "+t+" (version "+e+")"),i.messages.xvpOp(this._sock,e,t))}},{key:"_updateCursor",value:function(e,t,i,n,s){this._cursorImage={rgbaPixels:e,hotx:t,hoty:i,w:n,h:s},this._refreshCursor()}},{key:"_shouldShowDotCursor",value:function(){if(!this._showDotCursor)return!1;for(var e=3;e<this._cursorImage.rgbaPixels.length;e+=4)if(this._cursorImage.rgbaPixels[e])return!1;return!0}},{key:"_refreshCursor",value:function(){if("connecting"===this._rfbConnectionState||"connected"===this._rfbConnectionState){var e=this._shouldShowDotCursor(
1)?i.cursors.dot:this._cursorImage;this._cursor.change(e.rgbaPixels,e.hotx,e.hoty,e.w,e.h)}}}],[{key:"_convertButtonMask",value:function(e){for(var t={0:1,1:4,2:2,3:128,4:256},i=0,n=0;n<5;n++)e&1<<n&&(i|=t[n]);return i}},{key:"genDES",value:function(e,t){var i=e.split("").map(function(e){return e.charCodeAt(0)}),n=is.importKey("raw",i,{name:"DES-ECB"},!1,["encrypt"]);return is.encrypt({name:"DES-ECB"},n,t)}}])}(eg);iX.messages={keyEvent:function(e,t,i){e.sQpush8(4),e.sQpush8(i),e.sQpush16(0),e.sQpush32(t),e.flush()},QEMUExtendedKeyEvent:function(e,t,i,n){e.sQpush8(255),e.sQpush8(0),e.sQpush16(i),e.sQpush32(t);var s,r,a=(s=n>>8,r=255&n,224===s&&r<127?128|r:n);e.sQpush32(a),e.flush()},pointerEvent:function(e,t,i,n){e.sQpush8(5),n&=127,e.sQpush8(n),e.sQpush16(t),e.sQpush16(i),e.flush()},extendedPointerEvent:function(e,t,i,n){e.sQpush8(5);var s=n>>7&255;if(252&s)throw Error("Invalid mouse button mask: "+n);var r=127&n;r|=128,e.sQpush8(r),e.sQpush16(t),e.sQpush16(i),e.sQpush8(s),e.flush()},_buildExtendedClipboardFlags:function(e,t){for(var i=new Uint8Array(4),n=0,s=0,r=0;r<e.length;r++)s|=e[r];for(var a=0;a<t.length;a++)n|=t[a];return i[0]=s>>24,i[1]=0,i[2]=0,i[3]=n,i},extendedClipboardProvide:function(e,t,i){for(var n=new tg,s=[],r=0;r<t.length;r++){if(1!=t[r])throw Error("Unsupported extended clipboard format for Provide message.");i[r]=i[r].replace(/\r\n|\r|\n/gm,"\r\n");var a=H(i[r]+"\0");s.push(a.length>>24&255,a.length>>16&255,a.length>>8&255,255&a.length);for(var o=0;o<a.length;o++)s.push(a.charCodeAt(o))}var h=n.deflate(new Uint8Array(s)),u=new Uint8Array(4+h.length);u.set(iX.messages._buildExtendedClipboardFlags([268435456],t)),u.set(h,4),iX.messages.clientCutText(e,u,!0)},extendedClipboardNotify:function(e,t){var i=iX.messages._buildExtendedClipboardFlags([134217728],t);iX.messages.clientCutText(e,i,!0)},extendedClipboardRequest:function(e,t){var i=iX.messages._buildExtendedClipboardFlags([33554432],t);iX.messages.clientCutText(e,i,!0)},extendedClipboardCaps:function(e,t,i){var n=Object.keys(i),s=new Uint8Array(4+4*n.length);n.map(function(e){return parseInt(e)}),n.sort(function(e,t){return e-t}),s.set(iX.messages._buildExtendedClipboardFlags(t,[]));for(var r=4,a=0;a<n.length;a++)s[r]=i[n[a]]>>24,s[r+1]=i[n[a]]>>16,s[r+2]=i[n[a]]>>8,s[r+3]=i[n[a]]>>0,r+=4,s[3]|=1<<n[a];iX.messages.clientCutText(e,s,!0)},clientCutText:function(e,t){var i,n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e.sQpush8(6),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),i=n?-t.length>>>0:t.length,e.sQpush32(i),e.sQpushBytes(t),e.flush()},setDesktopSize:function(e,t,i,n,s){e.sQpush8(251),e.sQpush8(0),e.sQpush16(t),e.sQpush16(i),e.sQpush8(1),e.sQpush8(0),e.sQpush32(n),e.sQpush16(0),e.sQpush16(0),e.sQpush16(t),e.sQpush16(i),e.sQpush32(s),e.flush()},clientFence:function(e,t,i){e.sQpush8(248),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.sQpush32(t),e.sQpush8(i.length),e.sQpushString(i),e.flush()},enableContinuousUpdates:function(e,t,i,n,s,r){e.sQpush8(150),e.sQpush8(t),e.sQpush16(i),e.sQpush16(n),e.sQpush16(s),e.sQpush16(r),e.flush()},pixelFormat:function(e,t,i){n=t>16?32:t>8?16:8;var n,s=Math.floor(t/3);e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.sQpush8(n),e.sQpush8(t),e.sQpush8(0),e.sQpush8(i?1:0),e.sQpush16((1<<s)-1),e.sQpush16((1<<s)-1),e.sQpush16((1<<s)-1),e.sQpush8(0*s),e.sQpush8(1*s),e.sQpush8(2*s),e.sQpush8(0),e.sQpush8(0),e.sQpush8(0),e.flush()},clientEncodings:function(e,t){e.sQpush8(2),e.sQpush8(0),e.sQpush16(t.length);for(var i=0;i<t.length;i++)e.sQpush32(t[i]);e.flush()},fbUpdateRequest:function(e,t,i,n,s,r){void 0===i&&(i=0),void 0===n&&(n=0),e.sQpush8(3),e.sQpush8(t?1:0),e.sQpush16(i),e.sQpush16(n),e.sQpush16(s),e.sQpush16(r),e.flush()},xvpOp:function(e,t,i){e.sQpush8(250),e.sQpush8(0),e.sQpush8(t),e.sQpush8(i),e.flush()}},iX.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}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.