You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__tasks__index.js

1 line
1.2 MiB

(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[159,5],{"+Axu":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/header/index.less?")},"/POA":function(module,exports,__webpack_require__){eval('!function(e,t){if(true)module.exports=t();else { var i, r; }}(window,(function(){return function(e){var t={};function r(i){if(t[i])return t[i].exports;var n=t[i]={i:i,l:!1,exports:{}};return e[i].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=e,r.c=t,r.d=function(e,t,i){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(r.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(i,n,function(t){return e[t]}.bind(null,n));return i},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=34)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0;var i=function(){function e(){this._listeners=[],this._disposed=!1}return Object.defineProperty(e.prototype,"event",{get:function(){var e=this;return this._event||(this._event=function(t){return e._listeners.push(t),{dispose:function(){if(!e._disposed)for(var r=0;r<e._listeners.length;r++)if(e._listeners[r]===t)return void e._listeners.splice(r,1)}}}),this._event},enumerable:!1,configurable:!0}),e.prototype.fire=function(e,t){for(var r=[],i=0;i<this._listeners.length;i++)r.push(this._listeners[i]);for(i=0;i<r.length;i++)r[i].call(void 0,e,t)},e.prototype.dispose=function(){this._listeners&&(this._listeners.length=0),this._disposed=!0},e}();t.EventEmitter=i,t.forwardEvent=function(e,t){return e((function(e){return t.fire(e)}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IUnicodeService=t.IOptionsService=t.ILogService=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;var i=r(14);t.IBufferService=i.createDecorator("BufferService"),t.ICoreMouseService=i.createDecorator("CoreMouseService"),t.ICoreService=i.createDecorator("CoreService"),t.ICharsetService=i.createDecorator("CharsetService"),t.IDirtyRowService=i.createDecorator("DirtyRowService"),t.IInstantiationService=i.createDecorator("InstantiationService"),t.ILogService=i.createDecorator("LogService"),t.IOptionsService=i.createDecorator("OptionsService"),t.IUnicodeService=i.createDecorator("UnicodeService")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.Disposable=void 0;var i=function(){function e(){this._disposables=[],this._isDisposed=!1}return e.prototype.dispose=function(){this._isDisposed=!0;for(var e=0,t=this._disposables;e<t.length;e++){t[e].dispose()}this._disposables.length=0},e.prototype.register=function(e){return this._disposables.push(e),e},e.prototype.unregister=function(e){var t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)},e}();function n(e){for(var t=0,r=e;t<r.length;t++){r[t].dispose()}e.length=0}t.Disposable=i,t.disposeArray=n,t.getDisposeArrayDisposable=function(e){return{dispose:function(){return n(e)}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;var o=r(8),s=r(3),a=r(6),c=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.content=0,t.fg=0,t.bg=0,t.extended=new a.ExtendedAttrs,t.combinedData="",t}return n(t,e),t.fromCharData=function(e){var r=new t;return r.setFromCharData(e),r},t.prototype.isCombined=function(){return 2097152&this.content},t.prototype.getWidth=function(){return this.content>>22},t.prototype.getChars=function(){return 2097152&this.content?this.combinedData:2097151&this.content?o.stringFromCodePoint(2097151&this.content):""},t.prototype.getCode=function(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content},t.prototype.setFromCharData=function(e){this.fg=e[s.CHAR_DATA_ATTR_INDEX],this.bg=0;var t=!1;if(e[s.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[s.CHAR_DATA_CHAR_INDEX].length){var r=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=r&&r<=56319){var i=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=i&&i<=57343?this.content=1024*(r-55296)+i-56320+65536|e[s.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[s.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[s.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[s.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[s.CHAR_DATA_WIDTH_INDEX]<<22)},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(a.AttributeData);t.CellData=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ISoundService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;var i=r(14);t.ICharSizeService=i.createDecorator("CharSizeService"),t.ICoreBrowserService=i.createDecorator("CoreBrowserService"),t.IMouseService=i.createDecorator("MouseService"),t.IRenderService=i.createDecorator("RenderService"),t.ISelectionService=i.createDecorator("SelectionService"),t.ISoundService=i.createDecorator("SoundService")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;var i=function(){function e(){this.fg=0,this.bg=0,this.extended=new n}return e.toColorRGB=function(e){return[e>>>16&255,e>>>8&255,255&e]},e.fromColorRGB=function(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},e.prototype.clone=function(){var t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t},e.prototype.isInverse=function(){return 67108864&this.fg},e.prototype.isBold=function(){return 134217728&this.fg},e.prototype.isUnderline=function(){return 268435456&this.fg},e.prototype.isBlink=function(){return 536870912&this.fg},e.prototype.isInvisible=function(){return 1073741824&this.fg},e.prototype.isItalic=function(){return 67108864&this.bg},e.prototype.isDim=function(){return 134217728&this.bg},e.prototype.getFgColorMode=function(){return 50331648&this.fg},e.prototype.getBgColorMode=function(){return 50331648&this.bg},e.prototype.isFgRGB=function(){return 50331648==(50331648&this.fg)},e.prototype.isBgRGB=function(){return 50331648==(50331648&this.bg)},e.prototype.isFgPalette=function(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)},e.prototype.isBgPalette=function(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)},e.prototype.isFgDefault=function(){return 0==(50331648&this.fg)},e.prototype.isBgDefault=function(){return 0==(50331648&this.bg)},e.prototype.isAttributeDefault=function(){return 0===this.fg&&0===this.bg},e.prototype.getFgColor=function(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}},e.prototype.getBgColor=function(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}},e.prototype.hasExtendedAttrs=function(){return 268435456&this.bg},e.prototype.updateExtended=function(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456},e.prototype.getUnderlineColor=function(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()},e.prototype.getUnderlineColorMode=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()},e.prototype.isUnderlineColorRGB=function(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()},e.prototype.isUnderlineColorPalette=function(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()},e.prototype.isUnderlineColorDefault=function(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()},e.prototype.getUnderlineStyle=function(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0},e}();t.AttributeData=i;var n=function(){function e(e,t){void 0===e&&(e=0),void 0===t&&(t=-1),this.underlineStyle=e,this.underlineColor=t}return e.prototype.clone=function(){return new e(this.underlineStyle,this.underlineColor)},e.prototype.isEmpty=function(){return 0===this.underlineStyle},e}();t.ExtendedAttrs=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,r,i){e.addEventListener(t,r,i);var n=!1;return{dispose:function(){n||(n=!0,e.removeEventListener(t,r,i))}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t,r){void 0===t&&(t=0),void 0===r&&(r=e.length);for(var i="",n=t;n<r;++n){var o=e[n];o>65535?(o-=65536,i+=String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):i+=String.fromCharCode(o)}return i};var i=function(){function e(){this._interim=0}return e.prototype.clear=function(){this._interim=0},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i=0,n=0;this._interim&&(56320<=(a=e.charCodeAt(n++))&&a<=57343?t[i++]=1024*(this._interim-55296)+a-56320+65536:(t[i++]=this._interim,t[i++]=a),this._interim=0);for(var o=n;o<r;++o){var s=e.charCodeAt(o);if(55296<=s&&s<=56319){if(++o>=r)return this._interim=s,i;var a;56320<=(a=e.charCodeAt(o))&&a<=57343?t[i++]=1024*(s-55296)+a-56320+65536:(t[i++]=s,t[i++]=a)}else t[i++]=s}return i},e}();t.StringToUtf32=i;var n=function(){function e(){this.interim=new Uint8Array(3)}return e.prototype.clear=function(){this.interim.fill(0)},e.prototype.decode=function(e,t){var r=e.length;if(!r)return 0;var i,n,o,s,a=0,c=0,l=0;if(this.interim[0]){var h=!1,u=this.interim[0];u&=192==(224&u)?31:224==(240&u)?15:7;for(var f=0,_=void 0;(_=63&this.interim[++f])&&f<4;)u<<=6,u|=_;for(var d=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,p=d-f;l<p;){if(l>=r)return 0;if(128!=(192&(_=e[l++]))){l--,h=!0;break}this.interim[f++]=_,u<<=6,u|=63&_}h||(2===d?u<128?l--:t[a++]=u:3===d?u<2048||u>=55296&&u<=57343||(t[a++]=u):u<65536||u>1114111||(t[a++]=u)),this.interim.fill(0)}for(var v=r-4,g=l;g<r;){for(;!(!(g<v)||128&(i=e[g])||128&(n=e[g+1])||128&(o=e[g+2])||128&(s=e[g+3]));)t[a++]=i,t[a++]=n,t[a++]=o,t[a++]=s,g+=4;if((i=e[g++])<128)t[a++]=i;else if(192==(224&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if((c=(31&i)<<6|63&n)<128){g--;continue}t[a++]=c}else if(224==(240&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if((c=(15&i)<<12|(63&n)<<6|63&o)<2048||c>=55296&&c<=57343)continue;t[a++]=c}else if(240==(248&i)){if(g>=r)return this.interim[0]=i,a;if(128!=(192&(n=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,a;if(128!=(192&(o=e[g++]))){g--;continue}if(g>=r)return this.interim[0]=i,this.interim[1]=n,this.interim[2]=o,a;if(128!=(192&(s=e[g++]))){g--;continue}if((c=(7&i)<<18|(63&n)<<12|(63&o)<<6|63&s)<65536||c>1114111)continue;t[a++]=c}}return a},e}();t.Utf8ToUtf32=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CHAR_ATLAS_CELL_SPACING=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0,t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.CHAR_ATLAS_CELL_SPACING=1},function(e,t,r){"use strict";var i,n,o,s;function a(e){var t=e.toString(16);return t.length<2?"0"+t:t}function c(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}Object.defineProperty(t,"__esModule",{value:!0}),t.contrastRatio=t.toPaddedHex=t.rgba=t.rgb=t.css=t.color=t.channels=void 0,function(e){e.toCss=function(e,t,r,i){return void 0!==i?"#"+a(e)+a(t)+a(r)+a(i):"#"+a(e)+a(t)+a(r)},e.toRgba=function(e,t,r,i){return void 0===i&&(i=255),(e<<24|t<<16|r<<8|i)>>>0}}(i=t.channels||(t.channels={})),(n=t.color||(t.color={})).blend=function(e,t){var r=(255&t.rgba)/255;if(1===r)return{css:t.css,rgba:t.rgba};var n=t.rgba>>24&255,o=t.rgba>>16&255,s=t.rgba>>8&255,a=e.rgba>>24&255,c=e.rgba>>16&255,l=e.rgba>>8&255,h=a+Math.round((n-a)*r),u=c+Math.round((o-c)*r),f=l+Math.round((s-l)*r);return{css:i.toCss(h,u,f),rgba:i.toRgba(h,u,f)}},n.isOpaque=function(e){return 255==(255&e.rgba)},n.ensureContrastRatio=function(e,t,r){var i=s.ensureContrastRatio(e.rgba,t.rgba,r);if(i)return s.toColor(i>>24&255,i>>16&255,i>>8&255)},n.opaque=function(e){var t=(255|e.rgba)>>>0,r=s.toChannels(t),n=r[0],o=r[1],a=r[2];return{css:i.toCss(n,o,a),rgba:t}},n.opacity=function(e,t){var r=Math.round(255*t),n=s.toChannels(e.rgba),o=n[0],a=n[1],c=n[2];return{css:i.toCss(o,a,c,r),rgba:i.toRgba(o,a,c,r)}},(t.css||(t.css={})).toColor=function(e){switch(e.length){case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,r){var i=e/255,n=t/255,o=r/255;return.2126*(i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4))+.7152*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))+.0722*(o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(o=t.rgb||(t.rgb={})),function(e){function t(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u<r&&(a>0||l>0||h>0);)a-=Math.max(0,Math.ceil(.1*a)),l-=Math.max(0,Math.ceil(.1*l)),h-=Math.max(0,Math.ceil(.1*h)),u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));return(a<<24|l<<16|h<<8|255)>>>0}function r(e,t,r){for(var i=e>>24&255,n=e>>16&255,s=e>>8&255,a=t>>24&255,l=t>>16&255,h=t>>8&255,u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));u<r&&(a<255||l<255||h<255);)a=Math.min(255,a+Math.ceil(.1*(255-a))),l=Math.min(255,l+Math.ceil(.1*(255-l))),h=Math.min(255,h+Math.ceil(.1*(255-h))),u=c(o.relativeLuminance2(a,h,l),o.relativeLuminance2(i,n,s));return(a<<24|l<<16|h<<8|255)>>>0}e.ensureContrastRatio=function(e,i,n){var s=o.relativeLuminance(e>>8),a=o.relativeLuminance(i>>8);if(c(s,a)<n)return a<s?t(e,i,n):r(e,i,n)},e.reduceLuminance=t,e.increaseLuminance=r,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,r){return{css:i.toCss(e,t,r),rgba:i.toRgba(e,t,r)}}}(s=t.rgba||(t.rgba={})),t.toPaddedHex=a,t.contrastRatio=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isFirefox=void 0;var i="undefined"==typeof navigator,n=i?"node":navigator.userAgent,o=i?"node":navigator.platform;function s(e,t){return e.indexOf(t)>=0}t.isFirefox=!!~n.indexOf("Firefox"),t.isSafari=/^((?!chrome|android).)*safari/i.test(n),t.isMac=s(["Macintosh","MacIntel","MacPPC","Mac68K"],o),t.isIpad="iPad"===o,t.isIphone="iPhone"===o,t.isWindows=s(["Windows","Win16","Win32","WinCE"],o),t.isLinux=o.indexOf("Linux")>=0},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.C1=t.C0=void 0,function(e){e.NUL="\\0",e.SOH="\x01",e.STX="\x02",e.ETX="\x03",e.EOT="\x04",e.ENQ="\x05",e.ACK="\x06",e.BEL="\x07",e.BS="\\b",e.HT="\\t",e.LF="\\n",e.VT="\\v",e.FF="\\f",e.CR="\\r",e.SO="\x0e",e.SI="\x0f",e.DLE="\x10",e.DC1="\x11",e.DC2="\x12",e.DC3="\x13",e.DC4="\x14",e.NAK="\x15",e.SYN="\x16",e.ETB="\x17",e.CAN="\x18",e.EM="\x19",e.SUB="\x1a",e.ESC="\x1b",e.FS="\x1c",e.GS="\x1d",e.RS="\x1e",e.US="\x1f",e.SP=" ",e.DEL="\x7f"}(t.C0||(t.C0={})),function(e){e.PAD="\x80",e.HOP="\x81",e.BPH="\x82",e.NBH="\x83",e.IND="\x84",e.NEL="\x85",e.SSA="\x86",e.ESA="\x87",e.HTS="\x88",e.HTJ="\x89",e.VTS="\x8a",e.PLD="\x8b",e.PLU="\x8c",e.RI="\x8d",e.SS2="\x8e",e.SS3="\x8f",e.DCS="\x90",e.PU1="\x91",e.PU2="\x92",e.STS="\x93",e.CCH="\x94",e.MW="\x95",e.SPA="\x96",e.EPA="\x97",e.SOS="\x98",e.SGCI="\x99",e.SCI="\x9a",e.CSI="\x9b",e.ST="\x9c",e.OSC="\x9d",e.PM="\x9e",e.APC="\x9f"}(t.C1||(t.C1={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseRenderLayer=void 0;var i=r(3),n=r(9),o=r(25),s=r(6),a=r(28),c=r(10),l=r(17),h=function(){function e(e,t,r,i,n,o,s,a){this._container=e,this._alpha=i,this._colors=n,this._rendererId=o,this._bufferService=s,this._optionsService=a,this._scaledCharWidth=0,this._scaledCharHeight=0,this._scaledCellWidth=0,this._scaledCellHeight=0,this._scaledCharLeft=0,this._scaledCharTop=0,this._currentGlyphIdentifier={chars:"",code:0,bg:0,fg:0,bold:!1,dim:!1,italic:!1},this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-"+t+"-layer"),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas)}return e.prototype.dispose=function(){var e;l.removeElementFromParent(this._canvas),null===(e=this._charAtlas)||void 0===e||e.dispose()},e.prototype._initCanvas=function(){this._ctx=a.throwIfFalsy(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()},e.prototype.onOptionsChanged=function(){},e.prototype.onBlur=function(){},e.prototype.onFocus=function(){},e.prototype.onCursorMove=function(){},e.prototype.onGridChanged=function(e,t){},e.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1)},e.prototype.setColors=function(e){this._refreshCharAtlas(e)},e.prototype._setTransparency=function(e){if(e!==this._alpha){var t=this._canvas;this._alpha=e,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,t),this._refreshCharAtlas(this._colors),this.onGridChanged(0,this._bufferService.rows-1)}},e.prototype._refreshCharAtlas=function(e){this._scaledCharWidth<=0&&this._scaledCharHeight<=0||(this._charAtlas=o.acquireCharAtlas(this._optionsService.options,this._rendererId,e,this._scaledCharWidth,this._scaledCharHeight),this._charAtlas.warmUp())},e.prototype.resize=function(e){this._scaledCellWidth=e.scaledCellWidth,this._scaledCellHeight=e.scaledCellHeight,this._scaledCharWidth=e.scaledCharWidth,this._scaledCharHeight=e.scaledCharHeight,this._scaledCharLeft=e.scaledCharLeft,this._scaledCharTop=e.scaledCharTop,this._canvas.width=e.scaledCanvasWidth,this._canvas.height=e.scaledCanvasHeight,this._canvas.style.width=e.canvasWidth+"px",this._canvas.style.height=e.canvasHeight+"px",this._alpha||this._clearAll(),this._refreshCharAtlas(this._colors)},e.prototype._fillCells=function(e,t,r,i){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight)},e.prototype._fillBottomLineAtCells=function(e,t,r){void 0===r&&(r=1),this._ctx.fillRect(e*this._scaledCellWidth,(t+1)*this._scaledCellHeight-window.devicePixelRatio-1,r*this._scaledCellWidth,window.devicePixelRatio)},e.prototype._fillLeftLineAtCell=function(e,t,r){this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,window.devicePixelRatio*r,this._scaledCellHeight)},e.prototype._strokeRectAtCell=function(e,t,r,i){this._ctx.lineWidth=window.devicePixelRatio,this._ctx.strokeRect(e*this._scaledCellWidth+window.devicePixelRatio/2,t*this._scaledCellHeight+window.devicePixelRatio/2,r*this._scaledCellWidth-window.devicePixelRatio,i*this._scaledCellHeight-window.devicePixelRatio)},e.prototype._clearAll=function(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))},e.prototype._clearCells=function(e,t,r,i){this._alpha?this._ctx.clearRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight):(this._ctx.fillStyle=this._colors.background.css,this._ctx.fillRect(e*this._scaledCellWidth,t*this._scaledCellHeight,r*this._scaledCellWidth,i*this._scaledCellHeight))},e.prototype._fillCharTrueColor=function(e,t,r){this._ctx.font=this._getFont(!1,!1),this._ctx.textBaseline="middle",this._clipRow(r),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2)},e.prototype._drawChars=function(e,t,r){var o,s,a=this._getContrastColor(e);a||e.isFgRGB()||e.isBgRGB()?this._drawUncachedChars(e,t,r,a):(e.isInverse()?(o=e.isBgDefault()?n.INVERTED_DEFAULT_COLOR:e.getBgColor(),s=e.isFgDefault()?n.INVERTED_DEFAULT_COLOR:e.getFgColor()):(s=e.isBgDefault()?i.DEFAULT_COLOR:e.getBgColor(),o=e.isFgDefault()?i.DEFAULT_COLOR:e.getFgColor()),o+=this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8?8:0,this._currentGlyphIdentifier.chars=e.getChars()||i.WHITESPACE_CELL_CHAR,this._currentGlyphIdentifier.code=e.getCode()||i.WHITESPACE_CELL_CODE,this._currentGlyphIdentifier.bg=s,this._currentGlyphIdentifier.fg=o,this._currentGlyphIdentifier.bold=!!e.isBold(),this._currentGlyphIdentifier.dim=!!e.isDim(),this._currentGlyphIdentifier.italic=!!e.isItalic(),this._charAtlas&&this._charAtlas.draw(this._ctx,this._currentGlyphIdentifier,t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop)||this._drawUncachedChars(e,t,r))},e.prototype._drawUncachedChars=function(e,t,r,i){if(this._ctx.save(),this._ctx.font=this._getFont(!!e.isBold(),!!e.isItalic()),this._ctx.textBaseline="middle",e.isInverse())if(i)this._ctx.fillStyle=i.css;else if(e.isBgDefault())this._ctx.fillStyle=c.color.opaque(this._colors.background).css;else if(e.isBgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var o=e.getBgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),this._ctx.fillStyle=this._colors.ansi[o].css}else if(i)this._ctx.fillStyle=i.css;else if(e.isFgDefault())this._ctx.fillStyle=this._colors.foreground.css;else if(e.isFgRGB())this._ctx.fillStyle="rgb("+s.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var a=e.getFgColor();this._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&a<8&&(a+=8),this._ctx.fillStyle=this._colors.ansi[a].css}this._clipRow(r),e.isDim()&&(this._ctx.globalAlpha=n.DIM_OPACITY),this._ctx.fillText(e.getChars(),t*this._scaledCellWidth+this._scaledCharLeft,r*this._scaledCellHeight+this._scaledCharTop+this._scaledCharHeight/2),this._ctx.restore()},e.prototype._clipRow=function(e){this._ctx.beginPath(),this._ctx.rect(0,e*this._scaledCellHeight,this._bufferService.cols*this._scaledCellWidth,this._scaledCellHeight),this._ctx.clip()},e.prototype._getFont=function(e,t){return(t?"italic":"")+" "+(e?this._optionsService.options.fontWeightBold:this._optionsService.options.fontWeight)+" "+this._optionsService.options.fontSize*window.devicePixelRatio+"px "+this._optionsService.options.fontFamily},e.prototype._getContrastColor=function(e){if(1!==this._optionsService.options.minimumContrastRatio){var t=this._colors.contrastCache.getColor(e.bg,e.fg);if(void 0!==t)return t||void 0;var r=e.getFgColor(),i=e.getFgColorMode(),n=e.getBgColor(),o=e.getBgColorMode(),s=!!e.isInverse(),a=!!e.isInverse();if(s){var l=r;r=n,n=l;var h=i;i=o,o=h}var u=this._resolveBackgroundRgba(o,n,s),f=this._resolveForegroundRgba(i,r,s,a),_=c.rgba.ensureContrastRatio(u,f,this._optionsService.options.minimumContrastRatio);if(_){var d={css:c.channels.toCss(_>>24&255,_>>16&255,_>>8&255),rgba:_};return this._colors.contrastCache.setColor(e.bg,e.fg,d),d}this._colors.contrastCache.setColor(e.bg,e.fg,null)}},e.prototype._resolveBackgroundRgba=function(e,t,r){switch(e){case 16777216:case 33554432:return this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.foreground.rgba:this._colors.background.rgba}},e.prototype._resolveForegroundRgba=function(e,t,r,i){switch(e){case 16777216:case 33554432:return this._optionsService.options.drawBoldTextInBrightColors&&i&&t<8&&(t+=8),this._colors.ansi[t].rgba;case 50331648:return t<<8;case 0:default:return r?this._colors.background.rgba:this._colors.foreground.rgba}},e}();t.BaseRenderLayer=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;function i(e,t,r){t.di$target===t?t.di$dependencies.push({id:e,index:r}):(t.di$dependencies=[{id:e,index:r}],t.di$target=t)}t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);var r=function(e,t,n){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");i(r,e,n)};return r.toString=function(){return e},t.serviceRegistry.set(e,r),r}},function(e,t,r){"use strict";function i(e,t,r,i){if(void 0===r&&(r=0),void 0===i&&(i=e.length),r>=e.length)return e;r=(e.length+r)%e.length,i=i>=e.length?e.length:(e.length+i)%e.length;for(var n=r;n<i;++n)e[n]=t;return e}Object.defineProperty(t,"__esModule",{value:!0}),t.concat=t.fillFallback=t.fill=void 0,t.fill=function(e,t,r,n){return e.fill?e.fill(t,r,n):i(e,t,r,n)},t.fillFallback=i,t.concat=function(e,t){var r=new e.constructor(e.length+t.length);return r.set(e),r.set(t,e.length),r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;var i=r(8),n=r(3),o=r(4),s=r(6);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);var a=function(){function e(e,t,r){void 0===r&&(r=!1),this.isWrapped=r,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);for(var i=t||o.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]),s=0;s<e;++s)this.setCell(s,i);this.length=e}return e.prototype.get=function(e){var t=this._data[3*e+0],r=2097151&t;return[this._data[3*e+1],2097152&t?this._combined[e]:r?i.stringFromCodePoint(r):"",t>>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):r]},e.prototype.set=function(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22},e.prototype.getWidth=function(e){return this._data[3*e+0]>>22},e.prototype.hasWidth=function(e){return 12582912&this._data[3*e+0]},e.prototype.getFg=function(e){return this._data[3*e+1]},e.prototype.getBg=function(e){return this._data[3*e+2]},e.prototype.hasContent=function(e){return 4194303&this._data[3*e+0]},e.prototype.getCodePoint=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t},e.prototype.isCombined=function(e){return 2097152&this._data[3*e+0]},e.prototype.getString=function(e){var t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?i.stringFromCodePoint(2097151&t):""},e.prototype.loadCell=function(e,t){var r=3*e;return t.content=this._data[r+0],t.fg=this._data[r+1],t.bg=this._data[r+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t},e.prototype.setCell=function(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg},e.prototype.setCellFromCodePoint=function(e,t,r,i,n,o){268435456&n&&(this._extendedAttrs[e]=o),this._data[3*e+0]=t|r<<22,this._data[3*e+1]=i,this._data[3*e+2]=n},e.prototype.addCodepointToCell=function(e,t){var r=this._data[3*e+0];2097152&r?this._combined[e]+=i.stringFromCodePoint(t):(2097151&r?(this._combined[e]=i.stringFromCodePoint(2097151&r)+i.stringFromCodePoint(t),r&=-2097152,r|=2097152):r=t|1<<22,this._data[3*e+0]=r)},e.prototype.insertCells=function(e,t,r,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t<this.length-e){for(var n=new o.CellData,a=this.length-e-t-1;a>=0;--a)this.setCell(e+t+a,this.loadCell(e+a,n));for(a=0;a<t;++a)this.setCell(e+a,r)}else for(a=e;a<this.length;++a)this.setCell(a,r);2===this.getWidth(this.length-1)&&this.setCellFromCodePoint(this.length-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs)},e.prototype.deleteCells=function(e,t,r,i){if(e%=this.length,t<this.length-e){for(var n=new o.CellData,a=0;a<this.length-e-t;++a)this.setCell(e+a,this.loadCell(e+t+a,n));for(a=this.length-t;a<this.length;++a)this.setCell(a,r)}else for(a=e;a<this.length;++a)this.setCell(a,r);e&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),0!==this.getWidth(e)||this.hasContent(e)||this.setCellFromCodePoint(e,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs)},e.prototype.replaceCells=function(e,t,r,i){for(e&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs),t<this.length&&2===this.getWidth(t-1)&&this.setCellFromCodePoint(t,0,1,(null==i?void 0:i.fg)||0,(null==i?void 0:i.bg)||0,(null==i?void 0:i.extended)||new s.ExtendedAttrs);e<t&&e<this.length;)this.setCell(e++,r)},e.prototype.resize=function(e,t){if(e!==this.length){if(e>this.length){var r=new Uint32Array(3*e);this.length&&(3*e<this._data.length?r.set(this._data.subarray(0,3*e)):r.set(this._data)),this._data=r;for(var i=this.length;i<e;++i)this.setCell(i,t)}else if(e){(r=new Uint32Array(3*e)).set(this._data.subarray(0,3*e)),this._data=r;var n=Object.keys(this._combined);for(i=0;i<n.length;i++){var o=parseInt(n[i],10);o>=e&&delete this._combined[o]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}},e.prototype.fill=function(e){this._combined={},this._extendedAttrs={};for(var t=0;t<this.length;++t)this.setCell(t,e)},e.prototype.copyFrom=function(e){for(var t in this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={},e._combined)this._combined[t]=e._combined[t];for(var t in this._extendedAttrs={},e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped},e.prototype.clone=function(){var t=new e(0);for(var r in t._data=new Uint32Array(this._data),t.length=this.length,this._combined)t._combined[r]=this._combined[r];for(var r in this._extendedAttrs)t._extendedAttrs[r]=this._extendedAttrs[r];return t.isWrapped=this.isWrapped,t},e.prototype.getTrimmedLength=function(){for(var e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0},e.prototype.copyCellsFrom=function(e,t,r,i,n){var o=e._data;if(n)for(var s=i-1;s>=0;s--)for(var a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];else for(s=0;s<i;s++)for(a=0;a<3;a++)this._data[3*(r+s)+a]=o[3*(t+s)+a];var c=Object.keys(e._combined);for(a=0;a<c.length;a++){var l=parseInt(c[a],10);l>=t&&(this._combined[l-t+r]=e._combined[l])}},e.prototype.translateToString=function(e,t,r){void 0===e&&(e=!1),void 0===t&&(t=0),void 0===r&&(r=this.length),e&&(r=Math.min(r,this.getTrimmedLength()));for(var o="";t<r;){var s=this._data[3*t+0],a=2097151&s;o+=2097152&s?this._combined[t]:a?i.stringFromCodePoint(a):n.WHITESPACE_CELL_CHAR,t+=s>>22||1}return o},e}();t.BufferLine=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(){for(var e,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];for(var i=0,n=t;i<n.length;i++){var o=n[i];null===(e=null==o?void 0:o.parentElement)||void 0===e||e.removeChild(o)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;var o,s=r(12),a=r(20),c=r(39),l=r(2),h=r(15),u=r(8),f=r(16),_=r(0),d=r(3),p=r(4),v=r(6),g=r(22),y=r(24),b={"(":0,")":1,"*":2,"+":3,"-":1,".":2};function S(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(o=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));var m=function(){function e(e,t,r,i){this._bufferService=e,this._coreService=t,this._logService=r,this._optionsService=i,this._data=new Uint32Array(0)}return e.prototype.hook=function(e){this._data=new Uint32Array(0)},e.prototype.put=function(e,t,r){this._data=h.concat(this._data,e.subarray(t,r))},e.prototype.unhook=function(e){if(e){var t=u.utf32ToString(this._data);switch(this._data=new Uint32Array(0),t){case\'"q\':return this._coreService.triggerDataEvent(s.C0.ESC+\'P1$r0"q\'+s.C0.ESC+"\\\\");case\'"p\':return this._coreService.triggerDataEvent(s.C0.ESC+\'P1$r61;1"p\'+s.C0.ESC+"\\\\");case"r":var r=this._bufferService.buffer.scrollTop+1+";"+(this._bufferService.buffer.scrollBottom+1)+"r";return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+r+s.C0.ESC+"\\\\");case"m":return this._coreService.triggerDataEvent(s.C0.ESC+"P1$r0m"+s.C0.ESC+"\\\\");case" q":var i={block:2,underline:4,bar:6}[this._optionsService.options.cursorStyle];return i-=this._optionsService.options.cursorBlink?1:0,this._coreService.triggerDataEvent(s.C0.ESC+"P1$r"+i+" q"+s.C0.ESC+"\\\\");default:this._logService.debug("Unknown DCS $q %s",t),this._coreService.triggerDataEvent(s.C0.ESC+"P0$r"+s.C0.ESC+"\\\\")}}else this._data=new Uint32Array(0)},e}(),C=function(e){function t(t,r,i,n,o,l,h,d,v){void 0===v&&(v=new c.EscapeSequenceParser);var y=e.call(this)||this;y._bufferService=t,y._charsetService=r,y._coreService=i,y._dirtyRowService=n,y._logService=o,y._optionsService=l,y._coreMouseService=h,y._unicodeService=d,y._parser=v,y._parseBuffer=new Uint32Array(4096),y._stringDecoder=new u.StringToUtf32,y._utf8Decoder=new u.Utf8ToUtf32,y._workCell=new p.CellData,y._windowTitle="",y._iconName="",y._windowTitleStack=[],y._iconNameStack=[],y._curAttrData=f.DEFAULT_ATTR_DATA.clone(),y._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone(),y._onRequestBell=new _.EventEmitter,y._onRequestRefreshRows=new _.EventEmitter,y._onRequestReset=new _.EventEmitter,y._onRequestScroll=new _.EventEmitter,y._onRequestSyncScrollBar=new _.EventEmitter,y._onRequestWindowsOptionsReport=new _.EventEmitter,y._onA11yChar=new _.EventEmitter,y._onA11yTab=new _.EventEmitter,y._onCursorMove=new _.EventEmitter,y._onLineFeed=new _.EventEmitter,y._onScroll=new _.EventEmitter,y._onTitleChange=new _.EventEmitter,y.register(y._parser),y._parser.setCsiHandlerFallback((function(e,t){y._logService.debug("Unknown CSI code: ",{identifier:y._parser.identToString(e),params:t.toArray()})})),y._parser.setEscHandlerFallback((function(e){y._logService.debug("Unknown ESC code: ",{identifier:y._parser.identToString(e)})})),y._parser.setExecuteHandlerFallback((function(e){y._logService.debug("Unknown EXECUTE code: ",{code:e})})),y._parser.setOscHandlerFallback((function(e,t,r){y._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:r})})),y._parser.setDcsHandlerFallback((function(e,t,r){"HOOK"===t&&(r=r.toArray()),y._logService.debug("Unknown DCS code: ",{identifier:y._parser.identToString(e),action:t,payload:r})})),y._parser.setPrintHandler((function(e,t,r){return y.print(e,t,r)})),y._parser.setCsiHandler({final:"@"},(function(e){return y.insertChars(e)})),y._parser.setCsiHandler({intermediates:" ",final:"@"},(function(e){return y.scrollLeft(e)})),y._parser.setCsiHandler({final:"A"},(function(e){return y.cursorUp(e)})),y._parser.setCsiHandler({intermediates:" ",final:"A"},(function(e){return y.scrollRight(e)})),y._parser.setCsiHandler({final:"B"},(function(e){return y.cursorDown(e)})),y._parser.setCsiHandler({final:"C"},(function(e){return y.cursorForward(e)})),y._parser.setCsiHandler({final:"D"},(function(e){return y.cursorBackward(e)})),y._parser.setCsiHandler({final:"E"},(function(e){return y.cursorNextLine(e)})),y._parser.setCsiHandler({final:"F"},(function(e){return y.cursorPrecedingLine(e)})),y._parser.setCsiHandler({final:"G"},(function(e){return y.cursorCharAbsolute(e)})),y._parser.setCsiHandler({final:"H"},(function(e){return y.cursorPosition(e)})),y._parser.setCsiHandler({final:"I"},(function(e){return y.cursorForwardTab(e)})),y._parser.setCsiHandler({final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({prefix:"?",final:"J"},(function(e){return y.eraseInDisplay(e)})),y._parser.setCsiHandler({final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({prefix:"?",final:"K"},(function(e){return y.eraseInLine(e)})),y._parser.setCsiHandler({final:"L"},(function(e){return y.insertLines(e)})),y._parser.setCsiHandler({final:"M"},(function(e){return y.deleteLines(e)})),y._parser.setCsiHandler({final:"P"},(function(e){return y.deleteChars(e)})),y._parser.setCsiHandler({final:"S"},(function(e){return y.scrollUp(e)})),y._parser.setCsiHandler({final:"T"},(function(e){return y.scrollDown(e)})),y._parser.setCsiHandler({final:"X"},(function(e){return y.eraseChars(e)})),y._parser.setCsiHandler({final:"Z"},(function(e){return y.cursorBackwardTab(e)})),y._parser.setCsiHandler({final:"`"},(function(e){return y.charPosAbsolute(e)})),y._parser.setCsiHandler({final:"a"},(function(e){return y.hPositionRelative(e)})),y._parser.setCsiHandler({final:"b"},(function(e){return y.repeatPrecedingCharacter(e)})),y._parser.setCsiHandler({final:"c"},(function(e){return y.sendDeviceAttributesPrimary(e)})),y._parser.setCsiHandler({prefix:">",final:"c"},(function(e){return y.sendDeviceAttributesSecondary(e)})),y._parser.setCsiHandler({final:"d"},(function(e){return y.linePosAbsolute(e)})),y._parser.setCsiHandler({final:"e"},(function(e){return y.vPositionRelative(e)})),y._parser.setCsiHandler({final:"f"},(function(e){return y.hVPosition(e)})),y._parser.setCsiHandler({final:"g"},(function(e){return y.tabClear(e)})),y._parser.setCsiHandler({final:"h"},(function(e){return y.setMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"h"},(function(e){return y.setModePrivate(e)})),y._parser.setCsiHandler({final:"l"},(function(e){return y.resetMode(e)})),y._parser.setCsiHandler({prefix:"?",final:"l"},(function(e){return y.resetModePrivate(e)})),y._parser.setCsiHandler({final:"m"},(function(e){return y.charAttributes(e)})),y._parser.setCsiHandler({final:"n"},(function(e){return y.deviceStatus(e)})),y._parser.setCsiHandler({prefix:"?",final:"n"},(function(e){return y.deviceStatusPrivate(e)})),y._parser.setCsiHandler({intermediates:"!",final:"p"},(function(e){return y.softReset(e)})),y._parser.setCsiHandler({intermediates:" ",final:"q"},(function(e){return y.setCursorStyle(e)})),y._parser.setCsiHandler({final:"r"},(function(e){return y.setScrollRegion(e)})),y._parser.setCsiHandler({final:"s"},(function(e){return y.saveCursor(e)})),y._parser.setCsiHandler({final:"t"},(function(e){return y.windowOptions(e)})),y._parser.setCsiHandler({final:"u"},(function(e){return y.restoreCursor(e)})),y._parser.setCsiHandler({intermediates:"\'",final:"}"},(function(e){return y.insertColumns(e)})),y._parser.setCsiHandler({intermediates:"\'",final:"~"},(function(e){return y.deleteColumns(e)})),y._parser.setExecuteHandler(s.C0.BEL,(function(){return y.bell()})),y._parser.setExecuteHandler(s.C0.LF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.VT,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.FF,(function(){return y.lineFeed()})),y._parser.setExecuteHandler(s.C0.CR,(function(){return y.carriageReturn()})),y._parser.setExecuteHandler(s.C0.BS,(function(){return y.backspace()})),y._parser.setExecuteHandler(s.C0.HT,(function(){return y.tab()})),y._parser.setExecuteHandler(s.C0.SO,(function(){return y.shiftOut()})),y._parser.setExecuteHandler(s.C0.SI,(function(){return y.shiftIn()})),y._parser.setExecuteHandler(s.C1.IND,(function(){return y.index()})),y._parser.setExecuteHandler(s.C1.NEL,(function(){return y.nextLine()})),y._parser.setExecuteHandler(s.C1.HTS,(function(){return y.tabSet()})),y._parser.setOscHandler(0,new g.OscHandler((function(e){y.setTitle(e),y.setIconName(e)}))),y._parser.setOscHandler(1,new g.OscHandler((function(e){return y.setIconName(e)}))),y._parser.setOscHandler(2,new g.OscHandler((function(e){return y.setTitle(e)}))),y._parser.setEscHandler({final:"7"},(function(){return y.saveCursor()})),y._parser.setEscHandler({final:"8"},(function(){return y.restoreCursor()})),y._parser.setEscHandler({final:"D"},(function(){return y.index()})),y._parser.setEscHandler({final:"E"},(function(){return y.nextLine()})),y._parser.setEscHandler({final:"H"},(function(){return y.tabSet()})),y._parser.setEscHandler({final:"M"},(function(){return y.reverseIndex()})),y._parser.setEscHandler({final:"="},(function(){return y.keypadApplicationMode()})),y._parser.setEscHandler({final:">"},(function(){return y.keypadNumericMode()})),y._parser.setEscHandler({final:"c"},(function(){return y.fullReset()})),y._parser.setEscHandler({final:"n"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"o"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"|"},(function(){return y.setgLevel(3)})),y._parser.setEscHandler({final:"}"},(function(){return y.setgLevel(2)})),y._parser.setEscHandler({final:"~"},(function(){return y.setgLevel(1)})),y._parser.setEscHandler({intermediates:"%",final:"@"},(function(){return y.selectDefaultCharset()})),y._parser.setEscHandler({intermediates:"%",final:"G"},(function(){return y.selectDefaultCharset()}));var b=function(e){S._parser.setEscHandler({intermediates:"(",final:e},(function(){return y.selectCharset("("+e)})),S._parser.setEscHandler({intermediates:")",final:e},(function(){return y.selectCharset(")"+e)})),S._parser.setEscHandler({intermediates:"*",final:e},(function(){return y.selectCharset("*"+e)})),S._parser.setEscHandler({intermediates:"+",final:e},(function(){return y.selectCharset("+"+e)})),S._parser.setEscHandler({intermediates:"-",final:e},(function(){return y.selectCharset("-"+e)})),S._parser.setEscHandler({intermediates:".",final:e},(function(){return y.selectCharset("."+e)})),S._parser.setEscHandler({intermediates:"/",final:e},(function(){return y.selectCharset("/"+e)}))},S=this;for(var C in a.CHARSETS)b(C);return y._parser.setEscHandler({intermediates:"#",final:"8"},(function(){return y.screenAlignmentPattern()})),y._parser.setErrorHandler((function(e){return y._logService.error("Parsing error: ",e),e})),y._parser.setDcsHandler({intermediates:"$",final:"q"},new m(y._bufferService,y._coreService,y._logService,y._optionsService)),y}return n(t,e),Object.defineProperty(t.prototype,"onRequestBell",{get:function(){return this._onRequestBell.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRefreshRows",{get:function(){return this._onRequestRefreshRows.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestReset",{get:function(){return this._onRequestReset.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScroll",{get:function(){return this._onRequestScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestSyncScrollBar",{get:function(){return this._onRequestSyncScrollBar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestWindowsOptionsReport",{get:function(){return this._onRequestWindowsOptionsReport.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yChar.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTab.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.parse=function(e){var t=this._bufferService.buffer,r=t.x,i=t.y;if(this._logService.debug("parsing data",e),this._parseBuffer.length<e.length&&this._parseBuffer.length<131072&&(this._parseBuffer=new Uint32Array(Math.min(e.length,131072))),this._dirtyRowService.clearRange(),e.length>131072)for(var n=0;n<e.length;n+=131072){var o=n+131072<e.length?n+131072:e.length,s="string"==typeof e?this._stringDecoder.decode(e.substring(n,o),this._parseBuffer):this._utf8Decoder.decode(e.subarray(n,o),this._parseBuffer);this._parser.parse(this._parseBuffer,s)}else{s="string"==typeof e?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);this._parser.parse(this._parseBuffer,s)}(t=this._bufferService.buffer).x===r&&t.y===i||this._onCursorMove.fire(),this._onRequestRefreshRows.fire(this._dirtyRowService.start,this._dirtyRowService.end)},t.prototype.print=function(e,t,r){var i,n,o=this._bufferService.buffer,s=this._charsetService.charset,a=this._optionsService.options.screenReaderMode,c=this._bufferService.cols,l=this._coreService.decPrivateModes.wraparound,h=this._coreService.modes.insertMode,f=this._curAttrData,_=o.lines.get(o.ybase+o.y);this._dirtyRowService.markDirty(o.y),o.x&&r-t>0&&2===_.getWidth(o.x-1)&&_.setCellFromCodePoint(o.x-1,0,1,f.fg,f.bg,f.extended);for(var p=t;p<r;++p){if(i=e[p],n=this._unicodeService.wcwidth(i),i<127&&s){var v=s[String.fromCharCode(i)];v&&(i=v.charCodeAt(0))}if(a&&this._onA11yChar.fire(u.stringFromCodePoint(i)),n||!o.x){if(o.x+n-1>=c)if(l){for(;o.x<c;)_.setCellFromCodePoint(o.x++,0,1,f.fg,f.bg,f.extended);o.x=0,o.y++,o.y===o.scrollBottom+1?(o.y--,this._onRequestScroll.fire(this._eraseAttrData(),!0)):(o.y>=this._bufferService.rows&&(o.y=this._bufferService.rows-1),o.lines.get(o.ybase+o.y).isWrapped=!0),_=o.lines.get(o.ybase+o.y)}else if(o.x=c-1,2===n)continue;if(h&&(_.insertCells(o.x,n,o.getNullCell(f),f),2===_.getWidth(c-1)&&_.setCellFromCodePoint(c-1,d.NULL_CELL_CODE,d.NULL_CELL_WIDTH,f.fg,f.bg,f.extended)),_.setCellFromCodePoint(o.x++,i,n,f.fg,f.bg,f.extended),n>0)for(;--n;)_.setCellFromCodePoint(o.x++,0,0,f.fg,f.bg,f.extended)}else _.getWidth(o.x-1)?_.addCodepointToCell(o.x-1,i):_.addCodepointToCell(o.x-2,i)}r-t>0&&(_.loadCell(o.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),o.x<c&&r-t>0&&0===_.getWidth(o.x)&&!_.hasContent(o.x)&&_.setCellFromCodePoint(o.x,0,1,f.fg,f.bg,f.extended),this._dirtyRowService.markDirty(o.y)},t.prototype.addCsiHandler=function(e,t){var r=this;return"t"!==e.final||e.prefix||e.intermediates?this._parser.addCsiHandler(e,t):this._parser.addCsiHandler(e,(function(e){return!S(e.params[0],r._optionsService.options.windowOptions)||t(e)}))},t.prototype.addDcsHandler=function(e,t){return this._parser.addDcsHandler(e,new y.DcsHandler(t))},t.prototype.addEscHandler=function(e,t){return this._parser.addEscHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._parser.addOscHandler(e,new g.OscHandler(t))},t.prototype.bell=function(){this._onRequestBell.fire()},t.prototype.lineFeed=function(){var e=this._bufferService.buffer;this._dirtyRowService.markDirty(e.y),this._optionsService.options.convertEol&&(e.x=0),e.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),e.x>=this._bufferService.cols&&e.x--,this._dirtyRowService.markDirty(e.y),this._onLineFeed.fire()},t.prototype.carriageReturn=function(){this._bufferService.buffer.x=0},t.prototype.backspace=function(){var e,t=this._bufferService.buffer;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),void(t.x>0&&t.x--);if(this._restrictCursor(this._bufferService.cols),t.x>0)t.x--;else if(0===t.x&&t.y>t.scrollTop&&t.y<=t.scrollBottom&&(null===(e=t.lines.get(t.ybase+t.y))||void 0===e?void 0:e.isWrapped)){t.lines.get(t.ybase+t.y).isWrapped=!1,t.y--,t.x=this._bufferService.cols-1;var r=t.lines.get(t.ybase+t.y);r.hasWidth(t.x)&&!r.hasContent(t.x)&&t.x--}this._restrictCursor()},t.prototype.tab=function(){if(!(this._bufferService.buffer.x>=this._bufferService.cols)){var e=this._bufferService.buffer.x;this._bufferService.buffer.x=this._bufferService.buffer.nextStop(),this._optionsService.options.screenReaderMode&&this._onA11yTab.fire(this._bufferService.buffer.x-e)}},t.prototype.shiftOut=function(){this._charsetService.setgLevel(1)},t.prototype.shiftIn=function(){this._charsetService.setgLevel(0)},t.prototype._restrictCursor=function(e){void 0===e&&(e=this._bufferService.cols-1),this._bufferService.buffer.x=Math.min(e,Math.max(0,this._bufferService.buffer.x)),this._bufferService.buffer.y=this._coreService.decPrivateModes.origin?Math.min(this._bufferService.buffer.scrollBottom,Math.max(this._bufferService.buffer.scrollTop,this._bufferService.buffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._bufferService.buffer.y)),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._setCursor=function(e,t){this._dirtyRowService.markDirty(this._bufferService.buffer.y),this._coreService.decPrivateModes.origin?(this._bufferService.buffer.x=e,this._bufferService.buffer.y=this._bufferService.buffer.scrollTop+t):(this._bufferService.buffer.x=e,this._bufferService.buffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype._moveCursor=function(e,t){this._restrictCursor(),this._setCursor(this._bufferService.buffer.x+e,this._bufferService.buffer.y+t)},t.prototype.cursorUp=function(e){var t=this._bufferService.buffer.y-this._bufferService.buffer.scrollTop;t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1))},t.prototype.cursorDown=function(e){var t=this._bufferService.buffer.scrollBottom-this._bufferService.buffer.y;t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1)},t.prototype.cursorForward=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.cursorBackward=function(e){this._moveCursor(-(e.params[0]||1),0)},t.prototype.cursorNextLine=function(e){this.cursorDown(e),this._bufferService.buffer.x=0},t.prototype.cursorPrecedingLine=function(e){this.cursorUp(e),this._bufferService.buffer.x=0},t.prototype.cursorCharAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.cursorPosition=function(e){this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1)},t.prototype.charPosAbsolute=function(e){this._setCursor((e.params[0]||1)-1,this._bufferService.buffer.y)},t.prototype.hPositionRelative=function(e){this._moveCursor(e.params[0]||1,0)},t.prototype.linePosAbsolute=function(e){this._setCursor(this._bufferService.buffer.x,(e.params[0]||1)-1)},t.prototype.vPositionRelative=function(e){this._moveCursor(0,e.params[0]||1)},t.prototype.hVPosition=function(e){this.cursorPosition(e)},t.prototype.tabClear=function(e){var t=e.params[0];0===t?delete this._bufferService.buffer.tabs[this._bufferService.buffer.x]:3===t&&(this._bufferService.buffer.tabs={})},t.prototype.cursorForwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1;t--;)this._bufferService.buffer.x=this._bufferService.buffer.nextStop()},t.prototype.cursorBackwardTab=function(e){if(!(this._bufferService.buffer.x>=this._bufferService.cols))for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.x=r.prevStop()},t.prototype._eraseInBufferLine=function(e,t,r,i){void 0===i&&(i=!1);var n=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);n.replaceCells(t,r,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),i&&(n.isWrapped=!1)},t.prototype._resetBufferLine=function(e){var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+e);t.fill(this._bufferService.buffer.getNullCell(this._eraseAttrData())),t.isWrapped=!1},t.prototype.eraseInDisplay=function(e){var t;switch(this._restrictCursor(),e.params[0]){case 0:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t++,this._bufferService.buffer.x,this._bufferService.cols,0===this._bufferService.buffer.x);t<this._bufferService.rows;t++)this._resetBufferLine(t);this._dirtyRowService.markDirty(t);break;case 1:for(t=this._bufferService.buffer.y,this._dirtyRowService.markDirty(t),this._eraseInBufferLine(t,0,this._bufferService.buffer.x+1,!0),this._bufferService.buffer.x+1>=this._bufferService.cols&&(this._bufferService.buffer.lines.get(t+1).isWrapped=!1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 2:for(t=this._bufferService.rows,this._dirtyRowService.markDirty(t-1);t--;)this._resetBufferLine(t);this._dirtyRowService.markDirty(0);break;case 3:var r=this._bufferService.buffer.lines.length-this._bufferService.rows;r>0&&(this._bufferService.buffer.lines.trimStart(r),this._bufferService.buffer.ybase=Math.max(this._bufferService.buffer.ybase-r,0),this._bufferService.buffer.ydisp=Math.max(this._bufferService.buffer.ydisp-r,0),this._onScroll.fire(0))}},t.prototype.eraseInLine=function(e){switch(this._restrictCursor(),e.params[0]){case 0:this._eraseInBufferLine(this._bufferService.buffer.y,this._bufferService.buffer.x,this._bufferService.cols);break;case 1:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.buffer.x+1);break;case 2:this._eraseInBufferLine(this._bufferService.buffer.y,0,this._bufferService.cols)}this._dirtyRowService.markDirty(this._bufferService.buffer.y)},t.prototype.insertLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(!(r.y>r.scrollBottom||r.y<r.scrollTop)){for(var i=r.ybase+r.y,n=this._bufferService.rows-1-r.scrollBottom,o=this._bufferService.rows-1+r.ybase-n+1;t--;)r.lines.splice(o-1,1),r.lines.splice(i,0,r.getBlankLine(this._eraseAttrData()));this._dirtyRowService.markRangeDirty(r.y,r.scrollBottom),r.x=0}},t.prototype.deleteLines=function(e){this._restrictCursor();var t=e.params[0]||1,r=this._bufferService.buffer;if(!(r.y>r.scrollBottom||r.y<r.scrollTop)){var i,n=r.ybase+r.y;for(i=this._bufferService.rows-1-r.scrollBottom,i=this._bufferService.rows-1+r.ybase-i;t--;)r.lines.splice(n,1),r.lines.splice(i,0,r.getBlankLine(this._eraseAttrData()));this._dirtyRowService.markRangeDirty(r.y,r.scrollBottom),r.x=0}},t.prototype.insertChars=function(e){this._restrictCursor();var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+this._bufferService.buffer.y);t&&(t.insertCells(this._bufferService.buffer.x,e.params[0]||1,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowService.markDirty(this._bufferService.buffer.y))},t.prototype.deleteChars=function(e){this._restrictCursor();var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+this._bufferService.buffer.y);t&&(t.deleteCells(this._bufferService.buffer.x,e.params[0]||1,this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowService.markDirty(this._bufferService.buffer.y))},t.prototype.scrollUp=function(e){for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.lines.splice(r.ybase+r.scrollTop,1),r.lines.splice(r.ybase+r.scrollBottom,0,r.getBlankLine(this._eraseAttrData()));this._dirtyRowService.markRangeDirty(r.scrollTop,r.scrollBottom)},t.prototype.scrollDown=function(e){for(var t=e.params[0]||1,r=this._bufferService.buffer;t--;)r.lines.splice(r.ybase+r.scrollBottom,1),r.lines.splice(r.ybase+r.scrollTop,0,r.getBlankLine(f.DEFAULT_ATTR_DATA));this._dirtyRowService.markRangeDirty(r.scrollTop,r.scrollBottom)},t.prototype.scrollLeft=function(e){var t=this._bufferService.buffer;if(!(t.y>t.scrollBottom||t.y<t.scrollTop)){for(var r=e.params[0]||1,i=t.scrollTop;i<=t.scrollBottom;++i){var n=t.lines.get(t.ybase+i);n.deleteCells(0,r,t.getNullCell(this._eraseAttrData()),this._eraseAttrData()),n.isWrapped=!1}this._dirtyRowService.markRangeDirty(t.scrollTop,t.scrollBottom)}},t.prototype.scrollRight=function(e){var t=this._bufferService.buffer;if(!(t.y>t.scrollBottom||t.y<t.scrollTop)){for(var r=e.params[0]||1,i=t.scrollTop;i<=t.scrollBottom;++i){var n=t.lines.get(t.ybase+i);n.insertCells(0,r,t.getNullCell(this._eraseAttrData()),this._eraseAttrData()),n.isWrapped=!1}this._dirtyRowService.markRangeDirty(t.scrollTop,t.scrollBottom)}},t.prototype.insertColumns=function(e){var t=this._bufferService.buffer;if(!(t.y>t.scrollBottom||t.y<t.scrollTop)){for(var r=e.params[0]||1,i=t.scrollTop;i<=t.scrollBottom;++i){var n=this._bufferService.buffer.lines.get(t.ybase+i);n.insertCells(t.x,r,t.getNullCell(this._eraseAttrData()),this._eraseAttrData()),n.isWrapped=!1}this._dirtyRowService.markRangeDirty(t.scrollTop,t.scrollBottom)}},t.prototype.deleteColumns=function(e){var t=this._bufferService.buffer;if(!(t.y>t.scrollBottom||t.y<t.scrollTop)){for(var r=e.params[0]||1,i=t.scrollTop;i<=t.scrollBottom;++i){var n=t.lines.get(t.ybase+i);n.deleteCells(t.x,r,t.getNullCell(this._eraseAttrData()),this._eraseAttrData()),n.isWrapped=!1}this._dirtyRowService.markRangeDirty(t.scrollTop,t.scrollBottom)}},t.prototype.eraseChars=function(e){this._restrictCursor();var t=this._bufferService.buffer.lines.get(this._bufferService.buffer.ybase+this._bufferService.buffer.y);t&&(t.replaceCells(this._bufferService.buffer.x,this._bufferService.buffer.x+(e.params[0]||1),this._bufferService.buffer.getNullCell(this._eraseAttrData()),this._eraseAttrData()),this._dirtyRowService.markDirty(this._bufferService.buffer.y))},t.prototype.repeatPrecedingCharacter=function(e){if(this._parser.precedingCodepoint){for(var t=e.params[0]||1,r=new Uint32Array(t),i=0;i<t;++i)r[i]=this._parser.precedingCodepoint;this.print(r,0,r.length)}},t.prototype.sendDeviceAttributesPrimary=function(e){e.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c"))},t.prototype.sendDeviceAttributesSecondary=function(e){e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c"))},t.prototype._is=function(e){return 0===(this._optionsService.options.termName+"").indexOf(e)},t.prototype.setMode=function(e){for(var t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0}},t.prototype.setModePrivate=function(e){for(var t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,a.DEFAULT_CHARSET),this._charsetService.setgCharset(1,a.DEFAULT_CHARSET),this._charsetService.setgCharset(2,a.DEFAULT_CHARSET),this._charsetService.setgCharset(3,a.DEFAULT_CHARSET);break;case 3:this._optionsService.options.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0;break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}},t.prototype.resetMode=function(e){for(var t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1}},t.prototype.resetModePrivate=function(e){for(var t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.options.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===e.params[t]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}},t.prototype._updateAttrColor=function(e,t,r,i,n){return 2===t?(e|=50331648,e&=-16777216,e|=v.AttributeData.fromColorRGB([r,i,n])):5===t&&(e&=-50331904,e|=33554432|255&r),e},t.prototype._extractColor=function(e,t,r){var i=[0,0,-1,0,0,0],n=0,o=0;do{if(i[o+n]=e.params[t+o],e.hasSubParams(t+o)){var s=e.getSubParams(t+o),a=0;do{5===i[1]&&(n=1),i[o+a+1+n]=s[a]}while(++a<s.length&&a+o+1+n<i.length);break}if(5===i[1]&&o+n>=2||2===i[1]&&o+n>=5)break;i[1]&&(n=1)}while(++o+t<e.length&&o+n<i.length);for(a=2;a<i.length;++a)-1===i[a]&&(i[a]=0);switch(i[0]){case 38:r.fg=this._updateAttrColor(r.fg,i[1],i[3],i[4],i[5]);break;case 48:r.bg=this._updateAttrColor(r.bg,i[1],i[3],i[4],i[5]);break;case 58:r.extended=r.extended.clone(),r.extended.underlineColor=this._updateAttrColor(r.extended.underlineColor,i[1],i[3],i[4],i[5])}return o},t.prototype._processUnderline=function(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()},t.prototype.charAttributes=function(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=f.DEFAULT_ATTR_DATA.fg,void(this._curAttrData.bg=f.DEFAULT_ATTR_DATA.bg);for(var t,r=e.length,i=this._curAttrData,n=0;n<r;n++)(t=e.params[n])>=30&&t<=37?(i.fg&=-50331904,i.fg|=16777216|t-30):t>=40&&t<=47?(i.bg&=-50331904,i.bg|=16777216|t-40):t>=90&&t<=97?(i.fg&=-50331904,i.fg|=16777224|t-90):t>=100&&t<=107?(i.bg&=-50331904,i.bg|=16777224|t-100):0===t?(i.fg=f.DEFAULT_ATTR_DATA.fg,i.bg=f.DEFAULT_ATTR_DATA.bg):1===t?i.fg|=134217728:3===t?i.bg|=67108864:4===t?(i.fg|=268435456,this._processUnderline(e.hasSubParams(n)?e.getSubParams(n)[0]:1,i)):5===t?i.fg|=536870912:7===t?i.fg|=67108864:8===t?i.fg|=1073741824:2===t?i.bg|=134217728:21===t?this._processUnderline(2,i):22===t?(i.fg&=-134217729,i.bg&=-134217729):23===t?i.bg&=-67108865:24===t?i.fg&=-268435457:25===t?i.fg&=-536870913:27===t?i.fg&=-67108865:28===t?i.fg&=-1073741825:39===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg):49===t?(i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):38===t||48===t||58===t?n+=this._extractColor(e,n,i):59===t?(i.extended=i.extended.clone(),i.extended.underlineColor=-1,i.updateExtended()):100===t?(i.fg&=-67108864,i.fg|=16777215&f.DEFAULT_ATTR_DATA.fg,i.bg&=-67108864,i.bg|=16777215&f.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",t)},t.prototype.deviceStatus=function(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(s.C0.ESC+"[0n");break;case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"["+t+";"+r+"R")}},t.prototype.deviceStatusPrivate=function(e){switch(e.params[0]){case 6:var t=this._bufferService.buffer.y+1,r=this._bufferService.buffer.x+1;this._coreService.triggerDataEvent(s.C0.ESC+"[?"+t+";"+r+"R")}},t.prototype.softReset=function(e){this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._bufferService.buffer.scrollTop=0,this._bufferService.buffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._bufferService.buffer.savedX=0,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1},t.prototype.setCursorStyle=function(e){var t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}var r=t%2==1;this._optionsService.options.cursorBlink=r},t.prototype.setScrollRegion=function(e){var t,r=e.params[0]||1;(e.length<2||(t=e.params[1])>this._bufferService.rows||0===t)&&(t=this._bufferService.rows),t>r&&(this._bufferService.buffer.scrollTop=r-1,this._bufferService.buffer.scrollBottom=t-1,this._setCursor(0,0))},t.prototype.windowOptions=function(e){if(S(e.params[0],this._optionsService.options.windowOptions)){var t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(o.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(o.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(s.C0.ESC+"[8;"+this._bufferService.rows+";"+this._bufferService.cols+"t");break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}}},t.prototype.saveCursor=function(e){this._bufferService.buffer.savedX=this._bufferService.buffer.x,this._bufferService.buffer.savedY=this._bufferService.buffer.ybase+this._bufferService.buffer.y,this._bufferService.buffer.savedCurAttrData.fg=this._curAttrData.fg,this._bufferService.buffer.savedCurAttrData.bg=this._curAttrData.bg,this._bufferService.buffer.savedCharset=this._charsetService.charset},t.prototype.restoreCursor=function(e){this._bufferService.buffer.x=this._bufferService.buffer.savedX||0,this._bufferService.buffer.y=Math.max(this._bufferService.buffer.savedY-this._bufferService.buffer.ybase,0),this._curAttrData.fg=this._bufferService.buffer.savedCurAttrData.fg,this._curAttrData.bg=this._bufferService.buffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._bufferService.buffer.savedCharset&&(this._charsetService.charset=this._bufferService.buffer.savedCharset),this._restrictCursor()},t.prototype.setTitle=function(e){this._windowTitle=e,this._onTitleChange.fire(e)},t.prototype.setIconName=function(e){this._iconName=e},t.prototype.nextLine=function(){this._bufferService.buffer.x=0,this.index()},t.prototype.keypadApplicationMode=function(){this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire()},t.prototype.keypadNumericMode=function(){this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire()},t.prototype.selectDefaultCharset=function(){this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,a.DEFAULT_CHARSET)},t.prototype.selectCharset=function(e){2===e.length?"/"!==e[0]&&this._charsetService.setgCharset(b[e[0]],a.CHARSETS[e[1]]||a.DEFAULT_CHARSET):this.selectDefaultCharset()},t.prototype.index=function(){this._restrictCursor();var e=this._bufferService.buffer;this._bufferService.buffer.y++,e.y===e.scrollBottom+1?(e.y--,this._onRequestScroll.fire(this._eraseAttrData())):e.y>=this._bufferService.rows&&(e.y=this._bufferService.rows-1),this._restrictCursor()},t.prototype.tabSet=function(){this._bufferService.buffer.tabs[this._bufferService.buffer.x]=!0},t.prototype.reverseIndex=function(){this._restrictCursor();var e=this._bufferService.buffer;if(e.y===e.scrollTop){var t=e.scrollBottom-e.scrollTop;e.lines.shiftElements(e.ybase+e.y,t,1),e.lines.set(e.ybase+e.y,e.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(e.scrollTop,e.scrollBottom)}else e.y--,this._restrictCursor()},t.prototype.fullReset=function(){this._parser.reset(),this._onRequestReset.fire()},t.prototype.reset=function(){this._curAttrData=f.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=f.DEFAULT_ATTR_DATA.clone()},t.prototype._eraseAttrData=function(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal},t.prototype.setgLevel=function(e){this._charsetService.setgLevel(e)},t.prototype.screenAlignmentPattern=function(){var e=new p.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg;var t=this._bufferService.buffer;this._setCursor(0,0);for(var r=0;r<this._bufferService.rows;++r){var i=t.ybase+t.y+r,n=t.lines.get(i);n&&(n.fill(e),n.isWrapped=!1)}this._dirtyRowService.markAllDirty(),this._setCursor(0,0)},t}(l.Disposable);t.InputHandler=C},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={"`":"\u25c6",a:"\u2592",b:"\u2409",c:"\u240c",d:"\u240d",e:"\u240a",f:"\xb0",g:"\xb1",h:"\u2424",i:"\u240b",j:"\u2518",k:"\u2510",l:"\u250c",m:"\u2514",n:"\u253c",o:"\u23ba",p:"\u23bb",q:"\u2500",r:"\u23bc",s:"\u23bd",t:"\u251c",u:"\u2524",v:"\u2534",w:"\u252c",x:"\u2502",y:"\u2264",z:"\u2265","{":"\u03c0","|":"\u2260","}":"\xa3","~":"\xb7"},t.CHARSETS.A={"#":"\xa3"},t.CHARSETS.B=void 0,t.CHARSETS[4]={"#":"\xa3","@":"\xbe","[":"ij","\\\\":"\xbd","]":"|","{":"\xa8","|":"f","}":"\xbc","~":"\xb4"},t.CHARSETS.C=t.CHARSETS[5]={"[":"\xc4","\\\\":"\xd6","]":"\xc5","^":"\xdc","`":"\xe9","{":"\xe4","|":"\xf6","}":"\xe5","~":"\xfc"},t.CHARSETS.R={"#":"\xa3","@":"\xe0","[":"\xb0","\\\\":"\xe7","]":"\xa7","{":"\xe9","|":"\xf9","}":"\xe8","~":"\xa8"},t.CHARSETS.Q={"@":"\xe0","[":"\xe2","\\\\":"\xe7","]":"\xea","^":"\xee","`":"\xf4","{":"\xe9","|":"\xf9","}":"\xe8","~":"\xfb"},t.CHARSETS.K={"@":"\xa7","[":"\xc4","\\\\":"\xd6","]":"\xdc","{":"\xe4","|":"\xf6","}":"\xfc","~":"\xdf"},t.CHARSETS.Y={"#":"\xa3","@":"\xa7","[":"\xb0","\\\\":"\xe7","]":"\xe9","`":"\xf9","{":"\xe0","|":"\xf2","}":"\xe8","~":"\xec"},t.CHARSETS.E=t.CHARSETS[6]={"@":"\xc4","[":"\xc6","\\\\":"\xd8","]":"\xc5","^":"\xdc","`":"\xe4","{":"\xe6","|":"\xf8","}":"\xe5","~":"\xfc"},t.CHARSETS.Z={"#":"\xa3","@":"\xa7","[":"\xa1","\\\\":"\xd1","]":"\xbf","{":"\xb0","|":"\xf1","}":"\xe7"},t.CHARSETS.H=t.CHARSETS[7]={"@":"\xc9","[":"\xc4","\\\\":"\xd6","]":"\xc5","^":"\xdc","`":"\xe9","{":"\xe4","|":"\xf6","}":"\xe5","~":"\xfc"},t.CHARSETS["="]={"#":"\xf9","@":"\xe0","[":"\xe9","\\\\":"\xe7","]":"\xea","^":"\xee",_:"\xe8","`":"\xf4","{":"\xe4","|":"\xf6","}":"\xfc","~":"\xfb"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Params=void 0;var i=function(){function e(e,t){if(void 0===e&&(e=32),void 0===t&&(t=32),this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}return e.fromArray=function(t){var r=new e;if(!t.length)return r;for(var i=t[0]instanceof Array?1:0;i<t.length;++i){var n=t[i];if(n instanceof Array)for(var o=0;o<n.length;++o)r.addSubParam(n[o]);else r.addParam(n)}return r},e.prototype.clone=function(){var t=new e(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t},e.prototype.toArray=function(){for(var e=[],t=0;t<this.length;++t){e.push(this.params[t]);var r=this._subParamsIdx[t]>>8,i=255&this._subParamsIdx[t];i-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,i))}return e},e.prototype.reset=function(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1},e.prototype.addParam=function(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>2147483647?2147483647:e}},e.prototype.addSubParam=function(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>2147483647?2147483647:e,this._subParamsIdx[this.length-1]++}},e.prototype.hasSubParams=function(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0},e.prototype.getSubParams=function(e){var t=this._subParamsIdx[e]>>8,r=255&this._subParamsIdx[e];return r-t>0?this._subParams.subarray(t,r):null},e.prototype.getSubParamsAll=function(){for(var e={},t=0;t<this.length;++t){var r=this._subParamsIdx[t]>>8,i=255&this._subParamsIdx[t];i-r>0&&(e[t]=this._subParams.slice(r,i))}return e},e.prototype.addDigit=function(e){var t;if(!(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)){var r=this._digitIsSub?this._subParams:this.params,i=r[t-1];r[t-1]=~i?Math.min(10*i+e,2147483647):e}},e}();t.Params=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;var i=r(23),n=r(8),o=function(){function e(){this._state=0,this._id=-1,this._handlers=Object.create(null),this._handlerFb=function(){}}return e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.reset=function(){2===this._state&&this.end(!1),this._id=-1,this._state=0},e.prototype._start=function(){var e=this._handlers[this._id];if(e)for(var t=e.length-1;t>=0;t--)e[t].start();else this._handlerFb(this._id,"START")},e.prototype._put=function(e,t,r){var i=this._handlers[this._id];if(i)for(var o=i.length-1;o>=0;o--)i[o].put(e,t,r);else this._handlerFb(this._id,"PUT",n.utf32ToString(e,t,r))},e.prototype._end=function(e){var t=this._handlers[this._id];if(t){for(var r=t.length-1;r>=0&&!1===t[r].end(e);r--);for(r--;r>=0;r--)t[r].end(!1)}else this._handlerFb(this._id,"END",e)},e.prototype.start=function(){this.reset(),this._id=-1,this._state=1},e.prototype.put=function(e,t,r){if(3!==this._state){if(1===this._state)for(;t<r;){var i=e[t++];if(59===i){this._state=2,this._start();break}if(i<48||57<i)return void(this._state=3);-1===this._id&&(this._id=0),this._id=10*this._id+i-48}2===this._state&&r-t>0&&this._put(e,t,r)}},e.prototype.end=function(e){0!==this._state&&(3!==this._state&&(1===this._state&&this._start(),this._end(e)),this._id=-1,this._state=0)},e}();t.OscParser=o;var s=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.start=function(){this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=n.utf32ToString(e,t,r),this._data.length>i.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.end=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data)),this._data="",this._hitLimit=!1,t},e}();t.OscHandler=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;var i=r(8),n=r(21),o=r(23),s=[],a=function(){function e(){this._handlers=Object.create(null),this._active=s,this._ident=0,this._handlerFb=function(){}}return e.prototype.dispose=function(){this._handlers=Object.create(null),this._handlerFb=function(){}},e.prototype.addHandler=function(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);var r=this._handlers[e];return r.push(t),{dispose:function(){var e=r.indexOf(t);-1!==e&&r.splice(e,1)}}},e.prototype.setHandler=function(e,t){this._handlers[e]=[t]},e.prototype.clearHandler=function(e){this._handlers[e]&&delete this._handlers[e]},e.prototype.setHandlerFallback=function(e){this._handlerFb=e},e.prototype.reset=function(){this._active.length&&this.unhook(!1),this._active=s,this._ident=0},e.prototype.hook=function(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||s,this._active.length)for(var r=this._active.length-1;r>=0;r--)this._active[r].hook(t);else this._handlerFb(this._ident,"HOOK",t)},e.prototype.put=function(e,t,r){if(this._active.length)for(var n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r);else this._handlerFb(this._ident,"PUT",i.utf32ToString(e,t,r))},e.prototype.unhook=function(e){if(this._active.length){for(var t=this._active.length-1;t>=0&&!1===this._active[t].unhook(e);t--);for(t--;t>=0;t--)this._active[t].unhook(!1)}else this._handlerFb(this._ident,"UNHOOK",e);this._active=s,this._ident=0},e}();t.DcsParser=a;var c=function(){function e(e){this._handler=e,this._data="",this._hitLimit=!1}return e.prototype.hook=function(e){this._params=e.clone(),this._data="",this._hitLimit=!1},e.prototype.put=function(e,t,r){this._hitLimit||(this._data+=i.utf32ToString(e,t,r),this._data.length>o.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))},e.prototype.unhook=function(e){var t;return this._hitLimit?t=!1:e&&(t=this._handler(this._data,this._params||new n.Params)),this._params=void 0,this._data="",this._hitLimit=!1,t},e}();t.DcsHandler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.removeTerminalFromCache=t.acquireCharAtlas=void 0;var i=r(26),n=r(43),o=[];t.acquireCharAtlas=function(e,t,r,s,a){for(var c=i.generateConfig(s,a,e,r),l=0;l<o.length;l++){var h=(u=o[l]).ownedBy.indexOf(t);if(h>=0){if(i.configEquals(u.config,c))return u.atlas;1===u.ownedBy.length?(u.atlas.dispose(),o.splice(l,1)):u.ownedBy.splice(h,1);break}}for(l=0;l<o.length;l++){var u=o[l];if(i.configEquals(u.config,c))return u.ownedBy.push(t),u.atlas}var f={atlas:new n.DynamicCharAtlas(document,c),config:c,ownedBy:[t]};return o.push(f),f.atlas},t.removeTerminalFromCache=function(e){for(var t=0;t<o.length;t++){var r=o[t].ownedBy.indexOf(e);if(-1!==r){1===o[t].ownedBy.length?(o[t].atlas.dispose(),o.splice(t,1)):o[t].ownedBy.splice(r,1);break}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.is256Color=t.configEquals=t.generateConfig=void 0;var i=r(3);t.generateConfig=function(e,t,r,i){var n={foreground:i.foreground,background:i.background,cursor:void 0,cursorAccent:void 0,selection:void 0,ansi:i.ansi.slice(0,16)};return{devicePixelRatio:window.devicePixelRatio,scaledCharWidth:e,scaledCharHeight:t,fontFamily:r.fontFamily,fontSize:r.fontSize,fontWeight:r.fontWeight,fontWeightBold:r.fontWeightBold,allowTransparency:r.allowTransparency,colors:n}},t.configEquals=function(e,t){for(var r=0;r<e.colors.ansi.length;r++)if(e.colors.ansi[r].rgba!==t.colors.ansi[r].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.scaledCharWidth===t.scaledCharWidth&&e.scaledCharHeight===t.scaledCharHeight&&e.colors.foreground===t.colors.foreground&&e.colors.background===t.colors.background},t.is256Color=function(e){return e<i.DEFAULT_COLOR}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;var i=r(10),n=r(45),o=i.css.toColor("#ffffff"),s=i.css.toColor("#000000"),a=i.css.toColor("#ffffff"),c=i.css.toColor("#000000"),l={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};t.DEFAULT_ANSI_COLORS=function(){for(var e=[i.css.toColor("#2e3436"),i.css.toColor("#cc0000"),i.css.toColor("#4e9a06"),i.css.toColor("#c4a000"),i.css.toColor("#3465a4"),i.css.toColor("#75507b"),i.css.toColor("#06989a"),i.css.toColor("#d3d7cf"),i.css.toColor("#555753"),i.css.toColor("#ef2929"),i.css.toColor("#8ae234"),i.css.toColor("#fce94f"),i.css.toColor("#729fcf"),i.css.toColor("#ad7fa8"),i.css.toColor("#34e2e2"),i.css.toColor("#eeeeec")],t=[0,95,135,175,215,255],r=0;r<216;r++){var n=t[r/36%6|0],o=t[r/6%6|0],s=t[r%6];e.push({css:i.channels.toCss(n,o,s),rgba:i.channels.toRgba(n,o,s)})}for(r=0;r<24;r++){var a=8+10*r;e.push({css:i.channels.toCss(a,a,a),rgba:i.channels.toRgba(a,a,a)})}return e}();var h=function(){function e(e,r){this.allowTransparency=r;var h=e.createElement("canvas");h.width=1,h.height=1;var u=h.getContext("2d");if(!u)throw new Error("Could not get rendering context");this._ctx=u,this._ctx.globalCompositeOperation="copy",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new n.ColorContrastCache,this.colors={foreground:o,background:s,cursor:a,cursorAccent:c,selectionTransparent:l,selectionOpaque:i.color.blend(s,l),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache}}return e.prototype.onOptionsChange=function(e){"minimumContrastRatio"===e&&this._contrastCache.clear()},e.prototype.setTheme=function(e){if(void 0===e&&(e={}),this.colors.foreground=this._parseColor(e.foreground,o),this.colors.background=this._parseColor(e.background,s),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,c,!0),this.colors.selectionTransparent=this._parseColor(e.selection,l,!0),this.colors.selectionOpaque=i.color.blend(this.colors.background,this.colors.selectionTransparent),i.color.isOpaque(this.colors.selectionTransparent)){this.colors.selectionTransparent=i.color.opacity(this.colors.selectionTransparent,.3)}this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),this._contrastCache.clear()},e.prototype._parseColor=function(e,t,r){if(void 0===r&&(r=this.allowTransparency),void 0===e)return t;if(this._ctx.fillStyle=this._litmusColor,this._ctx.fillStyle=e,"string"!=typeof this._ctx.fillStyle)return console.warn("Color: "+e+" is invalid using fallback "+t.css),t;this._ctx.fillRect(0,0,1,1);var n=this._ctx.getImageData(0,0,1,1).data;if(255!==n[3]){if(!r)return console.warn("Color: "+e+" is using transparency, but allowTransparency is false. Using fallback "+t.css+"."),t;var o=this._ctx.fillStyle.substring(5,this._ctx.fillStyle.length-1).split(",").map((function(e){return Number(e)})),s=o[0],a=o[1],c=o[2],l=o[3],h=Math.round(255*l);return{rgba:i.channels.toRgba(s,a,c,h),css:e}}return{css:this._ctx.fillStyle,rgba:i.channels.toRgba(n[0],n[1],n[2],n[3])}},e}();t.ColorManager=h},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error("value must not be falsy");return e}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterJoinerRegistry=t.JoinedCellData=void 0;var o=r(6),s=r(3),a=r(4),c=function(e){function t(t,r,i){var n=e.call(this)||this;return n.content=0,n.combinedData="",n.fg=t.fg,n.bg=t.bg,n.combinedData=r,n._width=i,n}return n(t,e),t.prototype.isCombined=function(){return 2097152},t.prototype.getWidth=function(){return this._width},t.prototype.getChars=function(){return this.combinedData},t.prototype.getCode=function(){return 2097151},t.prototype.setFromCharData=function(e){throw new Error("not implemented")},t.prototype.getAsCharData=function(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]},t}(o.AttributeData);t.JoinedCellData=c;var l=function(){function e(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}return e.prototype.registerCharacterJoiner=function(e){var t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id},e.prototype.deregisterCharacterJoiner=function(e){for(var t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1},e.prototype.getJoinedCharacters=function(e){if(0===this._characterJoiners.length)return[];var t=this._bufferService.buffer.lines.get(e);if(!t||0===t.length)return[];for(var r=[],i=t.translateToString(!0),n=0,o=0,a=0,c=t.getFg(0),l=t.getBg(0),h=0;h<t.getTrimmedLength();h++)if(t.loadCell(h,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==c||this._workCell.bg!==l){if(h-n>1)for(var u=this._getJoinedRanges(i,a,o,t,n),f=0;f<u.length;f++)r.push(u[f]);n=h,a=o,c=this._workCell.fg,l=this._workCell.bg}o+=this._workCell.getChars().length||s.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-n>1)for(u=this._getJoinedRanges(i,a,o,t,n),f=0;f<u.length;f++)r.push(u[f]);return r},e.prototype._getJoinedRanges=function(t,r,i,n,o){for(var s=t.substring(r,i),a=this._characterJoiners[0].handler(s),c=1;c<this._characterJoiners.length;c++)for(var l=this._characterJoiners[c].handler(s),h=0;h<l.length;h++)e._mergeRanges(a,l[h]);return this._stringRangesToCellRanges(a,n,o),a},e.prototype._stringRangesToCellRanges=function(e,t,r){var i=0,n=!1,o=0,a=e[i];if(a){for(var c=r;c<this._bufferService.cols;c++){var l=t.getWidth(c),h=t.getString(c).length||s.WHITESPACE_CELL_CHAR.length;if(0!==l){if(!n&&a[0]<=o&&(a[0]=c,n=!0),a[1]<=o){if(a[1]=c,!(a=e[++i]))break;a[0]<=o?(a[0]=c,n=!0):n=!1}o+=h}}a&&(a[1]=this._bufferService.cols)}},e._mergeRanges=function(e,t){for(var r=!1,i=0;i<e.length;i++){var n=e[i];if(r){if(t[1]<=n[0])return e[i-1][1]=t[1],e;if(t[1]<=n[1])return e[i-1][1]=Math.max(t[1],n[1]),e.splice(i,1),e;e.splice(i,1),i--}else{if(t[1]<=n[0])return e.splice(i,0,t),e;if(t[1]<=n[1])return n[0]=Math.min(t[0],n[0]),e;t[0]<n[1]&&(n[0]=Math.min(t[0],n[0]),r=!0)}}return r?e[e.length-1][1]=t[1]:e.push(t),e},e}();t.CharacterJoinerRegistry=l},function(e,t,r){"use strict";function i(e,t){var r=t.getBoundingClientRect();return[e.clientX-r.left,e.clientY-r.top]}Object.defineProperty(t,"__esModule",{value:!0}),t.getRawByteCoords=t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,r,n,o,s,a,c){if(o){var l=i(e,t);if(l)return l[0]=Math.ceil((l[0]+(c?s/2:0))/s),l[1]=Math.ceil(l[1]/a),l[0]=Math.min(Math.max(l[0],1),r+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l}},t.getRawByteCoords=function(e){if(e)return{x:e[0]+32,y:e[1]+32}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RenderDebouncer=void 0;var i=function(){function e(e){this._renderCallback=e}return e.prototype.dispose=function(){this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.refresh=function(e,t,r){var i=this;this._rowCount=r,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){return i._innerRefresh()})))},e.prototype._innerRefresh=function(){if(void 0!==this._rowStart&&void 0!==this._rowEnd&&void 0!==this._rowCount){var e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._animationFrame=void 0,this._renderCallback(e,t)}},e}();t.RenderDebouncer=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenDprMonitor=void 0;var o=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._currentDevicePixelRatio=window.devicePixelRatio,t}return n(t,e),t.prototype.setListener=function(e){var t=this;this._listener&&this.clearListener(),this._listener=e,this._outerListener=function(){t._listener&&(t._listener(window.devicePixelRatio,t._currentDevicePixelRatio),t._updateDpr())},this._updateDpr()},t.prototype.dispose=function(){e.prototype.dispose.call(this),this.clearListener()},t.prototype._updateDpr=function(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=window.devicePixelRatio,this._resolutionMediaMatchList=window.matchMedia("screen and (resolution: "+window.devicePixelRatio+"dppx)"),this._resolutionMediaMatchList.addListener(this._outerListener))},t.prototype.clearListener=function(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)},t}(r(2).Disposable);t.ScreenDprMonitor=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0,t.clone=function e(t,r){if(void 0===r&&(r=5),"object"!=typeof t)return t;var i=Array.isArray(t)?[]:{};for(var n in t)i[n]=r<=1?t[n]:t[n]?e(t[n],r-1):t[n];return i}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var i=r(4),n=r(35),o=r(18),s=r(0),a=r(83),c=function(){function e(e){this._core=new n.Terminal(e),this._addonManager=new a.AddonManager}return e.prototype._checkProposedApi=function(){if(!this._core.optionsService.options.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")},Object.defineProperty(e.prototype,"onCursorMove",{get:function(){return this._core.onCursorMove},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLineFeed",{get:function(){return this._core.onLineFeed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onSelectionChange",{get:function(){return this._core.onSelectionChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onData",{get:function(){return this._core.onData},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onBinary",{get:function(){return this._core.onBinary},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTitleChange",{get:function(){return this._core.onTitleChange},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onScroll",{get:function(){return this._core.onScroll},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onKey",{get:function(){return this._core.onKey},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onRender",{get:function(){return this._core.onRender},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onResize",{get:function(){return this._core.onResize},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"element",{get:function(){return this._core.element},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parser",{get:function(){return this._checkProposedApi(),this._parser||(this._parser=new f(this._core)),this._parser},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"unicode",{get:function(){return this._checkProposedApi(),new _(this._core)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textarea",{get:function(){return this._core.textarea},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rows",{get:function(){return this._core.rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cols",{get:function(){return this._core.cols},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"buffer",{get:function(){return this._checkProposedApi(),new h(this._core.buffers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"markers",{get:function(){return this._checkProposedApi(),this._core.markers},enumerable:!1,configurable:!0}),e.prototype.blur=function(){this._core.blur()},e.prototype.focus=function(){this._core.focus()},e.prototype.resize=function(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)},e.prototype.open=function(e){this._core.open(e)},e.prototype.attachCustomKeyEventHandler=function(e){this._core.attachCustomKeyEventHandler(e)},e.prototype.registerLinkMatcher=function(e,t,r){return this._checkProposedApi(),this._core.registerLinkMatcher(e,t,r)},e.prototype.deregisterLinkMatcher=function(e){this._checkProposedApi(),this._core.deregisterLinkMatcher(e)},e.prototype.registerLinkProvider=function(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)},e.prototype.registerCharacterJoiner=function(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)},e.prototype.deregisterCharacterJoiner=function(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)},e.prototype.registerMarker=function(e){return this._checkProposedApi(),this._verifyIntegers(e),this._core.addMarker(e)},e.prototype.addMarker=function(e){return this.registerMarker(e)},e.prototype.hasSelection=function(){return this._core.hasSelection()},e.prototype.select=function(e,t,r){this._verifyIntegers(e,t,r),this._core.select(e,t,r)},e.prototype.getSelection=function(){return this._core.getSelection()},e.prototype.getSelectionPosition=function(){return this._core.getSelectionPosition()},e.prototype.clearSelection=function(){this._core.clearSelection()},e.prototype.selectAll=function(){this._core.selectAll()},e.prototype.selectLines=function(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)},e.prototype.dispose=function(){this._addonManager.dispose(),this._core.dispose()},e.prototype.scrollLines=function(e){this._verifyIntegers(e),this._core.scrollLines(e)},e.prototype.scrollPages=function(e){this._verifyIntegers(e),this._core.scrollPages(e)},e.prototype.scrollToTop=function(){this._core.scrollToTop()},e.prototype.scrollToBottom=function(){this._core.scrollToBottom()},e.prototype.scrollToLine=function(e){this._verifyIntegers(e),this._core.scrollToLine(e)},e.prototype.clear=function(){this._core.clear()},e.prototype.write=function(e,t){this._core.write(e,t)},e.prototype.writeUtf8=function(e,t){this._core.write(e,t)},e.prototype.writeln=function(e,t){this._core.write(e),this._core.write("\\r\\n",t)},e.prototype.paste=function(e){this._core.paste(e)},e.prototype.getOption=function(e){return this._core.optionsService.getOption(e)},e.prototype.setOption=function(e,t){this._core.optionsService.setOption(e,t)},e.prototype.refresh=function(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)},e.prototype.reset=function(){this._core.reset()},e.prototype.loadAddon=function(e){return this._addonManager.loadAddon(this,e)},Object.defineProperty(e,"strings",{get:function(){return o},enumerable:!1,configurable:!0}),e.prototype._verifyIntegers=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var r=0,i=e;r<i.length;r++){var n=i[r];if(n===1/0||isNaN(n)||n%1!=0)throw new Error("This API only accepts integers")}},e}();t.Terminal=c;var l=function(){function e(e,t){this._buffer=e,this.type=t}return e.prototype.init=function(e){return this._buffer=e,this},Object.defineProperty(e.prototype,"cursorY",{get:function(){return this._buffer.y},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"cursorX",{get:function(){return this._buffer.x},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"viewportY",{get:function(){return this._buffer.ydisp},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"baseY",{get:function(){return this._buffer.ybase},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._buffer.lines.length},enumerable:!1,configurable:!0}),e.prototype.getLine=function(e){var t=this._buffer.lines.get(e);if(t)return new u(t)},e.prototype.getNullCell=function(){return new i.CellData},e}(),h=function(){function e(e){var t=this;this._buffers=e,this._onBufferChange=new s.EventEmitter,this._normal=new l(this._buffers.normal,"normal"),this._alternate=new l(this._buffers.alt,"alternate"),this._buffers.onBufferActivate((function(){return t._onBufferChange.fire(t.active)}))}return Object.defineProperty(e.prototype,"onBufferChange",{get:function(){return this._onBufferChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"active",{get:function(){if(this._buffers.active===this._buffers.normal)return this.normal;if(this._buffers.active===this._buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"normal",{get:function(){return this._normal.init(this._buffers.normal)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alternate",{get:function(){return this._alternate.init(this._buffers.alt)},enumerable:!1,configurable:!0}),e}(),u=function(){function e(e){this._line=e}return Object.defineProperty(e.prototype,"isWrapped",{get:function(){return this._line.isWrapped},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._line.length},enumerable:!1,configurable:!0}),e.prototype.getCell=function(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new i.CellData)},e.prototype.translateToString=function(e,t,r){return this._line.translateToString(e,t,r)},e}(),f=function(){function e(e){this._core=e}return e.prototype.registerCsiHandler=function(e,t){return this._core.addCsiHandler(e,(function(e){return t(e.toArray())}))},e.prototype.addCsiHandler=function(e,t){return this.registerCsiHandler(e,t)},e.prototype.registerDcsHandler=function(e,t){return this._core.addDcsHandler(e,(function(e,r){return t(e,r.toArray())}))},e.prototype.addDcsHandler=function(e,t){return this.registerDcsHandler(e,t)},e.prototype.registerEscHandler=function(e,t){return this._core.addEscHandler(e,t)},e.prototype.addEscHandler=function(e,t){return this.registerEscHandler(e,t)},e.prototype.registerOscHandler=function(e,t){return this._core.addOscHandler(e,t)},e.prototype.addOscHandler=function(e,t){return this.registerOscHandler(e,t)},e}(),_=function(){function e(e){this._core=e}return e.prototype.register=function(e){this._core.unicodeService.register(e)},Object.defineProperty(e.prototype,"versions",{get:function(){return this._core.unicodeService.versions},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._core.unicodeService.activeVersion},set:function(e){this._core.unicodeService.activeVersion=e},enumerable:!1,configurable:!0}),e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;var o=r(36),s=r(37),a=r(38),c=r(12),l=r(19),h=r(40),u=r(50),f=r(51),_=r(11),d=r(7),p=r(18),v=r(54),g=r(55),y=r(56),b=r(57),S=r(59),m=r(0),C=r(16),w=r(27),E=r(60),L=r(5),A=r(61),R=r(62),k=r(63),x=r(64),D=r(65),T="undefined"!=typeof window?window.document:null,O=function(e){function t(t){void 0===t&&(t={});var r=e.call(this,t)||this;return r.browser=_,r._keyDownHandled=!1,r._onCursorMove=new m.EventEmitter,r._onKey=new m.EventEmitter,r._onRender=new m.EventEmitter,r._onSelectionChange=new m.EventEmitter,r._onTitleChange=new m.EventEmitter,r._onFocus=new m.EventEmitter,r._onBlur=new m.EventEmitter,r._onA11yCharEmitter=new m.EventEmitter,r._onA11yTabEmitter=new m.EventEmitter,r._setup(),r.linkifier=r._instantiationService.createInstance(u.Linkifier),r.linkifier2=r.register(r._instantiationService.createInstance(k.Linkifier2)),r.register(r._inputHandler.onRequestBell((function(){return r.bell()}))),r.register(r._inputHandler.onRequestRefreshRows((function(e,t){return r.refresh(e,t)}))),r.register(r._inputHandler.onRequestReset((function(){return r.reset()}))),r.register(r._inputHandler.onRequestScroll((function(e,t){return r.scroll(e,t||void 0)}))),r.register(r._inputHandler.onRequestWindowsOptionsReport((function(e){return r._reportWindowsOptions(e)}))),r.register(m.forwardEvent(r._inputHandler.onCursorMove,r._onCursorMove)),r.register(m.forwardEvent(r._inputHandler.onTitleChange,r._onTitleChange)),r.register(m.forwardEvent(r._inputHandler.onA11yChar,r._onA11yCharEmitter)),r.register(m.forwardEvent(r._inputHandler.onA11yTab,r._onA11yTabEmitter)),r.register(r._bufferService.onResize((function(e){return r._afterResize(e.cols,e.rows)}))),r}return n(t,e),Object.defineProperty(t.prototype,"options",{get:function(){return this.optionsService.options},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onCursorMove",{get:function(){return this._onCursorMove.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onKey",{get:function(){return this._onKey.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRender",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onTitleChange",{get:function(){return this._onTitleChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onFocus",{get:function(){return this._onFocus.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBlur",{get:function(){return this._onBlur.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yChar",{get:function(){return this._onA11yCharEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onA11yTab",{get:function(){return this._onA11yTabEmitter.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t,r,i;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._renderService)||void 0===t||t.dispose(),this._customKeyEventHandler=void 0,this.write=function(){},null===(i=null===(r=this.element)||void 0===r?void 0:r.parentNode)||void 0===i||i.removeChild(this.element))},t.prototype._setup=function(){e.prototype._setup.call(this),this._customKeyEventHandler=void 0},Object.defineProperty(t.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),t.prototype.focus=function(){this.textarea&&this.textarea.focus({preventScroll:!0})},t.prototype._updateOptions=function(t){var r,i,n,o;switch(e.prototype._updateOptions.call(this,t),t){case"fontFamily":case"fontSize":null===(r=this._renderService)||void 0===r||r.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"rendererType":this._renderService&&(this._renderService.setRenderer(this._createRenderer()),this._renderService.onResize(this.cols,this.rows));break;case"scrollback":null===(n=this.viewport)||void 0===n||n.syncScrollArea();break;case"screenReaderMode":this.optionsService.options.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)):(null===(o=this._accessibilityManager)||void 0===o||o.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.options.theme)}},t.prototype._onTextAreaFocus=function(e){this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()},t.prototype.blur=function(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()},t.prototype._onTextAreaBlur=function(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this._coreService.decPrivateModes.sendFocus&&this._coreService.triggerDataEvent(c.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()},t.prototype._initGlobal=function(){var e=this;this._bindKeys(),this.register(d.addDisposableDomListener(this.element,"copy",(function(t){e.hasSelection()&&a.copyHandler(t,e._selectionService)})));var t=function(t){return a.handlePasteEvent(t,e.textarea,e._coreService)};this.register(d.addDisposableDomListener(this.textarea,"paste",t)),this.register(d.addDisposableDomListener(this.element,"paste",t)),_.isFirefox?this.register(d.addDisposableDomListener(this.element,"mousedown",(function(t){2===t.button&&a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))):this.register(d.addDisposableDomListener(this.element,"contextmenu",(function(t){a.rightClickHandler(t,e.textarea,e.screenElement,e._selectionService,e.options.rightClickSelectsWord)}))),_.isLinux&&this.register(d.addDisposableDomListener(this.element,"auxclick",(function(t){1===t.button&&a.moveTextAreaUnderMouseCursor(t,e.textarea,e.screenElement)})))},t.prototype._bindKeys=function(){var e=this;this.register(d.addDisposableDomListener(this.textarea,"keyup",(function(t){return e._keyUp(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keydown",(function(t){return e._keyDown(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"keypress",(function(t){return e._keyPress(t)}),!0)),this.register(d.addDisposableDomListener(this.textarea,"compositionstart",(function(){return e._compositionHelper.compositionstart()}))),this.register(d.addDisposableDomListener(this.textarea,"compositionupdate",(function(t){return e._compositionHelper.compositionupdate(t)}))),this.register(d.addDisposableDomListener(this.textarea,"compositionend",(function(){return e._compositionHelper.compositionend()}))),this.register(this.onRender((function(){return e._compositionHelper.updateCompositionElements()}))),this.register(this.onRender((function(t){return e._queueLinkification(t.start,t.end)})))},t.prototype.open=function(e){var t=this;if(!e)throw new Error("Terminal requires a parent element.");T.body.contains(e)||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);var r=T.createDocumentFragment();this._viewportElement=T.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),r.appendChild(this._viewportElement),this._viewportScrollArea=T.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=T.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=T.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),r.appendChild(this.screenElement),this.textarea=T.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",p.promptLabel),this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.register(d.addDisposableDomListener(this.textarea,"focus",(function(e){return t._onTextAreaFocus(e)}))),this.register(d.addDisposableDomListener(this.textarea,"blur",(function(){return t._onTextAreaBlur()}))),this._helperContainer.appendChild(this.textarea);var i=this._instantiationService.createInstance(x.CoreBrowserService,this.textarea);this._instantiationService.setService(L.ICoreBrowserService,i),this._charSizeService=this._instantiationService.createInstance(A.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(L.ICharSizeService,this._charSizeService),this._compositionView=T.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(o.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(r),this._theme=this.options.theme||this._theme,this._colorManager=new w.ColorManager(T,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((function(e){return t._colorManager.onOptionsChange(e)}))),this._colorManager.setTheme(this._theme);var n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(E.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(L.IRenderService,this._renderService),this.register(this._renderService.onRenderedBufferChange((function(e){return t._onRender.fire(e)}))),this.onResize((function(e){return t._renderService.resize(e.cols,e.rows)})),this._soundService=this._instantiationService.createInstance(v.SoundService),this._instantiationService.setService(L.ISoundService,this._soundService),this._mouseService=this._instantiationService.createInstance(R.MouseService),this._instantiationService.setService(L.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(s.Viewport,(function(e,r){return t.scrollLines(e,r)}),this._viewportElement,this._viewportScrollArea),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((function(){return t.viewport.syncScrollArea()}))),this.register(this.viewport),this.register(this.onCursorMove((function(){return t._renderService.onCursorMove()}))),this.register(this.onResize((function(){return t._renderService.onResize(t.cols,t.rows)}))),this.register(this.onBlur((function(){return t._renderService.onBlur()}))),this.register(this.onFocus((function(){return t._renderService.onFocus()}))),this.register(this._renderService.onDimensionsChange((function(){return t.viewport.syncScrollArea()}))),this._selectionService=this.register(this._instantiationService.createInstance(f.SelectionService,this.element,this.screenElement)),this._instantiationService.setService(L.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((function(e){return t.scrollLines(e.amount,e.suppressScrollEvent)}))),this.register(this._selectionService.onSelectionChange((function(){return t._onSelectionChange.fire()}))),this.register(this._selectionService.onRequestRedraw((function(e){return t._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode)}))),this.register(this._selectionService.onLinuxMouseSelection((function(e){t.textarea.value=e,t.textarea.focus(),t.textarea.select()}))),this.register(this.onScroll((function(){t.viewport.syncScrollArea(),t._selectionService.refresh()}))),this.register(d.addDisposableDomListener(this._viewportElement,"scroll",(function(){return t._selectionService.refresh()}))),this._mouseZoneManager=this._instantiationService.createInstance(g.MouseZoneManager,this.element,this.screenElement),this.register(this._mouseZoneManager),this.register(this.onScroll((function(){return t._mouseZoneManager.clearAll()}))),this.linkifier.attachToDom(this.element,this._mouseZoneManager),this.linkifier2.attachToDom(this.element,this._mouseService,this._renderService),this.register(d.addDisposableDomListener(this.element,"mousedown",(function(e){return t._selectionService.onMouseDown(e)}))),this._coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new y.AccessibilityManager(this,this._renderService)),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()},t.prototype._createRenderer=function(){switch(this.options.rendererType){case"canvas":return this._instantiationService.createInstance(h.Renderer,this._colorManager.colors,this.screenElement,this.linkifier,this.linkifier2);case"dom":return this._instantiationService.createInstance(b.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier,this.linkifier2);default:throw new Error(\'Unrecognized rendererType "\'+this.options.rendererType+\'"\')}},t.prototype._setTheme=function(e){var t,r,i;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(r=this._renderService)||void 0===r||r.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)},t.prototype.bindMouse=function(){var e=this,t=this,r=this.element;function i(e){var r,i,n=t._mouseService.getRawByteCoords(e,t.screenElement,t.cols,t.rows);if(!n)return!1;switch(e.overrideType||e.type){case"mousemove":i=32,void 0===e.buttons?(r=3,void 0!==e.button&&(r=e.button<3?e.button:3)):r=1&e.buttons?0:4&e.buttons?1:2&e.buttons?2:3;break;case"mouseup":i=0,r=e.button<3?e.button:3;break;case"mousedown":i=1,r=e.button<3?e.button:3;break;case"wheel":0!==e.deltaY&&(i=e.deltaY<0?0:1),r=4;break;default:return!1}return!(void 0===i||void 0===r||r>4)&&t._coreMouseService.triggerMouseEvent({col:n.x-33,row:n.y-33,button:r,action:i,ctrl:e.ctrlKey,alt:e.altKey,shift:e.shiftKey})}var n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o=function(t){return i(t),t.buttons||(e._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.removeEventListener("mousemove",n.mousedrag)),e.cancel(t)},s=function(t){return i(t),t.preventDefault(),e.cancel(t)},a=function(e){e.buttons&&i(e)},l=function(e){e.buttons||i(e)};this.register(this._coreMouseService.onProtocolChange((function(t){t?("debug"===e.optionsService.options.logLevel&&e._logService.debug("Binding to mouse events:",e._coreMouseService.explainEvents(t)),e.element.classList.add("enable-mouse-events"),e._selectionService.disable()):(e._logService.debug("Unbinding from mouse events."),e.element.classList.remove("enable-mouse-events"),e._selectionService.enable()),8&t?n.mousemove||(r.addEventListener("mousemove",l),n.mousemove=l):(r.removeEventListener("mousemove",n.mousemove),n.mousemove=null),16&t?n.wheel||(r.addEventListener("wheel",s,{passive:!1}),n.wheel=s):(r.removeEventListener("wheel",n.wheel),n.wheel=null),2&t?n.mouseup||(n.mouseup=o):(e._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),4&t?n.mousedrag||(n.mousedrag=a):(e._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)}))),this._coreMouseService.activeProtocol=this._coreMouseService.activeProtocol,this.register(d.addDisposableDomListener(r,"mousedown",(function(t){if(t.preventDefault(),e.focus(),e._coreMouseService.areMouseEventsActive&&!e._selectionService.shouldForceSelection(t))return i(t),n.mouseup&&e._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&e._document.addEventListener("mousemove",n.mousedrag),e.cancel(t)}))),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(n.wheel);else if(!e.buffer.hasScrollback){var r=e.viewport.getLinesScrolled(t);if(0===r)return;for(var i=c.C0.ESC+(e._coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(t.deltaY<0?"A":"B"),o="",s=0;s<Math.abs(r);s++)o+=i;e._coreService.triggerDataEvent(o,!0)}}),{passive:!0})),this.register(d.addDisposableDomListener(r,"wheel",(function(t){if(!n.wheel)return e.viewport.onWheel(t)?void 0:e.cancel(t)}),{passive:!0})),this.register(d.addDisposableDomListener(r,"touchstart",(function(t){if(!e._coreMouseService.areMouseEventsActive)return e.viewport.onTouchStart(t),e.cancel(t)}),{passive:!0})),this.register(d.addDisposableDomListener(r,"touchmove",(function(t){if(!e._coreMouseService.areMouseEventsActive)return e.viewport.onTouchMove(t)?void 0:e.cancel(t)}),{passive:!0}))},t.prototype.refresh=function(e,t){var r;null===(r=this._renderService)||void 0===r||r.refreshRows(e,t)},t.prototype._queueLinkification=function(e,t){var r;null===(r=this.linkifier)||void 0===r||r.linkifyRows(e,t)},t.prototype.updateCursorStyle=function(e){this._selectionService&&this._selectionService.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")},t.prototype._showCursor=function(){this._coreService.isCursorInitialized||(this._coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))},t.prototype.scrollLines=function(t,r){e.prototype.scrollLines.call(this,t,r),this.refresh(0,this.rows-1)},t.prototype.paste=function(e){a.paste(e,this.textarea,this._coreService)},t.prototype.attachCustomKeyEventHandler=function(e){this._customKeyEventHandler=e},t.prototype.registerLinkMatcher=function(e,t,r){var i=this.linkifier.registerLinkMatcher(e,t,r);return this.refresh(0,this.rows-1),i},t.prototype.deregisterLinkMatcher=function(e){this.linkifier.deregisterLinkMatcher(e)&&this.refresh(0,this.rows-1)},t.prototype.registerLinkProvider=function(e){return this.linkifier2.registerLinkProvider(e)},t.prototype.registerCharacterJoiner=function(e){var t=this._renderService.registerCharacterJoiner(e);return this.refresh(0,this.rows-1),t},t.prototype.deregisterCharacterJoiner=function(e){this._renderService.deregisterCharacterJoiner(e)&&this.refresh(0,this.rows-1)},Object.defineProperty(t.prototype,"markers",{get:function(){return this.buffer.markers},enumerable:!1,configurable:!0}),t.prototype.addMarker=function(e){if(this.buffer===this.buffers.normal)return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)},t.prototype.hasSelection=function(){return!!this._selectionService&&this._selectionService.hasSelection},t.prototype.select=function(e,t,r){this._selectionService.setSelection(e,t,r)},t.prototype.getSelection=function(){return this._selectionService?this._selectionService.selectionText:""},t.prototype.getSelectionPosition=function(){if(this._selectionService&&this._selectionService.hasSelection)return{startColumn:this._selectionService.selectionStart[0],startRow:this._selectionService.selectionStart[1],endColumn:this._selectionService.selectionEnd[0],endRow:this._selectionService.selectionEnd[1]}},t.prototype.clearSelection=function(){var e;null===(e=this._selectionService)||void 0===e||e.clearSelection()},t.prototype.selectAll=function(){var e;null===(e=this._selectionService)||void 0===e||e.selectAll()},t.prototype.selectLines=function(e,t){var r;null===(r=this._selectionService)||void 0===r||r.selectLines(e,t)},t.prototype._keyDown=function(e){if(this._keyDownHandled=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(!this._compositionHelper.keydown(e))return this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;var t=S.evaluateKeyboardEvent(e,this._coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===t.type||2===t.type){var r=this.rows-1;return this.scrollLines(2===t.type?-r:r),this.cancel(e,!0)}return 1===t.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(t.cancel&&this.cancel(e,!0),!t.key||(t.key!==c.C0.ETX&&t.key!==c.C0.CR||(this.textarea.value=""),this._onKey.fire({key:t.key,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t.key,!0),this.optionsService.options.screenReaderMode?void(this._keyDownHandled=!0):this.cancel(e,!0)))},t.prototype._isThirdLevelShift=function(e,t){var r=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey;return"keypress"===t.type?r:r&&(!t.keyCode||t.keyCode>47)},t.prototype._keyUp=function(e){this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e))},t.prototype._keyPress=function(e){var t;if(this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e))&&(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this._coreService.triggerDataEvent(t,!0),!0)},t.prototype.bell=function(){this._soundBell()&&this._soundService.playBellSound()},t.prototype.resize=function(t,r){t!==this.cols||r!==this.rows?e.prototype.resize.call(this,t,r):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()},t.prototype._afterResize=function(e,t){var r,i;null===(r=this._charSizeService)||void 0===r||r.measure(),null===(i=this.viewport)||void 0===i||i.syncScrollArea(!0)},t.prototype.clear=function(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(var e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(C.DEFAULT_ATTR_DATA));this.refresh(0,this.rows-1),this._onScroll.fire(this.buffer.ydisp)}},t.prototype.reset=function(){var t,r;this.options.rows=this.rows,this.options.cols=this.cols;var i=this._customKeyEventHandler;this._setup(),e.prototype.reset.call(this),null===(t=this._selectionService)||void 0===t||t.reset(),this._customKeyEventHandler=i,this.refresh(0,this.rows-1),null===(r=this.viewport)||void 0===r||r.syncScrollArea()},t.prototype._reportWindowsOptions=function(e){if(this._renderService)switch(e){case l.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:var t=this._renderService.dimensions.scaledCanvasWidth.toFixed(0),r=this._renderService.dimensions.scaledCanvasHeight.toFixed(0);this._coreService.triggerDataEvent(c.C0.ESC+"[4;"+r+";"+t+"t");break;case l.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:var i=this._renderService.dimensions.scaledCellWidth.toFixed(0),n=this._renderService.dimensions.scaledCellHeight.toFixed(0);this._coreService.triggerDataEvent(c.C0.ESC+"[6;"+n+";"+i+"t")}},t.prototype.cancel=function(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1},t.prototype._visualBell=function(){return!1},t.prototype._soundBell=function(){return"sound"===this.options.bellStyle},t}(D.CoreTerminal);t.Terminal=O},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;var o=r(5),s=r(1),a=function(){function e(e,t,r,i,n,o){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=i,this._charSizeService=n,this._coreService=o,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0}}return e.prototype.compositionstart=function(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._compositionView.classList.add("active")},e.prototype.compositionupdate=function(e){var t=this;this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((function(){t._compositionPosition.end=t._textarea.value.length}),0)},e.prototype.compositionend=function(){this._finalizeComposition(!0)},e.prototype.keydown=function(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)},e.prototype._finalizeComposition=function(e){var t=this;if(this._compositionView.classList.remove("active"),this._isComposing=!1,this._clearTextareaPosition(),e){var r={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((function(){if(t._isSendingComposition){t._isSendingComposition=!1;var e=void 0;e=t._isComposing?t._textarea.value.substring(r.start,r.end):t._textarea.value.substring(r.start),t._coreService.triggerDataEvent(e,!0)}}),0)}else{this._isSendingComposition=!1;var i=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(i,!0)}},e.prototype._handleAnyTextareaChanges=function(){var e=this,t=this._textarea.value;setTimeout((function(){if(!e._isComposing){var r=e._textarea.value.replace(t,"");r.length>0&&e._coreService.triggerDataEvent(r,!0)}}),0)},e.prototype.updateCompositionElements=function(e){var t=this;if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){var r=Math.ceil(this._charSizeService.height*this._optionsService.options.lineHeight),i=this._bufferService.buffer.y*r,n=this._bufferService.buffer.x*this._charSizeService.width;this._compositionView.style.left=n+"px",this._compositionView.style.top=i+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.options.fontFamily,this._compositionView.style.fontSize=this._optionsService.options.fontSize+"px";var o=this._compositionView.getBoundingClientRect();this._textarea.style.left=n+"px",this._textarea.style.top=i+"px",this._textarea.style.width=o.width+"px",this._textarea.style.height=o.height+"px",this._textarea.style.lineHeight=o.height+"px"}e||setTimeout((function(){return t.updateCompositionElements(!0)}),0)}},e.prototype._clearTextareaPosition=function(){this._textarea.style.left="",this._textarea.style.top=""},e=i([n(2,s.IBufferService),n(3,s.IOptionsService),n(4,o.ICharSizeService),n(5,s.ICoreService)],e)}();t.CompositionHelper=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s,a){var l=e.call(this)||this;return l._scrollLines=t,l._viewportElement=r,l._scrollArea=i,l._bufferService=n,l._optionsService=o,l._charSizeService=s,l._renderService=a,l.scrollBarWidth=0,l._currentRowHeight=0,l._lastRecordedBufferLength=0,l._lastRecordedViewportHeight=0,l._lastRecordedBufferHeight=0,l._lastTouchY=0,l._lastScrollTop=0,l._wheelPartialScroll=0,l._refreshAnimationFrame=null,l._ignoreNextScrollEvent=!1,l.scrollBarWidth=l._viewportElement.offsetWidth-l._scrollArea.offsetWidth||15,l.register(c.addDisposableDomListener(l._viewportElement,"scroll",l._onScroll.bind(l))),setTimeout((function(){return l.syncScrollArea()}),0),l}return n(t,e),t.prototype.onThemeChange=function(e){this._viewportElement.style.backgroundColor=e.background.css},t.prototype._refresh=function(e){var t=this;if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=requestAnimationFrame((function(){return t._innerRefresh()})))},t.prototype._innerRefresh=function(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;var e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==t&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=t),this._refreshAnimationFrame=null},t.prototype.syncScrollArea=function(e){if(void 0===e&&(e=!1),this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);if(this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight){var t=this._bufferService.buffer.ydisp*this._currentRowHeight;this._lastScrollTop===t&&this._lastScrollTop===this._viewportElement.scrollTop&&this._renderService.dimensions.scaledCellHeight/window.devicePixelRatio===this._currentRowHeight||this._refresh(e)}else this._refresh(e)},t.prototype._onScroll=function(e){if(this._lastScrollTop=this._viewportElement.scrollTop,this._viewportElement.offsetParent)if(this._ignoreNextScrollEvent)this._ignoreNextScrollEvent=!1;else{var t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t,!0)}},t.prototype._bubbleScroll=function(e,t){var r=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&r<this._lastRecordedBufferHeight)||(e.cancelable&&e.preventDefault(),!1)},t.prototype.onWheel=function(e){var t=this._getPixelsScrolled(e);return 0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},t.prototype._getPixelsScrolled=function(e){if(0===e.deltaY)return 0;var t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=this._currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._currentRowHeight*this._bufferService.rows),t},t.prototype.getLinesScrolled=function(e){if(0===e.deltaY)return 0;var t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(t/=this._currentRowHeight+0,this._wheelPartialScroll+=t,t=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t},t.prototype._applyScrollModifier=function(e,t){var r=this._optionsService.options.fastScrollModifier;return"alt"===r&&t.altKey||"ctrl"===r&&t.ctrlKey||"shift"===r&&t.shiftKey?e*this._optionsService.options.fastScrollSensitivity*this._optionsService.options.scrollSensitivity:e*this._optionsService.options.scrollSensitivity},t.prototype.onTouchStart=function(e){this._lastTouchY=e.touches[0].pageY},t.prototype.onTouchMove=function(e){var t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))},t=o([s(3,h.IBufferService),s(4,h.IOptionsService),s(5,l.ICharSizeService),s(6,l.IRenderService)],t)}(a.Disposable);t.Viewport=u},function(e,t,r){"use strict";function i(e){return e.replace(/\\r?\\n/g,"\\r")}function n(e,t){return t?"\x1b[200~"+e+"\x1b[201~":e}function o(e,t,r){e=n(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function s(e,t,r){var i=r.getBoundingClientRect(),n=e.clientX-i.left-10,o=e.clientY-i.top-10;t.style.position="absolute",t.style.width="20px",t.style.height="20px",t.style.left=n+"px",t.style.top=o+"px",t.style.zIndex="1000",t.focus(),setTimeout((function(){t.style.position="",t.style.width="",t.style.height="",t.style.left="",t.style.top="",t.style.zIndex=""}),200)}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=n,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,r){e.stopPropagation(),e.clipboardData&&o(e.clipboardData.getData("text/plain"),t,r)},t.paste=o,t.moveTextAreaUnderMouseCursor=s,t.rightClickHandler=function(e,t,r,i,n){s(e,t,r),n&&!i.isClickInSelection(e)&&i.selectWordAtCursor(e),t.value=i.selectionText,t.select()}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;var o=r(2),s=r(15),a=r(21),c=r(22),l=r(24),h=function(){function e(e){this.table=new Uint8Array(e)}return e.prototype.setDefault=function(e,t){s.fill(this.table,e<<4|t)},e.prototype.add=function(e,t,r,i){this.table[t<<8|e]=r<<4|i},e.prototype.addMany=function(e,t,r,i){for(var n=0;n<e.length;n++)this.table[t<<8|e[n]]=r<<4|i},e}();t.TransitionTable=h;t.VT500_TRANSITION_TABLE=function(){var e=new h(4095),t=Array.apply(null,Array(256)).map((function(e,t){return t})),r=function(e,r){return t.slice(e,r)},i=r(32,127),n=r(0,24);n.push(25),n.push.apply(n,r(28,32));var o,s=r(0,14);for(o in e.setDefault(1,0),e.addMany(i,0,2,0),s)e.addMany([24,26,153,154],o,3,0),e.addMany(r(128,144),o,3,0),e.addMany(r(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(n,0,3,0),e.addMany(n,1,3,1),e.add(127,1,0,1),e.addMany(n,8,0,8),e.addMany(n,3,3,3),e.add(127,3,0,3),e.addMany(n,4,3,4),e.add(127,4,0,4),e.addMany(n,6,3,6),e.addMany(n,5,3,5),e.add(127,5,0,5),e.addMany(n,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(i,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(r(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(i,7,0,7),e.addMany(n,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(r(64,127),3,7,0),e.addMany(r(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(r(48,60),4,8,4),e.addMany(r(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(r(32,64),6,0,6),e.add(127,6,0,6),e.addMany(r(64,127),6,0,0),e.addMany(r(32,48),3,9,5),e.addMany(r(32,48),5,9,5),e.addMany(r(48,64),5,0,6),e.addMany(r(64,127),5,7,0),e.addMany(r(32,48),4,9,5),e.addMany(r(32,48),1,9,2),e.addMany(r(32,48),2,9,2),e.addMany(r(48,127),2,10,0),e.addMany(r(48,80),1,10,0),e.addMany(r(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(r(96,127),1,10,0),e.add(80,1,11,9),e.addMany(n,9,0,9),e.add(127,9,0,9),e.addMany(r(28,32),9,0,9),e.addMany(r(32,48),9,9,12),e.addMany(r(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(n,11,0,11),e.addMany(r(32,128),11,0,11),e.addMany(r(28,32),11,0,11),e.addMany(n,10,0,10),e.add(127,10,0,10),e.addMany(r(28,32),10,0,10),e.addMany(r(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(r(32,48),10,9,12),e.addMany(n,12,0,12),e.add(127,12,0,12),e.addMany(r(28,32),12,0,12),e.addMany(r(32,48),12,9,12),e.addMany(r(48,64),12,0,11),e.addMany(r(64,127),12,12,13),e.addMany(r(64,127),10,12,13),e.addMany(r(64,127),9,12,13),e.addMany(n,13,13,13),e.addMany(i,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(160,0,2,0),e.add(160,8,5,8),e.add(160,6,0,6),e.add(160,11,0,11),e.add(160,13,13,13),e}();var u=function(e){function r(r){void 0===r&&(r=t.VT500_TRANSITION_TABLE);var i=e.call(this)||this;return i._transitions=r,i.initialState=0,i.currentState=i.initialState,i._params=new a.Params,i._params.addParam(0),i._collect=0,i.precedingCodepoint=0,i._printHandlerFb=function(e,t,r){},i._executeHandlerFb=function(e){},i._csiHandlerFb=function(e,t){},i._escHandlerFb=function(e){},i._errorHandlerFb=function(e){return e},i._printHandler=i._printHandlerFb,i._executeHandlers=Object.create(null),i._csiHandlers=Object.create(null),i._escHandlers=Object.create(null),i._oscParser=new c.OscParser,i._dcsParser=new l.DcsParser,i._errorHandler=i._errorHandlerFb,i.setEscHandler({final:"\\\\"},(function(){})),i}return n(r,e),r.prototype._identifier=function(e,t){void 0===t&&(t=[64,126]);var r=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if((r=e.prefix.charCodeAt(0))&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(var i=0;i<e.intermediates.length;++i){var n=e.intermediates.charCodeAt(i);if(32>n||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=n}}if(1!==e.final.length)throw new Error("final must be a single byte");var o=e.final.charCodeAt(0);if(t[0]>o||o>t[1])throw new Error("final must be in range "+t[0]+" .. "+t[1]);return r<<=8,r|=o},r.prototype.identToString=function(e){for(var t=[];e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")},r.prototype.dispose=function(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()},r.prototype.setPrintHandler=function(e){this._printHandler=e},r.prototype.clearPrintHandler=function(){this._printHandler=this._printHandlerFb},r.prototype.addEscHandler=function(e,t){var r=this._identifier(e,[48,126]);void 0===this._escHandlers[r]&&(this._escHandlers[r]=[]);var i=this._escHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setEscHandler=function(e,t){this._escHandlers[this._identifier(e,[48,126])]=[t]},r.prototype.clearEscHandler=function(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]},r.prototype.setEscHandlerFallback=function(e){this._escHandlerFb=e},r.prototype.setExecuteHandler=function(e,t){this._executeHandlers[e.charCodeAt(0)]=t},r.prototype.clearExecuteHandler=function(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]},r.prototype.setExecuteHandlerFallback=function(e){this._executeHandlerFb=e},r.prototype.addCsiHandler=function(e,t){var r=this._identifier(e);void 0===this._csiHandlers[r]&&(this._csiHandlers[r]=[]);var i=this._csiHandlers[r];return i.push(t),{dispose:function(){var e=i.indexOf(t);-1!==e&&i.splice(e,1)}}},r.prototype.setCsiHandler=function(e,t){this._csiHandlers[this._identifier(e)]=[t]},r.prototype.clearCsiHandler=function(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]},r.prototype.setCsiHandlerFallback=function(e){this._csiHandlerFb=e},r.prototype.addDcsHandler=function(e,t){return this._dcsParser.addHandler(this._identifier(e),t)},r.prototype.setDcsHandler=function(e,t){this._dcsParser.setHandler(this._identifier(e),t)},r.prototype.clearDcsHandler=function(e){this._dcsParser.clearHandler(this._identifier(e))},r.prototype.setDcsHandlerFallback=function(e){this._dcsParser.setHandlerFallback(e)},r.prototype.addOscHandler=function(e,t){return this._oscParser.addHandler(e,t)},r.prototype.setOscHandler=function(e,t){this._oscParser.setHandler(e,t)},r.prototype.clearOscHandler=function(e){this._oscParser.clearHandler(e)},r.prototype.setOscHandlerFallback=function(e){this._oscParser.setHandlerFallback(e)},r.prototype.setErrorHandler=function(e){this._errorHandler=e},r.prototype.clearErrorHandler=function(){this._errorHandler=this._errorHandlerFb},r.prototype.reset=function(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0},r.prototype.parse=function(e,t){for(var r=0,i=0,n=this.currentState,o=this._oscParser,s=this._dcsParser,a=this._collect,c=this._params,l=this._transitions.table,h=0;h<t;++h){switch((i=l[n<<8|((r=e[h])<160?r:160)])>>4){case 2:for(var u=h+1;;++u){if(u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}if(++u>=t||(r=e[u])<32||r>126&&r<160){this._printHandler(e,h,u),h=u-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingCodepoint=0;break;case 0:break;case 1:if(this._errorHandler({position:h,code:r,currentState:n,collect:a,params:c,abort:!1}).abort)return;break;case 7:for(var f=this._csiHandlers[a<<8|r],_=f?f.length-1:-1;_>=0&&!1===f[_](c);_--);_<0&&this._csiHandlerFb(a<<8|r,c),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:c.addParam(0);break;case 58:c.addSubParam(-1);break;default:c.addDigit(r-48)}}while(++h<t&&(r=e[h])>47&&r<60);h--;break;case 9:a<<=8,a|=r;break;case 10:for(var d=this._escHandlers[a<<8|r],p=d?d.length-1:-1;p>=0&&!1===d[p]();p--);p<0&&this._escHandlerFb(a<<8|r),this.precedingCodepoint=0;break;case 11:c.reset(),c.addParam(0),a=0;break;case 12:s.hook(a<<8|r,c);break;case 13:for(var v=h+1;;++v)if(v>=t||24===(r=e[v])||26===r||27===r||r>127&&r<160){s.put(e,h,v),h=v-1;break}break;case 14:s.unhook(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0;break;case 4:o.start();break;case 5:for(var g=h+1;;g++)if(g>=t||(r=e[g])<32||r>127&&r<=159){o.put(e,h,g),h=g-1;break}break;case 6:o.end(24!==r&&26!==r),27===r&&(i|=1),c.reset(),c.addParam(0),a=0,this.precedingCodepoint=0}n=15&i}this._collect=a,this.currentState=n},r}(o.Disposable);t.EscapeSequenceParser=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Renderer=void 0;var a=r(41),c=r(47),l=r(48),h=r(49),u=r(29),f=r(2),_=r(5),d=r(1),p=r(25),v=r(0),g=1,y=function(e){function t(t,r,i,n,o,s,f,_,d){var p=e.call(this)||this;p._colors=t,p._screenElement=r,p._bufferService=o,p._charSizeService=s,p._optionsService=f,p._id=g++,p._onRequestRedraw=new v.EventEmitter;var y=p._optionsService.options.allowTransparency;return p._characterJoinerRegistry=new u.CharacterJoinerRegistry(p._bufferService),p._renderLayers=[new a.TextRenderLayer(p._screenElement,0,p._colors,p._characterJoinerRegistry,y,p._id,p._bufferService,f),new c.SelectionRenderLayer(p._screenElement,1,p._colors,p._id,p._bufferService,f),new h.LinkRenderLayer(p._screenElement,2,p._colors,p._id,i,n,p._bufferService,f),new l.CursorRenderLayer(p._screenElement,3,p._colors,p._id,p._onRequestRedraw,p._bufferService,f,_,d)],p.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},p._devicePixelRatio=window.devicePixelRatio,p._updateDimensions(),p.onOptionsChanged(),p}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRequestRedraw.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){for(var t=0,r=this._renderLayers;t<r.length;t++){r[t].dispose()}e.prototype.dispose.call(this),p.removeTerminalFromCache(this._id)},t.prototype.onDevicePixelRatioChange=function(){this._devicePixelRatio!==window.devicePixelRatio&&(this._devicePixelRatio=window.devicePixelRatio,this.onResize(this._bufferService.cols,this._bufferService.rows))},t.prototype.setColors=function(e){this._colors=e;for(var t=0,r=this._renderLayers;t<r.length;t++){var i=r[t];i.setColors(this._colors),i.reset()}},t.prototype.onResize=function(e,t){this._updateDimensions();for(var r=0,i=this._renderLayers;r<i.length;r++){i[r].resize(this.dimensions)}this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.onCharSizeChanged=function(){this.onResize(this._bufferService.cols,this._bufferService.rows)},t.prototype.onBlur=function(){this._runOperation((function(e){return e.onBlur()}))},t.prototype.onFocus=function(){this._runOperation((function(e){return e.onFocus()}))},t.prototype.onSelectionChanged=function(e,t,r){void 0===r&&(r=!1),this._runOperation((function(i){return i.onSelectionChanged(e,t,r)}))},t.prototype.onCursorMove=function(){this._runOperation((function(e){return e.onCursorMove()}))},t.prototype.onOptionsChanged=function(){this._runOperation((function(e){return e.onOptionsChanged()}))},t.prototype.clear=function(){this._runOperation((function(e){return e.reset()}))},t.prototype._runOperation=function(e){for(var t=0,r=this._renderLayers;t<r.length;t++){e(r[t])}},t.prototype.renderRows=function(e,t){for(var r=0,i=this._renderLayers;r<i.length;r++){i[r].onGridChanged(e,t)}},t.prototype._updateDimensions=function(){this._charSizeService.hasValidSize&&(this.dimensions.scaledCharWidth=Math.floor(this._charSizeService.width*window.devicePixelRatio),this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharTop=1===this._optionsService.options.lineHeight?0:Math.round((this.dimensions.scaledCellHeight-this.dimensions.scaledCharHeight)/2),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCharLeft=Math.floor(this._optionsService.options.letterSpacing/2),this.dimensions.scaledCanvasHeight=this._bufferService.rows*this.dimensions.scaledCellHeight,this.dimensions.scaledCanvasWidth=this._bufferService.cols*this.dimensions.scaledCellWidth,this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows,this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols)},t.prototype.registerCharacterJoiner=function(e){return this._characterJoinerRegistry.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._characterJoinerRegistry.deregisterCharacterJoiner(e)},t=o([s(4,d.IBufferService),s(5,_.ICharSizeService),s(6,d.IOptionsService),s(7,d.ICoreService),s(8,_.ICoreBrowserService)],t)}(f.Disposable);t.Renderer=y},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.TextRenderLayer=void 0;var o=r(42),s=r(13),a=r(6),c=r(3),l=r(29),h=r(4),u=function(e){function t(t,r,i,n,s,a,c,l){var u=e.call(this,t,"text",r,s,i,a,c,l)||this;return u._characterWidth=0,u._characterFont="",u._characterOverlapCache={},u._workCell=new h.CellData,u._state=new o.GridCache,u._characterJoinerRegistry=n,u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t);var r=this._getFont(!1,!1);this._characterWidth===t.scaledCharWidth&&this._characterFont===r||(this._characterWidth=t.scaledCharWidth,this._characterFont=r,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)},t.prototype.reset=function(){this._state.clear(),this._clearAll()},t.prototype._forEachCell=function(e,t,r,i){for(var n=e;n<=t;n++)for(var o=n+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.lines.get(o),a=r?r.getJoinedCharacters(o):[],h=0;h<this._bufferService.cols;h++){s.loadCell(h,this._workCell);var u=this._workCell,f=!1,_=h;if(0!==u.getWidth()){if(a.length>0&&h===a[0][0]){f=!0;var d=a.shift();u=new l.JoinedCellData(this._workCell,s.translateToString(!0,d[0],d[1]),d[1]-d[0]),_=d[1]-1}!f&&this._isOverlapping(u)&&_<s.length-1&&s.getCodePoint(_+1)===c.NULL_CELL_CODE&&(u.content&=-12582913,u.content|=2<<22),i(u,h,n),h=_}}},t.prototype._drawBackground=function(e,t){var r=this,i=this._ctx,n=this._bufferService.cols,o=0,s=0,c=null;i.save(),this._forEachCell(e,t,null,(function(e,t,l){var h=null;e.isInverse()?h=e.isFgDefault()?r._colors.foreground.css:e.isFgRGB()?"rgb("+a.AttributeData.toColorRGB(e.getFgColor()).join(",")+")":r._colors.ansi[e.getFgColor()].css:e.isBgRGB()?h="rgb("+a.AttributeData.toColorRGB(e.getBgColor()).join(",")+")":e.isBgPalette()&&(h=r._colors.ansi[e.getBgColor()].css),null===c&&(o=t,s=l),l!==s?(i.fillStyle=c||"",r._fillCells(o,s,n-o,1),o=t,s=l):c!==h&&(i.fillStyle=c||"",r._fillCells(o,s,t-o,1),o=t,s=l),c=h})),null!==c&&(i.fillStyle=c,this._fillCells(o,s,n-o,1)),i.restore()},t.prototype._drawForeground=function(e,t){var r=this;this._forEachCell(e,t,this._characterJoinerRegistry,(function(e,t,i){if(!e.isInvisible()&&(r._drawChars(e,t,i),e.isUnderline())){if(r._ctx.save(),e.isInverse())if(e.isBgDefault())r._ctx.fillStyle=r._colors.background.css;else if(e.isBgRGB())r._ctx.fillStyle="rgb("+a.AttributeData.toColorRGB(e.getBgColor()).join(",")+")";else{var n=e.getBgColor();r._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&n<8&&(n+=8),r._ctx.fillStyle=r._colors.ansi[n].css}else if(e.isFgDefault())r._ctx.fillStyle=r._colors.foreground.css;else if(e.isFgRGB())r._ctx.fillStyle="rgb("+a.AttributeData.toColorRGB(e.getFgColor()).join(",")+")";else{var o=e.getFgColor();r._optionsService.options.drawBoldTextInBrightColors&&e.isBold()&&o<8&&(o+=8),r._ctx.fillStyle=r._colors.ansi[o].css}r._fillBottomLineAtCells(t,i,e.getWidth()),r._ctx.restore()}}))},t.prototype.onGridChanged=function(e,t){0!==this._state.cache.length&&(this._charAtlas&&this._charAtlas.beginFrame(),this._clearCells(0,e,this._bufferService.cols,t-e+1),this._drawBackground(e,t),this._drawForeground(e,t))},t.prototype.onOptionsChanged=function(){this._setTransparency(this._optionsService.options.allowTransparency)},t.prototype._isOverlapping=function(e){if(1!==e.getWidth())return!1;if(e.getCode()<256)return!1;var t=e.getChars();if(this._characterOverlapCache.hasOwnProperty(t))return this._characterOverlapCache[t];this._ctx.save(),this._ctx.font=this._characterFont;var r=Math.floor(this._ctx.measureText(t).width)>this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[t]=r,r},t}(s.BaseRenderLayer);t.TextRenderLayer=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GridCache=void 0;var i=function(){function e(){this.cache=[]}return e.prototype.resize=function(e,t){for(var r=0;r<e;r++){this.cache.length<=r&&this.cache.push([]);for(var i=this.cache[r].length;i<t;i++)this.cache[r].push(void 0);this.cache[r].length=t}this.cache.length=e},e.prototype.clear=function(){for(var e=0;e<this.cache.length;e++)for(var t=0;t<this.cache[e].length;t++)this.cache[e][t]=void 0},e}();t.GridCache=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.NoneCharAtlas=t.DynamicCharAtlas=t.getGlyphCacheKey=void 0;var o=r(9),s=r(44),a=r(27),c=r(46),l=r(11),h=r(28),u=r(10),f={css:"rgba(0, 0, 0, 0)",rgba:0};function _(e){return e.code<<21|e.bg<<12|e.fg<<3|(e.bold?0:4)+(e.dim?0:2)+(e.italic?0:1)}t.getGlyphCacheKey=_;var d=function(e){function t(t,r){var i=e.call(this)||this;i._config=r,i._drawToCacheCount=0,i._glyphsWaitingOnBitmap=[],i._bitmapCommitTimeout=null,i._bitmap=null,i._cacheCanvas=t.createElement("canvas"),i._cacheCanvas.width=1024,i._cacheCanvas.height=1024,i._cacheCtx=h.throwIfFalsy(i._cacheCanvas.getContext("2d",{alpha:!0}));var n=t.createElement("canvas");n.width=i._config.scaledCharWidth,n.height=i._config.scaledCharHeight,i._tmpCtx=h.throwIfFalsy(n.getContext("2d",{alpha:i._config.allowTransparency})),i._width=Math.floor(1024/i._config.scaledCharWidth),i._height=Math.floor(1024/i._config.scaledCharHeight);var o=i._width*i._height;return i._cacheMap=new c.LRUMap(o),i._cacheMap.prealloc(o),i}return n(t,e),t.prototype.dispose=function(){null!==this._bitmapCommitTimeout&&(window.clearTimeout(this._bitmapCommitTimeout),this._bitmapCommitTimeout=null)},t.prototype.beginFrame=function(){this._drawToCacheCount=0},t.prototype.draw=function(e,t,r,i){if(32===t.code)return!0;if(!this._canCache(t))return!1;var n=_(t),o=this._cacheMap.get(n);if(null!=o)return this._drawFromCache(e,o,r,i),!0;if(this._drawToCacheCount<100){var s=void 0;s=this._cacheMap.size<this._cacheMap.capacity?this._cacheMap.size:this._cacheMap.peek().index;var a=this._drawToCache(t,s);return this._cacheMap.set(n,a),this._drawFromCache(e,a,r,i),!0}return!1},t.prototype._canCache=function(e){return e.code<256},t.prototype._toCoordinateX=function(e){return e%this._width*this._config.scaledCharWidth},t.prototype._toCoordinateY=function(e){return Math.floor(e/this._width)*this._config.scaledCharHeight},t.prototype._drawFromCache=function(e,t,r,i){if(!t.isEmpty){var n=this._toCoordinateX(t.index),o=this._toCoordinateY(t.index);e.drawImage(t.inBitmap?this._bitmap:this._cacheCanvas,n,o,this._config.scaledCharWidth,this._config.scaledCharHeight,r,i,this._config.scaledCharWidth,this._config.scaledCharHeight)}},t.prototype._getColorFromAnsiIndex=function(e){return e<this._config.colors.ansi.length?this._config.colors.ansi[e]:a.DEFAULT_ANSI_COLORS[e]},t.prototype._getBackgroundColor=function(e){return this._config.allowTransparency?f:e.bg===o.INVERTED_DEFAULT_COLOR?this._config.colors.foreground:e.bg<256?this._getColorFromAnsiIndex(e.bg):this._config.colors.background},t.prototype._getForegroundColor=function(e){return e.fg===o.INVERTED_DEFAULT_COLOR?u.color.opaque(this._config.colors.background):e.fg<256?this._getColorFromAnsiIndex(e.fg):this._config.colors.foreground},t.prototype._drawToCache=function(e,t){this._drawToCacheCount++,this._tmpCtx.save();var r=this._getBackgroundColor(e);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=r.css,this._tmpCtx.fillRect(0,0,this._config.scaledCharWidth,this._config.scaledCharHeight),this._tmpCtx.globalCompositeOperation="source-over";var i=e.bold?this._config.fontWeightBold:this._config.fontWeight,n=e.italic?"italic":"";this._tmpCtx.font=n+" "+i+" "+this._config.fontSize*this._config.devicePixelRatio+"px "+this._config.fontFamily,this._tmpCtx.textBaseline="middle",this._tmpCtx.fillStyle=this._getForegroundColor(e).css,e.dim&&(this._tmpCtx.globalAlpha=o.DIM_OPACITY),this._tmpCtx.fillText(e.chars,0,this._config.scaledCharHeight/2),this._tmpCtx.restore();var s=this._tmpCtx.getImageData(0,0,this._config.scaledCharWidth,this._config.scaledCharHeight),a=!1;this._config.allowTransparency||(a=function(e,t){for(var r=!0,i=t.rgba>>>24,n=t.rgba>>>16&255,o=t.rgba>>>8&255,s=0;s<e.data.length;s+=4)e.data[s]===i&&e.data[s+1]===n&&e.data[s+2]===o?e.data[s+3]=0:r=!1;return r}(s,r));var c=this._toCoordinateX(t),l=this._toCoordinateY(t);this._cacheCtx.putImageData(s,c,l);var h={index:t,isEmpty:a,inBitmap:!1};return this._addGlyphToBitmap(h),h},t.prototype._addGlyphToBitmap=function(e){var t=this;!("createImageBitmap"in window)||l.isFirefox||l.isSafari||(this._glyphsWaitingOnBitmap.push(e),null===this._bitmapCommitTimeout&&(this._bitmapCommitTimeout=window.setTimeout((function(){return t._generateBitmap()}),100)))},t.prototype._generateBitmap=function(){var e=this,t=this._glyphsWaitingOnBitmap;this._glyphsWaitingOnBitmap=[],window.createImageBitmap(this._cacheCanvas).then((function(r){e._bitmap=r;for(var i=0;i<t.length;i++){t[i].inBitmap=!0}})),this._bitmapCommitTimeout=null},t}(s.BaseCharAtlas);t.DynamicCharAtlas=d;var p=function(e){function t(t,r){return e.call(this)||this}return n(t,e),t.prototype.draw=function(e,t,r,i){return!1},t}(s.BaseCharAtlas);t.NoneCharAtlas=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BaseCharAtlas=void 0;var i=function(){function e(){this._didWarmUp=!1}return e.prototype.dispose=function(){},e.prototype.warmUp=function(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)},e.prototype._doWarmUp=function(){},e.prototype.beginFrame=function(){},e}();t.BaseCharAtlas=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ColorContrastCache=void 0;var i=function(){function e(){this._color={},this._rgba={}}return e.prototype.clear=function(){this._color={},this._rgba={}},e.prototype.setCss=function(e,t,r){this._rgba[e]||(this._rgba[e]={}),this._rgba[e][t]=r},e.prototype.getCss=function(e,t){return this._rgba[e]?this._rgba[e][t]:void 0},e.prototype.setColor=function(e,t,r){this._color[e]||(this._color[e]={}),this._color[e][t]=r},e.prototype.getColor=function(e,t){return this._color[e]?this._color[e][t]:void 0},e}();t.ColorContrastCache=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUMap=void 0;var i=function(){function e(e){this.capacity=e,this._map={},this._head=null,this._tail=null,this._nodePool=[],this.size=0}return e.prototype._unlinkNode=function(e){var t=e.prev,r=e.next;e===this._head&&(this._head=r),e===this._tail&&(this._tail=t),null!==t&&(t.next=r),null!==r&&(r.prev=t)},e.prototype._appendNode=function(e){var t=this._tail;null!==t&&(t.next=e),e.prev=t,e.next=null,this._tail=e,null===this._head&&(this._head=e)},e.prototype.prealloc=function(e){for(var t=this._nodePool,r=0;r<e;r++)t.push({prev:null,next:null,key:null,value:null})},e.prototype.get=function(e){var t=this._map[e];return void 0!==t?(this._unlinkNode(t),this._appendNode(t),t.value):null},e.prototype.peekValue=function(e){var t=this._map[e];return void 0!==t?t.value:null},e.prototype.peek=function(){var e=this._head;return null===e?null:e.value},e.prototype.set=function(e,t){var r=this._map[e];if(void 0!==r)r=this._map[e],this._unlinkNode(r),r.value=t;else if(this.size>=this.capacity)r=this._head,this._unlinkNode(r),delete this._map[r.key],r.key=e,r.value=t,this._map[e]=r;else{var i=this._nodePool;i.length>0?((r=i.pop()).key=e,r.value=t):r={prev:null,next:null,key:e,value:t},this._map[e]=r,this.size++}this._appendNode(r)},e}();t.LRUMap=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRenderLayer=void 0;var o=function(e){function t(t,r,i,n,o,s){var a=e.call(this,t,"selection",r,!0,i,n,o,s)||this;return a._clearState(),a}return n(t,e),t.prototype._clearState=function(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}},t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._clearState()},t.prototype.reset=function(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())},t.prototype.onSelectionChanged=function(e,t,r){if(this._didStateChange(e,t,r,this._bufferService.buffer.ydisp))if(this._clearAll(),e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){if(this._ctx.fillStyle=this._colors.selectionTransparent.css,r){var a=e[0],c=t[0]-a,l=s-o+1;this._fillCells(a,o,c,l)}else{a=i===o?e[0]:0;var h=o===s?t[0]:this._bufferService.cols;this._fillCells(a,o,h-a,1);var u=Math.max(s-o-1,0);if(this._fillCells(0,o+1,this._bufferService.cols,u),o!==s){var f=n===s?t[0]:this._bufferService.cols;this._fillCells(0,s,f,1)}}this._state.start=[e[0],e[1]],this._state.end=[t[0],t[1]],this._state.columnSelectMode=r,this._state.ydisp=this._bufferService.buffer.ydisp}}else this._clearState()},t.prototype._didStateChange=function(e,t,r,i){return!this._areCoordinatesEqual(e,this._state.start)||!this._areCoordinatesEqual(t,this._state.end)||r!==this._state.columnSelectMode||i!==this._state.ydisp},t.prototype._areCoordinatesEqual=function(e,t){return!(!e||!t)&&(e[0]===t[0]&&e[1]===t[1])},t}(r(13).BaseRenderLayer);t.SelectionRenderLayer=o},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CursorRenderLayer=void 0;var o=r(13),s=r(4),a=function(e){function t(t,r,i,n,o,a,c,l,h){var u=e.call(this,t,"cursor",r,!0,i,n,a,c)||this;return u._onRequestRedraw=o,u._coreService=l,u._coreBrowserService=h,u._cell=new s.CellData,u._state={x:0,y:0,isFocused:!1,style:"",width:0},u._cursorRenderers={bar:u._renderBarCursor.bind(u),block:u._renderBlockCursor.bind(u),underline:u._renderUnderlineCursor.bind(u)},u}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state={x:0,y:0,isFocused:!1,style:"",width:0}},t.prototype.reset=function(){this._clearCursor(),this._cursorBlinkStateManager&&(this._cursorBlinkStateManager.dispose(),this._cursorBlinkStateManager=void 0,this.onOptionsChanged())},t.prototype.onBlur=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onFocus=function(){this._cursorBlinkStateManager?this._cursorBlinkStateManager.resume():this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onOptionsChanged=function(){var e,t=this;this._optionsService.options.cursorBlink?this._cursorBlinkStateManager||(this._cursorBlinkStateManager=new c(this._coreBrowserService.isFocused,(function(){t._render(!0)}))):(null===(e=this._cursorBlinkStateManager)||void 0===e||e.dispose(),this._cursorBlinkStateManager=void 0),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})},t.prototype.onCursorMove=function(){this._cursorBlinkStateManager&&this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype.onGridChanged=function(e,t){!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isPaused?this._render(!1):this._cursorBlinkStateManager.restartBlinkAnimation()},t.prototype._render=function(e){if(this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden){var t=this._bufferService.buffer.ybase+this._bufferService.buffer.y,r=t-this._bufferService.buffer.ydisp;if(r<0||r>=this._bufferService.rows)this._clearCursor();else{var i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(t).loadCell(i,this._cell),void 0!==this._cell.content){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css;var n=this._optionsService.options.cursorStyle;return n&&"block"!==n?this._cursorRenderers[n](i,r,this._cell):this._renderBlurCursor(i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=n,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager||this._cursorBlinkStateManager.isCursorVisible){if(this._state){if(this._state.x===i&&this._state.y===r&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.options.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.options.cursorStyle||"block"](i,r,this._cell),this._ctx.restore(),this._state.x=i,this._state.y=r,this._state.isFocused=!1,this._state.style=this._optionsService.options.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}}else this._clearCursor()},t.prototype._clearCursor=function(){this._state&&(this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})},t.prototype._renderBarCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillLeftLineAtCell(e,t,this._optionsService.options.cursorWidth),this._ctx.restore()},t.prototype._renderBlockCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillCells(e,t,r.getWidth(),1),this._ctx.fillStyle=this._colors.cursorAccent.css,this._fillCharTrueColor(r,e,t),this._ctx.restore()},t.prototype._renderUnderlineCursor=function(e,t,r){this._ctx.save(),this._ctx.fillStyle=this._colors.cursor.css,this._fillBottomLineAtCells(e,t),this._ctx.restore()},t.prototype._renderBlurCursor=function(e,t,r){this._ctx.save(),this._ctx.strokeStyle=this._colors.cursor.css,this._strokeRectAtCell(e,t,r.getWidth(),1),this._ctx.restore()},t}(o.BaseRenderLayer);t.CursorRenderLayer=a;var c=function(){function e(e,t){this._renderCallback=t,this.isCursorVisible=!0,e&&this._restartInterval()}return Object.defineProperty(e.prototype,"isPaused",{get:function(){return!(this._blinkStartTimeout||this._blinkInterval)},enumerable:!1,configurable:!0}),e.prototype.dispose=function(){this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.restartBlinkAnimation=function(){var e=this;this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=window.requestAnimationFrame((function(){e._renderCallback(),e._animationFrame=void 0}))))},e.prototype._restartInterval=function(e){var t=this;void 0===e&&(e=600),this._blinkInterval&&window.clearInterval(this._blinkInterval),this._blinkStartTimeout=window.setTimeout((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);if(t._animationTimeRestarted=void 0,e>0)return void t._restartInterval(e)}t.isCursorVisible=!1,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0})),t._blinkInterval=window.setInterval((function(){if(t._animationTimeRestarted){var e=600-(Date.now()-t._animationTimeRestarted);return t._animationTimeRestarted=void 0,void t._restartInterval(e)}t.isCursorVisible=!t.isCursorVisible,t._animationFrame=window.requestAnimationFrame((function(){t._renderCallback(),t._animationFrame=void 0}))}),600)}),e)},e.prototype.pause=function(){this.isCursorVisible=!0,this._blinkInterval&&(window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)},e.prototype.resume=function(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()},e}()},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.LinkRenderLayer=void 0;var o=r(13),s=r(9),a=r(26),c=function(e){function t(t,r,i,n,o,s,a,c){var l=e.call(this,t,"link",r,!0,i,n,a,c)||this;return o.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),o.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),s.onShowLinkUnderline((function(e){return l._onShowLinkUnderline(e)})),s.onHideLinkUnderline((function(e){return l._onHideLinkUnderline(e)})),l}return n(t,e),t.prototype.resize=function(t){e.prototype.resize.call(this,t),this._state=void 0},t.prototype.reset=function(){this._clearCurrentLink()},t.prototype._clearCurrentLink=function(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);var e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}},t.prototype._onShowLinkUnderline=function(e){if(e.fg===s.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._colors.background.css:e.fg&&a.is256Color(e.fg)?this._ctx.fillStyle=this._colors.ansi[e.fg].css:this._ctx.fillStyle=this._colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(var t=e.y1+1;t<e.y2;t++)this._fillBottomLineAtCells(0,t,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e},t.prototype._onHideLinkUnderline=function(e){this._clearCurrentLink()},t}(o.BaseRenderLayer);t.LinkRenderLayer=c},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZone=t.Linkifier=void 0;var o=r(0),s=r(1),a=function(){function e(e,t,r){this._bufferService=e,this._logService=t,this._unicodeService=r,this._linkMatchers=[],this._nextLinkMatcherId=0,this._onShowLinkUnderline=new o.EventEmitter,this._onHideLinkUnderline=new o.EventEmitter,this._onLinkTooltip=new o.EventEmitter,this._rowsToLinkify={start:void 0,end:void 0}}return Object.defineProperty(e.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onLinkTooltip",{get:function(){return this._onLinkTooltip.event},enumerable:!1,configurable:!0}),e.prototype.attachToDom=function(e,t){this._element=e,this._mouseZoneManager=t},e.prototype.linkifyRows=function(t,r){var i=this;this._mouseZoneManager&&(void 0===this._rowsToLinkify.start||void 0===this._rowsToLinkify.end?(this._rowsToLinkify.start=t,this._rowsToLinkify.end=r):(this._rowsToLinkify.start=Math.min(this._rowsToLinkify.start,t),this._rowsToLinkify.end=Math.max(this._rowsToLinkify.end,r)),this._mouseZoneManager.clearAll(t,r),this._rowsTimeoutId&&clearTimeout(this._rowsTimeoutId),this._rowsTimeoutId=setTimeout((function(){return i._linkifyRows()}),e._timeBeforeLatency))},e.prototype._linkifyRows=function(){this._rowsTimeoutId=void 0;var e=this._bufferService.buffer;if(void 0!==this._rowsToLinkify.start&&void 0!==this._rowsToLinkify.end){var t=e.ydisp+this._rowsToLinkify.start;if(!(t>=e.lines.length)){for(var r=e.ydisp+Math.min(this._rowsToLinkify.end,this._bufferService.rows)+1,i=Math.ceil(2e3/this._bufferService.cols),n=this._bufferService.buffer.iterator(!1,t,r,i,i);n.hasNext();)for(var o=n.next(),s=0;s<this._linkMatchers.length;s++)this._doLinkifyRow(o.range.first,o.content,this._linkMatchers[s]);this._rowsToLinkify.start=void 0,this._rowsToLinkify.end=void 0}}else this._logService.debug("_rowToLinkify was unset before _linkifyRows was called")},e.prototype.registerLinkMatcher=function(e,t,r){if(void 0===r&&(r={}),!t)throw new Error("handler must be defined");var i={id:this._nextLinkMatcherId++,regex:e,handler:t,matchIndex:r.matchIndex,validationCallback:r.validationCallback,hoverTooltipCallback:r.tooltipCallback,hoverLeaveCallback:r.leaveCallback,willLinkActivate:r.willLinkActivate,priority:r.priority||0};return this._addLinkMatcherToList(i),i.id},e.prototype._addLinkMatcherToList=function(e){if(0!==this._linkMatchers.length){for(var t=this._linkMatchers.length-1;t>=0;t--)if(e.priority<=this._linkMatchers[t].priority)return void this._linkMatchers.splice(t+1,0,e);this._linkMatchers.splice(0,0,e)}else this._linkMatchers.push(e)},e.prototype.deregisterLinkMatcher=function(e){for(var t=0;t<this._linkMatchers.length;t++)if(this._linkMatchers[t].id===e)return this._linkMatchers.splice(t,1),!0;return!1},e.prototype._doLinkifyRow=function(e,t,r){for(var i,n=this,o=new RegExp(r.regex.source,(r.regex.flags||"")+"g"),s=-1,a=function(){var a=i["number"!=typeof r.matchIndex?0:r.matchIndex];if(!a)return c._logService.debug("match found without corresponding matchIndex",i,r),"break";if(s=t.indexOf(a,s+1),o.lastIndex=s+a.length,s<0)return"break";var l=c._bufferService.buffer.stringIndexToBufferIndex(e,s);if(l[0]<0)return"break";var h=c._bufferService.buffer.lines.get(l[0]);if(!h)return"break";var u=h.getFg(l[1]),f=u?u>>9&511:void 0;r.validationCallback?r.validationCallback(a,(function(e){n._rowsTimeoutId||e&&n._addLink(l[1],l[0]-n._bufferService.buffer.ydisp,a,r,f)})):c._addLink(l[1],l[0]-c._bufferService.buffer.ydisp,a,r,f)},c=this;null!==(i=o.exec(t));){if("break"===a())break}},e.prototype._addLink=function(e,t,r,i,n){var o=this;if(this._mouseZoneManager&&this._element){var s=this._unicodeService.getStringCellWidth(r),a=e%this._bufferService.cols,l=t+Math.floor(e/this._bufferService.cols),h=(a+s)%this._bufferService.cols,u=l+Math.floor((a+s)/this._bufferService.cols);0===h&&(h=this._bufferService.cols,u--),this._mouseZoneManager.add(new c(a+1,l+1,h+1,u+1,(function(e){if(i.handler)return i.handler(e,r);var t=window.open();t?(t.opener=null,t.location.href=r):console.warn("Opening link blocked as opener could not be cleared")}),(function(){o._onShowLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.add("xterm-cursor-pointer")}),(function(e){o._onLinkTooltip.fire(o._createLinkHoverEvent(a,l,h,u,n)),i.hoverTooltipCallback&&i.hoverTooltipCallback(e,r,{start:{x:a,y:l},end:{x:h,y:u}})}),(function(){o._onHideLinkUnderline.fire(o._createLinkHoverEvent(a,l,h,u,n)),o._element.classList.remove("xterm-cursor-pointer"),i.hoverLeaveCallback&&i.hoverLeaveCallback()}),(function(e){return!i.willLinkActivate||i.willLinkActivate(e,r)})))}},e.prototype._createLinkHoverEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},e._timeBeforeLatency=200,e=i([n(0,s.IBufferService),n(1,s.ILogService),n(2,s.IUnicodeService)],e)}();t.Linkifier=a;var c=function(e,t,r,i,n,o,s,a,c){this.x1=e,this.y1=t,this.x2=r,this.y2=i,this.clickCallback=n,this.hoverCallback=o,this.tooltipCallback=s,this.leaveCallback=a,this.willLinkActivate=c};t.MouseZone=c},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;var a=r(11),c=r(52),l=r(4),h=r(0),u=r(5),f=r(1),_=r(30),d=r(53),p=r(2),v=String.fromCharCode(160),g=new RegExp(v,"g"),y=function(e){function t(t,r,i,n,o,s,a){var u=e.call(this)||this;return u._element=t,u._screenElement=r,u._bufferService=i,u._coreService=n,u._mouseService=o,u._optionsService=s,u._renderService=a,u._dragScrollAmount=0,u._enabled=!0,u._workCell=new l.CellData,u._mouseDownTimeStamp=0,u._onLinuxMouseSelection=u.register(new h.EventEmitter),u._onRedrawRequest=u.register(new h.EventEmitter),u._onSelectionChange=u.register(new h.EventEmitter),u._onRequestScrollLines=u.register(new h.EventEmitter),u._mouseMoveListener=function(e){return u._onMouseMove(e)},u._mouseUpListener=function(e){return u._onMouseUp(e)},u._coreService.onUserInput((function(){u.hasSelection&&u.clearSelection()})),u._trimListener=u._bufferService.buffer.lines.onTrim((function(e){return u._onTrim(e)})),u.register(u._bufferService.buffers.onBufferActivate((function(e){return u._onBufferActivate(e)}))),u.enable(),u._model=new c.SelectionModel(u._bufferService),u._activeSelectionMode=0,u}return n(t,e),Object.defineProperty(t.prototype,"onLinuxMouseSelection",{get:function(){return this._onLinuxMouseSelection.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return this._onRedrawRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onSelectionChange",{get:function(){return this._onSelectionChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRequestScrollLines",{get:function(){return this._onRequestScrollLines.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._removeMouseDownListeners()},t.prototype.reset=function(){this.clearSelection()},t.prototype.disable=function(){this.clearSelection(),this._enabled=!1},t.prototype.enable=function(){this._enabled=!0},Object.defineProperty(t.prototype,"selectionStart",{get:function(){return this._model.finalSelectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionEnd",{get:function(){return this._model.finalSelectionEnd},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"hasSelection",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t)&&(e[0]!==t[0]||e[1]!==t[1])},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"selectionText",{get:function(){var e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";var r=this._bufferService.buffer,i=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";for(var n=e[1];n<=t[1];n++){var o=r.translateBufferLineToString(n,!0,e[0],t[0]);i.push(o)}}else{var s=e[1]===t[1]?t[0]:void 0;i.push(r.translateBufferLineToString(e[1],!0,e[0],s));for(n=e[1]+1;n<=t[1]-1;n++){var c=r.lines.get(n);o=r.translateBufferLineToString(n,!0);c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}if(e[1]!==t[1]){c=r.lines.get(t[1]),o=r.translateBufferLineToString(t[1],!0,0,t[0]);c&&c.isWrapped?i[i.length-1]+=o:i.push(o)}}return i.map((function(e){return e.replace(g," ")})).join(a.isWindows?"\\r\\n":"\\n")},enumerable:!1,configurable:!0}),t.prototype.clearSelection=function(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()},t.prototype.refresh=function(e){var t=this;(this._refreshAnimationFrame||(this._refreshAnimationFrame=window.requestAnimationFrame((function(){return t._refresh()}))),a.isLinux&&e)&&(this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText))},t.prototype._refresh=function(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})},t.prototype.isClickInSelection=function(e){var t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,i=this._model.finalSelectionEnd;return!!(r&&i&&t)&&this._areCoordsInSelection(t,r,i)},t.prototype._areCoordsInSelection=function(e,t,r){return e[1]>t[1]&&e[1]<r[1]||t[1]===r[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<r[0]||t[1]<r[1]&&e[1]===r[1]&&e[0]<r[0]||t[1]<r[1]&&e[1]===t[1]&&e[0]>=t[0]},t.prototype.selectWordAtCursor=function(e){var t=this._getMouseBufferCoords(e);t&&(this._selectWordAt(t,!1),this._model.selectionEnd=void 0,this.refresh(!0))},t.prototype.selectAll=function(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()},t.prototype.selectLines=function(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()},t.prototype._onTrim=function(e){this._model.onTrim(e)&&this.refresh()},t.prototype._getMouseBufferCoords=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t},t.prototype._getMouseEventScrollAmount=function(e){var t=_.getCoordsRelativeToElement(e,this._screenElement)[1],r=this._renderService.dimensions.canvasHeight;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-50),50),(t/=50)/Math.abs(t)+Math.round(14*t))},t.prototype.shouldForceSelection=function(e){return a.isMac?e.altKey&&this._optionsService.options.macOptionClickForcesSelection:e.shiftKey},t.prototype.onMouseDown=function(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}},t.prototype._addMouseDownListeners=function(){var e=this;this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=window.setInterval((function(){return e._dragScroll()}),50)},t.prototype._removeMouseDownListeners=function(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0},t.prototype._onIncrementalClick=function(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))},t.prototype._onSingleClick=function(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),this._model.selectionStart){this._model.selectionEnd=void 0;var t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}},t.prototype._onDoubleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=1,this._selectWordAt(t,!0))},t.prototype._onTripleClick=function(e){var t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))},t.prototype.shouldColumnSelect=function(e){return e.altKey&&!(a.isMac&&this._optionsService.options.macOptionClickForcesSelection)},t.prototype._onMouseMove=function(e){if(e.stopImmediatePropagation(),this._model.selectionStart){var t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),this._model.selectionEnd){2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));var r=this._bufferService.buffer;if(this._model.selectionEnd[1]<r.lines.length){var i=r.lines.get(this._model.selectionEnd[1]);i&&0===i.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]++}t&&t[0]===this._model.selectionEnd[0]&&t[1]===this._model.selectionEnd[1]||this.refresh(!0)}else this.refresh(!0)}},t.prototype._dragScroll=function(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});var e=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}},t.prototype._onMouseUp=function(e){var t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){var r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&void 0!==r[0]&&void 0!==r[1]){var i=d.moveToCellSequence(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(i,!0)}}}else this.hasSelection&&this._onSelectionChange.fire()},t.prototype._onBufferActivate=function(e){var t=this;this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((function(e){return t._onTrim(e)}))},t.prototype._convertViewportColToCharacterIndex=function(e,t){for(var r=t[0],i=0;t[0]>=i;i++){var n=e.loadCell(i,this._workCell).getChars().length;0===this._workCell.getWidth()?r--:n>1&&t[0]!==i&&(r+=n-1)}return r},t.prototype.setSelection=function(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh()},t.prototype._getWordAt=function(e,t,r,i){if(void 0===r&&(r=!0),void 0===i&&(i=!0),!(e[0]>=this._bufferService.cols)){var n=this._bufferService.buffer,o=n.lines.get(e[1]);if(o){var s=n.translateBufferLineToString(e[1],!1),a=this._convertViewportColToCharacterIndex(o,e),c=a,l=e[0]-a,h=0,u=0,f=0,_=0;if(" "===s.charAt(a)){for(;a>0&&" "===s.charAt(a-1);)a--;for(;c<s.length&&" "===s.charAt(c+1);)c++}else{var d=e[0],p=e[0];0===o.getWidth(d)&&(h++,d--),2===o.getWidth(p)&&(u++,p++);var v=o.getString(p).length;for(v>1&&(_+=v-1,c+=v-1);d>0&&a>0&&!this._isCharWordSeparator(o.loadCell(d-1,this._workCell));){o.loadCell(d-1,this._workCell);var g=this._workCell.getChars().length;0===this._workCell.getWidth()?(h++,d--):g>1&&(f+=g-1,a-=g-1),a--,d--}for(;p<o.length&&c+1<s.length&&!this._isCharWordSeparator(o.loadCell(p+1,this._workCell));){o.loadCell(p+1,this._workCell);var y=this._workCell.getChars().length;2===this._workCell.getWidth()?(u++,p++):y>1&&(_+=y-1,c+=y-1),c++,p++}}c++;var b=a+l-h+f,S=Math.min(this._bufferService.cols,c-a+h+u-f-_);if(t||""!==s.slice(a,c).trim()){if(r&&0===b&&32!==o.getCodePoint(0)){var m=n.lines.get(e[1]-1);if(m&&o.isWrapped&&32!==m.getCodePoint(this._bufferService.cols-1)){var C=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(C){var w=this._bufferService.cols-C.start;b-=w,S+=w}}}if(i&&b+S===this._bufferService.cols&&32!==o.getCodePoint(this._bufferService.cols-1)){var E=n.lines.get(e[1]+1);if(E&&E.isWrapped&&32!==E.getCodePoint(0)){var L=this._getWordAt([0,e[1]+1],!1,!1,!0);L&&(S+=L.length)}}return{start:b,length:S}}}}},t.prototype._selectWordAt=function(e,t){var r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}},t.prototype._selectToWordAt=function(e){var t=this._getWordAt(e,!0);if(t){for(var r=e[1];t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}},t.prototype._isCharWordSeparator=function(e){return 0!==e.getWidth()&&this._optionsService.options.wordSeparator.indexOf(e.getChars())>=0},t.prototype._selectLineAt=function(e){var t=this._bufferService.buffer.getWrappedRangeForLine(e);this._model.selectionStart=[0,t.first],this._model.selectionEnd=[this._bufferService.cols,t.last],this._model.selectionStartLength=0},t=o([s(2,f.IBufferService),s(3,f.ICoreService),s(4,u.IMouseService),s(5,f.IOptionsService),s(6,u.IRenderService)],t)}(p.Disposable);t.SelectionService=y},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0;var i=function(){function e(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}return e.prototype.clearSelection=function(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0},Object.defineProperty(e.prototype,"finalSelectionStart",{get:function(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"finalSelectionEnd",{get:function(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){var e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}return this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]?[Math.max(this.selectionStart[0]+this.selectionStartLength,this.selectionEnd[0]),this.selectionEnd[1]]:this.selectionEnd}},enumerable:!1,configurable:!0}),e.prototype.areSelectionValuesReversed=function(){var e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])},e.prototype.onTrim=function(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)},e}();t.SelectionModel=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;var i=r(12);function n(e,t,r,i){var n=e-o(r,e),a=t-o(r,t);return l(Math.abs(n-a)-function(e,t,r){for(var i=0,n=e-o(r,e),a=t-o(r,t),c=0;c<Math.abs(n-a);c++){var l="A"===s(e,t)?-1:1,h=r.buffer.lines.get(n+l*c);h&&h.isWrapped&&i++}return i}(e,t,r),c(s(e,t),i))}function o(e,t){for(var r=0,i=e.buffer.lines.get(t),n=i&&i.isWrapped;n&&t>=0&&t<e.rows;)r++,n=(i=e.buffer.lines.get(--t))&&i.isWrapped;return r}function s(e,t){return e>t?"A":"B"}function a(e,t,r,i,n,o){for(var s=e,a=t,c="";s!==r||a!==i;)s+=n?1:-1,n&&s>o.cols-1?(c+=o.buffer.translateBufferLineToString(a,!1,e,s),s=0,e=0,a++):!n&&s<0&&(c+=o.buffer.translateBufferLineToString(a,!1,0,e+1),e=s=o.cols-1,a--);return c+o.buffer.translateBufferLineToString(a,!1,e,s)}function c(e,t){var r=t?"O":"[";return i.C0.ESC+r+e}function l(e,t){e=Math.floor(e);for(var r="",i=0;i<e;i++)r+=t;return r}t.moveToCellSequence=function(e,t,r,i){var s,h=r.buffer.x,u=r.buffer.y;if(!r.buffer.hasScrollback)return function(e,t,r,i,s,h){if(0===n(t,i,s,h).length)return"";return l(a(e,t,e,t-o(s,t),!1,s).length,c("D",h))}(h,u,0,t,r,i)+n(u,t,r,i)+function(e,t,r,i,s,h){var u;u=n(t,i,s,h).length>0?i-o(s,i):t;var f=i,_=function(e,t,r,i,s,a){var c;c=n(r,i,s,a).length>0?i-o(s,i):t;if(e<r&&c<=i||e>=r&&c<i)return"C";return"D"}(e,t,r,i,s,h);return l(a(e,u,r,f,"C"===_,s).length,c(_,h))}(h,u,e,t,r,i);if(u===t)return s=h>e?"D":"C",l(Math.abs(h-e),c(s,i));s=u>t?"D":"C";var f=Math.abs(u-t);return l(function(e,t){return t.cols-e}(u>t?e:h,r)+(f-1)*r.cols+1+((u>t?h:e)-1),c(s,i))}},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SoundService=void 0;var o=r(1),s=function(){function e(e){this._optionsService=e}return Object.defineProperty(e,"audioContext",{get:function(){if(!e._audioContext){var t=window.AudioContext||window.webkitAudioContext;if(!t)return console.warn("Web Audio API is not supported by this browser. Consider upgrading to the latest version"),null;e._audioContext=new t}return e._audioContext},enumerable:!1,configurable:!0}),e.prototype.playBellSound=function(){var t=e.audioContext;if(t){var r=t.createBufferSource();t.decodeAudioData(this._base64ToArrayBuffer(this._removeMimeType(this._optionsService.options.bellSound)),(function(e){r.buffer=e,r.connect(t.destination),r.start(0)}))}},e.prototype._base64ToArrayBuffer=function(e){for(var t=window.atob(e),r=t.length,i=new Uint8Array(r),n=0;n<r;n++)i[n]=t.charCodeAt(n);return i.buffer},e.prototype._removeMimeType=function(e){return e.split(",")[1]},e=i([n(0,o.IOptionsService)],e)}();t.SoundService=s},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseZoneManager=void 0;var a=r(2),c=r(7),l=r(5),h=r(1),u=function(e){function t(t,r,i,n,o,s){var a=e.call(this)||this;return a._element=t,a._screenElement=r,a._bufferService=i,a._mouseService=n,a._selectionService=o,a._optionsService=s,a._zones=[],a._areZonesActive=!1,a._lastHoverCoords=[void 0,void 0],a._initialSelectionLength=0,a.register(c.addDisposableDomListener(a._element,"mousedown",(function(e){return a._onMouseDown(e)}))),a._mouseMoveListener=function(e){return a._onMouseMove(e)},a._mouseLeaveListener=function(e){return a._onMouseLeave(e)},a._clickListener=function(e){return a._onClick(e)},a}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),this._deactivate()},t.prototype.add=function(e){this._zones.push(e),1===this._zones.length&&this._activate()},t.prototype.clearAll=function(e,t){if(0!==this._zones.length){e&&t||(e=0,t=this._bufferService.rows-1);for(var r=0;r<this._zones.length;r++){var i=this._zones[r];(i.y1>e&&i.y1<=t+1||i.y2>e&&i.y2<=t+1||i.y1<e&&i.y2>t+1)&&(this._currentZone&&this._currentZone===i&&(this._currentZone.leaveCallback(),this._currentZone=void 0),this._zones.splice(r--,1))}0===this._zones.length&&this._deactivate()}},t.prototype._activate=function(){this._areZonesActive||(this._areZonesActive=!0,this._element.addEventListener("mousemove",this._mouseMoveListener),this._element.addEventListener("mouseleave",this._mouseLeaveListener),this._element.addEventListener("click",this._clickListener))},t.prototype._deactivate=function(){this._areZonesActive&&(this._areZonesActive=!1,this._element.removeEventListener("mousemove",this._mouseMoveListener),this._element.removeEventListener("mouseleave",this._mouseLeaveListener),this._element.removeEventListener("click",this._clickListener))},t.prototype._onMouseMove=function(e){this._lastHoverCoords[0]===e.pageX&&this._lastHoverCoords[1]===e.pageY||(this._onHover(e),this._lastHoverCoords=[e.pageX,e.pageY])},t.prototype._onHover=function(e){var t=this,r=this._findZoneEventAt(e);r!==this._currentZone&&(this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout)),r&&(this._currentZone=r,r.hoverCallback&&r.hoverCallback(e),this._tooltipTimeout=window.setTimeout((function(){return t._onTooltip(e)}),this._optionsService.options.linkTooltipHoverDuration)))},t.prototype._onTooltip=function(e){this._tooltipTimeout=void 0;var t=this._findZoneEventAt(e);t&&t.tooltipCallback&&t.tooltipCallback(e)},t.prototype._onMouseDown=function(e){if(this._initialSelectionLength=this._getSelectionLength(),this._areZonesActive){var t=this._findZoneEventAt(e);(null==t?void 0:t.willLinkActivate(e))&&(e.preventDefault(),e.stopImmediatePropagation())}},t.prototype._onMouseLeave=function(e){this._currentZone&&(this._currentZone.leaveCallback(),this._currentZone=void 0,this._tooltipTimeout&&clearTimeout(this._tooltipTimeout))},t.prototype._onClick=function(e){var t=this._findZoneEventAt(e),r=this._getSelectionLength();t&&r===this._initialSelectionLength&&(t.clickCallback(e),e.preventDefault(),e.stopImmediatePropagation())},t.prototype._getSelectionLength=function(){var e=this._selectionService.selectionText;return e?e.length:0},t.prototype._findZoneEventAt=function(e){var t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows);if(t)for(var r=t[0],i=t[1],n=0;n<this._zones.length;n++){var o=this._zones[n];if(o.y1===o.y2){if(i===o.y1&&r>=o.x1&&r<o.x2)return o}else if(i===o.y1&&r>=o.x1||i===o.y2&&r<o.x2||i>o.y1&&i<o.y2)return o}},t=o([s(2,h.IBufferService),s(3,l.IMouseService),s(4,l.ISelectionService),s(5,h.IOptionsService)],t)}(a.Disposable);t.MouseZoneManager=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.AccessibilityManager=void 0;var o=r(18),s=r(11),a=r(31),c=r(7),l=r(2),h=r(32),u=r(17),f=function(e){function t(t,r){var i=e.call(this)||this;i._terminal=t,i._renderService=r,i._liveRegionLineCount=0,i._charsToConsume=[],i._charsToAnnounce="",i._accessibilityTreeRoot=document.createElement("div"),i._accessibilityTreeRoot.classList.add("xterm-accessibility"),i._rowContainer=document.createElement("div"),i._rowContainer.classList.add("xterm-accessibility-tree"),i._rowContainer.setAttribute("role","list"),i._rowElements=[];for(var n=0;n<i._terminal.rows;n++)i._rowElements[n]=i._createAccessibilityTreeNode(),i._rowContainer.appendChild(i._rowElements[n]);if(i._topBoundaryFocusListener=function(e){return i._onBoundaryFocus(e,0)},i._bottomBoundaryFocusListener=function(e){return i._onBoundaryFocus(e,1)},i._rowElements[0].addEventListener("focus",i._topBoundaryFocusListener),i._rowElements[i._rowElements.length-1].addEventListener("focus",i._bottomBoundaryFocusListener),i._refreshRowsDimensions(),i._accessibilityTreeRoot.appendChild(i._rowContainer),i._renderRowsDebouncer=new a.RenderDebouncer(i._renderRows.bind(i)),i._refreshRows(),i._liveRegion=document.createElement("div"),i._liveRegion.classList.add("live-region"),i._liveRegion.setAttribute("aria-live","assertive"),i._accessibilityTreeRoot.appendChild(i._liveRegion),!i._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");return i._terminal.element.insertAdjacentElement("afterbegin",i._accessibilityTreeRoot),i.register(i._renderRowsDebouncer),i.register(i._terminal.onResize((function(e){return i._onResize(e.rows)}))),i.register(i._terminal.onRender((function(e){return i._refreshRows(e.start,e.end)}))),i.register(i._terminal.onScroll((function(){return i._refreshRows()}))),i.register(i._terminal.onA11yChar((function(e){return i._onChar(e)}))),i.register(i._terminal.onLineFeed((function(){return i._onChar("\\n")}))),i.register(i._terminal.onA11yTab((function(e){return i._onTab(e)}))),i.register(i._terminal.onKey((function(e){return i._onKey(e.key)}))),i.register(i._terminal.onBlur((function(){return i._clearLiveRegion()}))),i.register(i._renderService.onDimensionsChange((function(){return i._refreshRowsDimensions()}))),i._screenDprMonitor=new h.ScreenDprMonitor,i.register(i._screenDprMonitor),i._screenDprMonitor.setListener((function(){return i._refreshRowsDimensions()})),i.register(c.addDisposableDomListener(window,"resize",(function(){return i._refreshRowsDimensions()}))),i}return n(t,e),t.prototype.dispose=function(){e.prototype.dispose.call(this),u.removeElementFromParent(this._accessibilityTreeRoot),this._rowElements.length=0},t.prototype._onBoundaryFocus=function(e,t){var r=e.target,i=this._rowElements[0===t?1:this._rowElements.length-2];if(r.getAttribute("aria-posinset")!==(0===t?"1":""+this._terminal.buffer.lines.length)&&e.relatedTarget===i){var n,o;if(0===t?(n=r,o=this._rowElements.pop(),this._rowContainer.removeChild(o)):(n=this._rowElements.shift(),o=r,this._rowContainer.removeChild(n)),n.removeEventListener("focus",this._topBoundaryFocusListener),o.removeEventListener("focus",this._bottomBoundaryFocusListener),0===t){var s=this._createAccessibilityTreeNode();this._rowElements.unshift(s),this._rowContainer.insertAdjacentElement("afterbegin",s)}else{s=this._createAccessibilityTreeNode();this._rowElements.push(s),this._rowContainer.appendChild(s)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}},t.prototype._onResize=function(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(var t=this._rowContainer.children.length;t<this._terminal.rows;t++)this._rowElements[t]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[t]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()},t.prototype._createAccessibilityTreeNode=function(){var e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e},t.prototype._onTab=function(e){for(var t=0;t<e;t++)this._onChar(" ")},t.prototype._onChar=function(e){var t=this;if(this._liveRegionLineCount<21){if(this._charsToConsume.length>0)this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e);else this._charsToAnnounce+=e;"\\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=o.tooMuchOutput)),s.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((function(){t._accessibilityTreeRoot.appendChild(t._liveRegion)}),0)}},t.prototype._clearLiveRegion=function(){this._liveRegion.textContent="",this._liveRegionLineCount=0,s.isMac&&u.removeElementFromParent(this._liveRegion)},t.prototype._onKey=function(e){this._clearLiveRegion(),this._charsToConsume.push(e)},t.prototype._refreshRows=function(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)},t.prototype._renderRows=function(e,t){for(var r=this._terminal.buffer,i=r.lines.length.toString(),n=e;n<=t;n++){var o=r.translateBufferLineToString(r.ydisp+n,!0),s=(r.ydisp+n+1).toString(),a=this._rowElements[n];a&&(0===o.length?a.innerHTML="&nbsp;":a.textContent=o,a.setAttribute("aria-posinset",s),a.setAttribute("aria-setsize",i))}this._announceCharacters()},t.prototype._refreshRowsDimensions=function(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(var e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e])}},t.prototype._refreshRowDimensions=function(e){e.style.height=this._renderService.dimensions.actualCellHeight+"px"},t.prototype._announceCharacters=function(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")},t}(l.Disposable);t.AccessibilityManager=f},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;var a=r(58),c=r(9),l=r(2),h=r(5),u=r(1),f=r(0),_=r(10),d=r(17),p=1,v=function(e){function t(t,r,i,n,o,s,c,l,h){var u=e.call(this)||this;return u._colors=t,u._element=r,u._screenElement=i,u._viewportElement=n,u._linkifier=o,u._linkifier2=s,u._charSizeService=c,u._optionsService=l,u._bufferService=h,u._terminalClass=p++,u._rowElements=[],u._rowContainer=document.createElement("div"),u._rowContainer.classList.add("xterm-rows"),u._rowContainer.style.lineHeight="normal",u._rowContainer.setAttribute("aria-hidden","true"),u._refreshRowElements(u._bufferService.cols,u._bufferService.rows),u._selectionContainer=document.createElement("div"),u._selectionContainer.classList.add("xterm-selection"),u._selectionContainer.setAttribute("aria-hidden","true"),u.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},u._updateDimensions(),u._injectCss(),u._rowFactory=new a.DomRendererRowFactory(document,u._optionsService,u._colors),u._element.classList.add("xterm-dom-renderer-owner-"+u._terminalClass),u._screenElement.appendChild(u._rowContainer),u._screenElement.appendChild(u._selectionContainer),u._linkifier.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u._linkifier2.onShowLinkUnderline((function(e){return u._onLinkHover(e)})),u._linkifier2.onHideLinkUnderline((function(e){return u._onLinkLeave(e)})),u}return n(t,e),Object.defineProperty(t.prototype,"onRequestRedraw",{get:function(){return(new f.EventEmitter).event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this._element.classList.remove("xterm-dom-renderer-owner-"+this._terminalClass),d.removeElementFromParent(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),e.prototype.dispose.call(this)},t.prototype._updateDimensions=function(){this.dimensions.scaledCharWidth=this._charSizeService.width*window.devicePixelRatio,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*window.devicePixelRatio),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.options.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.options.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/window.devicePixelRatio),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/window.devicePixelRatio),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(var e=0,t=this._rowElements;e<t.length;e++){var r=t[e];r.style.width=this.dimensions.canvasWidth+"px",r.style.height=this.dimensions.actualCellHeight+"px",r.style.lineHeight=this.dimensions.actualCellHeight+"px",r.style.overflow="hidden"}this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));var i=this._terminalSelector+" .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: "+this.dimensions.actualCellWidth+"px}";this._dimensionsStyleElement.innerHTML=i,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=this.dimensions.canvasWidth+"px",this._screenElement.style.height=this.dimensions.canvasHeight+"px"},t.prototype.setColors=function(e){this._colors=e,this._injectCss()},t.prototype._injectCss=function(){var e=this;this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));var t=this._terminalSelector+" .xterm-rows { color: "+this._colors.foreground.css+"; font-family: "+this._optionsService.options.fontFamily+"; font-size: "+this._optionsService.options.fontSize+"px;}";t+=this._terminalSelector+" span:not(."+a.BOLD_CLASS+") { font-weight: "+this._optionsService.options.fontWeight+";}"+this._terminalSelector+" span."+a.BOLD_CLASS+" { font-weight: "+this._optionsService.options.fontWeightBold+";}"+this._terminalSelector+" span."+a.ITALIC_CLASS+" { font-style: italic;}",t+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",t+="@keyframes blink_block_"+this._terminalClass+" { 0% { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+"; } 50% { background-color: "+this._colors.cursorAccent.css+"; color: "+this._colors.cursor.css+"; }}",t+=this._terminalSelector+" .xterm-rows:not(.xterm-focus) ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { outline: 1px solid "+this._colors.cursor.css+"; outline-offset: -1px;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+":not(."+a.CURSOR_STYLE_BLOCK_CLASS+") { animation: blink_box_shadow_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_BLINK_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { animation: blink_block_"+this._terminalClass+" 1s step-end infinite;}"+this._terminalSelector+" .xterm-rows.xterm-focus ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BLOCK_CLASS+" { background-color: "+this._colors.cursor.css+"; color: "+this._colors.cursorAccent.css+";}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_BAR_CLASS+" { box-shadow: "+this._optionsService.options.cursorWidth+"px 0 0 "+this._colors.cursor.css+" inset;}"+this._terminalSelector+" .xterm-rows ."+a.CURSOR_CLASS+"."+a.CURSOR_STYLE_UNDERLINE_CLASS+" { box-shadow: 0 -1px 0 "+this._colors.cursor.css+" inset;}",t+=this._terminalSelector+" .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}"+this._terminalSelector+" .xterm-selection div { position: absolute; background-color: "+this._colors.selectionTransparent.css+";}",this._colors.ansi.forEach((function(r,i){t+=e._terminalSelector+" .xterm-fg-"+i+" { color: "+r.css+"; }"+e._terminalSelector+" .xterm-bg-"+i+" { background-color: "+r.css+"; }"})),t+=this._terminalSelector+" .xterm-fg-"+c.INVERTED_DEFAULT_COLOR+" { color: "+_.color.opaque(this._colors.background).css+"; }"+this._terminalSelector+" .xterm-bg-"+c.INVERTED_DEFAULT_COLOR+" { background-color: "+this._colors.foreground.css+"; }",this._themeStyleElement.innerHTML=t},t.prototype.onDevicePixelRatioChange=function(){this._updateDimensions()},t.prototype._refreshRowElements=function(e,t){for(var r=this._rowElements.length;r<=t;r++){var i=document.createElement("div");this._rowContainer.appendChild(i),this._rowElements.push(i)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())},t.prototype.onResize=function(e,t){this._refreshRowElements(e,t),this._updateDimensions()},t.prototype.onCharSizeChanged=function(){this._updateDimensions()},t.prototype.onBlur=function(){this._rowContainer.classList.remove("xterm-focus")},t.prototype.onFocus=function(){this._rowContainer.classList.add("xterm-focus")},t.prototype.onSelectionChanged=function(e,t,r){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(e&&t){var i=e[1]-this._bufferService.buffer.ydisp,n=t[1]-this._bufferService.buffer.ydisp,o=Math.max(i,0),s=Math.min(n,this._bufferService.rows-1);if(!(o>=this._bufferService.rows||s<0)){var a=document.createDocumentFragment();if(r)a.appendChild(this._createSelectionElement(o,e[0],t[0],s-o+1));else{var c=i===o?e[0]:0,l=o===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,c,l));var h=s-o-1;if(a.appendChild(this._createSelectionElement(o+1,0,this._bufferService.cols,h)),o!==s){var u=n===s?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(s,0,u))}}this._selectionContainer.appendChild(a)}}},t.prototype._createSelectionElement=function(e,t,r,i){void 0===i&&(i=1);var n=document.createElement("div");return n.style.height=i*this.dimensions.actualCellHeight+"px",n.style.top=e*this.dimensions.actualCellHeight+"px",n.style.left=t*this.dimensions.actualCellWidth+"px",n.style.width=this.dimensions.actualCellWidth*(r-t)+"px",n},t.prototype.onCursorMove=function(){},t.prototype.onOptionsChanged=function(){this._updateDimensions(),this._injectCss()},t.prototype.clear=function(){for(var e=0,t=this._rowElements;e<t.length;e++){t[e].innerHTML=""}},t.prototype.renderRows=function(e,t){for(var r=this._bufferService.buffer.ybase+this._bufferService.buffer.y,i=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),n=this._optionsService.options.cursorBlink,o=e;o<=t;o++){var s=this._rowElements[o];s.innerHTML="";var a=o+this._bufferService.buffer.ydisp,c=this._bufferService.buffer.lines.get(a),l=this._optionsService.options.cursorStyle;s.appendChild(this._rowFactory.createRow(c,a===r,l,i,n,this.dimensions.actualCellWidth,this._bufferService.cols))}},Object.defineProperty(t.prototype,"_terminalSelector",{get:function(){return".xterm-dom-renderer-owner-"+this._terminalClass},enumerable:!1,configurable:!0}),t.prototype.registerCharacterJoiner=function(e){return-1},t.prototype.deregisterCharacterJoiner=function(e){return!1},t.prototype._onLinkHover=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)},t.prototype._onLinkLeave=function(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)},t.prototype._setCellUnderline=function(e,t,r,i,n,o){for(;e!==t||r!==i;){var s=this._rowElements[r];if(!s)return;var a=s.children[e];a&&(a.style.textDecoration=o?"underline":"none"),++e>=n&&(e=0,r++)}},t=o([s(6,h.ICharSizeService),s(7,u.IOptionsService),s(8,u.IBufferService)],t)}(l.Disposable);t.DomRenderer=v},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;var i=r(9),n=r(3),o=r(4),s=r(10);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";var a=function(){function e(e,t,r){this._document=e,this._optionsService=t,this._colors=r,this._workCell=new o.CellData}return e.prototype.setColors=function(e){this._colors=e},e.prototype.createRow=function(e,r,o,a,l,h,u){for(var f=this._document.createDocumentFragment(),_=0,d=Math.min(e.length,u)-1;d>=0;d--)if(e.loadCell(d,this._workCell).getCode()!==n.NULL_CELL_CODE||r&&d===a){_=d+1;break}for(d=0;d<_;d++){e.loadCell(d,this._workCell);var p=this._workCell.getWidth();if(0!==p){var v=this._document.createElement("span");if(p>1&&(v.style.width=h*p+"px"),r&&d===a)switch(v.classList.add(t.CURSOR_CLASS),l&&v.classList.add(t.CURSOR_BLINK_CLASS),o){case"bar":v.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":v.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:v.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}this._workCell.isBold()&&v.classList.add(t.BOLD_CLASS),this._workCell.isItalic()&&v.classList.add(t.ITALIC_CLASS),this._workCell.isDim()&&v.classList.add(t.DIM_CLASS),this._workCell.isUnderline()&&v.classList.add(t.UNDERLINE_CLASS),this._workCell.isInvisible()?v.textContent=n.WHITESPACE_CELL_CHAR:v.textContent=this._workCell.getChars()||n.WHITESPACE_CELL_CHAR;var g=this._workCell.getFgColor(),y=this._workCell.getFgColorMode(),b=this._workCell.getBgColor(),S=this._workCell.getBgColorMode(),m=!!this._workCell.isInverse();if(m){var C=g;g=b,b=C;var w=y;y=S,S=w}switch(y){case 16777216:case 33554432:this._workCell.isBold()&&g<8&&this._optionsService.options.drawBoldTextInBrightColors&&(g+=8),this._applyMinimumContrast(v,this._colors.background,this._colors.ansi[g])||v.classList.add("xterm-fg-"+g);break;case 50331648:var E=s.rgba.toColor(g>>16&255,g>>8&255,255&g);this._applyMinimumContrast(v,this._colors.background,E)||this._addStyle(v,"color:#"+c(g.toString(16),"0",6));break;case 0:default:this._applyMinimumContrast(v,this._colors.background,this._colors.foreground)||m&&v.classList.add("xterm-fg-"+i.INVERTED_DEFAULT_COLOR)}switch(S){case 16777216:case 33554432:v.classList.add("xterm-bg-"+b);break;case 50331648:this._addStyle(v,"background-color:#"+c(b.toString(16),"0",6));break;case 0:default:m&&v.classList.add("xterm-bg-"+i.INVERTED_DEFAULT_COLOR)}f.appendChild(v)}}return f},e.prototype._applyMinimumContrast=function(e,t,r){if(1===this._optionsService.options.minimumContrastRatio)return!1;var i=this._colors.contrastCache.getColor(this._workCell.bg,this._workCell.fg);return void 0===i&&(i=s.color.ensureContrastRatio(t,r,this._optionsService.options.minimumContrastRatio),this._colors.contrastCache.setColor(this._workCell.bg,this._workCell.fg,null!=i?i:null)),!!i&&(this._addStyle(e,"color:"+i.css),!0)},e.prototype._addStyle=function(e,t){e.setAttribute("style",""+(e.getAttribute("style")||"")+t+";")},e}();function c(e,t,r){for(;e.length<r;)e=t+e;return e}t.DomRendererRowFactory=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateKeyboardEvent=void 0;var i=r(12),n={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\\\","|"],221:["]","}"],222:["\'",\'"\']};t.evaluateKeyboardEvent=function(e,t,r,o){var s={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B");break;case 8:if(e.shiftKey){s.key=i.C0.BS;break}if(e.altKey){s.key=i.C0.ESC+i.C0.DEL;break}s.key=i.C0.DEL;break;case 9:if(e.shiftKey){s.key=i.C0.ESC+"[Z";break}s.key=i.C0.HT,s.cancel=!0;break;case 13:s.key=e.altKey?i.C0.ESC+i.C0.CR:i.C0.CR,s.cancel=!0;break;case 27:s.key=i.C0.ESC,e.altKey&&(s.key=i.C0.ESC+i.C0.ESC),s.cancel=!0;break;case 37:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"D",s.key===i.C0.ESC+"[1;3D"&&(s.key=i.C0.ESC+(r?"b":"[1;5D"))):s.key=t?i.C0.ESC+"OD":i.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"C",s.key===i.C0.ESC+"[1;3C"&&(s.key=i.C0.ESC+(r?"f":"[1;5C"))):s.key=t?i.C0.ESC+"OC":i.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"A",r||s.key!==i.C0.ESC+"[1;3A"||(s.key=i.C0.ESC+"[1;5A")):s.key=t?i.C0.ESC+"OA":i.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(s.key=i.C0.ESC+"[1;"+(a+1)+"B",r||s.key!==i.C0.ESC+"[1;3B"||(s.key=i.C0.ESC+"[1;5B")):s.key=t?i.C0.ESC+"OB":i.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(s.key=i.C0.ESC+"[2~");break;case 46:s.key=a?i.C0.ESC+"[3;"+(a+1)+"~":i.C0.ESC+"[3~";break;case 36:s.key=a?i.C0.ESC+"[1;"+(a+1)+"H":t?i.C0.ESC+"OH":i.C0.ESC+"[H";break;case 35:s.key=a?i.C0.ESC+"[1;"+(a+1)+"F":t?i.C0.ESC+"OF":i.C0.ESC+"[F";break;case 33:e.shiftKey?s.type=2:s.key=i.C0.ESC+"[5~";break;case 34:e.shiftKey?s.type=3:s.key=i.C0.ESC+"[6~";break;case 112:s.key=a?i.C0.ESC+"[1;"+(a+1)+"P":i.C0.ESC+"OP";break;case 113:s.key=a?i.C0.ESC+"[1;"+(a+1)+"Q":i.C0.ESC+"OQ";break;case 114:s.key=a?i.C0.ESC+"[1;"+(a+1)+"R":i.C0.ESC+"OR";break;case 115:s.key=a?i.C0.ESC+"[1;"+(a+1)+"S":i.C0.ESC+"OS";break;case 116:s.key=a?i.C0.ESC+"[15;"+(a+1)+"~":i.C0.ESC+"[15~";break;case 117:s.key=a?i.C0.ESC+"[17;"+(a+1)+"~":i.C0.ESC+"[17~";break;case 118:s.key=a?i.C0.ESC+"[18;"+(a+1)+"~":i.C0.ESC+"[18~";break;case 119:s.key=a?i.C0.ESC+"[19;"+(a+1)+"~":i.C0.ESC+"[19~";break;case 120:s.key=a?i.C0.ESC+"[20;"+(a+1)+"~":i.C0.ESC+"[20~";break;case 121:s.key=a?i.C0.ESC+"[21;"+(a+1)+"~":i.C0.ESC+"[21~";break;case 122:s.key=a?i.C0.ESC+"[23;"+(a+1)+"~":i.C0.ESC+"[23~";break;case 123:s.key=a?i.C0.ESC+"[24;"+(a+1)+"~":i.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(r&&!o||!e.altKey||e.metaKey)r&&!e.altKey&&!e.ctrlKey&&e.metaKey?65===e.keyCode&&(s.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?s.key=e.key:e.key&&e.ctrlKey&&"_"===e.key&&(s.key=i.C0.US);else{var c=n[e.keyCode],l=c&&c[e.shiftKey?1:0];if(l)s.key=i.C0.ESC+l;else if(e.keyCode>=65&&e.keyCode<=90){var h=e.ctrlKey?e.keyCode-64:e.keyCode+32;s.key=i.C0.ESC+String.fromCharCode(h)}}else e.keyCode>=65&&e.keyCode<=90?s.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?s.key=i.C0.NUL:e.keyCode>=51&&e.keyCode<=55?s.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?s.key=i.C0.DEL:219===e.keyCode?s.key=i.C0.ESC:220===e.keyCode?s.key=i.C0.FS:221===e.keyCode&&(s.key=i.C0.GS)}return s}},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;var a=r(31),c=r(0),l=r(2),h=r(32),u=r(7),f=r(1),_=r(5),d=function(e){function t(t,r,i,n,o,s){var l=e.call(this)||this;if(l._renderer=t,l._rowCount=r,l._isPaused=!1,l._needsFullRefresh=!1,l._isNextRenderRedrawOnly=!0,l._needsSelectionRefresh=!1,l._canvasWidth=0,l._canvasHeight=0,l._selectionState={start:void 0,end:void 0,columnSelectMode:!1},l._onDimensionsChange=new c.EventEmitter,l._onRender=new c.EventEmitter,l._onRefreshRequest=new c.EventEmitter,l.register({dispose:function(){return l._renderer.dispose()}}),l._renderDebouncer=new a.RenderDebouncer((function(e,t){return l._renderRows(e,t)})),l.register(l._renderDebouncer),l._screenDprMonitor=new h.ScreenDprMonitor,l._screenDprMonitor.setListener((function(){return l.onDevicePixelRatioChange()})),l.register(l._screenDprMonitor),l.register(s.onResize((function(e){return l._fullRefresh()}))),l.register(n.onOptionChange((function(){return l._renderer.onOptionsChanged()}))),l.register(o.onCharSizeChange((function(){return l.onCharSizeChanged()}))),l._renderer.onRequestRedraw((function(e){return l.refreshRows(e.start,e.end,!0)})),l.register(u.addDisposableDomListener(window,"resize",(function(){return l.onDevicePixelRatioChange()}))),"IntersectionObserver"in window){var f=new IntersectionObserver((function(e){return l._onIntersectionChange(e[e.length-1])}),{threshold:0});f.observe(i),l.register({dispose:function(){return f.disconnect()}})}return l}return n(t,e),Object.defineProperty(t.prototype,"onDimensionsChange",{get:function(){return this._onDimensionsChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRenderedBufferChange",{get:function(){return this._onRender.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onRefreshRequest",{get:function(){return this._onRefreshRequest.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dimensions",{get:function(){return this._renderer.dimensions},enumerable:!1,configurable:!0}),t.prototype._onIntersectionChange=function(e){this._isPaused=0===e.intersectionRatio,!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)},t.prototype.refreshRows=function(e,t,r){void 0===r&&(r=!1),this._isPaused?this._needsFullRefresh=!0:(r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))},t.prototype._renderRows=function(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0},t.prototype.resize=function(e,t){this._rowCount=t,this._fireOnCanvasResize()},t.prototype.changeOptions=function(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()},t.prototype._fireOnCanvasResize=function(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)},t.prototype.dispose=function(){e.prototype.dispose.call(this)},t.prototype.setRenderer=function(e){var t=this;this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((function(e){return t.refreshRows(e.start,e.end,!0)})),this._needsSelectionRefresh=!0,this._fullRefresh()},t.prototype._fullRefresh=function(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)},t.prototype.setColors=function(e){this._renderer.setColors(e),this._fullRefresh()},t.prototype.onDevicePixelRatioChange=function(){this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)},t.prototype.onResize=function(e,t){this._renderer.onResize(e,t),this._fullRefresh()},t.prototype.onCharSizeChanged=function(){this._renderer.onCharSizeChanged()},t.prototype.onBlur=function(){this._renderer.onBlur()},t.prototype.onFocus=function(){this._renderer.onFocus()},t.prototype.onSelectionChanged=function(e,t,r){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,this._renderer.onSelectionChanged(e,t,r)},t.prototype.onCursorMove=function(){this._renderer.onCursorMove()},t.prototype.clear=function(){this._renderer.clear()},t.prototype.registerCharacterJoiner=function(e){return this._renderer.registerCharacterJoiner(e)},t.prototype.deregisterCharacterJoiner=function(e){return this._renderer.deregisterCharacterJoiner(e)},t=o([s(3,f.IOptionsService),s(4,_.ICharSizeService),s(5,f.IBufferService)],t)}(l.Disposable);t.RenderService=d},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;var o=r(1),s=r(0),a=function(){function e(e,t,r){this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=new s.EventEmitter,this._measureStrategy=new c(e,t,this._optionsService)}return Object.defineProperty(e.prototype,"hasValidSize",{get:function(){return this.width>0&&this.height>0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onCharSizeChange",{get:function(){return this._onCharSizeChange.event},enumerable:!1,configurable:!0}),e.prototype.measure=function(){var e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())},e=i([n(2,o.IOptionsService)],e)}();t.CharSizeService=a;var c=function(){function e(e,t,r){this._document=e,this._parentElement=t,this._optionsService=r,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}return e.prototype.measure=function(){this._measureElement.style.fontFamily=this._optionsService.options.fontFamily,this._measureElement.style.fontSize=this._optionsService.options.fontSize+"px";var e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result},e}()},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;var o=r(5),s=r(30),a=function(){function e(e,t){this._renderService=e,this._charSizeService=t}return e.prototype.getCoords=function(e,t,r,i,n){return s.getCoords(e,t,r,i,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,n)},e.prototype.getRawByteCoords=function(e,t,r,i){var n=this.getCoords(e,t,r,i);return s.getRawByteCoords(n)},e=i([n(0,o.IRenderService),n(1,o.ICharSizeService)],e)}();t.MouseService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;var a=r(1),c=r(0),l=r(2),h=r(7),u=function(e){function t(t){var r=e.call(this)||this;return r._bufferService=t,r._linkProviders=[],r._linkCacheDisposables=[],r._isMouseOut=!0,r._activeLine=-1,r._onShowLinkUnderline=r.register(new c.EventEmitter),r._onHideLinkUnderline=r.register(new c.EventEmitter),r.register(l.getDisposeArrayDisposable(r._linkCacheDisposables)),r}return n(t,e),Object.defineProperty(t.prototype,"onShowLinkUnderline",{get:function(){return this._onShowLinkUnderline.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onHideLinkUnderline",{get:function(){return this._onHideLinkUnderline.event},enumerable:!1,configurable:!0}),t.prototype.registerLinkProvider=function(e){var t=this;return this._linkProviders.push(e),{dispose:function(){var r=t._linkProviders.indexOf(e);-1!==r&&t._linkProviders.splice(r,1)}}},t.prototype.attachToDom=function(e,t,r){var i=this;this._element=e,this._mouseService=t,this._renderService=r,this.register(h.addDisposableDomListener(this._element,"mouseleave",(function(){i._isMouseOut=!0,i._clearCurrentLink()}))),this.register(h.addDisposableDomListener(this._element,"mousemove",this._onMouseMove.bind(this))),this.register(h.addDisposableDomListener(this._element,"click",this._onClick.bind(this)))},t.prototype._onMouseMove=function(e){if(this._lastMouseEvent=e,this._element&&this._mouseService){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(t){this._isMouseOut=!1;for(var r=e.composedPath(),i=0;i<r.length;i++){var n=r[i];if(n.classList.contains("xterm"))break;if(n.classList.contains("xterm-hover"))return}this._lastBufferCell&&t.x===this._lastBufferCell.x&&t.y===this._lastBufferCell.y||(this._onHover(t),this._lastBufferCell=t)}}},t.prototype._onHover=function(e){if(this._activeLine!==e.y)return this._clearCurrentLink(),void this._askForLink(e,!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))},t.prototype._askForLink=function(e,t){var r=this;this._activeProviderReplies&&t||(this._activeProviderReplies=new Map,this._activeLine=e.y);var i=!1;this._linkProviders.forEach((function(n,o){var s;t?(null===(s=r._activeProviderReplies)||void 0===s?void 0:s.get(o))&&(i=r._checkLinkProviderResult(o,e,i)):n.provideLinks(e.y,(function(t){var n,s;if(!r._isMouseOut){var a=null==t?void 0:t.map((function(e){return{link:e}}));null===(n=r._activeProviderReplies)||void 0===n||n.set(o,a),i=r._checkLinkProviderResult(o,e,i),(null===(s=r._activeProviderReplies)||void 0===s?void 0:s.size)===r._linkProviders.length&&r._removeIntersectingLinks(e.y,r._activeProviderReplies)}}))}))},t.prototype._removeIntersectingLinks=function(e,t){for(var r=new Set,i=0;i<t.size;i++){var n=t.get(i);if(n)for(var o=0;o<n.length;o++)for(var s=n[o],a=s.link.range.start.y<e?0:s.link.range.start.x,c=s.link.range.end.y>e?this._bufferService.cols:s.link.range.end.x,l=a;l<=c;l++){if(r.has(l)){n.splice(o--,1);break}r.add(l)}}},t.prototype._checkLinkProviderResult=function(e,t,r){var i,n=this;if(!this._activeProviderReplies)return r;for(var o=this._activeProviderReplies.get(e),s=!1,a=0;a<e;a++)this._activeProviderReplies.has(a)&&!this._activeProviderReplies.get(a)||(s=!0);if(!s&&o){var c=o.find((function(e){return n._linkAtPosition(e.link,t)}));c&&(r=!0,this._handleNewLink(c))}if(this._activeProviderReplies.size===this._linkProviders.length&&!r)for(a=0;a<this._activeProviderReplies.size;a++){var l=null===(i=this._activeProviderReplies.get(a))||void 0===i?void 0:i.find((function(e){return n._linkAtPosition(e.link,t)}));if(l){r=!0,this._handleNewLink(l);break}}return r},t.prototype._onClick=function(e){if(this._element&&this._mouseService&&this._currentLink){var t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}},t.prototype._clearCurrentLink=function(e,t){this._element&&this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,l.disposeArray(this._linkCacheDisposables))},t.prototype._handleNewLink=function(e){var t=this;if(this._element&&this._lastMouseEvent&&this._mouseService){var r=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);r&&this._linkAtPosition(e.link,r)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.pointerCursor},set:function(e){var r,i;(null===(r=t._currentLink)||void 0===r?void 0:r.state)&&t._currentLink.state.decorations.pointerCursor!==e&&(t._currentLink.state.decorations.pointerCursor=e,t._currentLink.state.isHovered&&(null===(i=t._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:function(){var e,r;return null===(r=null===(e=t._currentLink)||void 0===e?void 0:e.state)||void 0===r?void 0:r.decorations.underline},set:function(r){var i,n,o;(null===(i=t._currentLink)||void 0===i?void 0:i.state)&&(null===(o=null===(n=t._currentLink)||void 0===n?void 0:n.state)||void 0===o?void 0:o.decorations.underline)!==r&&(t._currentLink.state.decorations.underline=r,t._currentLink.state.isHovered&&t._fireUnderlineEvent(e.link,r))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedBufferChange((function(e){var r=0===e.start?0:e.start+1+t._bufferService.buffer.ydisp;t._clearCurrentLink(r,e.end+1+t._bufferService.buffer.ydisp)}))))}},t.prototype._linkHover=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)},t.prototype._fireUnderlineEvent=function(e,t){var r=e.range,i=this._bufferService.buffer.ydisp,n=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-i-1,r.end.x,r.end.y-i-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(n)},t.prototype._linkLeave=function(e,t,r){var i;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)},t.prototype._linkAtPosition=function(e,t){var r=e.range.start.y===e.range.end.y,i=e.range.start.y<t.y,n=e.range.end.y>t.y;return(r&&e.range.start.x<=t.x&&e.range.end.x>=t.x||i&&e.range.end.x>=t.x||n&&e.range.start.x<=t.x||i&&n)&&e.range.start.y<=t.y&&e.range.end.y>=t.y},t.prototype._positionFromMouseEvent=function(e,t,r){var i=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(i)return{x:i[0],y:i[1]+this._bufferService.buffer.ydisp}},t.prototype._createLinkUnderlineEvent=function(e,t,r,i,n){return{x1:e,y1:t,x2:r,y2:i,cols:this._bufferService.cols,fg:n}},t=o([s(0,a.IBufferService)],t)}(l.Disposable);t.Linkifier2=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0;var i=function(){function e(e){this._textarea=e}return Object.defineProperty(e.prototype,"isFocused",{get:function(){return document.activeElement===this._textarea&&document.hasFocus()},enumerable:!1,configurable:!0}),e}();t.CoreBrowserService=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;var o=r(2),s=r(1),a=r(66),c=r(67),l=r(68),h=r(74),u=r(75),f=r(0),_=r(76),d=r(77),p=r(78),v=r(80),g=r(81),y=r(19),b=r(82),S=function(e){function t(t){var r=e.call(this)||this;return r._onBinary=new f.EventEmitter,r._onData=new f.EventEmitter,r._onLineFeed=new f.EventEmitter,r._onResize=new f.EventEmitter,r._onScroll=new f.EventEmitter,r._instantiationService=new a.InstantiationService,r.optionsService=new h.OptionsService(t),r._instantiationService.setService(s.IOptionsService,r.optionsService),r._bufferService=r.register(r._instantiationService.createInstance(l.BufferService)),r._instantiationService.setService(s.IBufferService,r._bufferService),r._logService=r._instantiationService.createInstance(c.LogService),r._instantiationService.setService(s.ILogService,r._logService),r._coreService=r.register(r._instantiationService.createInstance(u.CoreService,(function(){return r.scrollToBottom()}))),r._instantiationService.setService(s.ICoreService,r._coreService),r._coreMouseService=r._instantiationService.createInstance(_.CoreMouseService),r._instantiationService.setService(s.ICoreMouseService,r._coreMouseService),r._dirtyRowService=r._instantiationService.createInstance(d.DirtyRowService),r._instantiationService.setService(s.IDirtyRowService,r._dirtyRowService),r.unicodeService=r._instantiationService.createInstance(p.UnicodeService),r._instantiationService.setService(s.IUnicodeService,r.unicodeService),r._charsetService=r._instantiationService.createInstance(v.CharsetService),r._instantiationService.setService(s.ICharsetService,r._charsetService),r._inputHandler=new y.InputHandler(r._bufferService,r._charsetService,r._coreService,r._dirtyRowService,r._logService,r.optionsService,r._coreMouseService,r.unicodeService),r.register(f.forwardEvent(r._inputHandler.onLineFeed,r._onLineFeed)),r.register(r._inputHandler),r.register(f.forwardEvent(r._bufferService.onResize,r._onResize)),r.register(f.forwardEvent(r._coreService.onData,r._onData)),r.register(f.forwardEvent(r._coreService.onBinary,r._onBinary)),r.register(r.optionsService.onOptionChange((function(e){return r._updateOptions(e)}))),r._writeBuffer=new b.WriteBuffer((function(e){return r._inputHandler.parse(e)})),r}return n(t,e),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onLineFeed",{get:function(){return this._onLineFeed.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onScroll",{get:function(){return this._onScroll.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"cols",{get:function(){return this._bufferService.cols},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rows",{get:function(){return this._bufferService.rows},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"buffers",{get:function(){return this._bufferService.buffers},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){var t;this._isDisposed||(e.prototype.dispose.call(this),null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)},t.prototype.write=function(e,t){this._writeBuffer.write(e,t)},t.prototype.writeSync=function(e){this._writeBuffer.writeSync(e)},t.prototype.resize=function(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,l.MINIMUM_COLS),t=Math.max(t,l.MINIMUM_ROWS),this._bufferService.resize(e,t))},t.prototype.scroll=function(e,t){void 0===t&&(t=!1);var r,i=this._bufferService.buffer;(r=this._cachedBlankLine)&&r.length===this.cols&&r.getFg(0)===e.fg&&r.getBg(0)===e.bg||(r=i.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;var n=i.ybase+i.scrollTop,o=i.ybase+i.scrollBottom;if(0===i.scrollTop){var s=i.lines.isFull;o===i.lines.length-1?s?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(o+1,0,r.clone()),s?this._bufferService.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this._bufferService.isUserScrolling||i.ydisp++)}else{var a=o-n+1;i.lines.shiftElements(n+1,a-1,-1),i.lines.set(o,r.clone())}this._bufferService.isUserScrolling||(i.ydisp=i.ybase),this._dirtyRowService.markRangeDirty(i.scrollTop,i.scrollBottom),this._onScroll.fire(i.ydisp)},t.prototype.scrollLines=function(e,t){var r=this._bufferService.buffer;if(e<0){if(0===r.ydisp)return;this._bufferService.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this._bufferService.isUserScrolling=!1);var i=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),i!==r.ydisp&&(t||this._onScroll.fire(r.ydisp))},t.prototype.scrollPages=function(e){this.scrollLines(e*(this.rows-1))},t.prototype.scrollToTop=function(){this.scrollLines(-this._bufferService.buffer.ydisp)},t.prototype.scrollToBottom=function(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)},t.prototype.scrollToLine=function(e){var t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)},t.prototype.addEscHandler=function(e,t){return this._inputHandler.addEscHandler(e,t)},t.prototype.addDcsHandler=function(e,t){return this._inputHandler.addDcsHandler(e,t)},t.prototype.addCsiHandler=function(e,t){return this._inputHandler.addCsiHandler(e,t)},t.prototype.addOscHandler=function(e,t){return this._inputHandler.addOscHandler(e,t)},t.prototype._setup=function(){this.optionsService.options.windowsMode&&this._enableWindowsMode()},t.prototype.reset=function(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this._coreService.reset(),this._coreMouseService.reset()},t.prototype._updateOptions=function(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.options.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}},t.prototype._enableWindowsMode=function(){var e=this;if(!this._windowsMode){var t=[];t.push(this.onLineFeed(g.updateWindowsModeWrappedState.bind(null,this._bufferService))),t.push(this.addCsiHandler({final:"H"},(function(){return g.updateWindowsModeWrappedState(e._bufferService),!1}))),this._windowsMode={dispose:function(){for(var e=0,r=t;e<r.length;e++){r[e].dispose()}}}}},t}(o.Disposable);t.CoreTerminal=S},function(e,t,r){"use strict";var i=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var i=Array(e),n=0;for(t=0;t<r;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,n++)i[n]=o[s];return i};Object.defineProperty(t,"__esModule",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;var n=r(1),o=r(14),s=function(){function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];this._entries=new Map;for(var r=0,i=e;r<i.length;r++){var n=i[r],o=n[0],s=n[1];this.set(o,s)}}return e.prototype.set=function(e,t){var r=this._entries.get(e);return this._entries.set(e,t),r},e.prototype.forEach=function(e){this._entries.forEach((function(t,r){return e(r,t)}))},e.prototype.has=function(e){return this._entries.has(e)},e.prototype.get=function(e){return this._entries.get(e)},e}();t.ServiceCollection=s;var a=function(){function e(){this._services=new s,this._services.set(n.IInstantiationService,this)}return e.prototype.setService=function(e,t){this._services.set(e,t)},e.prototype.getService=function(e){return this._services.get(e)},e.prototype.createInstance=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];for(var n=o.getServiceDependencies(e).sort((function(e,t){return e.index-t.index})),s=[],a=0,c=n;a<c.length;a++){var l=c[a],h=this._services.get(l.id);if(!h)throw new Error("[createInstance] "+e.name+" depends on UNKNOWN service "+l.id+".");s.push(h)}var u=n.length>0?n[0].index:t.length;if(t.length!==u)throw new Error("[createInstance] First service dependency of "+e.name+" at position "+(u+1)+" conflicts with "+t.length+" static arguments");return new(e.bind.apply(e,i([void 0],i(t,s))))},e}();t.InstantiationService=a},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}},o=this&&this.__spreadArrays||function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var i=Array(e),n=0;for(t=0;t<r;t++)for(var o=arguments[t],s=0,a=o.length;s<a;s++,n++)i[n]=o[s];return i};Object.defineProperty(t,"__esModule",{value:!0}),t.LogService=t.LogLevel=void 0;var s,a=r(1);!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.OFF=4]="OFF"}(s=t.LogLevel||(t.LogLevel={}));var c={debug:s.DEBUG,info:s.INFO,warn:s.WARN,error:s.ERROR,off:s.OFF},l=function(){function e(e){var t=this;this._optionsService=e,this._updateLogLevel(),this._optionsService.onOptionChange((function(e){"logLevel"===e&&t._updateLogLevel()}))}return e.prototype._updateLogLevel=function(){this._logLevel=c[this._optionsService.options.logLevel]},e.prototype._evalLazyOptionalParams=function(e){for(var t=0;t<e.length;t++)"function"==typeof e[t]&&(e[t]=e[t]())},e.prototype._log=function(e,t,r){this._evalLazyOptionalParams(r),e.call.apply(e,o([console,"xterm.js: "+t],r))},e.prototype.debug=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this._logLevel<=s.DEBUG&&this._log(console.log,e,t)},e.prototype.info=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this._logLevel<=s.INFO&&this._log(console.info,e,t)},e.prototype.warn=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this._logLevel<=s.WARN&&this._log(console.warn,e,t)},e.prototype.error=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this._logLevel<=s.ERROR&&this._log(console.error,e,t)},e=i([n(0,a.IOptionsService)],e)}();t.LogService=l},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;var a=r(1),c=r(69),l=r(0),h=r(2);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;var u=function(e){function r(r){var i=e.call(this)||this;return i._optionsService=r,i.isUserScrolling=!1,i._onResize=new l.EventEmitter,i.cols=Math.max(r.options.cols,t.MINIMUM_COLS),i.rows=Math.max(r.options.rows,t.MINIMUM_ROWS),i.buffers=new c.BufferSet(r,i),i}return n(r,e),Object.defineProperty(r.prototype,"onResize",{get:function(){return this._onResize.event},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"buffer",{get:function(){return this.buffers.active},enumerable:!1,configurable:!0}),r.prototype.dispose=function(){e.prototype.dispose.call(this),this.buffers.dispose()},r.prototype.resize=function(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})},r.prototype.reset=function(){this.buffers.dispose(),this.buffers=new c.BufferSet(this._optionsService,this),this.isUserScrolling=!1},r=o([s(0,a.IOptionsService)],r)}(h.Disposable);t.BufferService=u},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;var o=r(70),s=r(0),a=function(e){function t(t,r){var i=e.call(this)||this;return i._onBufferActivate=i.register(new s.EventEmitter),i._normal=new o.Buffer(!0,t,r),i._normal.fillViewportRows(),i._alt=new o.Buffer(!1,t,r),i._activeBuffer=i._normal,i.setupTabStops(),i}return n(t,e),Object.defineProperty(t.prototype,"onBufferActivate",{get:function(){return this._onBufferActivate.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alt",{get:function(){return this._alt},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"active",{get:function(){return this._activeBuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"normal",{get:function(){return this._normal},enumerable:!1,configurable:!0}),t.prototype.activateNormalBuffer=function(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))},t.prototype.activateAltBuffer=function(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))},t.prototype.resize=function(e,t){this._normal.resize(e,t),this._alt.resize(e,t)},t.prototype.setupTabStops=function(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)},t}(r(2).Disposable);t.BufferSet=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;var i=r(71),n=r(16),o=r(4),s=r(3),a=r(72),c=r(73),l=r(20),h=r(6);t.MAX_BUFFER_SIZE=4294967295;var u=function(){function e(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=n.DEFAULT_ATTR_DATA.clone(),this.savedCharset=l.DEFAULT_CHARSET,this.markers=[],this._nullCell=o.CellData.fromCharData([0,s.NULL_CELL_CHAR,s.NULL_CELL_WIDTH,s.NULL_CELL_CODE]),this._whitespaceCell=o.CellData.fromCharData([0,s.WHITESPACE_CELL_CHAR,s.WHITESPACE_CELL_WIDTH,s.WHITESPACE_CELL_CODE]),this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}return e.prototype.getNullCell=function(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new h.ExtendedAttrs),this._nullCell},e.prototype.getWhitespaceCell=function(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new h.ExtendedAttrs),this._whitespaceCell},e.prototype.getBlankLine=function(e,t){return new n.BufferLine(this._bufferService.cols,this.getNullCell(e),t)},Object.defineProperty(e.prototype,"hasScrollback",{get:function(){return this._hasScrollback&&this.lines.maxLength>this._rows},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"isCursorInViewport",{get:function(){var e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows},enumerable:!1,configurable:!0}),e.prototype._getCorrectBufferLength=function(e){if(!this._hasScrollback)return e;var r=e+this._optionsService.options.scrollback;return r>t.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:r},e.prototype.fillViewportRows=function(e){if(0===this.lines.length){void 0===e&&(e=n.DEFAULT_ATTR_DATA);for(var t=this._rows;t--;)this.lines.push(this.getBlankLine(e))}},e.prototype.clear=function(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new i.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()},e.prototype.resize=function(e,t){var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(var o=0;o<this.lines.length;o++)this.lines.get(o).resize(e,r);var s=0;if(this._rows<t)for(var a=this._rows;a<t;a++)this.lines.length<t+this.ybase&&(this._optionsService.options.windowsMode?this.lines.push(new n.BufferLine(e,r)):this.ybase>0&&this.lines.length<=this.ybase+this.y+s+1?(this.ybase--,s++,this.ydisp>0&&this.ydisp--):this.lines.push(new n.BufferLine(e,r)));else for(a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){var c=this.lines.length-i;c>0&&(this.lines.trimStart(c),this.ybase=Math.max(this.ybase-c,0),this.ydisp=Math.max(this.ydisp-c,0),this.savedY=Math.max(this.savedY-c,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),s&&(this.y+=s),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(o=0;o<this.lines.length;o++)this.lines.get(o).resize(e,r);this._cols=e,this._rows=t},Object.defineProperty(e.prototype,"_isReflowEnabled",{get:function(){return this._hasScrollback&&!this._optionsService.options.windowsMode},enumerable:!1,configurable:!0}),e.prototype._reflow=function(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))},e.prototype._reflowLarger=function(e,t){var r=a.reflowLargerGetLinesToRemove(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(n.DEFAULT_ATTR_DATA));if(r.length>0){var i=a.reflowLargerCreateNewLayout(this.lines,r);a.reflowLargerApplyNewLayout(this.lines,i.layout),this._reflowLargerAdjustViewport(e,t,i.countRemoved)}},e.prototype._reflowLargerAdjustViewport=function(e,t,r){for(var i=this.getNullCell(n.DEFAULT_ATTR_DATA),o=r;o-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new n.BufferLine(e,i))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-r,0)},e.prototype._reflowSmaller=function(e,t){for(var r=this.getNullCell(n.DEFAULT_ATTR_DATA),i=[],o=0,s=this.lines.length-1;s>=0;s--){var c=this.lines.get(s);if(!(!c||!c.isWrapped&&c.getTrimmedLength()<=e)){for(var l=[c];c.isWrapped&&s>0;)c=this.lines.get(--s),l.unshift(c);var h=this.ybase+this.y;if(!(h>=s&&h<s+l.length)){var u=l[l.length-1].getTrimmedLength(),f=a.reflowSmallerGetNewLineLengths(l,this._cols,e),_=f.length-l.length,d=void 0;d=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+_):Math.max(0,this.lines.length-this.lines.maxLength+_);for(var p=[],v=0;v<_;v++){var g=this.getBlankLine(n.DEFAULT_ATTR_DATA,!0);p.push(g)}p.length>0&&(i.push({start:s+l.length+o,newLines:p}),o+=p.length),l.push.apply(l,p);var y=f.length-1,b=f[y];0===b&&(b=f[--y]);for(var S=l.length-_-1,m=u;S>=0;){var C=Math.min(m,b);if(l[y].copyCellsFrom(l[S],m-C,b-C,C,!0),0===(b-=C)&&(b=f[--y]),0===(m-=C)){S--;var w=Math.max(S,0);m=a.getWrappedLineTrimmedLength(l,w,this._cols)}}for(v=0;v<l.length;v++)f[v]<e&&l[v].setCell(f[v],r);for(var E=_-d;E-- >0;)0===this.ybase?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+o)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+_,this.ybase+t-1)}}}if(i.length>0){var L=[],A=[];for(v=0;v<this.lines.length;v++)A.push(this.lines.get(v));var R=this.lines.length,k=R-1,x=0,D=i[x];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+o);var T=0;for(v=Math.min(this.lines.maxLength-1,R+o-1);v>=0;v--)if(D&&D.start>k+T){for(var O=D.newLines.length-1;O>=0;O--)this.lines.set(v--,D.newLines[O]);v++,L.push({index:k+1,amount:D.newLines.length}),T+=D.newLines.length,D=i[++x]}else this.lines.set(v,A[k--]);var M=0;for(v=L.length-1;v>=0;v--)L[v].index+=M,this.lines.onInsertEmitter.fire(L[v]),M+=L[v].amount;var P=Math.max(0,R+o-this.lines.maxLength);P>0&&this.lines.onTrimEmitter.fire(P)}},e.prototype.stringIndexToBufferIndex=function(e,t,r){for(void 0===r&&(r=!1);t;){var i=this.lines.get(e);if(!i)return[-1,-1];for(var n=r?i.getTrimmedLength():i.length,o=0;o<n;++o)if(i.get(o)[s.CHAR_DATA_WIDTH_INDEX]&&(t-=i.get(o)[s.CHAR_DATA_CHAR_INDEX].length||1),t<0)return[e,o];e++}return[e,0]},e.prototype.translateBufferLineToString=function(e,t,r,i){void 0===r&&(r=0);var n=this.lines.get(e);return n?n.translateToString(t,r,i):""},e.prototype.getWrappedRangeForLine=function(e){for(var t=e,r=e;t>0&&this.lines.get(t).isWrapped;)t--;for(;r+1<this.lines.length&&this.lines.get(r+1).isWrapped;)r++;return{first:t,last:r}},e.prototype.setupTabStops=function(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.options.tabStopWidth)this.tabs[e]=!0},e.prototype.prevStop=function(e){for(null==e&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.nextStop=function(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e},e.prototype.addMarker=function(e){var t=this,r=new c.Marker(e);return this.markers.push(r),r.register(this.lines.onTrim((function(e){r.line-=e,r.line<0&&r.dispose()}))),r.register(this.lines.onInsert((function(e){r.line>=e.index&&(r.line+=e.amount)}))),r.register(this.lines.onDelete((function(e){r.line>=e.index&&r.line<e.index+e.amount&&r.dispose(),r.line>e.index&&(r.line-=e.amount)}))),r.register(r.onDispose((function(){return t._removeMarker(r)}))),r},e.prototype._removeMarker=function(e){this.markers.splice(this.markers.indexOf(e),1)},e.prototype.iterator=function(e,t,r,i,n){return new f(this,e,t,r,i,n)},e}();t.Buffer=u;var f=function(){function e(e,t,r,i,n,o){void 0===r&&(r=0),void 0===i&&(i=e.lines.length),void 0===n&&(n=0),void 0===o&&(o=0),this._buffer=e,this._trimRight=t,this._startIndex=r,this._endIndex=i,this._startOverscan=n,this._endOverscan=o,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}return e.prototype.hasNext=function(){return this._current<this._endIndex},e.prototype.next=function(){var e=this._buffer.getWrappedRangeForLine(this._current);e.first<this._startIndex-this._startOverscan&&(e.first=this._startIndex-this._startOverscan),e.last>this._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);for(var t="",r=e.first;r<=e.last;++r)t+=this._buffer.translateBufferLineToString(r,this._trimRight);return this._current=e.last+1,{range:e,content:t}},e}();t.BufferStringIterator=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;var i=r(0),n=function(){function e(e){this._maxLength=e,this.onDeleteEmitter=new i.EventEmitter,this.onInsertEmitter=new i.EventEmitter,this.onTrimEmitter=new i.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}return Object.defineProperty(e.prototype,"onDelete",{get:function(){return this.onDeleteEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onInsert",{get:function(){return this.onInsertEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"onTrim",{get:function(){return this.onTrimEmitter.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxLength",{get:function(){return this._maxLength},set:function(e){if(this._maxLength!==e){for(var t=new Array(e),r=0;r<Math.min(e,this.length);r++)t[r]=this._array[this._getCyclicIndex(r)];this._array=t,this._maxLength=e,this._startIndex=0}},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"length",{get:function(){return this._length},set:function(e){if(e>this._length)for(var t=this._length;t<e;t++)this._array[t]=void 0;this._length=e},enumerable:!1,configurable:!0}),e.prototype.get=function(e){return this._array[this._getCyclicIndex(e)]},e.prototype.set=function(e,t){this._array[this._getCyclicIndex(e)]=t},e.prototype.push=function(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++},e.prototype.recycle=function(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]},Object.defineProperty(e.prototype,"isFull",{get:function(){return this._length===this._maxLength},enumerable:!1,configurable:!0}),e.prototype.pop=function(){return this._array[this._getCyclicIndex(this._length---1)]},e.prototype.splice=function(e,t){for(var r=[],i=2;i<arguments.length;i++)r[i-2]=arguments[i];if(t){for(var n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t}for(n=this._length-1;n>=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(n=0;n<r.length;n++)this._array[this._getCyclicIndex(e+n)]=r[n];if(this._length+r.length>this._maxLength){var o=this._length+r.length-this._maxLength;this._startIndex+=o,this._length=this._maxLength,this.onTrimEmitter.fire(o)}else this._length+=r.length},e.prototype.trimStart=function(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)},e.prototype.shiftElements=function(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(var i=t-1;i>=0;i--)this.set(e+i+r,this.get(e+i));var n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(i=0;i<t;i++)this.set(e+i+r,this.get(e+i))}},e.prototype._getCyclicIndex=function(e){return(this._startIndex+e)%this._maxLength},e}();t.CircularList=n},function(e,t,r){"use strict";function i(e,t,r){if(t===e.length-1)return e[t].getTrimmedLength();var i=!e[t].hasContent(r-1)&&1===e[t].getWidth(r-1),n=2===e[t+1].getWidth(0);return i&&n?r-1:r}Object.defineProperty(t,"__esModule",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,r,n,o){for(var s=[],a=0;a<e.length-1;a++){var c=a,l=e.get(++c);if(l.isWrapped){for(var h=[e.get(a)];c<e.length&&l.isWrapped;)h.push(l),l=e.get(++c);if(n>=a&&n<c)a+=h.length-1;else{for(var u=0,f=i(h,u,t),_=1,d=0;_<h.length;){var p=i(h,_,t),v=p-d,g=r-f,y=Math.min(v,g);h[u].copyCellsFrom(h[_],d,f,y,!1),(f+=y)===r&&(u++,f=0),(d+=y)===p&&(_++,d=0),0===f&&0!==u&&2===h[u-1].getWidth(r-1)&&(h[u].copyCellsFrom(h[u-1],r-1,f++,1,!1),h[u-1].setCell(r-1,o))}h[u].replaceCells(f,r,o);for(var b=0,S=h.length-1;S>0&&(S>u||0===h[S].getTrimmedLength());S--)b++;b>0&&(s.push(a+h.length-b),s.push(b)),a+=h.length-1}}}return s},t.reflowLargerCreateNewLayout=function(e,t){for(var r=[],i=0,n=t[i],o=0,s=0;s<e.length;s++)if(n===s){var a=t[++i];e.onDeleteEmitter.fire({index:s-o,amount:a}),s+=a-1,o+=a,n=t[++i]}else r.push(s);return{layout:r,countRemoved:o}},t.reflowLargerApplyNewLayout=function(e,t){for(var r=[],i=0;i<t.length;i++)r.push(e.get(t[i]));for(i=0;i<r.length;i++)e.set(i,r[i]);e.length=t.length},t.reflowSmallerGetNewLineLengths=function(e,t,r){for(var n=[],o=e.map((function(r,n){return i(e,n,t)})).reduce((function(e,t){return e+t})),s=0,a=0,c=0;c<o;){if(o-c<r){n.push(o-c);break}s+=r;var l=i(e,a,t);s>l&&(s-=l,a++);var h=2===e[a].getWidth(s-1);h&&s--;var u=h?r-1:r;n.push(u),c+=u}return n},t.getWrappedLineTrimmedLength=i},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)});Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;var o=r(0),s=function(e){function t(r){var i=e.call(this)||this;return i.line=r,i._id=t._nextId++,i.isDisposed=!1,i._onDispose=new o.EventEmitter,i}return n(t,e),Object.defineProperty(t.prototype,"id",{get:function(){return this._id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onDispose",{get:function(){return this._onDispose.event},enumerable:!1,configurable:!0}),t.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire())},t._nextId=1,t}(r(2).Disposable);t.Marker=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=t.DEFAULT_BELL_SOUND=void 0;var i=r(0),n=r(11),o=r(33);t.DEFAULT_BELL_SOUND="data:audio/mp3;base64,SUQzBAAAAAAAI1RTU0UAAAAPAAADTGF2ZjU4LjMyLjEwNAAAAAAAAAAAAAAA//tQxAADB8AhSmxhIIEVCSiJrDCQBTcu3UrAIwUdkRgQbFAZC1CQEwTJ9mjRvBA4UOLD8nKVOWfh+UlK3z/177OXrfOdKl7pyn3Xf//WreyTRUoAWgBgkOAGbZHBgG1OF6zM82DWbZaUmMBptgQhGjsyYqc9ae9XFz280948NMBWInljyzsNRFLPWdnZGWrddDsjK1unuSrVN9jJsK8KuQtQCtMBjCEtImISdNKJOopIpBFpNSMbIHCSRpRR5iakjTiyzLhchUUBwCgyKiweBv/7UsQbg8isVNoMPMjAAAA0gAAABEVFGmgqK////9bP/6XCykxBTUUzLjEwMKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq",t.DEFAULT_OPTIONS=Object.freeze({cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,bellSound:t.DEFAULT_BELL_SOUND,bellStyle:"none",drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,linkTooltipHoverDuration:500,letterSpacing:0,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!0,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:n.isMac,rendererType:"canvas",windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}\',\\"`",convertEol:!1,termName:"xterm",cancelEvents:!1});var s=["cols","rows"],a=function(){function e(e){this._onOptionChange=new i.EventEmitter,this.options=o.clone(t.DEFAULT_OPTIONS);for(var r=0,n=Object.keys(e);r<n.length;r++){var s=n[r];if(s in this.options){var a=e[s];this.options[s]=a}}}return Object.defineProperty(e.prototype,"onOptionChange",{get:function(){return this._onOptionChange.event},enumerable:!1,configurable:!0}),e.prototype.setOption=function(e,r){if(!(e in t.DEFAULT_OPTIONS))throw new Error(\'No option with key "\'+e+\'"\');if(-1!==s.indexOf(e))throw new Error(\'Option "\'+e+\'" can only be set in the constructor\');this.options[e]!==r&&(r=this._sanitizeAndValidateOption(e,r),this.options[e]!==r&&(this.options[e]=r,this._onOptionChange.fire(e)))},e.prototype._sanitizeAndValidateOption=function(e,r){switch(e){case"bellStyle":case"cursorStyle":case"fontWeight":case"fontWeightBold":case"rendererType":case"wordSeparator":r||(r=t.DEFAULT_OPTIONS[e]);break;case"cursorWidth":r=Math.floor(r);case"lineHeight":case"tabStopWidth":if(r<1)throw new Error(e+" cannot be less than 1, value: "+r);break;case"minimumContrastRatio":r=Math.max(1,Math.min(21,Math.round(10*r)/10));break;case"scrollback":if((r=Math.min(r,4294967295))<0)throw new Error(e+" cannot be less than 0, value: "+r);break;case"fastScrollSensitivity":case"scrollSensitivity":if(r<=0)throw new Error(e+" cannot be less than or equal to 0, value: "+r)}return r},e.prototype.getOption=function(e){if(!(e in t.DEFAULT_OPTIONS))throw new Error(\'No option with key "\'+e+\'"\');return this.options[e]},e}();t.OptionsService=a},function(e,t,r){"use strict";var i,n=this&&this.__extends||(i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)},function(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),o=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},s=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;var a=r(1),c=r(0),l=r(33),h=r(2),u=Object.freeze({insertMode:!1}),f=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0}),_=function(e){function t(t,r,i,n){var o=e.call(this)||this;return o._bufferService=r,o._logService=i,o._optionsService=n,o.isCursorInitialized=!1,o.isCursorHidden=!1,o._onData=o.register(new c.EventEmitter),o._onUserInput=o.register(new c.EventEmitter),o._onBinary=o.register(new c.EventEmitter),o._scrollToBottom=t,o.register({dispose:function(){return o._scrollToBottom=void 0}}),o.modes=l.clone(u),o.decPrivateModes=l.clone(f),o}return n(t,e),Object.defineProperty(t.prototype,"onData",{get:function(){return this._onData.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onUserInput",{get:function(){return this._onUserInput.event},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"onBinary",{get:function(){return this._onBinary.event},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.modes=l.clone(u),this.decPrivateModes=l.clone(f)},t.prototype.triggerDataEvent=function(e,t){if(void 0===t&&(t=!1),!this._optionsService.options.disableStdin){var r=this._bufferService.buffer;r.ybase!==r.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug(\'sending data "\'+e+\'"\',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onData.fire(e)}},t.prototype.triggerBinaryEvent=function(e){this._optionsService.options.disableStdin||(this._logService.debug(\'sending binary "\'+e+\'"\',(function(){return e.split("").map((function(e){return e.charCodeAt(0)}))})),this._onBinary.fire(e))},t=o([s(1,a.IBufferService),s(2,a.ILogService),s(3,a.IOptionsService)],t)}(h.Disposable);t.CoreService=_},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;var o=r(1),s=r(0),a={NONE:{events:0,restrict:function(){return!1}},X10:{events:1,restrict:function(e){return 4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)}},VT200:{events:19,restrict:function(e){return 32!==e.action}},DRAG:{events:23,restrict:function(e){return 32!==e.action||3!==e.button}},ANY:{events:31,restrict:function(e){return!0}}};function c(e,t){var r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(r|=64,r|=e.action):(r|=3&e.button,4&e.button&&(r|=64),8&e.button&&(r|=128),32===e.action?r|=32:0!==e.action||t||(r|=3)),r}var l=String.fromCharCode,h={DEFAULT:function(e){var t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":"\x1b[M"+l(t[0])+l(t[1])+l(t[2])},SGR:function(e){var t=0===e.action&&4!==e.button?"m":"M";return"\x1b[<"+c(e,!0)+";"+e.col+";"+e.row+t}},u=function(){function e(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new s.EventEmitter,this._lastEvent=null;for(var r=0,i=Object.keys(a);r<i.length;r++){var n=i[r];this.addProtocol(n,a[n])}for(var o=0,c=Object.keys(h);o<c.length;o++){var l=c[o];this.addEncoding(l,h[l])}this.reset()}return e.prototype.addProtocol=function(e,t){this._protocols[e]=t},e.prototype.addEncoding=function(e,t){this._encodings[e]=t},Object.defineProperty(e.prototype,"activeProtocol",{get:function(){return this._activeProtocol},set:function(e){if(!this._protocols[e])throw new Error(\'unknown protocol "\'+e+\'"\');this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"areMouseEventsActive",{get:function(){return 0!==this._protocols[this._activeProtocol].events},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeEncoding",{get:function(){return this._activeEncoding},set:function(e){if(!this._encodings[e])throw new Error(\'unknown encoding "\'+e+\'"\');this._activeEncoding=e},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null},Object.defineProperty(e.prototype,"onProtocolChange",{get:function(){return this._onProtocolChange.event},enumerable:!1,configurable:!0}),e.prototype.triggerMouseEvent=function(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._compareEvents(this._lastEvent,e))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;var t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0},e.prototype.explainEvents=function(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}},e.prototype._compareEvents=function(e,t){return e.col===t.col&&(e.row===t.row&&(e.button===t.button&&(e.action===t.action&&(e.ctrl===t.ctrl&&(e.alt===t.alt&&e.shift===t.shift)))))},e=i([n(0,o.IBufferService),n(1,o.ICoreService)],e)}();t.CoreMouseService=u},function(e,t,r){"use strict";var i=this&&this.__decorate||function(e,t,r,i){var n,o=arguments.length,s=o<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,i);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o<3?n(s):o>3?n(t,r,s):n(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s},n=this&&this.__param||function(e,t){return function(r,i){t(r,i,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;var o=r(1),s=function(){function e(e){this._bufferService=e,this.clearRange()}return Object.defineProperty(e.prototype,"start",{get:function(){return this._start},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"end",{get:function(){return this._end},enumerable:!1,configurable:!0}),e.prototype.clearRange=function(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y},e.prototype.markDirty=function(e){e<this._start?this._start=e:e>this._end&&(this._end=e)},e.prototype.markRangeDirty=function(e,t){if(e>t){var r=e;e=t,t=r}e<this._start&&(this._start=e),t>this._end&&(this._end=t)},e.prototype.markAllDirty=function(){this.markRangeDirty(0,this._bufferService.rows-1)},e=i([n(0,o.IBufferService)],e)}();t.DirtyRowService=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;var i=r(0),n=r(79),o=function(){function e(){this._providers=Object.create(null),this._active="",this._onChange=new i.EventEmitter;var e=new n.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}return Object.defineProperty(e.prototype,"onChange",{get:function(){return this._onChange.event},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"versions",{get:function(){return Object.keys(this._providers)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"activeVersion",{get:function(){return this._active},set:function(e){if(!this._providers[e])throw new Error(\'unknown Unicode version "\'+e+\'"\');this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)},enumerable:!1,configurable:!0}),e.prototype.register=function(e){this._providers[e.version]=e},e.prototype.wcwidth=function(e){return this._activeProvider.wcwidth(e)},e.prototype.getStringCellWidth=function(e){for(var t=0,r=e.length,i=0;i<r;++i){var n=e.charCodeAt(i);if(55296<=n&&n<=56319){if(++i>=r)return t+this.wcwidth(n);var o=e.charCodeAt(i);56320<=o&&o<=57343?n=1024*(n-55296)+o-56320+65536:t+=this.wcwidth(o)}t+=this.wcwidth(n)}return t},e}();t.UnicodeService=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;var i,n=r(15),o=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],s=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];var a=function(){function e(){if(this.version="6",!i){i=new Uint8Array(65536),n.fill(i,1),i[0]=0,n.fill(i,0,1,32),n.fill(i,0,127,160),n.fill(i,2,4352,4448),i[9001]=2,i[9002]=2,n.fill(i,2,11904,42192),i[12351]=1,n.fill(i,2,44032,55204),n.fill(i,2,63744,64256),n.fill(i,2,65040,65050),n.fill(i,2,65072,65136),n.fill(i,2,65280,65377),n.fill(i,2,65504,65511);for(var e=0;e<o.length;++e)n.fill(i,0,o[e][0],o[e][1]+1)}}return e.prototype.wcwidth=function(e){return e<32?0:e<127?1:e<65536?i[e]:function(e,t){var r,i=0,n=t.length-1;if(e<t[0][0]||e>t[n][1])return!1;for(;n>=i;)if(e>t[r=i+n>>1][1])i=r+1;else{if(!(e<t[r][0]))return!0;n=r-1}return!1}(e,s)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1},e}();t.UnicodeV6=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0;var i=function(){function e(){this.glevel=0,this._charsets=[]}return e.prototype.reset=function(){this.charset=void 0,this._charsets=[],this.glevel=0},e.prototype.setgLevel=function(e){this.glevel=e,this.charset=this._charsets[e]},e.prototype.setgCharset=function(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)},e}();t.CharsetService=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;var i=r(3);t.updateWindowsModeWrappedState=function(e){var t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),r=null==t?void 0:t.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&r&&(n.isWrapped=r[i.CHAR_DATA_CODE_INDEX]!==i.NULL_CELL_CODE&&r[i.CHAR_DATA_CODE_INDEX]!==i.WHITESPACE_CELL_CODE)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;var i=function(){function e(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0}return e.prototype.writeSync=function(e){if(this._writeBuffer.length){for(var t=this._bufferOffset;t<this._writeBuffer.length;++t){var r=this._writeBuffer[t],i=this._callbacks[t];this._action(r),i&&i()}this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=2147483647}this._action(e)},e.prototype.write=function(e,t){var r=this;if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((function(){return r._innerWrite()}))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)},e.prototype._innerWrite=function(){for(var e=this,t=Date.now();this._writeBuffer.length>this._bufferOffset;){var r=this._writeBuffer[this._bufferOffset],i=this._callbacks[this._bufferOffset];if(this._bufferOffset++,this._action(r),this._pendingData-=r.length,i&&i(),Date.now()-t>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((function(){return e._innerWrite()}),0)):(this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0)},e}();t.WriteBuffer=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0;var i=function(){function e(){this._addons=[]}return e.prototype.dispose=function(){for(var e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()},e.prototype.loadAddon=function(e,t){var r=this,i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=function(){return r._wrappedAddonDispose(i)},t.activate(e)},e.prototype._wrappedAddonDispose=function(e){if(!e.isDisposed){for(var t=-1,r=0;r<this._addons.length;r++)if(this._addons[r]===e){t=r;break}if(-1===t)throw new Error("Could not dispose an addon that has not been loaded");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},e}();t.AddonManager=i}])}));\n//# sourceMappingURL=xterm.js.map\n\n//# sourceURL=webpack:///./node_modules/xterm/lib/xterm.js?')},"/omn":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/answer-panel/index.less?")},"0i5U":function(module,exports){eval('module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjNEMUNCRTZCNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjNEMUNCRTZDNDE1MzExRThBREM4QUVGRUEwQjY3M0FFIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6M0QxQ0JFNjk0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6M0QxQ0JFNkE0MTUzMTFFOEFEQzhBRUZFQTBCNjczQUUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6xcnMrAAABN0lEQVR42qzTsUtCURTH8fskisZoa4ogcGhpcYuW+gsk+icyGiyEoNVB0i3EWYJwaG2Koj+gBiEqqIasRQlCHCJ8fU+cB4fLldS68BHO755zeQ/vi7L3q4vOuRMsu9HWNTZT/NTHGHY6U5cDMm78lUm5P65/OaDtZXsoB3or2PWythxQ9cInFHBrsjvNHr3eqhxQxIsJS5jAlsl29GlLJpOZooQ979HmsY9zHOMUZ8hjwfTJTC/iIkkR4RIruvmJJXQxhVhfaVr3ryCDcfIvSMM2+lpP4ghveMahGe5rb+z/jTeomXoNG1hH1uQ17f1ZySskaxYPmNH6FR9Ia/0O+XY6gy6SbByYes4MO93r/HYT5V40A3kzcGeCB3whF8hzujfUt3CBhqkbmo30McnFaan8oKZvAQYAarBDzHlRpVIAAAAASUVORK5CYII="\n\n//# sourceURL=webpack:///./src/pages/tasks/evaluate-result/empiricgreen.png?')},"1dTM":function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _logging = __webpack_require__("Lo0S");\n\nvar Log = _interopRequireWildcard(_logging);\n\nvar _strings = __webpack_require__("VSMT");\n\nvar _browser = __webpack_require__("GdRQ");\n\nvar _eventtarget = __webpack_require__("YJ9k");\n\nvar _eventtarget2 = _interopRequireDefault(_eventtarget);\n\nvar _display = __webpack_require__("MZdM");\n\nvar _display2 = _interopRequireDefault(_display);\n\nvar _keyboard = __webpack_require__("Fv0C");\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _mouse = __webpack_require__("LEsl");\n\nvar _mouse2 = _interopRequireDefault(_mouse);\n\nvar _cursor = __webpack_require__("rwxt");\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _websock = __webpack_require__("Mmt2");\n\nvar _websock2 = _interopRequireDefault(_websock);\n\nvar _des = __webpack_require__("iUHT");\n\nvar _des2 = _interopRequireDefault(_des);\n\nvar _keysym = __webpack_require__("mHUz");\n\nvar _keysym2 = _interopRequireDefault(_keysym);\n\nvar _xtscancodes = __webpack_require__("P2ho");\n\nvar _xtscancodes2 = _interopRequireDefault(_xtscancodes);\n\nvar _encodings = __webpack_require__("NBmB");\n\n__webpack_require__("mdZa");\n\nvar _raw = __webpack_require__("34/K");\n\nvar _raw2 = _interopRequireDefault(_raw);\n\nvar _copyrect = __webpack_require__("hXwI");\n\nvar _copyrect2 = _interopRequireDefault(_copyrect);\n\nvar _rre = __webpack_require__("SgaC");\n\nvar _rre2 = _interopRequireDefault(_rre);\n\nvar _hextile = __webpack_require__("3690");\n\nvar _hextile2 = _interopRequireDefault(_hextile);\n\nvar _tight = __webpack_require__("8K/p");\n\nvar _tight2 = _interopRequireDefault(_tight);\n\nvar _tightpng = __webpack_require__("xO64");\n\nvar _tightpng2 = _interopRequireDefault(_tightpng);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\n// How many seconds to wait for a disconnect to finish\nvar DISCONNECT_TIMEOUT = 3;\nvar DEFAULT_BACKGROUND = \'rgb(40, 40, 40)\';\n\nvar RFB = function (_EventTargetMixin) {\n _inherits(RFB, _EventTargetMixin);\n\n function RFB(target, url, options) {\n _classCallCheck(this, RFB);\n\n if (!target) {\n throw new Error("Must specify target");\n }\n if (!url) {\n throw new Error("Must specify URL");\n }\n\n var _this = _possibleConstructorReturn(this, (RFB.__proto__ || Object.getPrototypeOf(RFB)).call(this));\n\n _this._target = target;\n _this._url = url;\n\n // Connection details\n options = options || {};\n _this._rfb_credentials = options.credentials || {};\n _this._shared = \'shared\' in options ? !!options.shared : true;\n _this._repeaterID = options.repeaterID || \'\';\n _this._showDotCursor = options.showDotCursor || false;\n\n // Internal state\n _this._rfb_connection_state = \'\';\n _this._rfb_init_state = \'\';\n _this._rfb_auth_scheme = -1;\n _this._rfb_clean_disconnect = true;\n\n // Server capabilities\n _this._rfb_version = 0;\n _this._rfb_max_version = 3.8;\n _this._rfb_tightvnc = false;\n _this._rfb_xvp_ver = 0;\n\n _this._fb_width = 0;\n _this._fb_height = 0;\n\n _this._fb_name = "";\n\n _this._capabilities = { power: false };\n\n _this._supportsFence = false;\n\n _this._supportsContinuousUpdates = false;\n _this._enabledContinuousUpdates = false;\n\n _this._supportsSetDesktopSize = false;\n _this._screen_id = 0;\n _this._screen_flags = 0;\n\n _this._qemuExtKeyEventSupported = false;\n\n // Internal objects\n _this._sock = null; // Websock object\n _this._display = null; // Display object\n _this._flushing = false; // Display flushing state\n _this._keyboard = null; // Keyboard input handler object\n _this._mouse = null; // Mouse input handler object\n\n // Timers\n _this._disconnTimer = null; // disconnection timer\n _this._resizeTimeout = null; // resize rate limiting\n\n // Decoder states\n _this._decoders = {};\n\n _this._FBU = {\n rects: 0,\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n encoding: null\n };\n\n // Mouse state\n _this._mouse_buttonMask = 0;\n _this._mouse_arr = [];\n _this._viewportDragging = false;\n _this._viewportDragPos = {};\n _this._viewportHasMoved = false;\n\n // Bound event handlers\n _this._eventHandlers = {\n focusCanvas: _this._focusCanvas.bind(_this),\n windowResize: _this._windowResize.bind(_this)\n };\n\n // main setup\n Log.Debug(">> RFB.constructor");\n\n // Create DOM elements\n _this._screen = document.createElement(\'div\');\n _this._screen.style.display = \'flex\';\n _this._screen.style.width = \'100%\';\n _this._screen.style.height = \'100%\';\n _this._screen.style.overflow = \'auto\';\n _this._screen.style.background = DEFAULT_BACKGROUND;\n _this._canvas = document.createElement(\'canvas\');\n _this._canvas.style.margin = \'auto\';\n // Some browsers add an outline on focus\n _this._canvas.style.outline = \'none\';\n // IE miscalculates width without this :(\n _this._canvas.style.flexShrink = \'0\';\n _this._canvas.width = 0;\n _this._canvas.height = 0;\n _this._canvas.tabIndex = -1;\n _this._screen.appendChild(_this._canvas);\n\n // Cursor\n _this._cursor = new _cursor2.default();\n\n // XXX: TightVNC 2.8.11 sends no cursor at all until Windows changes\n // it. Result: no cursor at all until a window border or an edit field\n // is hit blindly. But there are also VNC servers that draw the cursor\n // in the framebuffer and don\'t send the empty local cursor. There is\n // no way to satisfy both sides.\n //\n // The spec is unclear on this "initial cursor" issue. Many other\n // viewers (TigerVNC, RealVNC, Remmina) display an arrow as the\n // initial cursor instead.\n _this._cursorImage = RFB.cursors.none;\n\n // populate decoder array with objects\n _this._decoders[_encodings.encodings.encodingRaw] = new _raw2.default();\n _this._decoders[_encodings.encodings.encodingCopyRect] = new _copyrect2.default();\n _this._decoders[_encodings.encodings.encodingRRE] = new _rre2.default();\n _this._decoders[_encodings.encodings.encodingHextile] = new _hextile2.default();\n _this._decoders[_encodings.encodings.encodingTight] = new _tight2.default();\n _this._decoders[_encodings.encodings.encodingTightPNG] = new _tightpng2.default();\n\n // NB: nothing that needs explicit teardown should be done\n // before this point, since this can throw an exception\n try {\n _this._display = new _display2.default(_this._canvas);\n } catch (exc) {\n Log.Error("Display exception: " + exc);\n throw exc;\n }\n _this._display.onflush = _this._onFlush.bind(_this);\n _this._display.clear();\n\n _this._keyboard = new _keyboard2.default(_this._canvas);\n _this._keyboard.onkeyevent = _this._handleKeyEvent.bind(_this);\n\n _this._mouse = new _mouse2.default(_this._canvas);\n _this._mouse.onmousebutton = _this._handleMouseButton.bind(_this);\n _this._mouse.onmousemove = _this._handleMouseMove.bind(_this);\n\n _this._sock = new _websock2.default();\n _this._sock.on(\'message\', function () {\n _this._handle_message();\n });\n _this._sock.on(\'open\', function () {\n if (_this._rfb_connection_state === \'connecting\' && _this._rfb_init_state === \'\') {\n _this._rfb_init_state = \'ProtocolVersion\';\n Log.Debug("Starting VNC handshake");\n } else {\n _this._fail("Unexpected server connection while " + _this._rfb_connection_state);\n }\n });\n _this._sock.on(\'close\', function (e) {\n Log.Debug("WebSocket on-close event");\n var msg = "";\n if (e.code) {\n msg = "(code: " + e.code;\n if (e.reason) {\n msg += ", reason: " + e.reason;\n }\n msg += ")";\n }\n switch (_this._rfb_connection_state) {\n case \'connecting\':\n _this._fail("Connection closed " + msg);\n break;\n case \'connected\':\n // Handle disconnects that were initiated server-side\n _this._updateConnectionState(\'disconnecting\');\n _this._updateConnectionState(\'disconnected\');\n break;\n case \'disconnecting\':\n // Normal disconnection path\n _this._updateConnectionState(\'disconnected\');\n break;\n case \'disconnected\':\n _this._fail("Unexpected server disconnect " + "when already disconnected " + msg);\n break;\n default:\n _this._fail("Unexpected server disconnect before connecting " + msg);\n break;\n }\n _this._sock.off(\'close\');\n });\n _this._sock.on(\'error\', function (e) {\n return Log.Warn("WebSocket on-error event");\n });\n\n // Slight delay of the actual connection so that the caller has\n // time to set up callbacks\n setTimeout(_this._updateConnectionState.bind(_this, \'connecting\'));\n\n Log.Debug("<< RFB.constructor");\n\n // ===== PROPERTIES =====\n\n _this.dragViewport = false;\n _this.focusOnClick = true;\n\n _this._viewOnly = false;\n _this._clipViewport = false;\n _this._scaleViewport = false;\n _this._resizeSession = false;\n return _this;\n }\n\n // ===== PROPERTIES =====\n\n _createClass(RFB, [{\n key: \'disconnect\',\n\n\n // ===== PUBLIC METHODS =====\n\n value: function disconnect() {\n this._updateConnectionState(\'disconnecting\');\n this._sock.off(\'error\');\n this._sock.off(\'message\');\n this._sock.off(\'open\');\n }\n }, {\n key: \'sendCredentials\',\n value: function sendCredentials(creds) {\n this._rfb_credentials = creds;\n setTimeout(this._init_msg.bind(this), 0);\n }\n }, {\n key: \'sendCtrlAltDel\',\n value: function sendCtrlAltDel() {\n if (this._rfb_connection_state !== \'connected\' || this._viewOnly) {\n return;\n }\n Log.Info("Sending Ctrl-Alt-Del");\n\n this.sendKey(_keysym2.default.XK_Control_L, "ControlLeft", true);\n this.sendKey(_keysym2.default.XK_Alt_L, "AltLeft", true);\n this.sendKey(_keysym2.default.XK_Delete, "Delete", true);\n this.sendKey(_keysym2.default.XK_Delete, "Delete", false);\n this.sendKey(_keysym2.default.XK_Alt_L, "AltLeft", false);\n this.sendKey(_keysym2.default.XK_Control_L, "ControlLeft", false);\n }\n }, {\n key: \'machineShutdown\',\n value: function machineShutdown() {\n this._xvpOp(1, 2);\n }\n }, {\n key: \'machineReboot\',\n value: function machineReboot() {\n this._xvpOp(1, 3);\n }\n }, {\n key: \'machineReset\',\n value: function machineReset() {\n this._xvpOp(1, 4);\n }\n\n // Send a key press. If \'down\' is not specified then send a down key\n // followed by an up key.\n\n }, {\n key: \'sendKey\',\n value: function sendKey(keysym, code, down) {\n if (this._rfb_connection_state !== \'connected\' || this._viewOnly) {\n return;\n }\n\n if (down === undefined) {\n this.sendKey(keysym, code, true);\n this.sendKey(keysym, code, false);\n return;\n }\n\n var scancode = _xtscancodes2.default[code];\n\n if (this._qemuExtKeyEventSupported && scancode) {\n // 0 is NoSymbol\n keysym = keysym || 0;\n\n Log.Info("Sending key (" + (down ? "down" : "up") + "): keysym " + keysym + ", scancode " + scancode);\n\n RFB.messages.QEMUExtendedKeyEvent(this._sock, keysym, down, scancode);\n } else {\n if (!keysym) {\n return;\n }\n Log.Info("Sending keysym (" + (down ? "down" : "up") + "): " + keysym);\n RFB.messages.keyEvent(this._sock, keysym, down ? 1 : 0);\n }\n }\n }, {\n key: \'focus\',\n value: function focus() {\n this._canvas.focus();\n }\n }, {\n key: \'blur\',\n value: function blur() {\n this._canvas.blur();\n }\n }, {\n key: \'clipboardPasteFrom\',\n value: function clipboardPasteFrom(text) {\n if (this._rfb_connection_state !== \'connected\' || this._viewOnly) {\n return;\n }\n RFB.messages.clientCutText(this._sock, text);\n }\n\n // ===== PRIVATE METHODS =====\n\n }, {\n key: \'_connect\',\n value: function _connect() {\n Log.Debug(">> RFB.connect");\n\n Log.Info("connecting to " + this._url);\n\n try {\n // WebSocket.onopen transitions to the RFB init states\n this._sock.open(this._url, [\'binary\']);\n } catch (e) {\n if (e.name === \'SyntaxError\') {\n this._fail("Invalid host or port (" + e + ")");\n } else {\n this._fail("Error when opening socket (" + e + ")");\n }\n }\n\n // Make our elements part of the page\n this._target.appendChild(this._screen);\n\n this._cursor.attach(this._canvas);\n this._refreshCursor();\n\n // Monitor size changes of the screen\n // FIXME: Use ResizeObserver, or hidden overflow\n window.addEventListener(\'resize\', this._eventHandlers.windowResize);\n\n // Always grab focus on some kind of click event\n this._canvas.addEventListener("mousedown", this._eventHandlers.focusCanvas);\n this._canvas.addEventListener("touchstart", this._eventHandlers.focusCanvas);\n\n Log.Debug("<< RFB.connect");\n }\n }, {\n key: \'_disconnect\',\n value: function _disconnect() {\n Log.Debug(">> RFB.disconnect");\n this._cursor.detach();\n this._canvas.removeEventListener("mousedown", this._eventHandlers.focusCanvas);\n this._canvas.removeEventListener("touchstart", this._eventHandlers.focusCanvas);\n window.removeEventListener(\'resize\', this._eventHandlers.windowResize);\n this._keyboard.ungrab();\n this._mouse.ungrab();\n this._sock.close();\n try {\n this._target.removeChild(this._screen);\n } catch (e) {\n if (e.name === \'NotFoundError\') {\n // Some cases where the initial connection fails\n // can disconnect before the _screen is created\n } else {\n throw e;\n }\n }\n clearTimeout(this._resizeTimeout);\n Log.Debug("<< RFB.disconnect");\n }\n }, {\n key: \'_focusCanvas\',\n value: function _focusCanvas(event) {\n // Respect earlier handlers\' request to not do side-effects\n if (event.defaultPrevented) {\n return;\n }\n\n if (!this.focusOnClick) {\n return;\n }\n\n this.focus();\n }\n }, {\n key: \'_windowResize\',\n value: function _windowResize(event) {\n var _this2 = this;\n\n // If the window resized then our screen element might have\n // as well. Update the viewport dimensions.\n window.requestAnimationFrame(function () {\n _this2._updateClip();\n _this2._updateScale();\n });\n\n if (this._resizeSession) {\n // Request changing the resolution of the remote display to\n // the size of the local browser viewport.\n\n // In order to not send multiple requests before the browser-resize\n // is finished we wait 0.5 seconds before sending the request.\n clearTimeout(this._resizeTimeout);\n this._resizeTimeout = setTimeout(this._requestRemoteResize.bind(this), 500);\n }\n }\n\n // Update state of clipping in Display object, and make sure the\n // configured viewport matches the current screen size\n\n }, {\n key: \'_updateClip\',\n value: function _updateClip() {\n var cur_clip = this._display.clipViewport;\n var new_clip = this._clipViewport;\n\n if (this._scaleViewport) {\n // Disable viewport clipping if we are scaling\n new_clip = false;\n }\n\n if (cur_clip !== new_clip) {\n this._display.clipViewport = new_clip;\n }\n\n if (new_clip) {\n // When clipping is enabled, the screen is limited to\n // the size of the container.\n var size = this._screenSize();\n this._display.viewportChangeSize(size.w, size.h);\n this._fixScrollbars();\n }\n }\n }, {\n key: \'_updateScale\',\n value: function _updateScale() {\n if (!this._scaleViewport) {\n this._display.scale = 1.0;\n } else {\n var size = this._screenSize();\n this._display.autoscale(size.w, size.h);\n }\n this._fixScrollbars();\n }\n\n // Requests a change of remote desktop size. This message is an extension\n // and may only be sent if we have received an ExtendedDesktopSize message\n\n }, {\n key: \'_requestRemoteResize\',\n value: function _requestRemoteResize() {\n clearTimeout(this._resizeTimeout);\n this._resizeTimeout = null;\n\n if (!this._resizeSession || this._viewOnly || !this._supportsSetDesktopSize) {\n return;\n }\n\n var size = this._screenSize();\n RFB.messages.setDesktopSize(this._sock, Math.floor(size.w), Math.floor(size.h), this._screen_id, this._screen_flags);\n\n Log.Debug(\'Requested new desktop size: \' + size.w + \'x\' + size.h);\n }\n\n // Gets the the size of the available screen\n\n }, {\n key: \'_screenSize\',\n value: function _screenSize() {\n var r = this._screen.getBoundingClientRect();\n return { w: r.width, h: r.height };\n }\n }, {\n key: \'_fixScrollbars\',\n value: function _fixScrollbars() {\n // This is a hack because Chrome screws up the calculation\n // for when scrollbars are needed. So to fix it we temporarily\n // toggle them off and on.\n var orig = this._screen.style.overflow;\n this._screen.style.overflow = \'hidden\';\n // Force Chrome to recalculate the layout by asking for\n // an element\'s dimensions\n this._screen.getBoundingClientRect();\n this._screen.style.overflow = orig;\n }\n\n /*\n * Connection states:\n * connecting\n * connected\n * disconnecting\n * disconnected - permanent state\n */\n\n }, {\n key: \'_updateConnectionState\',\n value: function _updateConnectionState(state) {\n var _this3 = this;\n\n var oldstate = this._rfb_connection_state;\n\n if (state === oldstate) {\n Log.Debug("Already in state \'" + state + "\', ignoring");\n return;\n }\n\n // The \'disconnected\' state is permanent for each RFB object\n if (oldstate === \'disconnected\') {\n Log.Error("Tried changing state of a disconnected RFB object");\n return;\n }\n\n // Ensure proper transitions before doing anything\n switch (state) {\n case \'connected\':\n if (oldstate !== \'connecting\') {\n Log.Error("Bad transition to connected state, " + "previous connection state: " + oldstate);\n return;\n }\n break;\n\n case \'disconnected\':\n if (oldstate !== \'disconnecting\') {\n Log.Error("Bad transition to disconnected state, " + "previous connection state: " + oldstate);\n return;\n }\n break;\n\n case \'connecting\':\n if (oldstate !== \'\') {\n Log.Error("Bad transition to connecting state, " + "previous connection state: " + oldstate);\n return;\n }\n break;\n\n case \'disconnecting\':\n if (oldstate !== \'connected\' && oldstate !== \'connecting\') {\n Log.Error("Bad transition to disconnecting state, " + "previous connection state: " + oldstate);\n return;\n }\n break;\n\n default:\n Log.Error("Unknown connection state: " + state);\n return;\n }\n\n // State change actions\n\n this._rfb_connection_state = state;\n\n Log.Debug("New state \'" + state + "\', was \'" + oldstate + "\'.");\n\n if (this._disconnTimer && state !== \'disconnecting\') {\n Log.Debug("Clearing disconnect timer");\n clearTimeout(this._disconnTimer);\n this._disconnTimer = null;\n\n // make sure we don\'t get a double event\n this._sock.off(\'close\');\n }\n\n switch (state) {\n case \'connecting\':\n this._connect();\n break;\n\n case \'connected\':\n this.dispatchEvent(new CustomEvent("connect", { detail: {} }));\n break;\n\n case \'disconnecting\':\n this._disconnect();\n\n this._disconnTimer = setTimeout(function () {\n Log.Error("Disconnection timed out.");\n _this3._updateConnectionState(\'disconnected\');\n }, DISCONNECT_TIMEOUT * 1000);\n break;\n\n case \'disconnected\':\n this.dispatchEvent(new CustomEvent("disconnect", { detail: { clean: this._rfb_clean_disconnect } }));\n break;\n }\n }\n\n /* Print errors and disconnect\n *\n * The parameter \'details\' is used for information that\n * should be logged but not sent to the user interface.\n */\n\n }, {\n key: \'_fail\',\n value: function _fail(details) {\n switch (this._rfb_connection_state) {\n case \'disconnecting\':\n Log.Error("Failed when disconnecting: " + details);\n break;\n case \'connected\':\n Log.Error("Failed while connected: " + details);\n break;\n case \'connecting\':\n Log.Error("Failed when connecting: " + details);\n break;\n default:\n Log.Error("RFB failure: " + details);\n break;\n }\n this._rfb_clean_disconnect = false; //This is sent to the UI\n\n // Transition to disconnected without waiting for socket to close\n this._updateConnectionState(\'disconnecting\');\n this._updateConnectionState(\'disconnected\');\n\n return false;\n }\n }, {\n key: \'_setCapability\',\n value: function _setCapability(cap, val) {\n this._capabilities[cap] = val;\n this.dispatchEvent(new CustomEvent("capabilities", { detail: { capabilities: this._capabilities } }));\n }\n }, {\n key: \'_handle_message\',\n value: function _handle_message() {\n if (this._sock.rQlen === 0) {\n Log.Warn("handle_message called on an empty receive queue");\n return;\n }\n\n switch (this._rfb_connection_state) {\n case \'disconnected\':\n Log.Error("Got data while disconnected");\n break;\n case \'connected\':\n while (true) {\n if (this._flushing) {\n break;\n }\n if (!this._normal_msg()) {\n break;\n }\n if (this._sock.rQlen === 0) {\n break;\n }\n }\n break;\n default:\n this._init_msg();\n break;\n }\n }\n }, {\n key: \'_handleKeyEvent\',\n value: function _handleKeyEvent(keysym, code, down) {\n this.sendKey(keysym, code, down);\n }\n }, {\n key: \'_handleMouseButton\',\n value: function _handleMouseButton(x, y, down, bmask) {\n if (down) {\n this._mouse_buttonMask |= bmask;\n } else {\n this._mouse_buttonMask &= ~bmask;\n }\n\n if (this.dragViewport) {\n if (down && !this._viewportDragging) {\n this._viewportDragging = true;\n this._viewportDragPos = { \'x\': x, \'y\': y };\n this._viewportHasMoved = false;\n\n // Skip sending mouse events\n return;\n } else {\n this._viewportDragging = false;\n\n // If we actually performed a drag then we are done\n // here and should not send any mouse events\n if (this._viewportHasMoved) {\n return;\n }\n\n // Otherwise we treat this as a mouse click event.\n // Send the button down event here, as the button up\n // event is sent at the end of this function.\n RFB.messages.pointerEvent(this._sock, this._display.absX(x), this._display.absY(y), bmask);\n }\n }\n\n if (this._viewOnly) {\n return;\n } // View only, skip mouse events\n\n if (this._rfb_connection_state !== \'connected\') {\n return;\n }\n RFB.messages.pointerEvent(this._sock, this._display.absX(x), this._display.absY(y), this._mouse_buttonMask);\n }\n }, {\n key: \'_handleMouseMove\',\n value: function _handleMouseMove(x, y) {\n if (this._viewportDragging) {\n var deltaX = this._viewportDragPos.x - x;\n var deltaY = this._viewportDragPos.y - y;\n\n if (this._viewportHasMoved || Math.abs(deltaX) > _browser.dragThreshold || Math.abs(deltaY) > _browser.dragThreshold) {\n this._viewportHasMoved = true;\n\n this._viewportDragPos = { \'x\': x, \'y\': y };\n this._display.viewportChangePos(deltaX, deltaY);\n }\n\n // Skip sending mouse events\n return;\n }\n\n if (this._viewOnly) {\n return;\n } // View only, skip mouse events\n\n if (this._rfb_connection_state !== \'connected\') {\n return;\n }\n RFB.messages.pointerEvent(this._sock, this._display.absX(x), this._display.absY(y), this._mouse_buttonMask);\n }\n\n // Message Handlers\n\n }, {\n key: \'_negotiate_protocol_version\',\n value: function _negotiate_protocol_version() {\n if (this._sock.rQwait("version", 12)) {\n return false;\n }\n\n var sversion = this._sock.rQshiftStr(12).substr(4, 7);\n Log.Info("Server ProtocolVersion: " + sversion);\n var is_repeater = 0;\n switch (sversion) {\n case "000.000":\n // UltraVNC repeater\n is_repeater = 1;\n break;\n case "003.003":\n case "003.006": // UltraVNC\n case "003.889":\n // Apple Remote Desktop\n this._rfb_version = 3.3;\n break;\n case "003.007":\n this._rfb_version = 3.7;\n break;\n case "003.008":\n case "004.000": // Intel AMT KVM\n case "004.001": // RealVNC 4.6\n case "005.000":\n // RealVNC 5.3\n this._rfb_version = 3.8;\n break;\n default:\n return this._fail("Invalid server version " + sversion);\n }\n\n if (is_repeater) {\n var repeaterID = "ID:" + this._repeaterID;\n while (repeaterID.length < 250) {\n repeaterID += "\\0";\n }\n this._sock.send_string(repeaterID);\n return true;\n }\n\n if (this._rfb_version > this._rfb_max_version) {\n this._rfb_version = this._rfb_max_version;\n }\n\n var cversion = "00" + parseInt(this._rfb_version, 10) + ".00" + this._rfb_version * 10 % 10;\n this._sock.send_string("RFB " + cversion + "\\n");\n Log.Debug(\'Sent ProtocolVersion: \' + cversion);\n\n this._rfb_init_state = \'Security\';\n }\n }, {\n key: \'_negotiate_security\',\n value: function _negotiate_security() {\n // Polyfill since IE and PhantomJS doesn\'t have\n // TypedArray.includes()\n function includes(item, array) {\n for (var i = 0; i < array.length; i++) {\n if (array[i] === item) {\n return true;\n }\n }\n return false;\n }\n\n if (this._rfb_version >= 3.7) {\n // Server sends supported list, client decides\n var num_types = this._sock.rQshift8();\n if (this._sock.rQwait("security type", num_types, 1)) {\n return false;\n }\n\n if (num_types === 0) {\n this._rfb_init_state = "SecurityReason";\n this._security_context = "no security types";\n this._security_status = 1;\n return this._init_msg();\n }\n\n var types = this._sock.rQshiftBytes(num_types);\n Log.Debug("Server security types: " + types);\n\n // Look for each auth in preferred order\n if (includes(1, types)) {\n this._rfb_auth_scheme = 1; // None\n } else if (includes(22, types)) {\n this._rfb_auth_scheme = 22; // XVP\n } else if (includes(16, types)) {\n this._rfb_auth_scheme = 16; // Tight\n } else if (includes(2, types)) {\n this._rfb_auth_scheme = 2; // VNC Auth\n } else {\n return this._fail("Unsupported security types (types: " + types + ")");\n }\n\n this._sock.send([this._rfb_auth_scheme]);\n } else {\n // Server decides\n if (this._sock.rQwait("security scheme", 4)) {\n return false;\n }\n this._rfb_auth_scheme = this._sock.rQshift32();\n\n if (this._rfb_auth_scheme == 0) {\n this._rfb_init_state = "SecurityReason";\n this._security_context = "authentication scheme";\n this._security_status = 1;\n return this._init_msg();\n }\n }\n\n this._rfb_init_state = \'Authentication\';\n Log.Debug(\'Authenticating using scheme: \' + this._rfb_auth_scheme);\n\n return this._init_msg(); // jump to authentication\n }\n }, {\n key: \'_handle_security_reason\',\n value: function _handle_security_reason() {\n if (this._sock.rQwait("reason length", 4)) {\n return false;\n }\n var strlen = this._sock.rQshift32();\n var reason = "";\n\n if (strlen > 0) {\n if (this._sock.rQwait("reason", strlen, 4)) {\n return false;\n }\n reason = this._sock.rQshiftStr(strlen);\n }\n\n if (reason !== "") {\n this.dispatchEvent(new CustomEvent("securityfailure", { detail: { status: this._security_status,\n reason: reason } }));\n\n return this._fail("Security negotiation failed on " + this._security_context + " (reason: " + reason + ")");\n } else {\n this.dispatchEvent(new CustomEvent("securityfailure", { detail: { status: this._security_status } }));\n\n return this._fail("Security negotiation failed on " + this._security_context);\n }\n }\n\n // authentication\n\n }, {\n key: \'_negotiate_xvp_auth\',\n value: function _negotiate_xvp_auth() {\n if (!this._rfb_credentials.username || !this._rfb_credentials.password || !this._rfb_credentials.target) {\n this.dispatchEvent(new CustomEvent("credentialsrequired", { detail: { types: ["username", "password", "target"] } }));\n return false;\n }\n\n var xvp_auth_str = String.fromCharCode(this._rfb_credentials.username.length) + String.fromCharCode(this._rfb_credentials.target.length) + this._rfb_credentials.username + this._rfb_credentials.target;\n this._sock.send_string(xvp_auth_str);\n this._rfb_auth_scheme = 2;\n return this._negotiate_authentication();\n }\n }, {\n key: \'_negotiate_std_vnc_auth\',\n value: function _negotiate_std_vnc_auth() {\n if (this._sock.rQwait("auth challenge", 16)) {\n return false;\n }\n\n if (!this._rfb_credentials.password) {\n this.dispatchEvent(new CustomEvent("credentialsrequired", { detail: { types: ["password"] } }));\n return false;\n }\n\n // TODO(directxman12): make genDES not require an Array\n var challenge = Array.prototype.slice.call(this._sock.rQshiftBytes(16));\n var response = RFB.genDES(this._rfb_credentials.password, challenge);\n this._sock.send(response);\n this._rfb_init_state = "SecurityResult";\n return true;\n }\n }, {\n key: \'_negotiate_tight_tunnels\',\n value: function _negotiate_tight_tunnels(numTunnels) {\n var clientSupportedTunnelTypes = {\n 0: { vendor: \'TGHT\', signature: \'NOTUNNEL\' }\n };\n var serverSupportedTunnelTypes = {};\n // receive tunnel capabilities\n for (var i = 0; i < numTunnels; i++) {\n var cap_code = this._sock.rQshift32();\n var cap_vendor = this._sock.rQshiftStr(4);\n var cap_signature = this._sock.rQshiftStr(8);\n serverSupportedTunnelTypes[cap_code] = { vendor: cap_vendor, signature: cap_signature };\n }\n\n Log.Debug("Server Tight tunnel types: " + serverSupportedTunnelTypes);\n\n // Siemens touch panels have a VNC server that supports NOTUNNEL,\n // but forgets to advertise it. Try to detect such servers by\n // looking for their custom tunnel type.\n if (serverSupportedTunnelTypes[1] && serverSupportedTunnelTypes[1].vendor === "SICR" && serverSupportedTunnelTypes[1].signature === "SCHANNEL") {\n Log.Debug("Detected Siemens server. Assuming NOTUNNEL support.");\n serverSupportedTunnelTypes[0] = { vendor: \'TGHT\', signature: \'NOTUNNEL\' };\n }\n\n // choose the notunnel type\n if (serverSupportedTunnelTypes[0]) {\n if (serverSupportedTunnelTypes[0].vendor != clientSupportedTunnelTypes[0].vendor || serverSupportedTunnelTypes[0].signature != clientSupportedTunnelTypes[0].signature) {\n return this._fail("Client\'s tunnel type had the incorrect " + "vendor or signature");\n }\n Log.Debug("Selected tunnel type: " + clientSupportedTunnelTypes[0]);\n this._sock.send([0, 0, 0, 0]); // use NOTUNNEL\n return false; // wait until we receive the sub auth count to continue\n } else {\n return this._fail("Server wanted tunnels, but doesn\'t support " + "the notunnel type");\n }\n }\n }, {\n key: \'_negotiate_tight_auth\',\n value: function _negotiate_tight_auth() {\n if (!this._rfb_tightvnc) {\n // first pass, do the tunnel negotiation\n if (this._sock.rQwait("num tunnels", 4)) {\n return false;\n }\n var numTunnels = this._sock.rQshift32();\n if (numTunnels > 0 && this._sock.rQwait("tunnel capabilities", 16 * numTunnels, 4)) {\n return false;\n }\n\n this._rfb_tightvnc = true;\n\n if (numTunnels > 0) {\n this._negotiate_tight_tunnels(numTunnels);\n return false; // wait until we receive the sub auth to continue\n }\n }\n\n // second pass, do the sub-auth negotiation\n if (this._sock.rQwait("sub auth count", 4)) {\n return false;\n }\n var subAuthCount = this._sock.rQshift32();\n if (subAuthCount === 0) {\n // empty sub-auth list received means \'no auth\' subtype selected\n this._rfb_init_state = \'SecurityResult\';\n return true;\n }\n\n if (this._sock.rQwait("sub auth capabilities", 16 * subAuthCount, 4)) {\n return false;\n }\n\n var clientSupportedTypes = {\n \'STDVNOAUTH__\': 1,\n \'STDVVNCAUTH_\': 2\n };\n\n var serverSupportedTypes = [];\n\n for (var i = 0; i < subAuthCount; i++) {\n this._sock.rQshift32(); // capNum\n var capabilities = this._sock.rQshiftStr(12);\n serverSupportedTypes.push(capabilities);\n }\n\n Log.Debug("Server Tight authentication types: " + serverSupportedTypes);\n\n for (var authType in clientSupportedTypes) {\n if (serverSupportedTypes.indexOf(authType) != -1) {\n this._sock.send([0, 0, 0, clientSupportedTypes[authType]]);\n Log.Debug("Selected authentication type: " + authType);\n\n switch (authType) {\n case \'STDVNOAUTH__\':\n // no auth\n this._rfb_init_state = \'SecurityResult\';\n return true;\n case \'STDVVNCAUTH_\':\n // VNC auth\n this._rfb_auth_scheme = 2;\n return this._init_msg();\n default:\n return this._fail("Unsupported tiny auth scheme " + "(scheme: " + authType + ")");\n }\n }\n }\n\n return this._fail("No supported sub-auth types!");\n }\n }, {\n key: \'_negotiate_authentication\',\n value: function _negotiate_authentication() {\n switch (this._rfb_auth_scheme) {\n case 1:\n // no auth\n if (this._rfb_version >= 3.8) {\n this._rfb_init_state = \'SecurityResult\';\n return true;\n }\n this._rfb_init_state = \'ClientInitialisation\';\n return this._init_msg();\n\n case 22:\n // XVP auth\n return this._negotiate_xvp_auth();\n\n case 2:\n // VNC authentication\n return this._negotiate_std_vnc_auth();\n\n case 16:\n // TightVNC Security Type\n return this._negotiate_tight_auth();\n\n default:\n return this._fail("Unsupported auth scheme (scheme: " + this._rfb_auth_scheme + ")");\n }\n }\n }, {\n key: \'_handle_security_result\',\n value: function _handle_security_result() {\n if (this._sock.rQwait(\'VNC auth response \', 4)) {\n return false;\n }\n\n var status = this._sock.rQshift32();\n\n if (status === 0) {\n // OK\n this._rfb_init_state = \'ClientInitialisation\';\n Log.Debug(\'Authentication OK\');\n return this._init_msg();\n } else {\n if (this._rfb_version >= 3.8) {\n this._rfb_init_state = "SecurityReason";\n this._security_context = "security result";\n this._security_status = status;\n return this._init_msg();\n } else {\n this.dispatchEvent(new CustomEvent("securityfailure", { detail: { status: status } }));\n\n return this._fail("Security handshake failed");\n }\n }\n }\n }, {\n key: \'_negotiate_server_init\',\n value: function _negotiate_server_init() {\n if (this._sock.rQwait("server initialization", 24)) {\n return false;\n }\n\n /* Screen size */\n var width = this._sock.rQshift16();\n var height = this._sock.rQshift16();\n\n /* PIXEL_FORMAT */\n var bpp = this._sock.rQshift8();\n var depth = this._sock.rQshift8();\n var big_endian = this._sock.rQshift8();\n var true_color = this._sock.rQshift8();\n\n var red_max = this._sock.rQshift16();\n var green_max = this._sock.rQshift16();\n var blue_max = this._sock.rQshift16();\n var red_shift = this._sock.rQshift8();\n var green_shift = this._sock.rQshift8();\n var blue_shift = this._sock.rQshift8();\n this._sock.rQskipBytes(3); // padding\n\n // NB(directxman12): we don\'t want to call any callbacks or print messages until\n // *after* we\'re past the point where we could backtrack\n\n /* Connection name/title */\n var name_length = this._sock.rQshift32();\n if (this._sock.rQwait(\'server init name\', name_length, 24)) {\n return false;\n }\n this._fb_name = (0, _strings.decodeUTF8)(this._sock.rQshiftStr(name_length));\n\n if (this._rfb_tightvnc) {\n if (this._sock.rQwait(\'TightVNC extended server init header\', 8, 24 + name_length)) {\n return false;\n }\n // In TightVNC mode, ServerInit message is extended\n var numServerMessages = this._sock.rQshift16();\n var numClientMessages = this._sock.rQshift16();\n var numEncodings = this._sock.rQshift16();\n this._sock.rQskipBytes(2); // padding\n\n var totalMessagesLength = (numServerMessages + numClientMessages + numEncodings) * 16;\n if (this._sock.rQwait(\'TightVNC extended server init header\', totalMessagesLength, 32 + name_length)) {\n return false;\n }\n\n // we don\'t actually do anything with the capability information that TIGHT sends,\n // so we just skip the all of this.\n\n // TIGHT server message capabilities\n this._sock.rQskipBytes(16 * numServerMessages);\n\n // TIGHT client message capabilities\n this._sock.rQskipBytes(16 * numClientMessages);\n\n // TIGHT encoding capabilities\n this._sock.rQskipBytes(16 * numEncodings);\n }\n\n // NB(directxman12): these are down here so that we don\'t run them multiple times\n // if we backtrack\n Log.Info("Screen: " + width + "x" + height + ", bpp: " + bpp + ", depth: " + depth + ", big_endian: " + big_endian + ", true_color: " + true_color + ", red_max: " + red_max + ", green_max: " + green_max + ", blue_max: " + blue_max + ", red_shift: " + red_shift + ", green_shift: " + green_shift + ", blue_shift: " + blue_shift);\n\n if (big_endian !== 0) {\n Log.Warn("Server native endian is not little endian");\n }\n\n if (red_shift !== 16) {\n Log.Warn("Server native red-shift is not 16");\n }\n\n if (blue_shift !== 0) {\n Log.Warn("Server native blue-shift is not 0");\n }\n\n // we\'re past the point where we could backtrack, so it\'s safe to call this\n this.dispatchEvent(new CustomEvent("desktopname", { detail: { name: this._fb_name } }));\n\n this._resize(width, height);\n\n if (!this._viewOnly) {\n this._keyboard.grab();\n }\n if (!this._viewOnly) {\n this._mouse.grab();\n }\n\n this._fb_depth = 24;\n\n if (this._fb_name === "Intel(r) AMT KVM") {\n Log.Warn("Intel AMT KVM only supports 8/16 bit depths. Using low color mode.");\n this._fb_depth = 8;\n }\n\n RFB.messages.pixelFormat(this._sock, this._fb_depth, true);\n this._sendEncodings();\n RFB.messages.fbUpdateRequest(this._sock, false, 0, 0, this._fb_width, this._fb_height);\n\n this._updateConnectionState(\'connected\');\n return true;\n }\n }, {\n key: \'_sendEncodings\',\n value: function _sendEncodings() {\n var encs = [];\n\n // In preference order\n encs.push(_encodings.encodings.encodingCopyRect);\n // Only supported with full depth support\n if (this._fb_depth == 24) {\n encs.push(_encodings.encodings.encodingTight);\n encs.push(_encodings.encodings.encodingTightPNG);\n encs.push(_encodings.encodings.encodingHextile);\n encs.push(_encodings.encodings.encodingRRE);\n }\n encs.push(_encodings.encodings.encodingRaw);\n\n // Psuedo-encoding settings\n encs.push(_encodings.encodings.pseudoEncodingQualityLevel0 + 6);\n encs.push(_encodings.encodings.pseudoEncodingCompressLevel0 + 2);\n\n encs.push(_encodings.encodings.pseudoEncodingDesktopSize);\n encs.push(_encodings.encodings.pseudoEncodingLastRect);\n encs.push(_encodings.encodings.pseudoEncodingQEMUExtendedKeyEvent);\n encs.push(_encodings.encodings.pseudoEncodingExtendedDesktopSize);\n encs.push(_encodings.encodings.pseudoEncodingXvp);\n encs.push(_encodings.encodings.pseudoEncodingFence);\n encs.push(_encodings.encodings.pseudoEncodingContinuousUpdates);\n\n if (this._fb_depth == 24) {\n encs.push(_encodings.encodings.pseudoEncodingCursor);\n }\n\n RFB.messages.clientEncodings(this._sock, encs);\n }\n\n /* RFB protocol initialization states:\n * ProtocolVersion\n * Security\n * Authentication\n * SecurityResult\n * ClientInitialization - not triggered by server message\n * ServerInitialization\n */\n\n }, {\n key: \'_init_msg\',\n value: function _init_msg() {\n switch (this._rfb_init_state) {\n case \'ProtocolVersion\':\n return this._negotiate_protocol_version();\n\n case \'Security\':\n return this._negotiate_security();\n\n case \'Authentication\':\n return this._negotiate_authentication();\n\n case \'SecurityResult\':\n return this._handle_security_result();\n\n case \'SecurityReason\':\n return this._handle_security_reason();\n\n case \'ClientInitialisation\':\n this._sock.send([this._shared ? 1 : 0]); // ClientInitialisation\n this._rfb_init_state = \'ServerInitialisation\';\n return true;\n\n case \'ServerInitialisation\':\n return this._negotiate_server_init();\n\n default:\n return this._fail("Unknown init state (state: " + this._rfb_init_state + ")");\n }\n }\n }, {\n key: \'_handle_set_colour_map_msg\',\n value: function _handle_set_colour_map_msg() {\n Log.Debug("SetColorMapEntries");\n\n return this._fail("Unexpected SetColorMapEntries message");\n }\n }, {\n key: \'_handle_server_cut_text\',\n value: function _handle_server_cut_text() {\n Log.Debug("ServerCutText");\n\n if (this._sock.rQwait("ServerCutText header", 7, 1)) {\n return false;\n }\n this._sock.rQskipBytes(3); // Padding\n var length = this._sock.rQshift32();\n if (this._sock.rQwait("ServerCutText", length, 8)) {\n return false;\n }\n\n var text = this._sock.rQshiftStr(length);\n\n if (this._viewOnly) {\n return true;\n }\n\n this.dispatchEvent(new CustomEvent("clipboard", { detail: { text: text } }));\n\n return true;\n }\n }, {\n key: \'_handle_server_fence_msg\',\n value: function _handle_server_fence_msg() {\n if (this._sock.rQwait("ServerFence header", 8, 1)) {\n return false;\n }\n this._sock.rQskipBytes(3); // Padding\n var flags = this._sock.rQshift32();\n var length = this._sock.rQshift8();\n\n if (this._sock.rQwait("ServerFence payload", length, 9)) {\n return false;\n }\n\n if (length > 64) {\n Log.Warn("Bad payload length (" + length + ") in fence response");\n length = 64;\n }\n\n var payload = this._sock.rQshiftStr(length);\n\n this._supportsFence = true;\n\n /*\n * Fence flags\n *\n * (1<<0) - BlockBefore\n * (1<<1) - BlockAfter\n * (1<<2) - SyncNext\n * (1<<31) - Request\n */\n\n if (!(flags & 1 << 31)) {\n return this._fail("Unexpected fence response");\n }\n\n // Filter out unsupported flags\n // FIXME: support syncNext\n flags &= 1 << 0 | 1 << 1;\n\n // BlockBefore and BlockAfter are automatically handled by\n // the fact that we process each incoming message\n // synchronuosly.\n RFB.messages.clientFence(this._sock, flags, payload);\n\n return true;\n }\n }, {\n key: \'_handle_xvp_msg\',\n value: function _handle_xvp_msg() {\n if (this._sock.rQwait("XVP version and message", 3, 1)) {\n return false;\n }\n this._sock.rQskipBytes(1); // Padding\n var xvp_ver = this._sock.rQshift8();\n var xvp_msg = this._sock.rQshift8();\n\n switch (xvp_msg) {\n case 0:\n // XVP_FAIL\n Log.Error("XVP Operation Failed");\n break;\n case 1:\n // XVP_INIT\n this._rfb_xvp_ver = xvp_ver;\n Log.Info("XVP extensions enabled (version " + this._rfb_xvp_ver + ")");\n this._setCapability("power", true);\n break;\n default:\n this._fail("Illegal server XVP message (msg: " + xvp_msg + ")");\n break;\n }\n\n return true;\n }\n }, {\n key: \'_normal_msg\',\n value: function _normal_msg() {\n var msg_type = void 0;\n if (this._FBU.rects > 0) {\n msg_type = 0;\n } else {\n msg_type = this._sock.rQshift8();\n }\n\n var first = void 0,\n ret = void 0;\n switch (msg_type) {\n case 0:\n // FramebufferUpdate\n ret = this._framebufferUpdate();\n if (ret && !this._enabledContinuousUpdates) {\n RFB.messages.fbUpdateRequest(this._sock, true, 0, 0, this._fb_width, this._fb_height);\n }\n return ret;\n\n case 1:\n // SetColorMapEntries\n return this._handle_set_colour_map_msg();\n\n case 2:\n // Bell\n Log.Debug("Bell");\n this.dispatchEvent(new CustomEvent("bell", { detail: {} }));\n return true;\n\n case 3:\n // ServerCutText\n return this._handle_server_cut_text();\n\n case 150:\n // EndOfContinuousUpdates\n first = !this._supportsContinuousUpdates;\n this._supportsContinuousUpdates = true;\n this._enabledContinuousUpdates = false;\n if (first) {\n this._enabledContinuousUpdates = true;\n this._updateContinuousUpdates();\n Log.Info("Enabling continuous updates.");\n } else {\n // FIXME: We need to send a framebufferupdaterequest here\n // if we add support for turning off continuous updates\n }\n return true;\n\n case 248:\n // ServerFence\n return this._handle_server_fence_msg();\n\n case 250:\n // XVP\n return this._handle_xvp_msg();\n\n default:\n this._fail("Unexpected server message (type " + msg_type + ")");\n Log.Debug("sock.rQslice(0, 30): " + this._sock.rQslice(0, 30));\n return true;\n }\n }\n }, {\n key: \'_onFlush\',\n value: function _onFlush() {\n this._flushing = false;\n // Resume processing\n if (this._sock.rQlen > 0) {\n this._handle_message();\n }\n }\n }, {\n key: \'_framebufferUpdate\',\n value: function _framebufferUpdate() {\n if (this._FBU.rects === 0) {\n if (this._sock.rQwait("FBU header", 3, 1)) {\n return false;\n }\n this._sock.rQskipBytes(1); // Padding\n this._FBU.rects = this._sock.rQshift16();\n\n // Make sure the previous frame is fully rendered first\n // to avoid building up an excessive queue\n if (this._display.pending()) {\n this._flushing = true;\n this._display.flush();\n return false;\n }\n }\n\n while (this._FBU.rects > 0) {\n if (this._FBU.encoding === null) {\n if (this._sock.rQwait("rect header", 12)) {\n return false;\n }\n /* New FramebufferUpdate */\n\n var hdr = this._sock.rQshiftBytes(12);\n this._FBU.x = (hdr[0] << 8) + hdr[1];\n this._FBU.y = (hdr[2] << 8) + hdr[3];\n this._FBU.width = (hdr[4] << 8) + hdr[5];\n this._FBU.height = (hdr[6] << 8) + hdr[7];\n this._FBU.encoding = parseInt((hdr[8] << 24) + (hdr[9] << 16) + (hdr[10] << 8) + hdr[11], 10);\n }\n\n if (!this._handleRect()) {\n return false;\n }\n\n this._FBU.rects--;\n this._FBU.encoding = null;\n }\n\n this._display.flip();\n\n return true; // We finished this FBU\n }\n }, {\n key: \'_handleRect\',\n value: function _handleRect() {\n switch (this._FBU.encoding) {\n case _encodings.encodings.pseudoEncodingLastRect:\n this._FBU.rects = 1; // Will be decreased when we return\n return true;\n\n case _encodings.encodings.pseudoEncodingCursor:\n return this._handleCursor();\n\n case _encodings.encodings.pseudoEncodingQEMUExtendedKeyEvent:\n // Old Safari doesn\'t support creating keyboard events\n try {\n var keyboardEvent = document.createEvent("keyboardEvent");\n if (keyboardEvent.code !== undefined) {\n this._qemuExtKeyEventSupported = true;\n }\n } catch (err) {\n // Do nothing\n }\n return true;\n\n case _encodings.encodings.pseudoEncodingDesktopSize:\n this._resize(this._FBU.width, this._FBU.height);\n return true;\n\n case _encodings.encodings.pseudoEncodingExtendedDesktopSize:\n return this._handleExtendedDesktopSize();\n\n default:\n return this._handleDataRect();\n }\n }\n }, {\n key: \'_handleCursor\',\n value: function _handleCursor() {\n var hotx = this._FBU.x; // hotspot-x\n var hoty = this._FBU.y; // hotspot-y\n var w = this._FBU.width;\n var h = this._FBU.height;\n\n var pixelslength = w * h * 4;\n var masklength = Math.ceil(w / 8) * h;\n\n var bytes = pixelslength + masklength;\n if (this._sock.rQwait("cursor encoding", bytes)) {\n return false;\n }\n\n // Decode from BGRX pixels + bit mask to RGBA\n var pixels = this._sock.rQshiftBytes(pixelslength);\n var mask = this._sock.rQshiftBytes(masklength);\n var rgba = new Uint8Array(w * h * 4);\n\n var pix_idx = 0;\n for (var y = 0; y < h; y++) {\n for (var x = 0; x < w; x++) {\n var mask_idx = y * Math.ceil(w / 8) + Math.floor(x / 8);\n var alpha = mask[mask_idx] << x % 8 & 0x80 ? 255 : 0;\n rgba[pix_idx] = pixels[pix_idx + 2];\n rgba[pix_idx + 1] = pixels[pix_idx + 1];\n rgba[pix_idx + 2] = pixels[pix_idx];\n rgba[pix_idx + 3] = alpha;\n pix_idx += 4;\n }\n }\n\n this._updateCursor(rgba, hotx, hoty, w, h);\n\n return true;\n }\n }, {\n key: \'_handleExtendedDesktopSize\',\n value: function _handleExtendedDesktopSize() {\n if (this._sock.rQwait("ExtendedDesktopSize", 4)) {\n return false;\n }\n\n var number_of_screens = this._sock.rQpeek8();\n\n var bytes = 4 + number_of_screens * 16;\n if (this._sock.rQwait("ExtendedDesktopSize", bytes)) {\n return false;\n }\n\n var firstUpdate = !this._supportsSetDesktopSize;\n this._supportsSetDesktopSize = true;\n\n // Normally we only apply the current resize mode after a\n // window resize event. However there is no such trigger on the\n // initial connect. And we don\'t know if the server supports\n // resizing until we\'ve gotten here.\n if (firstUpdate) {\n this._requestRemoteResize();\n }\n\n this._sock.rQskipBytes(1); // number-of-screens\n this._sock.rQskipBytes(3); // padding\n\n for (var i = 0; i < number_of_screens; i += 1) {\n // Save the id and flags of the first screen\n if (i === 0) {\n this._screen_id = this._sock.rQshiftBytes(4); // id\n this._sock.rQskipBytes(2); // x-position\n this._sock.rQskipBytes(2); // y-position\n this._sock.rQskipBytes(2); // width\n this._sock.rQskipBytes(2); // height\n this._screen_flags = this._sock.rQshiftBytes(4); // flags\n } else {\n this._sock.rQskipBytes(16);\n }\n }\n\n /*\n * The x-position indicates the reason for the change:\n *\n * 0 - server resized on its own\n * 1 - this client requested the resize\n * 2 - another client requested the resize\n */\n\n // We need to handle errors when we requested the resize.\n if (this._FBU.x === 1 && this._FBU.y !== 0) {\n var msg = "";\n // The y-position indicates the status code from the server\n switch (this._FBU.y) {\n case 1:\n msg = "Resize is administratively prohibited";\n break;\n case 2:\n msg = "Out of resources";\n break;\n case 3:\n msg = "Invalid screen layout";\n break;\n default:\n msg = "Unknown reason";\n break;\n }\n Log.Warn("Server did not accept the resize request: " + msg);\n } else {\n this._resize(this._FBU.width, this._FBU.height);\n }\n\n return true;\n }\n }, {\n key: \'_handleDataRect\',\n value: function _handleDataRect() {\n var decoder = this._decoders[this._FBU.encoding];\n if (!decoder) {\n this._fail("Unsupported encoding (encoding: " + this._FBU.encoding + ")");\n return false;\n }\n\n try {\n return decoder.decodeRect(this._FBU.x, this._FBU.y, this._FBU.width, this._FBU.height, this._sock, this._display, this._fb_depth);\n } catch (err) {\n this._fail("Error decoding rect: " + err);\n return false;\n }\n }\n }, {\n key: \'_updateContinuousUpdates\',\n value: function _updateContinuousUpdates() {\n if (!this._enabledContinuousUpdates) {\n return;\n }\n\n RFB.messages.enableContinuousUpdates(this._sock, true, 0, 0, this._fb_width, this._fb_height);\n }\n }, {\n key: \'_resize\',\n value: function _resize(width, height) {\n this._fb_width = width;\n this._fb_height = height;\n\n this._display.resize(this._fb_width, this._fb_height);\n\n // Adjust the visible viewport based on the new dimensions\n this._updateClip();\n this._updateScale();\n\n this._updateContinuousUpdates();\n }\n }, {\n key: \'_xvpOp\',\n value: function _xvpOp(ver, op) {\n if (this._rfb_xvp_ver < ver) {\n return;\n }\n Log.Info("Sending XVP operation " + op + " (version " + ver + ")");\n RFB.messages.xvpOp(this._sock, ver, op);\n }\n }, {\n key: \'_updateCursor\',\n value: function _updateCursor(rgba, hotx, hoty, w, h) {\n this._cursorImage = {\n rgbaPixels: rgba,\n hotx: hotx, hoty: hoty, w: w, h: h\n };\n this._refreshCursor();\n }\n }, {\n key: \'_shouldShowDotCursor\',\n value: function _shouldShowDotCursor() {\n // Called when this._cursorImage is updated\n if (!this._showDotCursor) {\n // User does not want to see the dot, so...\n return false;\n }\n\n // The dot should not be shown if the cursor is already visible,\n // i.e. contains at least one not-fully-transparent pixel.\n // So iterate through all alpha bytes in rgba and stop at the\n // first non-zero.\n for (var i = 3; i < this._cursorImage.rgbaPixels.length; i += 4) {\n if (this._cursorImage.rgbaPixels[i]) {\n return false;\n }\n }\n\n // At this point, we know that the cursor is fully transparent, and\n // the user wants to see the dot instead of this.\n return true;\n }\n }, {\n key: \'_refreshCursor\',\n value: function _refreshCursor() {\n var image = this._shouldShowDotCursor() ? RFB.cursors.dot : this._cursorImage;\n this._cursor.change(image.rgbaPixels, image.hotx, image.hoty, image.w, image.h);\n }\n }, {\n key: \'viewOnly\',\n get: function get() {\n return this._viewOnly;\n },\n set: function set(viewOnly) {\n this._viewOnly = viewOnly;\n\n if (this._rfb_connection_state === "connecting" || this._rfb_connection_state === "connected") {\n if (viewOnly) {\n this._keyboard.ungrab();\n this._mouse.ungrab();\n } else {\n this._keyboard.grab();\n this._mouse.grab();\n }\n }\n }\n }, {\n key: \'capabilities\',\n get: function get() {\n return this._capabilities;\n }\n }, {\n key: \'touchButton\',\n get: function get() {\n return this._mouse.touchButton;\n },\n set: function set(button) {\n this._mouse.touchButton = button;\n }\n }, {\n key: \'clipViewport\',\n get: function get() {\n return this._clipViewport;\n },\n set: function set(viewport) {\n this._clipViewport = viewport;\n this._updateClip();\n }\n }, {\n key: \'scaleViewport\',\n get: function get() {\n return this._scaleViewport;\n },\n set: function set(scale) {\n this._scaleViewport = scale;\n // Scaling trumps clipping, so we may need to adjust\n // clipping when enabling or disabling scaling\n if (scale && this._clipViewport) {\n this._updateClip();\n }\n this._updateScale();\n if (!scale && this._clipViewport) {\n this._updateClip();\n }\n }\n }, {\n key: \'resizeSession\',\n get: function get() {\n return this._resizeSession;\n },\n set: function set(resize) {\n this._resizeSession = resize;\n if (resize) {\n this._requestRemoteResize();\n }\n }\n }, {\n key: \'showDotCursor\',\n get: function get() {\n return this._showDotCursor;\n },\n set: function set(show) {\n this._showDotCursor = show;\n this._refreshCursor();\n }\n }, {\n key: \'background\',\n get: function get() {\n return this._screen.style.background;\n },\n set: function set(cssValue) {\n this._screen.style.background = cssValue;\n }\n }], [{\n key: \'genDES\',\n value: function genDES(password, challenge) {\n var passwordChars = password.split(\'\').map(function (c) {\n return c.charCodeAt(0);\n });\n return new _des2.default(passwordChars).encrypt(challenge);\n }\n }]);\n\n return RFB;\n}(_eventtarget2.default);\n\n// Class Methods\n\n\nexports.default = RFB;\nRFB.messages = {\n keyEvent: function keyEvent(sock, keysym, down) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 4; // msg-type\n buff[offset + 1] = down;\n\n buff[offset + 2] = 0;\n buff[offset + 3] = 0;\n\n buff[offset + 4] = keysym >> 24;\n buff[offset + 5] = keysym >> 16;\n buff[offset + 6] = keysym >> 8;\n buff[offset + 7] = keysym;\n\n sock._sQlen += 8;\n sock.flush();\n },\n QEMUExtendedKeyEvent: function QEMUExtendedKeyEvent(sock, keysym, down, keycode) {\n function getRFBkeycode(xt_scancode) {\n var upperByte = keycode >> 8;\n var lowerByte = keycode & 0x00ff;\n if (upperByte === 0xe0 && lowerByte < 0x7f) {\n return lowerByte | 0x80;\n }\n return xt_scancode;\n }\n\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 255; // msg-type\n buff[offset + 1] = 0; // sub msg-type\n\n buff[offset + 2] = down >> 8;\n buff[offset + 3] = down;\n\n buff[offset + 4] = keysym >> 24;\n buff[offset + 5] = keysym >> 16;\n buff[offset + 6] = keysym >> 8;\n buff[offset + 7] = keysym;\n\n var RFBkeycode = getRFBkeycode(keycode);\n\n buff[offset + 8] = RFBkeycode >> 24;\n buff[offset + 9] = RFBkeycode >> 16;\n buff[offset + 10] = RFBkeycode >> 8;\n buff[offset + 11] = RFBkeycode;\n\n sock._sQlen += 12;\n sock.flush();\n },\n pointerEvent: function pointerEvent(sock, x, y, mask) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 5; // msg-type\n\n buff[offset + 1] = mask;\n\n buff[offset + 2] = x >> 8;\n buff[offset + 3] = x;\n\n buff[offset + 4] = y >> 8;\n buff[offset + 5] = y;\n\n sock._sQlen += 6;\n sock.flush();\n },\n\n\n // TODO(directxman12): make this unicode compatible?\n clientCutText: function clientCutText(sock, text) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 6; // msg-type\n\n buff[offset + 1] = 0; // padding\n buff[offset + 2] = 0; // padding\n buff[offset + 3] = 0; // padding\n\n var length = text.length;\n\n buff[offset + 4] = length >> 24;\n buff[offset + 5] = length >> 16;\n buff[offset + 6] = length >> 8;\n buff[offset + 7] = length;\n\n sock._sQlen += 8;\n\n // We have to keep track of from where in the text we begin creating the\n // buffer for the flush in the next iteration.\n var textOffset = 0;\n\n var remaining = length;\n while (remaining > 0) {\n\n var flushSize = Math.min(remaining, sock._sQbufferSize - sock._sQlen);\n for (var i = 0; i < flushSize; i++) {\n buff[sock._sQlen + i] = text.charCodeAt(textOffset + i);\n }\n\n sock._sQlen += flushSize;\n sock.flush();\n\n remaining -= flushSize;\n textOffset += flushSize;\n }\n },\n setDesktopSize: function setDesktopSize(sock, width, height, id, flags) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 251; // msg-type\n buff[offset + 1] = 0; // padding\n buff[offset + 2] = width >> 8; // width\n buff[offset + 3] = width;\n buff[offset + 4] = height >> 8; // height\n buff[offset + 5] = height;\n\n buff[offset + 6] = 1; // number-of-screens\n buff[offset + 7] = 0; // padding\n\n // screen array\n buff[offset + 8] = id >> 24; // id\n buff[offset + 9] = id >> 16;\n buff[offset + 10] = id >> 8;\n buff[offset + 11] = id;\n buff[offset + 12] = 0; // x-position\n buff[offset + 13] = 0;\n buff[offset + 14] = 0; // y-position\n buff[offset + 15] = 0;\n buff[offset + 16] = width >> 8; // width\n buff[offset + 17] = width;\n buff[offset + 18] = height >> 8; // height\n buff[offset + 19] = height;\n buff[offset + 20] = flags >> 24; // flags\n buff[offset + 21] = flags >> 16;\n buff[offset + 22] = flags >> 8;\n buff[offset + 23] = flags;\n\n sock._sQlen += 24;\n sock.flush();\n },\n clientFence: function clientFence(sock, flags, payload) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 248; // msg-type\n\n buff[offset + 1] = 0; // padding\n buff[offset + 2] = 0; // padding\n buff[offset + 3] = 0; // padding\n\n buff[offset + 4] = flags >> 24; // flags\n buff[offset + 5] = flags >> 16;\n buff[offset + 6] = flags >> 8;\n buff[offset + 7] = flags;\n\n var n = payload.length;\n\n buff[offset + 8] = n; // length\n\n for (var i = 0; i < n; i++) {\n buff[offset + 9 + i] = payload.charCodeAt(i);\n }\n\n sock._sQlen += 9 + n;\n sock.flush();\n },\n enableContinuousUpdates: function enableContinuousUpdates(sock, enable, x, y, width, height) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 150; // msg-type\n buff[offset + 1] = enable; // enable-flag\n\n buff[offset + 2] = x >> 8; // x\n buff[offset + 3] = x;\n buff[offset + 4] = y >> 8; // y\n buff[offset + 5] = y;\n buff[offset + 6] = width >> 8; // width\n buff[offset + 7] = width;\n buff[offset + 8] = height >> 8; // height\n buff[offset + 9] = height;\n\n sock._sQlen += 10;\n sock.flush();\n },\n pixelFormat: function pixelFormat(sock, depth, true_color) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n var bpp = void 0;\n\n if (depth > 16) {\n bpp = 32;\n } else if (depth > 8) {\n bpp = 16;\n } else {\n bpp = 8;\n }\n\n var bits = Math.floor(depth / 3);\n\n buff[offset] = 0; // msg-type\n\n buff[offset + 1] = 0; // padding\n buff[offset + 2] = 0; // padding\n buff[offset + 3] = 0; // padding\n\n buff[offset + 4] = bpp; // bits-per-pixel\n buff[offset + 5] = depth; // depth\n buff[offset + 6] = 0; // little-endian\n buff[offset + 7] = true_color ? 1 : 0; // true-color\n\n buff[offset + 8] = 0; // red-max\n buff[offset + 9] = (1 << bits) - 1; // red-max\n\n buff[offset + 10] = 0; // green-max\n buff[offset + 11] = (1 << bits) - 1; // green-max\n\n buff[offset + 12] = 0; // blue-max\n buff[offset + 13] = (1 << bits) - 1; // blue-max\n\n buff[offset + 14] = bits * 2; // red-shift\n buff[offset + 15] = bits * 1; // green-shift\n buff[offset + 16] = bits * 0; // blue-shift\n\n buff[offset + 17] = 0; // padding\n buff[offset + 18] = 0; // padding\n buff[offset + 19] = 0; // padding\n\n sock._sQlen += 20;\n sock.flush();\n },\n clientEncodings: function clientEncodings(sock, encodings) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 2; // msg-type\n buff[offset + 1] = 0; // padding\n\n buff[offset + 2] = encodings.length >> 8;\n buff[offset + 3] = encodings.length;\n\n var j = offset + 4;\n for (var i = 0; i < encodings.length; i++) {\n var enc = encodings[i];\n buff[j] = enc >> 24;\n buff[j + 1] = enc >> 16;\n buff[j + 2] = enc >> 8;\n buff[j + 3] = enc;\n\n j += 4;\n }\n\n sock._sQlen += j - offset;\n sock.flush();\n },\n fbUpdateRequest: function fbUpdateRequest(sock, incremental, x, y, w, h) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n if (typeof x === "undefined") {\n x = 0;\n }\n if (typeof y === "undefined") {\n y = 0;\n }\n\n buff[offset] = 3; // msg-type\n buff[offset + 1] = incremental ? 1 : 0;\n\n buff[offset + 2] = x >> 8 & 0xFF;\n buff[offset + 3] = x & 0xFF;\n\n buff[offset + 4] = y >> 8 & 0xFF;\n buff[offset + 5] = y & 0xFF;\n\n buff[offset + 6] = w >> 8 & 0xFF;\n buff[offset + 7] = w & 0xFF;\n\n buff[offset + 8] = h >> 8 & 0xFF;\n buff[offset + 9] = h & 0xFF;\n\n sock._sQlen += 10;\n sock.flush();\n },\n xvpOp: function xvpOp(sock, ver, op) {\n var buff = sock._sQ;\n var offset = sock._sQlen;\n\n buff[offset] = 250; // msg-type\n buff[offset + 1] = 0; // padding\n\n buff[offset + 2] = ver;\n buff[offset + 3] = op;\n\n sock._sQlen += 4;\n sock.flush();\n }\n};\n\nRFB.cursors = {\n none: {\n rgbaPixels: new Uint8Array(),\n w: 0, h: 0,\n hotx: 0, hoty: 0\n },\n\n dot: {\n /* eslint-disable indent */\n 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]),\n /* eslint-enable indent */\n w: 3, h: 3,\n hotx: 1, hoty: 1\n }\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/rfb.js?')},"1q3G":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = ZStream;\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = '' /*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2 /*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/zlib/zstream.js?")},"34/K":function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2012 Joel Martin\n * Copyright (C) 2018 Samuel Mannehed for Cendio AB\n * Copyright (C) 2018 Pierre Ossman for Cendio AB\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\nvar RawDecoder = function () {\n function RawDecoder() {\n _classCallCheck(this, RawDecoder);\n\n this._lines = 0;\n }\n\n _createClass(RawDecoder, [{\n key: "decodeRect",\n value: function decodeRect(x, y, width, height, sock, display, depth) {\n if (this._lines === 0) {\n this._lines = height;\n }\n\n var pixelSize = depth == 8 ? 1 : 4;\n var bytesPerLine = width * pixelSize;\n\n if (sock.rQwait("RAW", bytesPerLine)) {\n return false;\n }\n\n var cur_y = y + (height - this._lines);\n var curr_height = Math.min(this._lines, Math.floor(sock.rQlen / bytesPerLine));\n var data = sock.rQ;\n var index = sock.rQi;\n\n // Convert data if needed\n if (depth == 8) {\n var pixels = width * curr_height;\n var newdata = new Uint8Array(pixels * 4);\n for (var i = 0; i < pixels; i++) {\n newdata[i * 4 + 0] = (data[index + i] >> 0 & 0x3) * 255 / 3;\n newdata[i * 4 + 1] = (data[index + i] >> 2 & 0x3) * 255 / 3;\n newdata[i * 4 + 2] = (data[index + i] >> 4 & 0x3) * 255 / 3;\n newdata[i * 4 + 4] = 0;\n }\n data = newdata;\n index = 0;\n }\n\n display.blitImage(x, cur_y, width, curr_height, data, index);\n sock.rQskipBytes(curr_height * bytesPerLine);\n this._lines -= curr_height;\n if (this._lines > 0) {\n return false;\n }\n\n return true;\n }\n }]);\n\n return RawDecoder;\n}();\n\nexports.default = RawDecoder;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/decoders/raw.js?')},"362i":function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__.p + "static/passpart.cc679602.png";\n\n//# sourceURL=webpack:///./src/pages/tasks/evaluate-result/passpart.png?')},3690:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2012 Joel Martin\n * Copyright (C) 2018 Samuel Mannehed for Cendio AB\n * Copyright (C) 2018 Pierre Ossman for Cendio AB\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\nvar _logging = __webpack_require__("Lo0S");\n\nvar Log = _interopRequireWildcard(_logging);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nvar HextileDecoder = function () {\n function HextileDecoder() {\n _classCallCheck(this, HextileDecoder);\n\n this._tiles = 0;\n this._lastsubencoding = 0;\n }\n\n _createClass(HextileDecoder, [{\n key: "decodeRect",\n value: function decodeRect(x, y, width, height, sock, display, depth) {\n if (this._tiles === 0) {\n this._tiles_x = Math.ceil(width / 16);\n this._tiles_y = Math.ceil(height / 16);\n this._total_tiles = this._tiles_x * this._tiles_y;\n this._tiles = this._total_tiles;\n }\n\n while (this._tiles > 0) {\n var bytes = 1;\n\n if (sock.rQwait("HEXTILE", bytes)) {\n return false;\n }\n\n var rQ = sock.rQ;\n var rQi = sock.rQi;\n\n var subencoding = rQ[rQi]; // Peek\n if (subencoding > 30) {\n // Raw\n throw new Error("Illegal hextile subencoding (subencoding: " + subencoding + ")");\n }\n\n var curr_tile = this._total_tiles - this._tiles;\n var tile_x = curr_tile % this._tiles_x;\n var tile_y = Math.floor(curr_tile / this._tiles_x);\n var tx = x + tile_x * 16;\n var ty = y + tile_y * 16;\n var tw = Math.min(16, x + width - tx);\n var th = Math.min(16, y + height - ty);\n\n // Figure out how much we are expecting\n if (subencoding & 0x01) {\n // Raw\n bytes += tw * th * 4;\n } else {\n if (subencoding & 0x02) {\n // Background\n bytes += 4;\n }\n if (subencoding & 0x04) {\n // Foreground\n bytes += 4;\n }\n if (subencoding & 0x08) {\n // AnySubrects\n bytes++; // Since we aren\'t shifting it off\n\n if (sock.rQwait("HEXTILE", bytes)) {\n return false;\n }\n\n var subrects = rQ[rQi + bytes - 1]; // Peek\n if (subencoding & 0x10) {\n // SubrectsColoured\n bytes += subrects * (4 + 2);\n } else {\n bytes += subrects * 2;\n }\n }\n }\n\n if (sock.rQwait("HEXTILE", bytes)) {\n return false;\n }\n\n // We know the encoding and have a whole tile\n rQi++;\n if (subencoding === 0) {\n if (this._lastsubencoding & 0x01) {\n // Weird: ignore blanks are RAW\n Log.Debug(" Ignoring blank after RAW");\n } else {\n display.fillRect(tx, ty, tw, th, this._background);\n }\n } else if (subencoding & 0x01) {\n // Raw\n display.blitImage(tx, ty, tw, th, rQ, rQi);\n rQi += bytes - 1;\n } else {\n if (subencoding & 0x02) {\n // Background\n this._background = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]];\n rQi += 4;\n }\n if (subencoding & 0x04) {\n // Foreground\n this._foreground = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]];\n rQi += 4;\n }\n\n display.startTile(tx, ty, tw, th, this._background);\n if (subencoding & 0x08) {\n // AnySubrects\n var _subrects = rQ[rQi];\n rQi++;\n\n for (var s = 0; s < _subrects; s++) {\n var color = void 0;\n if (subencoding & 0x10) {\n // SubrectsColoured\n color = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]];\n rQi += 4;\n } else {\n color = this._foreground;\n }\n var xy = rQ[rQi];\n rQi++;\n var sx = xy >> 4;\n var sy = xy & 0x0f;\n\n var wh = rQ[rQi];\n rQi++;\n var sw = (wh >> 4) + 1;\n var sh = (wh & 0x0f) + 1;\n\n display.subTile(sx, sy, sw, sh, color);\n }\n }\n display.finishTile();\n }\n sock.rQi = rQi;\n this._lastsubencoding = subencoding;\n this._tiles--;\n }\n\n return true;\n }\n }]);\n\n return HextileDecoder;\n}();\n\nexports.default = HextileDecoder;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/decoders/hextile.js?')},"6BzB":function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.shrinkBuf = shrinkBuf;\nexports.arraySet = arraySet;\nexports.flattenChunks = flattenChunks;\n// reduce buffer size, avoiding mem copy\nfunction shrinkBuf(buf, size) {\n if (buf.length === size) {\n return buf;\n }\n if (buf.subarray) {\n return buf.subarray(0, size);\n }\n buf.length = size;\n return buf;\n};\n\nfunction arraySet(dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n}\n\n// Join array of chunks to single array.\nfunction flattenChunks(chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n}\n\nvar Buf8 = exports.Buf8 = Uint8Array;\nvar Buf16 = exports.Buf16 = Uint16Array;\nvar Buf32 = exports.Buf32 = Int32Array;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/utils/common.js?')},"6Qwc":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\n/*\n * Mapping between Microsoft\xae Windows\xae Virtual-Key codes and\n * HTML key codes.\n */\n\nexports.default = {\n 0x08: 'Backspace',\n 0x09: 'Tab',\n 0x0a: 'NumpadClear',\n 0x0c: 'Numpad5', // IE11 sends evt.keyCode: 12 when numlock is off\n 0x0d: 'Enter',\n 0x10: 'ShiftLeft',\n 0x11: 'ControlLeft',\n 0x12: 'AltLeft',\n 0x13: 'Pause',\n 0x14: 'CapsLock',\n 0x15: 'Lang1',\n 0x19: 'Lang2',\n 0x1b: 'Escape',\n 0x1c: 'Convert',\n 0x1d: 'NonConvert',\n 0x20: 'Space',\n 0x21: 'PageUp',\n 0x22: 'PageDown',\n 0x23: 'End',\n 0x24: 'Home',\n 0x25: 'ArrowLeft',\n 0x26: 'ArrowUp',\n 0x27: 'ArrowRight',\n 0x28: 'ArrowDown',\n 0x29: 'Select',\n 0x2c: 'PrintScreen',\n 0x2d: 'Insert',\n 0x2e: 'Delete',\n 0x2f: 'Help',\n 0x30: 'Digit0',\n 0x31: 'Digit1',\n 0x32: 'Digit2',\n 0x33: 'Digit3',\n 0x34: 'Digit4',\n 0x35: 'Digit5',\n 0x36: 'Digit6',\n 0x37: 'Digit7',\n 0x38: 'Digit8',\n 0x39: 'Digit9',\n 0x5b: 'MetaLeft',\n 0x5c: 'MetaRight',\n 0x5d: 'ContextMenu',\n 0x5f: 'Sleep',\n 0x60: 'Numpad0',\n 0x61: 'Numpad1',\n 0x62: 'Numpad2',\n 0x63: 'Numpad3',\n 0x64: 'Numpad4',\n 0x65: 'Numpad5',\n 0x66: 'Numpad6',\n 0x67: 'Numpad7',\n 0x68: 'Numpad8',\n 0x69: 'Numpad9',\n 0x6a: 'NumpadMultiply',\n 0x6b: 'NumpadAdd',\n 0x6c: 'NumpadDecimal',\n 0x6d: 'NumpadSubtract',\n 0x6e: 'NumpadDecimal', // Duplicate, because buggy on Windows\n 0x6f: 'NumpadDivide',\n 0x70: 'F1',\n 0x71: 'F2',\n 0x72: 'F3',\n 0x73: 'F4',\n 0x74: 'F5',\n 0x75: 'F6',\n 0x76: 'F7',\n 0x77: 'F8',\n 0x78: 'F9',\n 0x79: 'F10',\n 0x7a: 'F11',\n 0x7b: 'F12',\n 0x7c: 'F13',\n 0x7d: 'F14',\n 0x7e: 'F15',\n 0x7f: 'F16',\n 0x80: 'F17',\n 0x81: 'F18',\n 0x82: 'F19',\n 0x83: 'F20',\n 0x84: 'F21',\n 0x85: 'F22',\n 0x86: 'F23',\n 0x87: 'F24',\n 0x90: 'NumLock',\n 0x91: 'ScrollLock',\n 0xa6: 'BrowserBack',\n 0xa7: 'BrowserForward',\n 0xa8: 'BrowserRefresh',\n 0xa9: 'BrowserStop',\n 0xaa: 'BrowserSearch',\n 0xab: 'BrowserFavorites',\n 0xac: 'BrowserHome',\n 0xad: 'AudioVolumeMute',\n 0xae: 'AudioVolumeDown',\n 0xaf: 'AudioVolumeUp',\n 0xb0: 'MediaTrackNext',\n 0xb1: 'MediaTrackPrevious',\n 0xb2: 'MediaStop',\n 0xb3: 'MediaPlayPause',\n 0xb4: 'LaunchMail',\n 0xb5: 'MediaSelect',\n 0xb6: 'LaunchApp1',\n 0xb7: 'LaunchApp2',\n 0xe1: 'AltRight' // Only when it is AltGraph\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/vkeys.js?")},"6lC8":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/index.less?")},"7ahc":function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return MyCodeMirror; });\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"k1fw\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"0Owb\");\n/* harmony import */ var antd_es_button_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"+L6B\");\n/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"2/Rp\");\n/* harmony import */ var antd_es_form_style__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"y8nQ\");\n/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(\"Vl3Y\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(\"tJVT\");\n/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(\"OaEy\");\n/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(\"2fM7\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(\"q1tI\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__);\n/* harmony import */ var codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(\"VrN/\");\n/* harmony import */ var codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10__);\n/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(\"p77/\");\n/* harmony import */ var codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(codemirror_lib_codemirror_css__WEBPACK_IMPORTED_MODULE_11__);\n\n\n\n\n\n\n\n\n\n\n\n\nvar Option = antd_es_select__WEBPACK_IMPORTED_MODULE_8__[/* default */ \"a\"].Option; //https://github.com/codemirror/CodeMirror/issues/4838\n\nvar formItemLayout = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\n};\nvar LanguageDesc = {\n asp: ['ASP', 'vbscript'],\n actionscript: ['ActionScript(3.0)/Flash/Flex', 'clike'],\n bash: ['Bash/Bat', 'shell'],\n css: ['CSS', 'css'],\n c: ['C', 'clike'],\n cpp: ['C++', 'clike'],\n csharp: ['C#', 'clike'],\n coffeescript: ['CoffeeScript', 'coffeescript'],\n d: ['D', 'd'],\n dart: ['Dart', 'dart'],\n delphi: ['Delphi/Pascal', 'pascal'],\n erlang: ['Erlang', 'erlang'],\n go: ['Golang', 'go'],\n groovy: ['Groovy', 'groovy'],\n html: ['HTML', 'text/html'],\n java: ['Java', 'clike'],\n json: ['JSON', 'text/json'],\n javascript: ['Javascript', 'javascript'],\n lua: ['Lua', 'lua'],\n less: ['LESS', 'css'],\n markdown: ['Markdown', 'gfm'],\n 'objective-c': ['Objective-C', 'clike'],\n php: ['PHP', 'php'],\n perl: ['Perl', 'perl'],\n python: ['Python', 'python'],\n r: ['R', 'r'],\n rst: ['reStructedText', 'rst'],\n ruby: ['Ruby', 'ruby'],\n sql: ['SQL', 'sql'],\n sass: ['SASS/SCSS', 'sass'],\n shell: ['Shell', 'shell'],\n scala: ['Scala', 'clike'],\n swift: ['Swift', 'clike'],\n vb: ['VB/VBScript', 'vb'],\n xml: ['XML', 'text/xml'],\n yaml: ['YAML', 'yaml']\n};\n/* harmony default export */ __webpack_exports__[\"b\"] = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useState\"])('python'),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_6__[/* default */ \"a\"])(_useState, 2),\n mode = _useState2[0],\n setMode = _useState2[1];\n\n function onSetMode(value) {\n setMode(LanguageDesc[value][1]);\n }\n\n function onSubmit(values) {\n callback(values);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"], Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])({}, formItemLayout, {\n className: \"code-block-panel\",\n initialValues: {\n language: 'python',\n content: ''\n },\n onFinish: onSubmit\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"].Item, {\n label: \"\\u4EE3\\u7801\\u8BED\\u8A00\",\n name: \"language\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_8__[/* default */ \"a\"], {\n onChange: onSetMode\n }, Object.keys(LanguageDesc).map(item => /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(Option, {\n key: item,\n value: item\n }, LanguageDesc[item][0])))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_5__[/* default */ \"a\"].Item, {\n label: \"\\u4EE3\\u7801\\u5185\\u5BB9\",\n name: \"content\",\n rules: [{\n required: true,\n message: '\u8bf7\u8f93\u5165\u4ee3\u7801\u5185\u5bb9'\n }]\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(MyCodeMirror, {\n mode: mode\n })), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"div\", {\n className: \"flex-container flex-end\"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"], {\n type: \"primary\",\n htmlType: \"submit\",\n style: {\n marginRight: 10\n }\n }, \"\\u786E\\u5B9A\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_3__[/* default */ \"a\"], {\n type: \"ghost\",\n onClick: onCancel\n }, \"\\u53D6\\u6D88\")));\n});\nfunction MyCodeMirror(_ref2) {\n var value = _ref2.value,\n onChange = _ref2.onChange,\n mode = _ref2.mode,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? {} : _ref2$options;\n var el = Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useRef\"])();\n\n var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useState\"])(),\n _useState4 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_6__[/* default */ \"a\"])(_useState3, 2),\n cm = _useState4[0],\n setCm = _useState4[1];\n\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (cm) {\n function onChangeHandler(cm) {\n var content = cm.getValue();\n onChange && onChange(content);\n }\n\n cm.on('change', onChangeHandler);\n return () => {\n cm.off('change', onChangeHandler);\n };\n }\n }, [cm, onChange]);\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (cm) {\n cm.setOption('mode', mode);\n }\n }, [cm, mode]);\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (cm) {\n if (value !== cm.getValue()) {\n cm.setValue(value || '');\n }\n }\n }, [cm, value]);\n Object(react__WEBPACK_IMPORTED_MODULE_9__[\"useEffect\"])(() => {\n if (el.current && !cm) {\n var instance = codemirror_lib_codemirror_js__WEBPACK_IMPORTED_MODULE_10___default.a.fromTextArea(el.current, Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])({\n mode,\n lineNumbers: true,\n lineWrapping: true,\n autoCloseBrackets: true,\n tabSize: 4,\n autofocus: true,\n autoCloseTags: true\n }, options));\n setCm(instance);\n }\n }, [el.current, cm]);\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"div\", {\n className: \"my-codemirror-container\"\n }, ' ', /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_9___default.a.createElement(\"textarea\", {\n ref: el\n }), ' ');\n}\n\n//# sourceURL=webpack:///./src/components/markdown-editor/code-block/index.tsx?")},"8+yF":function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n/*\n * Mapping from Unicode codepoints to X11/RFB keysyms\n *\n * This file was automatically generated from keysymdef.h\n * DO NOT EDIT!\n */\n\n/* Functions at the bottom */\n\nvar codepoints = {\n 0x0100: 0x03c0, // XK_Amacron\n 0x0101: 0x03e0, // XK_amacron\n 0x0102: 0x01c3, // XK_Abreve\n 0x0103: 0x01e3, // XK_abreve\n 0x0104: 0x01a1, // XK_Aogonek\n 0x0105: 0x01b1, // XK_aogonek\n 0x0106: 0x01c6, // XK_Cacute\n 0x0107: 0x01e6, // XK_cacute\n 0x0108: 0x02c6, // XK_Ccircumflex\n 0x0109: 0x02e6, // XK_ccircumflex\n 0x010a: 0x02c5, // XK_Cabovedot\n 0x010b: 0x02e5, // XK_cabovedot\n 0x010c: 0x01c8, // XK_Ccaron\n 0x010d: 0x01e8, // XK_ccaron\n 0x010e: 0x01cf, // XK_Dcaron\n 0x010f: 0x01ef, // XK_dcaron\n 0x0110: 0x01d0, // XK_Dstroke\n 0x0111: 0x01f0, // XK_dstroke\n 0x0112: 0x03aa, // XK_Emacron\n 0x0113: 0x03ba, // XK_emacron\n 0x0116: 0x03cc, // XK_Eabovedot\n 0x0117: 0x03ec, // XK_eabovedot\n 0x0118: 0x01ca, // XK_Eogonek\n 0x0119: 0x01ea, // XK_eogonek\n 0x011a: 0x01cc, // XK_Ecaron\n 0x011b: 0x01ec, // XK_ecaron\n 0x011c: 0x02d8, // XK_Gcircumflex\n 0x011d: 0x02f8, // XK_gcircumflex\n 0x011e: 0x02ab, // XK_Gbreve\n 0x011f: 0x02bb, // XK_gbreve\n 0x0120: 0x02d5, // XK_Gabovedot\n 0x0121: 0x02f5, // XK_gabovedot\n 0x0122: 0x03ab, // XK_Gcedilla\n 0x0123: 0x03bb, // XK_gcedilla\n 0x0124: 0x02a6, // XK_Hcircumflex\n 0x0125: 0x02b6, // XK_hcircumflex\n 0x0126: 0x02a1, // XK_Hstroke\n 0x0127: 0x02b1, // XK_hstroke\n 0x0128: 0x03a5, // XK_Itilde\n 0x0129: 0x03b5, // XK_itilde\n 0x012a: 0x03cf, // XK_Imacron\n 0x012b: 0x03ef, // XK_imacron\n 0x012e: 0x03c7, // XK_Iogonek\n 0x012f: 0x03e7, // XK_iogonek\n 0x0130: 0x02a9, // XK_Iabovedot\n 0x0131: 0x02b9, // XK_idotless\n 0x0134: 0x02ac, // XK_Jcircumflex\n 0x0135: 0x02bc, // XK_jcircumflex\n 0x0136: 0x03d3, // XK_Kcedilla\n 0x0137: 0x03f3, // XK_kcedilla\n 0x0138: 0x03a2, // XK_kra\n 0x0139: 0x01c5, // XK_Lacute\n 0x013a: 0x01e5, // XK_lacute\n 0x013b: 0x03a6, // XK_Lcedilla\n 0x013c: 0x03b6, // XK_lcedilla\n 0x013d: 0x01a5, // XK_Lcaron\n 0x013e: 0x01b5, // XK_lcaron\n 0x0141: 0x01a3, // XK_Lstroke\n 0x0142: 0x01b3, // XK_lstroke\n 0x0143: 0x01d1, // XK_Nacute\n 0x0144: 0x01f1, // XK_nacute\n 0x0145: 0x03d1, // XK_Ncedilla\n 0x0146: 0x03f1, // XK_ncedilla\n 0x0147: 0x01d2, // XK_Ncaron\n 0x0148: 0x01f2, // XK_ncaron\n 0x014a: 0x03bd, // XK_ENG\n 0x014b: 0x03bf, // XK_eng\n 0x014c: 0x03d2, // XK_Omacron\n 0x014d: 0x03f2, // XK_omacron\n 0x0150: 0x01d5, // XK_Odoubleacute\n 0x0151: 0x01f5, // XK_odoubleacute\n 0x0152: 0x13bc, // XK_OE\n 0x0153: 0x13bd, // XK_oe\n 0x0154: 0x01c0, // XK_Racute\n 0x0155: 0x01e0, // XK_racute\n 0x0156: 0x03a3, // XK_Rcedilla\n 0x0157: 0x03b3, // XK_rcedilla\n 0x0158: 0x01d8, // XK_Rcaron\n 0x0159: 0x01f8, // XK_rcaron\n 0x015a: 0x01a6, // XK_Sacute\n 0x015b: 0x01b6, // XK_sacute\n 0x015c: 0x02de, // XK_Scircumflex\n 0x015d: 0x02fe, // XK_scircumflex\n 0x015e: 0x01aa, // XK_Scedilla\n 0x015f: 0x01ba, // XK_scedilla\n 0x0160: 0x01a9, // XK_Scaron\n 0x0161: 0x01b9, // XK_scaron\n 0x0162: 0x01de, // XK_Tcedilla\n 0x0163: 0x01fe, // XK_tcedilla\n 0x0164: 0x01ab, // XK_Tcaron\n 0x0165: 0x01bb, // XK_tcaron\n 0x0166: 0x03ac, // XK_Tslash\n 0x0167: 0x03bc, // XK_tslash\n 0x0168: 0x03dd, // XK_Utilde\n 0x0169: 0x03fd, // XK_utilde\n 0x016a: 0x03de, // XK_Umacron\n 0x016b: 0x03fe, // XK_umacron\n 0x016c: 0x02dd, // XK_Ubreve\n 0x016d: 0x02fd, // XK_ubreve\n 0x016e: 0x01d9, // XK_Uring\n 0x016f: 0x01f9, // XK_uring\n 0x0170: 0x01db, // XK_Udoubleacute\n 0x0171: 0x01fb, // XK_udoubleacute\n 0x0172: 0x03d9, // XK_Uogonek\n 0x0173: 0x03f9, // XK_uogonek\n 0x0178: 0x13be, // XK_Ydiaeresis\n 0x0179: 0x01ac, // XK_Zacute\n 0x017a: 0x01bc, // XK_zacute\n 0x017b: 0x01af, // XK_Zabovedot\n 0x017c: 0x01bf, // XK_zabovedot\n 0x017d: 0x01ae, // XK_Zcaron\n 0x017e: 0x01be, // XK_zcaron\n 0x0192: 0x08f6, // XK_function\n 0x01d2: 0x10001d1, // XK_Ocaron\n 0x02c7: 0x01b7, // XK_caron\n 0x02d8: 0x01a2, // XK_breve\n 0x02d9: 0x01ff, // XK_abovedot\n 0x02db: 0x01b2, // XK_ogonek\n 0x02dd: 0x01bd, // XK_doubleacute\n 0x0385: 0x07ae, // XK_Greek_accentdieresis\n 0x0386: 0x07a1, // XK_Greek_ALPHAaccent\n 0x0388: 0x07a2, // XK_Greek_EPSILONaccent\n 0x0389: 0x07a3, // XK_Greek_ETAaccent\n 0x038a: 0x07a4, // XK_Greek_IOTAaccent\n 0x038c: 0x07a7, // XK_Greek_OMICRONaccent\n 0x038e: 0x07a8, // XK_Greek_UPSILONaccent\n 0x038f: 0x07ab, // XK_Greek_OMEGAaccent\n 0x0390: 0x07b6, // XK_Greek_iotaaccentdieresis\n 0x0391: 0x07c1, // XK_Greek_ALPHA\n 0x0392: 0x07c2, // XK_Greek_BETA\n 0x0393: 0x07c3, // XK_Greek_GAMMA\n 0x0394: 0x07c4, // XK_Greek_DELTA\n 0x0395: 0x07c5, // XK_Greek_EPSILON\n 0x0396: 0x07c6, // XK_Greek_ZETA\n 0x0397: 0x07c7, // XK_Greek_ETA\n 0x0398: 0x07c8, // XK_Greek_THETA\n 0x0399: 0x07c9, // XK_Greek_IOTA\n 0x039a: 0x07ca, // XK_Greek_KAPPA\n 0x039b: 0x07cb, // XK_Greek_LAMDA\n 0x039c: 0x07cc, // XK_Greek_MU\n 0x039d: 0x07cd, // XK_Greek_NU\n 0x039e: 0x07ce, // XK_Greek_XI\n 0x039f: 0x07cf, // XK_Greek_OMICRON\n 0x03a0: 0x07d0, // XK_Greek_PI\n 0x03a1: 0x07d1, // XK_Greek_RHO\n 0x03a3: 0x07d2, // XK_Greek_SIGMA\n 0x03a4: 0x07d4, // XK_Greek_TAU\n 0x03a5: 0x07d5, // XK_Greek_UPSILON\n 0x03a6: 0x07d6, // XK_Greek_PHI\n 0x03a7: 0x07d7, // XK_Greek_CHI\n 0x03a8: 0x07d8, // XK_Greek_PSI\n 0x03a9: 0x07d9, // XK_Greek_OMEGA\n 0x03aa: 0x07a5, // XK_Greek_IOTAdieresis\n 0x03ab: 0x07a9, // XK_Greek_UPSILONdieresis\n 0x03ac: 0x07b1, // XK_Greek_alphaaccent\n 0x03ad: 0x07b2, // XK_Greek_epsilonaccent\n 0x03ae: 0x07b3, // XK_Greek_etaaccent\n 0x03af: 0x07b4, // XK_Greek_iotaaccent\n 0x03b0: 0x07ba, // XK_Greek_upsilonaccentdieresis\n 0x03b1: 0x07e1, // XK_Greek_alpha\n 0x03b2: 0x07e2, // XK_Greek_beta\n 0x03b3: 0x07e3, // XK_Greek_gamma\n 0x03b4: 0x07e4, // XK_Greek_delta\n 0x03b5: 0x07e5, // XK_Greek_epsilon\n 0x03b6: 0x07e6, // XK_Greek_zeta\n 0x03b7: 0x07e7, // XK_Greek_eta\n 0x03b8: 0x07e8, // XK_Greek_theta\n 0x03b9: 0x07e9, // XK_Greek_iota\n 0x03ba: 0x07ea, // XK_Greek_kappa\n 0x03bb: 0x07eb, // XK_Greek_lamda\n 0x03bc: 0x07ec, // XK_Greek_mu\n 0x03bd: 0x07ed, // XK_Greek_nu\n 0x03be: 0x07ee, // XK_Greek_xi\n 0x03bf: 0x07ef, // XK_Greek_omicron\n 0x03c0: 0x07f0, // XK_Greek_pi\n 0x03c1: 0x07f1, // XK_Greek_rho\n 0x03c2: 0x07f3, // XK_Greek_finalsmallsigma\n 0x03c3: 0x07f2, // XK_Greek_sigma\n 0x03c4: 0x07f4, // XK_Greek_tau\n 0x03c5: 0x07f5, // XK_Greek_upsilon\n 0x03c6: 0x07f6, // XK_Greek_phi\n 0x03c7: 0x07f7, // XK_Greek_chi\n 0x03c8: 0x07f8, // XK_Greek_psi\n 0x03c9: 0x07f9, // XK_Greek_omega\n 0x03ca: 0x07b5, // XK_Greek_iotadieresis\n 0x03cb: 0x07b9, // XK_Greek_upsilondieresis\n 0x03cc: 0x07b7, // XK_Greek_omicronaccent\n 0x03cd: 0x07b8, // XK_Greek_upsilonaccent\n 0x03ce: 0x07bb, // XK_Greek_omegaaccent\n 0x0401: 0x06b3, // XK_Cyrillic_IO\n 0x0402: 0x06b1, // XK_Serbian_DJE\n 0x0403: 0x06b2, // XK_Macedonia_GJE\n 0x0404: 0x06b4, // XK_Ukrainian_IE\n 0x0405: 0x06b5, // XK_Macedonia_DSE\n 0x0406: 0x06b6, // XK_Ukrainian_I\n 0x0407: 0x06b7, // XK_Ukrainian_YI\n 0x0408: 0x06b8, // XK_Cyrillic_JE\n 0x0409: 0x06b9, // XK_Cyrillic_LJE\n 0x040a: 0x06ba, // XK_Cyrillic_NJE\n 0x040b: 0x06bb, // XK_Serbian_TSHE\n 0x040c: 0x06bc, // XK_Macedonia_KJE\n 0x040e: 0x06be, // XK_Byelorussian_SHORTU\n 0x040f: 0x06bf, // XK_Cyrillic_DZHE\n 0x0410: 0x06e1, // XK_Cyrillic_A\n 0x0411: 0x06e2, // XK_Cyrillic_BE\n 0x0412: 0x06f7, // XK_Cyrillic_VE\n 0x0413: 0x06e7, // XK_Cyrillic_GHE\n 0x0414: 0x06e4, // XK_Cyrillic_DE\n 0x0415: 0x06e5, // XK_Cyrillic_IE\n 0x0416: 0x06f6, // XK_Cyrillic_ZHE\n 0x0417: 0x06fa, // XK_Cyrillic_ZE\n 0x0418: 0x06e9, // XK_Cyrillic_I\n 0x0419: 0x06ea, // XK_Cyrillic_SHORTI\n 0x041a: 0x06eb, // XK_Cyrillic_KA\n 0x041b: 0x06ec, // XK_Cyrillic_EL\n 0x041c: 0x06ed, // XK_Cyrillic_EM\n 0x041d: 0x06ee, // XK_Cyrillic_EN\n 0x041e: 0x06ef, // XK_Cyrillic_O\n 0x041f: 0x06f0, // XK_Cyrillic_PE\n 0x0420: 0x06f2, // XK_Cyrillic_ER\n 0x0421: 0x06f3, // XK_Cyrillic_ES\n 0x0422: 0x06f4, // XK_Cyrillic_TE\n 0x0423: 0x06f5, // XK_Cyrillic_U\n 0x0424: 0x06e6, // XK_Cyrillic_EF\n 0x0425: 0x06e8, // XK_Cyrillic_HA\n 0x0426: 0x06e3, // XK_Cyrillic_TSE\n 0x0427: 0x06fe, // XK_Cyrillic_CHE\n 0x0428: 0x06fb, // XK_Cyrillic_SHA\n 0x0429: 0x06fd, // XK_Cyrillic_SHCHA\n 0x042a: 0x06ff, // XK_Cyrillic_HARDSIGN\n 0x042b: 0x06f9, // XK_Cyrillic_YERU\n 0x042c: 0x06f8, // XK_Cyrillic_SOFTSIGN\n 0x042d: 0x06fc, // XK_Cyrillic_E\n 0x042e: 0x06e0, // XK_Cyrillic_YU\n 0x042f: 0x06f1, // XK_Cyrillic_YA\n 0x0430: 0x06c1, // XK_Cyrillic_a\n 0x0431: 0x06c2, // XK_Cyrillic_be\n 0x0432: 0x06d7, // XK_Cyrillic_ve\n 0x0433: 0x06c7, // XK_Cyrillic_ghe\n 0x0434: 0x06c4, // XK_Cyrillic_de\n 0x0435: 0x06c5, // XK_Cyrillic_ie\n 0x0436: 0x06d6, // XK_Cyrillic_zhe\n 0x0437: 0x06da, // XK_Cyrillic_ze\n 0x0438: 0x06c9, // XK_Cyrillic_i\n 0x0439: 0x06ca, // XK_Cyrillic_shorti\n 0x043a: 0x06cb, // XK_Cyrillic_ka\n 0x043b: 0x06cc, // XK_Cyrillic_el\n 0x043c: 0x06cd, // XK_Cyrillic_em\n 0x043d: 0x06ce, // XK_Cyrillic_en\n 0x043e: 0x06cf, // XK_Cyrillic_o\n 0x043f: 0x06d0, // XK_Cyrillic_pe\n 0x0440: 0x06d2, // XK_Cyrillic_er\n 0x0441: 0x06d3, // XK_Cyrillic_es\n 0x0442: 0x06d4, // XK_Cyrillic_te\n 0x0443: 0x06d5, // XK_Cyrillic_u\n 0x0444: 0x06c6, // XK_Cyrillic_ef\n 0x0445: 0x06c8, // XK_Cyrillic_ha\n 0x0446: 0x06c3, // XK_Cyrillic_tse\n 0x0447: 0x06de, // XK_Cyrillic_che\n 0x0448: 0x06db, // XK_Cyrillic_sha\n 0x0449: 0x06dd, // XK_Cyrillic_shcha\n 0x044a: 0x06df, // XK_Cyrillic_hardsign\n 0x044b: 0x06d9, // XK_Cyrillic_yeru\n 0x044c: 0x06d8, // XK_Cyrillic_softsign\n 0x044d: 0x06dc, // XK_Cyrillic_e\n 0x044e: 0x06c0, // XK_Cyrillic_yu\n 0x044f: 0x06d1, // XK_Cyrillic_ya\n 0x0451: 0x06a3, // XK_Cyrillic_io\n 0x0452: 0x06a1, // XK_Serbian_dje\n 0x0453: 0x06a2, // XK_Macedonia_gje\n 0x0454: 0x06a4, // XK_Ukrainian_ie\n 0x0455: 0x06a5, // XK_Macedonia_dse\n 0x0456: 0x06a6, // XK_Ukrainian_i\n 0x0457: 0x06a7, // XK_Ukrainian_yi\n 0x0458: 0x06a8, // XK_Cyrillic_je\n 0x0459: 0x06a9, // XK_Cyrillic_lje\n 0x045a: 0x06aa, // XK_Cyrillic_nje\n 0x045b: 0x06ab, // XK_Serbian_tshe\n 0x045c: 0x06ac, // XK_Macedonia_kje\n 0x045e: 0x06ae, // XK_Byelorussian_shortu\n 0x045f: 0x06af, // XK_Cyrillic_dzhe\n 0x0490: 0x06bd, // XK_Ukrainian_GHE_WITH_UPTURN\n 0x0491: 0x06ad, // XK_Ukrainian_ghe_with_upturn\n 0x05d0: 0x0ce0, // XK_hebrew_aleph\n 0x05d1: 0x0ce1, // XK_hebrew_bet\n 0x05d2: 0x0ce2, // XK_hebrew_gimel\n 0x05d3: 0x0ce3, // XK_hebrew_dalet\n 0x05d4: 0x0ce4, // XK_hebrew_he\n 0x05d5: 0x0ce5, // XK_hebrew_waw\n 0x05d6: 0x0ce6, // XK_hebrew_zain\n 0x05d7: 0x0ce7, // XK_hebrew_chet\n 0x05d8: 0x0ce8, // XK_hebrew_tet\n 0x05d9: 0x0ce9, // XK_hebrew_yod\n 0x05da: 0x0cea, // XK_hebrew_finalkaph\n 0x05db: 0x0ceb, // XK_hebrew_kaph\n 0x05dc: 0x0cec, // XK_hebrew_lamed\n 0x05dd: 0x0ced, // XK_hebrew_finalmem\n 0x05de: 0x0cee, // XK_hebrew_mem\n 0x05df: 0x0cef, // XK_hebrew_finalnun\n 0x05e0: 0x0cf0, // XK_hebrew_nun\n 0x05e1: 0x0cf1, // XK_hebrew_samech\n 0x05e2: 0x0cf2, // XK_hebrew_ayin\n 0x05e3: 0x0cf3, // XK_hebrew_finalpe\n 0x05e4: 0x0cf4, // XK_hebrew_pe\n 0x05e5: 0x0cf5, // XK_hebrew_finalzade\n 0x05e6: 0x0cf6, // XK_hebrew_zade\n 0x05e7: 0x0cf7, // XK_hebrew_qoph\n 0x05e8: 0x0cf8, // XK_hebrew_resh\n 0x05e9: 0x0cf9, // XK_hebrew_shin\n 0x05ea: 0x0cfa, // XK_hebrew_taw\n 0x060c: 0x05ac, // XK_Arabic_comma\n 0x061b: 0x05bb, // XK_Arabic_semicolon\n 0x061f: 0x05bf, // XK_Arabic_question_mark\n 0x0621: 0x05c1, // XK_Arabic_hamza\n 0x0622: 0x05c2, // XK_Arabic_maddaonalef\n 0x0623: 0x05c3, // XK_Arabic_hamzaonalef\n 0x0624: 0x05c4, // XK_Arabic_hamzaonwaw\n 0x0625: 0x05c5, // XK_Arabic_hamzaunderalef\n 0x0626: 0x05c6, // XK_Arabic_hamzaonyeh\n 0x0627: 0x05c7, // XK_Arabic_alef\n 0x0628: 0x05c8, // XK_Arabic_beh\n 0x0629: 0x05c9, // XK_Arabic_tehmarbuta\n 0x062a: 0x05ca, // XK_Arabic_teh\n 0x062b: 0x05cb, // XK_Arabic_theh\n 0x062c: 0x05cc, // XK_Arabic_jeem\n 0x062d: 0x05cd, // XK_Arabic_hah\n 0x062e: 0x05ce, // XK_Arabic_khah\n 0x062f: 0x05cf, // XK_Arabic_dal\n 0x0630: 0x05d0, // XK_Arabic_thal\n 0x0631: 0x05d1, // XK_Arabic_ra\n 0x0632: 0x05d2, // XK_Arabic_zain\n 0x0633: 0x05d3, // XK_Arabic_seen\n 0x0634: 0x05d4, // XK_Arabic_sheen\n 0x0635: 0x05d5, // XK_Arabic_sad\n 0x0636: 0x05d6, // XK_Arabic_dad\n 0x0637: 0x05d7, // XK_Arabic_tah\n 0x0638: 0x05d8, // XK_Arabic_zah\n 0x0639: 0x05d9, // XK_Arabic_ain\n 0x063a: 0x05da, // XK_Arabic_ghain\n 0x0640: 0x05e0, // XK_Arabic_tatweel\n 0x0641: 0x05e1, // XK_Arabic_feh\n 0x0642: 0x05e2, // XK_Arabic_qaf\n 0x0643: 0x05e3, // XK_Arabic_kaf\n 0x0644: 0x05e4, // XK_Arabic_lam\n 0x0645: 0x05e5, // XK_Arabic_meem\n 0x0646: 0x05e6, // XK_Arabic_noon\n 0x0647: 0x05e7, // XK_Arabic_ha\n 0x0648: 0x05e8, // XK_Arabic_waw\n 0x0649: 0x05e9, // XK_Arabic_alefmaksura\n 0x064a: 0x05ea, // XK_Arabic_yeh\n 0x064b: 0x05eb, // XK_Arabic_fathatan\n 0x064c: 0x05ec, // XK_Arabic_dammatan\n 0x064d: 0x05ed, // XK_Arabic_kasratan\n 0x064e: 0x05ee, // XK_Arabic_fatha\n 0x064f: 0x05ef, // XK_Arabic_damma\n 0x0650: 0x05f0, // XK_Arabic_kasra\n 0x0651: 0x05f1, // XK_Arabic_shadda\n 0x0652: 0x05f2, // XK_Arabic_sukun\n 0x0e01: 0x0da1, // XK_Thai_kokai\n 0x0e02: 0x0da2, // XK_Thai_khokhai\n 0x0e03: 0x0da3, // XK_Thai_khokhuat\n 0x0e04: 0x0da4, // XK_Thai_khokhwai\n 0x0e05: 0x0da5, // XK_Thai_khokhon\n 0x0e06: 0x0da6, // XK_Thai_khorakhang\n 0x0e07: 0x0da7, // XK_Thai_ngongu\n 0x0e08: 0x0da8, // XK_Thai_chochan\n 0x0e09: 0x0da9, // XK_Thai_choching\n 0x0e0a: 0x0daa, // XK_Thai_chochang\n 0x0e0b: 0x0dab, // XK_Thai_soso\n 0x0e0c: 0x0dac, // XK_Thai_chochoe\n 0x0e0d: 0x0dad, // XK_Thai_yoying\n 0x0e0e: 0x0dae, // XK_Thai_dochada\n 0x0e0f: 0x0daf, // XK_Thai_topatak\n 0x0e10: 0x0db0, // XK_Thai_thothan\n 0x0e11: 0x0db1, // XK_Thai_thonangmontho\n 0x0e12: 0x0db2, // XK_Thai_thophuthao\n 0x0e13: 0x0db3, // XK_Thai_nonen\n 0x0e14: 0x0db4, // XK_Thai_dodek\n 0x0e15: 0x0db5, // XK_Thai_totao\n 0x0e16: 0x0db6, // XK_Thai_thothung\n 0x0e17: 0x0db7, // XK_Thai_thothahan\n 0x0e18: 0x0db8, // XK_Thai_thothong\n 0x0e19: 0x0db9, // XK_Thai_nonu\n 0x0e1a: 0x0dba, // XK_Thai_bobaimai\n 0x0e1b: 0x0dbb, // XK_Thai_popla\n 0x0e1c: 0x0dbc, // XK_Thai_phophung\n 0x0e1d: 0x0dbd, // XK_Thai_fofa\n 0x0e1e: 0x0dbe, // XK_Thai_phophan\n 0x0e1f: 0x0dbf, // XK_Thai_fofan\n 0x0e20: 0x0dc0, // XK_Thai_phosamphao\n 0x0e21: 0x0dc1, // XK_Thai_moma\n 0x0e22: 0x0dc2, // XK_Thai_yoyak\n 0x0e23: 0x0dc3, // XK_Thai_rorua\n 0x0e24: 0x0dc4, // XK_Thai_ru\n 0x0e25: 0x0dc5, // XK_Thai_loling\n 0x0e26: 0x0dc6, // XK_Thai_lu\n 0x0e27: 0x0dc7, // XK_Thai_wowaen\n 0x0e28: 0x0dc8, // XK_Thai_sosala\n 0x0e29: 0x0dc9, // XK_Thai_sorusi\n 0x0e2a: 0x0dca, // XK_Thai_sosua\n 0x0e2b: 0x0dcb, // XK_Thai_hohip\n 0x0e2c: 0x0dcc, // XK_Thai_lochula\n 0x0e2d: 0x0dcd, // XK_Thai_oang\n 0x0e2e: 0x0dce, // XK_Thai_honokhuk\n 0x0e2f: 0x0dcf, // XK_Thai_paiyannoi\n 0x0e30: 0x0dd0, // XK_Thai_saraa\n 0x0e31: 0x0dd1, // XK_Thai_maihanakat\n 0x0e32: 0x0dd2, // XK_Thai_saraaa\n 0x0e33: 0x0dd3, // XK_Thai_saraam\n 0x0e34: 0x0dd4, // XK_Thai_sarai\n 0x0e35: 0x0dd5, // XK_Thai_saraii\n 0x0e36: 0x0dd6, // XK_Thai_saraue\n 0x0e37: 0x0dd7, // XK_Thai_sarauee\n 0x0e38: 0x0dd8, // XK_Thai_sarau\n 0x0e39: 0x0dd9, // XK_Thai_sarauu\n 0x0e3a: 0x0dda, // XK_Thai_phinthu\n 0x0e3f: 0x0ddf, // XK_Thai_baht\n 0x0e40: 0x0de0, // XK_Thai_sarae\n 0x0e41: 0x0de1, // XK_Thai_saraae\n 0x0e42: 0x0de2, // XK_Thai_sarao\n 0x0e43: 0x0de3, // XK_Thai_saraaimaimuan\n 0x0e44: 0x0de4, // XK_Thai_saraaimaimalai\n 0x0e45: 0x0de5, // XK_Thai_lakkhangyao\n 0x0e46: 0x0de6, // XK_Thai_maiyamok\n 0x0e47: 0x0de7, // XK_Thai_maitaikhu\n 0x0e48: 0x0de8, // XK_Thai_maiek\n 0x0e49: 0x0de9, // XK_Thai_maitho\n 0x0e4a: 0x0dea, // XK_Thai_maitri\n 0x0e4b: 0x0deb, // XK_Thai_maichattawa\n 0x0e4c: 0x0dec, // XK_Thai_thanthakhat\n 0x0e4d: 0x0ded, // XK_Thai_nikhahit\n 0x0e50: 0x0df0, // XK_Thai_leksun\n 0x0e51: 0x0df1, // XK_Thai_leknung\n 0x0e52: 0x0df2, // XK_Thai_leksong\n 0x0e53: 0x0df3, // XK_Thai_leksam\n 0x0e54: 0x0df4, // XK_Thai_leksi\n 0x0e55: 0x0df5, // XK_Thai_lekha\n 0x0e56: 0x0df6, // XK_Thai_lekhok\n 0x0e57: 0x0df7, // XK_Thai_lekchet\n 0x0e58: 0x0df8, // XK_Thai_lekpaet\n 0x0e59: 0x0df9, // XK_Thai_lekkao\n 0x2002: 0x0aa2, // XK_enspace\n 0x2003: 0x0aa1, // XK_emspace\n 0x2004: 0x0aa3, // XK_em3space\n 0x2005: 0x0aa4, // XK_em4space\n 0x2007: 0x0aa5, // XK_digitspace\n 0x2008: 0x0aa6, // XK_punctspace\n 0x2009: 0x0aa7, // XK_thinspace\n 0x200a: 0x0aa8, // XK_hairspace\n 0x2012: 0x0abb, // XK_figdash\n 0x2013: 0x0aaa, // XK_endash\n 0x2014: 0x0aa9, // XK_emdash\n 0x2015: 0x07af, // XK_Greek_horizbar\n 0x2017: 0x0cdf, // XK_hebrew_doublelowline\n 0x2018: 0x0ad0, // XK_leftsinglequotemark\n 0x2019: 0x0ad1, // XK_rightsinglequotemark\n 0x201a: 0x0afd, // XK_singlelowquotemark\n 0x201c: 0x0ad2, // XK_leftdoublequotemark\n 0x201d: 0x0ad3, // XK_rightdoublequotemark\n 0x201e: 0x0afe, // XK_doublelowquotemark\n 0x2020: 0x0af1, // XK_dagger\n 0x2021: 0x0af2, // XK_doubledagger\n 0x2022: 0x0ae6, // XK_enfilledcircbullet\n 0x2025: 0x0aaf, // XK_doubbaselinedot\n 0x2026: 0x0aae, // XK_ellipsis\n 0x2030: 0x0ad5, // XK_permille\n 0x2032: 0x0ad6, // XK_minutes\n 0x2033: 0x0ad7, // XK_seconds\n 0x2038: 0x0afc, // XK_caret\n 0x203e: 0x047e, // XK_overline\n 0x20a9: 0x0eff, // XK_Korean_Won\n 0x20ac: 0x20ac, // XK_EuroSign\n 0x2105: 0x0ab8, // XK_careof\n 0x2116: 0x06b0, // XK_numerosign\n 0x2117: 0x0afb, // XK_phonographcopyright\n 0x211e: 0x0ad4, // XK_prescription\n 0x2122: 0x0ac9, // XK_trademark\n 0x2153: 0x0ab0, // XK_onethird\n 0x2154: 0x0ab1, // XK_twothirds\n 0x2155: 0x0ab2, // XK_onefifth\n 0x2156: 0x0ab3, // XK_twofifths\n 0x2157: 0x0ab4, // XK_threefifths\n 0x2158: 0x0ab5, // XK_fourfifths\n 0x2159: 0x0ab6, // XK_onesixth\n 0x215a: 0x0ab7, // XK_fivesixths\n 0x215b: 0x0ac3, // XK_oneeighth\n 0x215c: 0x0ac4, // XK_threeeighths\n 0x215d: 0x0ac5, // XK_fiveeighths\n 0x215e: 0x0ac6, // XK_seveneighths\n 0x2190: 0x08fb, // XK_leftarrow\n 0x2191: 0x08fc, // XK_uparrow\n 0x2192: 0x08fd, // XK_rightarrow\n 0x2193: 0x08fe, // XK_downarrow\n 0x21d2: 0x08ce, // XK_implies\n 0x21d4: 0x08cd, // XK_ifonlyif\n 0x2202: 0x08ef, // XK_partialderivative\n 0x2207: 0x08c5, // XK_nabla\n 0x2218: 0x0bca, // XK_jot\n 0x221a: 0x08d6, // XK_radical\n 0x221d: 0x08c1, // XK_variation\n 0x221e: 0x08c2, // XK_infinity\n 0x2227: 0x08de, // XK_logicaland\n 0x2228: 0x08df, // XK_logicalor\n 0x2229: 0x08dc, // XK_intersection\n 0x222a: 0x08dd, // XK_union\n 0x222b: 0x08bf, // XK_integral\n 0x2234: 0x08c0, // XK_therefore\n 0x223c: 0x08c8, // XK_approximate\n 0x2243: 0x08c9, // XK_similarequal\n 0x2245: 0x1002248, // XK_approxeq\n 0x2260: 0x08bd, // XK_notequal\n 0x2261: 0x08cf, // XK_identical\n 0x2264: 0x08bc, // XK_lessthanequal\n 0x2265: 0x08be, // XK_greaterthanequal\n 0x2282: 0x08da, // XK_includedin\n 0x2283: 0x08db, // XK_includes\n 0x22a2: 0x0bfc, // XK_righttack\n 0x22a3: 0x0bdc, // XK_lefttack\n 0x22a4: 0x0bc2, // XK_downtack\n 0x22a5: 0x0bce, // XK_uptack\n 0x2308: 0x0bd3, // XK_upstile\n 0x230a: 0x0bc4, // XK_downstile\n 0x2315: 0x0afa, // XK_telephonerecorder\n 0x2320: 0x08a4, // XK_topintegral\n 0x2321: 0x08a5, // XK_botintegral\n 0x2395: 0x0bcc, // XK_quad\n 0x239b: 0x08ab, // XK_topleftparens\n 0x239d: 0x08ac, // XK_botleftparens\n 0x239e: 0x08ad, // XK_toprightparens\n 0x23a0: 0x08ae, // XK_botrightparens\n 0x23a1: 0x08a7, // XK_topleftsqbracket\n 0x23a3: 0x08a8, // XK_botleftsqbracket\n 0x23a4: 0x08a9, // XK_toprightsqbracket\n 0x23a6: 0x08aa, // XK_botrightsqbracket\n 0x23a8: 0x08af, // XK_leftmiddlecurlybrace\n 0x23ac: 0x08b0, // XK_rightmiddlecurlybrace\n 0x23b7: 0x08a1, // XK_leftradical\n 0x23ba: 0x09ef, // XK_horizlinescan1\n 0x23bb: 0x09f0, // XK_horizlinescan3\n 0x23bc: 0x09f2, // XK_horizlinescan7\n 0x23bd: 0x09f3, // XK_horizlinescan9\n 0x2409: 0x09e2, // XK_ht\n 0x240a: 0x09e5, // XK_lf\n 0x240b: 0x09e9, // XK_vt\n 0x240c: 0x09e3, // XK_ff\n 0x240d: 0x09e4, // XK_cr\n 0x2423: 0x0aac, // XK_signifblank\n 0x2424: 0x09e8, // XK_nl\n 0x2500: 0x08a3, // XK_horizconnector\n 0x2502: 0x08a6, // XK_vertconnector\n 0x250c: 0x08a2, // XK_topleftradical\n 0x2510: 0x09eb, // XK_uprightcorner\n 0x2514: 0x09ed, // XK_lowleftcorner\n 0x2518: 0x09ea, // XK_lowrightcorner\n 0x251c: 0x09f4, // XK_leftt\n 0x2524: 0x09f5, // XK_rightt\n 0x252c: 0x09f7, // XK_topt\n 0x2534: 0x09f6, // XK_bott\n 0x253c: 0x09ee, // XK_crossinglines\n 0x2592: 0x09e1, // XK_checkerboard\n 0x25aa: 0x0ae7, // XK_enfilledsqbullet\n 0x25ab: 0x0ae1, // XK_enopensquarebullet\n 0x25ac: 0x0adb, // XK_filledrectbullet\n 0x25ad: 0x0ae2, // XK_openrectbullet\n 0x25ae: 0x0adf, // XK_emfilledrect\n 0x25af: 0x0acf, // XK_emopenrectangle\n 0x25b2: 0x0ae8, // XK_filledtribulletup\n 0x25b3: 0x0ae3, // XK_opentribulletup\n 0x25b6: 0x0add, // XK_filledrighttribullet\n 0x25b7: 0x0acd, // XK_rightopentriangle\n 0x25bc: 0x0ae9, // XK_filledtribulletdown\n 0x25bd: 0x0ae4, // XK_opentribulletdown\n 0x25c0: 0x0adc, // XK_filledlefttribullet\n 0x25c1: 0x0acc, // XK_leftopentriangle\n 0x25c6: 0x09e0, // XK_soliddiamond\n 0x25cb: 0x0ace, // XK_emopencircle\n 0x25cf: 0x0ade, // XK_emfilledcircle\n 0x25e6: 0x0ae0, // XK_enopencircbullet\n 0x2606: 0x0ae5, // XK_openstar\n 0x260e: 0x0af9, // XK_telephone\n 0x2613: 0x0aca, // XK_signaturemark\n 0x261c: 0x0aea, // XK_leftpointer\n 0x261e: 0x0aeb, // XK_rightpointer\n 0x2640: 0x0af8, // XK_femalesymbol\n 0x2642: 0x0af7, // XK_malesymbol\n 0x2663: 0x0aec, // XK_club\n 0x2665: 0x0aee, // XK_heart\n 0x2666: 0x0aed, // XK_diamond\n 0x266d: 0x0af6, // XK_musicalflat\n 0x266f: 0x0af5, // XK_musicalsharp\n 0x2713: 0x0af3, // XK_checkmark\n 0x2717: 0x0af4, // XK_ballotcross\n 0x271d: 0x0ad9, // XK_latincross\n 0x2720: 0x0af0, // XK_maltesecross\n 0x27e8: 0x0abc, // XK_leftanglebracket\n 0x27e9: 0x0abe, // XK_rightanglebracket\n 0x3001: 0x04a4, // XK_kana_comma\n 0x3002: 0x04a1, // XK_kana_fullstop\n 0x300c: 0x04a2, // XK_kana_openingbracket\n 0x300d: 0x04a3, // XK_kana_closingbracket\n 0x309b: 0x04de, // XK_voicedsound\n 0x309c: 0x04df, // XK_semivoicedsound\n 0x30a1: 0x04a7, // XK_kana_a\n 0x30a2: 0x04b1, // XK_kana_A\n 0x30a3: 0x04a8, // XK_kana_i\n 0x30a4: 0x04b2, // XK_kana_I\n 0x30a5: 0x04a9, // XK_kana_u\n 0x30a6: 0x04b3, // XK_kana_U\n 0x30a7: 0x04aa, // XK_kana_e\n 0x30a8: 0x04b4, // XK_kana_E\n 0x30a9: 0x04ab, // XK_kana_o\n 0x30aa: 0x04b5, // XK_kana_O\n 0x30ab: 0x04b6, // XK_kana_KA\n 0x30ad: 0x04b7, // XK_kana_KI\n 0x30af: 0x04b8, // XK_kana_KU\n 0x30b1: 0x04b9, // XK_kana_KE\n 0x30b3: 0x04ba, // XK_kana_KO\n 0x30b5: 0x04bb, // XK_kana_SA\n 0x30b7: 0x04bc, // XK_kana_SHI\n 0x30b9: 0x04bd, // XK_kana_SU\n 0x30bb: 0x04be, // XK_kana_SE\n 0x30bd: 0x04bf, // XK_kana_SO\n 0x30bf: 0x04c0, // XK_kana_TA\n 0x30c1: 0x04c1, // XK_kana_CHI\n 0x30c3: 0x04af, // XK_kana_tsu\n 0x30c4: 0x04c2, // XK_kana_TSU\n 0x30c6: 0x04c3, // XK_kana_TE\n 0x30c8: 0x04c4, // XK_kana_TO\n 0x30ca: 0x04c5, // XK_kana_NA\n 0x30cb: 0x04c6, // XK_kana_NI\n 0x30cc: 0x04c7, // XK_kana_NU\n 0x30cd: 0x04c8, // XK_kana_NE\n 0x30ce: 0x04c9, // XK_kana_NO\n 0x30cf: 0x04ca, // XK_kana_HA\n 0x30d2: 0x04cb, // XK_kana_HI\n 0x30d5: 0x04cc, // XK_kana_FU\n 0x30d8: 0x04cd, // XK_kana_HE\n 0x30db: 0x04ce, // XK_kana_HO\n 0x30de: 0x04cf, // XK_kana_MA\n 0x30df: 0x04d0, // XK_kana_MI\n 0x30e0: 0x04d1, // XK_kana_MU\n 0x30e1: 0x04d2, // XK_kana_ME\n 0x30e2: 0x04d3, // XK_kana_MO\n 0x30e3: 0x04ac, // XK_kana_ya\n 0x30e4: 0x04d4, // XK_kana_YA\n 0x30e5: 0x04ad, // XK_kana_yu\n 0x30e6: 0x04d5, // XK_kana_YU\n 0x30e7: 0x04ae, // XK_kana_yo\n 0x30e8: 0x04d6, // XK_kana_YO\n 0x30e9: 0x04d7, // XK_kana_RA\n 0x30ea: 0x04d8, // XK_kana_RI\n 0x30eb: 0x04d9, // XK_kana_RU\n 0x30ec: 0x04da, // XK_kana_RE\n 0x30ed: 0x04db, // XK_kana_RO\n 0x30ef: 0x04dc, // XK_kana_WA\n 0x30f2: 0x04a6, // XK_kana_WO\n 0x30f3: 0x04dd, // XK_kana_N\n 0x30fb: 0x04a5, // XK_kana_conjunctive\n 0x30fc: 0x04b0 // XK_prolongedsound\n};\n\nexports.default = {\n lookup: function lookup(u) {\n // Latin-1 is one-to-one mapping\n if (u >= 0x20 && u <= 0xff) {\n return u;\n }\n\n // Lookup table (fairly random)\n var keysym = codepoints[u];\n if (keysym !== undefined) {\n return keysym;\n }\n\n // General mapping as final fallback\n return 0x01000000 | u;\n }\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/keysymdef.js?')},"8Abk":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss/index.less?")},"8CQX":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getKeycode = getKeycode;\nexports.getKey = getKey;\nexports.getKeysym = getKeysym;\n\nvar _keysymdef = __webpack_require__(\"8+yF\");\n\nvar _keysymdef2 = _interopRequireDefault(_keysymdef);\n\nvar _vkeys = __webpack_require__(\"6Qwc\");\n\nvar _vkeys2 = _interopRequireDefault(_vkeys);\n\nvar _fixedkeys = __webpack_require__(\"gIYZ\");\n\nvar _fixedkeys2 = _interopRequireDefault(_fixedkeys);\n\nvar _domkeytable = __webpack_require__(\"mTgk\");\n\nvar _domkeytable2 = _interopRequireDefault(_domkeytable);\n\nvar _browser = __webpack_require__(\"GdRQ\");\n\nvar browser = _interopRequireWildcard(_browser);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Get 'KeyboardEvent.code', handling legacy browsers\nfunction getKeycode(evt) {\n // Are we getting proper key identifiers?\n // (unfortunately Firefox and Chrome are crappy here and gives\n // us an empty string on some platforms, rather than leaving it\n // undefined)\n if (evt.code) {\n // Mozilla isn't fully in sync with the spec yet\n switch (evt.code) {\n case 'OSLeft':\n return 'MetaLeft';\n case 'OSRight':\n return 'MetaRight';\n }\n\n return evt.code;\n }\n\n // The de-facto standard is to use Windows Virtual-Key codes\n // in the 'keyCode' field for non-printable characters. However\n // Webkit sets it to the same as charCode in 'keypress' events.\n if (evt.type !== 'keypress' && evt.keyCode in _vkeys2.default) {\n var code = _vkeys2.default[evt.keyCode];\n\n // macOS has messed up this code for some reason\n if (browser.isMac() && code === 'ContextMenu') {\n code = 'MetaRight';\n }\n\n // The keyCode doesn't distinguish between left and right\n // for the standard modifiers\n if (evt.location === 2) {\n switch (code) {\n case 'ShiftLeft':\n return 'ShiftRight';\n case 'ControlLeft':\n return 'ControlRight';\n case 'AltLeft':\n return 'AltRight';\n }\n }\n\n // Nor a bunch of the numpad keys\n if (evt.location === 3) {\n switch (code) {\n case 'Delete':\n return 'NumpadDecimal';\n case 'Insert':\n return 'Numpad0';\n case 'End':\n return 'Numpad1';\n case 'ArrowDown':\n return 'Numpad2';\n case 'PageDown':\n return 'Numpad3';\n case 'ArrowLeft':\n return 'Numpad4';\n case 'ArrowRight':\n return 'Numpad6';\n case 'Home':\n return 'Numpad7';\n case 'ArrowUp':\n return 'Numpad8';\n case 'PageUp':\n return 'Numpad9';\n case 'Enter':\n return 'NumpadEnter';\n }\n }\n\n return code;\n }\n\n return 'Unidentified';\n}\n\n// Get 'KeyboardEvent.key', handling legacy browsers\nfunction getKey(evt) {\n // Are we getting a proper key value?\n if (evt.key !== undefined) {\n // IE and Edge use some ancient version of the spec\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/\n switch (evt.key) {\n case 'Spacebar':\n return ' ';\n case 'Esc':\n return 'Escape';\n case 'Scroll':\n return 'ScrollLock';\n case 'Win':\n return 'Meta';\n case 'Apps':\n return 'ContextMenu';\n case 'Up':\n return 'ArrowUp';\n case 'Left':\n return 'ArrowLeft';\n case 'Right':\n return 'ArrowRight';\n case 'Down':\n return 'ArrowDown';\n case 'Del':\n return 'Delete';\n case 'Divide':\n return '/';\n case 'Multiply':\n return '*';\n case 'Subtract':\n return '-';\n case 'Add':\n return '+';\n case 'Decimal':\n return evt.char;\n }\n\n // Mozilla isn't fully in sync with the spec yet\n switch (evt.key) {\n case 'OS':\n return 'Meta';\n }\n\n // iOS leaks some OS names\n switch (evt.key) {\n case 'UIKeyInputUpArrow':\n return 'ArrowUp';\n case 'UIKeyInputDownArrow':\n return 'ArrowDown';\n case 'UIKeyInputLeftArrow':\n return 'ArrowLeft';\n case 'UIKeyInputRightArrow':\n return 'ArrowRight';\n case 'UIKeyInputEscape':\n return 'Escape';\n }\n\n // IE and Edge have broken handling of AltGraph so we cannot\n // trust them for printable characters\n if (evt.key.length !== 1 || !browser.isIE() && !browser.isEdge()) {\n return evt.key;\n }\n }\n\n // Try to deduce it based on the physical key\n var code = getKeycode(evt);\n if (code in _fixedkeys2.default) {\n return _fixedkeys2.default[code];\n }\n\n // If that failed, then see if we have a printable character\n if (evt.charCode) {\n return String.fromCharCode(evt.charCode);\n }\n\n // At this point we have nothing left to go on\n return 'Unidentified';\n}\n\n// Get the most reliable keysym value we can get from a key event\nfunction getKeysym(evt) {\n var key = getKey(evt);\n\n if (key === 'Unidentified') {\n return null;\n }\n\n // First look up special keys\n if (key in _domkeytable2.default) {\n var location = evt.location;\n\n // Safari screws up location for the right cmd key\n if (key === 'Meta' && location === 0) {\n location = 2;\n }\n\n if (location === undefined || location > 3) {\n location = 0;\n }\n\n return _domkeytable2.default[key][location];\n }\n\n // Now we need to look at the Unicode symbol instead\n\n // Special key? (FIXME: Should have been caught earlier)\n if (key.length !== 1) {\n return null;\n }\n\n var codepoint = key.charCodeAt();\n if (codepoint) {\n return _keysymdef2.default.lookup(codepoint);\n }\n\n return null;\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/util.js?")},"8Enf":function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/header/index.less?")},"8K/p":function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2012 Joel Martin\n * (c) 2012 Michael Tinglof, Joe Balaz, Les Piech (Mercuri.ca)\n * Copyright (C) 2018 Samuel Mannehed for Cendio AB\n * Copyright (C) 2018 Pierre Ossman for Cendio AB\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\nvar _logging = __webpack_require__("Lo0S");\n\nvar Log = _interopRequireWildcard(_logging);\n\nvar _inflator = __webpack_require__("ItS6");\n\nvar _inflator2 = _interopRequireDefault(_inflator);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nvar TightDecoder = function () {\n function TightDecoder() {\n _classCallCheck(this, TightDecoder);\n\n this._ctl = null;\n this._filter = null;\n this._numColors = 0;\n this._palette = new Uint8Array(1024); // 256 * 4 (max palette size * max bytes-per-pixel)\n this._len = 0;\n\n this._zlibs = [];\n for (var i = 0; i < 4; i++) {\n this._zlibs[i] = new _inflator2.default();\n }\n }\n\n _createClass(TightDecoder, [{\n key: "decodeRect",\n value: function decodeRect(x, y, width, height, sock, display, depth) {\n if (this._ctl === null) {\n if (sock.rQwait("TIGHT compression-control", 1)) {\n return false;\n }\n\n this._ctl = sock.rQshift8();\n\n // Reset streams if the server requests it\n for (var i = 0; i < 4; i++) {\n if (this._ctl >> i & 1) {\n this._zlibs[i].reset();\n Log.Info("Reset zlib stream " + i);\n }\n }\n\n // Figure out filter\n this._ctl = this._ctl >> 4;\n }\n\n var ret = void 0;\n\n if (this._ctl === 0x08) {\n ret = this._fillRect(x, y, width, height, sock, display, depth);\n } else if (this._ctl === 0x09) {\n ret = this._jpegRect(x, y, width, height, sock, display, depth);\n } else if (this._ctl === 0x0A) {\n ret = this._pngRect(x, y, width, height, sock, display, depth);\n } else if ((this._ctl & 0x80) == 0) {\n ret = this._basicRect(this._ctl, x, y, width, height, sock, display, depth);\n } else {\n throw new Error("Illegal tight compression received (ctl: " + this._ctl + ")");\n }\n\n if (ret) {\n this._ctl = null;\n }\n\n return ret;\n }\n }, {\n key: "_fillRect",\n value: function _fillRect(x, y, width, height, sock, display, depth) {\n if (sock.rQwait("TIGHT", 3)) {\n return false;\n }\n\n var rQi = sock.rQi;\n var rQ = sock.rQ;\n\n display.fillRect(x, y, width, height, [rQ[rQi + 2], rQ[rQi + 1], rQ[rQi]], false);\n sock.rQskipBytes(3);\n\n return true;\n }\n }, {\n key: "_jpegRect",\n value: function _jpegRect(x, y, width, height, sock, display, depth) {\n var data = this._readData(sock);\n if (data === null) {\n return false;\n }\n\n display.imageRect(x, y, "image/jpeg", data);\n\n return true;\n }\n }, {\n key: "_pngRect",\n value: function _pngRect(x, y, width, height, sock, display, depth) {\n throw new Error("PNG received in standard Tight rect");\n }\n }, {\n key: "_basicRect",\n value: function _basicRect(ctl, x, y, width, height, sock, display, depth) {\n if (this._filter === null) {\n if (ctl & 0x4) {\n if (sock.rQwait("TIGHT", 1)) {\n return false;\n }\n\n this._filter = sock.rQshift8();\n } else {\n // Implicit CopyFilter\n this._filter = 0;\n }\n }\n\n var streamId = ctl & 0x3;\n\n var ret = void 0;\n\n switch (this._filter) {\n case 0:\n // CopyFilter\n ret = this._copyFilter(streamId, x, y, width, height, sock, display, depth);\n break;\n case 1:\n // PaletteFilter\n ret = this._paletteFilter(streamId, x, y, width, height, sock, display, depth);\n break;\n case 2:\n // GradientFilter\n ret = this._gradientFilter(streamId, x, y, width, height, sock, display, depth);\n break;\n default:\n throw new Error("Illegal tight filter received (ctl: " + this._filter + ")");\n }\n\n if (ret) {\n this._filter = null;\n }\n\n return ret;\n }\n }, {\n key: "_copyFilter",\n value: function _copyFilter(streamId, x, y, width, height, sock, display, depth) {\n var uncompressedSize = width * height * 3;\n var data = void 0;\n\n if (uncompressedSize < 12) {\n if (sock.rQwait("TIGHT", uncompressedSize)) {\n return false;\n }\n\n data = sock.rQshiftBytes(uncompressedSize);\n } else {\n data = this._readData(sock);\n if (data === null) {\n return false;\n }\n\n data = this._zlibs[streamId].inflate(data, true, uncompressedSize);\n if (data.length != uncompressedSize) {\n throw new Error("Incomplete zlib block");\n }\n }\n\n display.blitRgbImage(x, y, width, height, data, 0, false);\n\n return true;\n }\n }, {\n key: "_paletteFilter",\n value: function _paletteFilter(streamId, x, y, width, height, sock, display, depth) {\n if (this._numColors === 0) {\n if (sock.rQwait("TIGHT palette", 1)) {\n return false;\n }\n\n var numColors = sock.rQpeek8() + 1;\n var paletteSize = numColors * 3;\n\n if (sock.rQwait("TIGHT palette", 1 + paletteSize)) {\n return false;\n }\n\n this._numColors = numColors;\n sock.rQskipBytes(1);\n\n sock.rQshiftTo(this._palette, paletteSize);\n }\n\n var bpp = this._numColors <= 2 ? 1 : 8;\n var rowSize = Math.floor((width * bpp + 7) / 8);\n var uncompressedSize = rowSize * height;\n\n var data = void 0;\n\n if (uncompressedSize < 12) {\n if (sock.rQwait("TIGHT", uncompressedSize)) {\n return false;\n }\n\n data = sock.rQshiftBytes(uncompressedSize);\n } else {\n data = this._readData(sock);\n if (data === null) {\n return false;\n }\n\n data = this._zlibs[streamId].inflate(data, true, uncompressedSize);\n if (data.length != uncompressedSize) {\n throw new Error("Incomplete zlib block");\n }\n }\n\n // Convert indexed (palette based) image data to RGB\n if (this._numColors == 2) {\n this._monoRect(x, y, width, height, data, this._palette, display);\n } else {\n this._paletteRect(x, y, width, height, data, this._palette, display);\n }\n\n this._numColors = 0;\n\n return true;\n }\n }, {\n key: "_monoRect",\n value: function _monoRect(x, y, width, height, data, palette, display) {\n // Convert indexed (palette based) image data to RGB\n // TODO: reduce number of calculations inside loop\n var dest = this._getScratchBuffer(width * height * 4);\n var w = Math.floor((width + 7) / 8);\n var w1 = Math.floor(width / 8);\n\n for (var _y = 0; _y < height; _y++) {\n var dp = void 0,\n sp = void 0,\n _x = void 0;\n for (_x = 0; _x < w1; _x++) {\n for (var b = 7; b >= 0; b--) {\n dp = (_y * width + _x * 8 + 7 - b) * 4;\n sp = (data[_y * w + _x] >> b & 1) * 3;\n dest[dp] = palette[sp];\n dest[dp + 1] = palette[sp + 1];\n dest[dp + 2] = palette[sp + 2];\n dest[dp + 3] = 255;\n }\n }\n\n for (var _b = 7; _b >= 8 - width % 8; _b--) {\n dp = (_y * width + _x * 8 + 7 - _b) * 4;\n sp = (data[_y * w + _x] >> _b & 1) * 3;\n dest[dp] = palette[sp];\n dest[dp + 1] = palette[sp + 1];\n dest[dp + 2] = palette[sp + 2];\n dest[dp + 3] = 255;\n }\n }\n\n display.blitRgbxImage(x, y, width, height, dest, 0, false);\n }\n }, {\n key: "_paletteRect",\n value: function _paletteRect(x, y, width, height, data, palette, display) {\n // Convert indexed (palette based) image data to RGB\n var dest = this._getScratchBuffer(width * height * 4);\n var total = width * height * 4;\n for (var i = 0, j = 0; i < total; i += 4, j++) {\n var sp = data[j] * 3;\n dest[i] = palette[sp];\n dest[i + 1] = palette[sp + 1];\n dest[i + 2] = palette[sp + 2];\n dest[i + 3] = 255;\n }\n\n display.blitRgbxImage(x, y, width, height, dest, 0, false);\n }\n }, {\n key: "_gradientFilter",\n value: function _gradientFilter(streamId, x, y, width, height, sock, display, depth) {\n throw new Error("Gradient filter not implemented");\n }\n }, {\n key: "_readData",\n value: function _readData(sock) {\n if (this._len === 0) {\n if (sock.rQwait("TIGHT", 3)) {\n return null;\n }\n\n var byte = void 0;\n\n byte = sock.rQshift8();\n this._len = byte & 0x7f;\n if (byte & 0x80) {\n byte = sock.rQshift8();\n this._len |= (byte & 0x7f) << 7;\n if (byte & 0x80) {\n byte = sock.rQshift8();\n this._len |= byte << 14;\n }\n }\n }\n\n if (sock.rQwait("TIGHT", this._len)) {\n return null;\n }\n\n var data = sock.rQshiftBytes(this._len);\n this._len = 0;\n\n return data;\n }\n }, {\n key: "_getScratchBuffer",\n value: function _getScratchBuffer(size) {\n if (!this._scratchBuffer || this._scratchBuffer.length < size) {\n this._scratchBuffer = new Uint8Array(size);\n }\n return this._scratchBuffer;\n }\n }]);\n\n return TightDecoder;\n}();\n\nexports.default = TightDecoder;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/decoders/tight.js?')},"9Bee":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/katex/dist/katex.min.css\nvar katex_min = __webpack_require__("vg9a");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/marked/lib/marked.js\nvar marked = __webpack_require__("DlQD");\nvar marked_default = /*#__PURE__*/__webpack_require__.n(marked);\n\n// EXTERNAL MODULE: ./node_modules/marked/src/helpers.js\nvar helpers = __webpack_require__("rUJ1");\n\n// CONCATENATED MODULE: ./src/utils/marked.ts\n\n\n\n\nfunction indentCodeCompensation(raw, text) {\n var matchIndentToCode = raw.match(/^(\\s+)(?:```)/);\n\n if (matchIndentToCode === null) {\n return text;\n }\n\n var indentToCode = matchIndentToCode[1];\n return text.split(\'\\n\').map(node => {\n var matchIndentInNode = node.match(/^\\s+/);\n\n if (matchIndentInNode === null) {\n return node;\n }\n\n var _matchIndentInNode = Object(slicedToArray["a" /* default */])(matchIndentInNode, 1),\n indentInNode = _matchIndentInNode[0];\n\n if (indentInNode.length >= indentToCode.length) {\n return node.slice(indentToCode.length);\n }\n\n return node;\n }).join(\'\\n\');\n}\n\n//\u517c\u5bb9\u4e4b\u524d\u7684 ##\u6807\u9898\u5f0f\u5199\u6cd5\nvar toc = [];\nvar ctx = ["<ul>"];\nvar renderer = new marked_default.a.Renderer();\nvar headingRegex = /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/;\nfunction cleanToc() {\n toc.length = 0;\n ctx = ["<ul>"];\n}\n\nfunction buildToc(coll, k, level, ctx) {\n if (k >= coll.length || coll[k].level <= level) {\n return k;\n }\n\n var node = coll[k];\n ctx.push("<li><a href=\'#" + node.anchor + "\'>" + node.text + "</a>");\n k++;\n var childCtx = [];\n k = buildToc(coll, k, node.level, childCtx);\n\n if (childCtx.length > 0) {\n ctx.push("<ul>");\n childCtx.forEach(function (idm) {\n ctx.push(idm);\n });\n ctx.push("</ul>");\n }\n\n ctx.push("</li>");\n k = buildToc(coll, k, level, ctx);\n return k;\n}\n\nfunction getTocContent() {\n buildToc(toc, 0, 0, ctx);\n ctx.push("</ul>");\n return ctx.join("");\n}\nvar tokenizer = {\n heading(src) {\n var cap = headingRegex.exec(src);\n\n if (cap) {\n return {\n type: \'heading\',\n raw: cap[0],\n depth: cap[1].length,\n text: cap[2]\n };\n }\n },\n\n fences(src) {\n var cap = this.rules.block.fences.exec(src);\n\n if (cap) {\n var raw = cap[0];\n var text = indentCodeCompensation(raw, cap[3] || \'\');\n var lang = cap[2] ? cap[2].trim() : cap[2];\n\n if ([\'latex\', \'katex\', \'math\'].indexOf(lang) >= 0) {\n var id = next_id();\n var expression = text;\n text = id;\n marked_math_expressions[id] = {\n type: \'block\',\n expression\n };\n }\n\n return {\n type: \'code\',\n raw,\n lang,\n text\n };\n }\n }\n\n};\nvar latexRegex = /(?:\\${2})([^\\n`]+?)(?:\\${2})/gi;\nvar katex_count = 0;\n\nvar next_id = () => "__special_katext_id_".concat(katex_count++, "__");\n\nvar marked_math_expressions = {};\nfunction getMathExpressions() {\n return marked_math_expressions;\n}\nfunction resetMathExpressions() {\n katex_count = 0;\n marked_math_expressions = {};\n}\n\nfunction replace_math_with_ids(text) {\n text = text.replace(latexRegex, (_match, expression) => {\n var id = next_id();\n marked_math_expressions[id] = {\n type: \'inline\',\n expression\n };\n return id;\n });\n return text;\n}\n\nvar original_listitem = renderer.listitem;\n\nrenderer.listitem = function (text) {\n return original_listitem(replace_math_with_ids(text));\n};\n\nvar original_paragraph = renderer.paragraph;\n\nrenderer.paragraph = function (text) {\n return original_paragraph(replace_math_with_ids(text));\n};\n\nvar original_tablecell = renderer.tablecell;\n\nrenderer.tablecell = function (content, flags) {\n return original_tablecell(replace_math_with_ids(content), flags);\n};\n\nrenderer.code = function (code, infostring, escaped) {\n var lang = (infostring || \'\').match(/\\S*/)[0];\n\n if (!lang) {\n return \'<pre class="prettyprint linenums"><code>\' + (escaped ? code : Object(helpers["escape"])(code, true)) + \'</code></pre>\';\n }\n\n if ([\'latex\', \'katex\', \'math\'].indexOf(lang) >= 0) {\n return "<p class=\'editormd-tex\'>".concat(code, "</p>");\n } else {\n return "<pre class=\\"prettyprint linenums\\"><code class=\\"language-".concat(infostring, "\\">").concat(escaped ? code : Object(helpers["escape"])(code, true), "</code></pre>\\n");\n }\n};\n\nrenderer.heading = function (text, level, raw) {\n var anchor = this.options.headerPrefix + raw.toLowerCase().replace(/[^\\w\\\\u4e00-\\\\u9fa5]]+/g, \'-\');\n toc.push({\n anchor,\n level,\n text\n });\n return \'<h\' + level + \' id="\' + anchor + \'">\' + text + \'</h\' + level + \'>\';\n};\n\nmarked_default.a.setOptions({\n silent: true,\n smartypants: true,\n gfm: true,\n pedantic: false\n});\nmarked_default.a.use({\n tokenizer,\n renderer\n});\n/* harmony default export */ var utils_marked = (marked_default.a);\n// EXTERNAL MODULE: ./node_modules/code-prettify/src/prettify.js\nvar prettify = __webpack_require__("SJMd");\n\n// EXTERNAL MODULE: ./node_modules/katex/dist/katex.js\nvar katex = __webpack_require__("Oy/b");\n\n// CONCATENATED MODULE: ./src/components/RenderHtml/index.tsx\n\n\n\n\n\nvar preRegex = /<pre[^>]*>/g;\n\nfunction _unescape(str) {\n var div = document.createElement(\'div\');\n div.innerHTML = str;\n return div.childNodes.length === 0 ? "" : div.childNodes[0].nodeValue;\n}\n\n/* harmony default export */ var RenderHtml = __webpack_exports__["a"] = ((_ref) => {\n var _ref$value = _ref.value,\n value = _ref$value === void 0 ? \'\' : _ref$value,\n className = _ref.className,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var str = String(value);\n var html = Object(react["useMemo"])(() => {\n var rs = utils_marked(str);\n var math_expressions = getMathExpressions();\n\n if (str.match(/\\[TOC\\]/)) {\n rs = rs.replace("<p>[TOC]</p>", getTocContent());\n cleanToc();\n }\n\n rs = rs.replace(/(__special_katext_id_\\d+__)/g, (_match, capture) => {\n var _math_expressions$cap = math_expressions[capture],\n type = _math_expressions$cap.type,\n expression = _math_expressions$cap.expression;\n return Object(katex["renderToString"])(_unescape(expression) || \'\', {\n displayMode: type === \'block\',\n throwOnError: false,\n output: \'html\'\n });\n });\n rs = rs.replace(/\u2581/g, "\u2581\u2581\u2581");\n resetMathExpressions();\n return rs;\n }, [str]);\n var el = Object(react["useRef"])();\n\n function onAncherHandler(e) {\n var target = e.target;\n\n if (target.tagName.toUpperCase() === \'A\') {\n var ancher = target.getAttribute(\'href\');\n\n if (ancher.startsWith(\'#\')) {\n e.preventDefault();\n var viewEl = document.getElementById(ancher.replace(\'#\', \'\'));\n\n if (viewEl) {\n viewEl.parentNode.scrollTop = viewEl.offsetTop;\n }\n }\n }\n }\n\n Object(react["useEffect"])(() => {\n if (el.current && html) {\n if (html.match(preRegex)) {\n window.PR.prettyPrint();\n }\n }\n\n if (el.current) {\n el.current.addEventListener(\'click\', onAncherHandler);\n return () => {\n el.current.removeEventListener(\'click\', onAncherHandler);\n resetMathExpressions();\n cleanToc();\n };\n }\n }, [html, el.current, onAncherHandler]);\n return /*#__PURE__*/react_default.a.createElement("div", {\n ref: el,\n style: style,\n className: "".concat(className ? className : \'\', " markdown-body"),\n dangerouslySetInnerHTML: {\n __html: html\n }\n });\n});\n\n//# sourceURL=webpack:///./src/components/RenderHtml/index.tsx_+_1_modules?')},"9VGf":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useInterval; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction useInterval(callback, delay) {\n var savedCallback = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); // \u4fdd\u5b58\u65b0\u56de\u8c03\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {\n savedCallback.current = callback;\n }); // \u5efa\u7acb interval\n\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {\n function tick() {\n savedCallback.current();\n }\n\n if (delay !== null) {\n var id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\n//# sourceURL=webpack:///./src/components/useInterval.tsx?')},ABKa:function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _FolderOutlined = _interopRequireDefault(__webpack_require__("Qs9O"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar FolderOutlined = function FolderOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _FolderOutlined.default\n }));\n};\n\nFolderOutlined.displayName = \'FolderOutlined\';\n\nvar _default = React.forwardRef(FolderOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/FolderOutlined.js?')},AMnG:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var antd_es_message_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("miYZ");\n/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("tsqr");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tJVT");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("nWbc");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_markdown_editor__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("Ot1p");\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var id = _ref.id,\n activeDiscussIndex = _ref.activeDiscussIndex,\n onReplyDiscuss = _ref.onReplyDiscuss;\n\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_3__["useState"])(\'\'),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n\n function onChange(v) {\n setValue(v);\n }\n\n function onCommit() {\n if (!value) {\n antd_es_message__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].info(\'\u56de\u590d\u5185\u5bb9\u4e0d\u80fd\u4e3a\u7a7a!\');\n\n return;\n }\n\n onReplyDiscuss(id, value);\n setValue(\'\');\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", {\n key: id,\n className: "discuss-item-editor",\n style: {\n display: activeDiscussIndex === id ? \'block\' : \'none\',\n width: \'100%\'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_components_markdown_editor__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"], {\n miniToolbar: true,\n startInit: activeDiscussIndex === id,\n defaultValue: value,\n id: id,\n noStorage: true,\n watch: false,\n height: 155,\n placeholder: "\\u6211\\u8981\\u56DE\\u590D",\n showResizeBar: true,\n onChange: onChange\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", {\n onClick: onCommit,\n className: "btn-send"\n }, "\\u53D1\\u9001"));\n});\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss/discuss-editor/index.tsx?')},ARon:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/answer-panel/choose-answer/index.less?")},BdwD:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\n\nvar noData = () => {\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("section", {\n className: "tc animated fadeIn",\n style: {\n color: \'#999\',\n margin: \'200px auto\'\n }\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("img", {\n src: __webpack_require__("FOrL")\n }), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {\n className: "mt20"\n }, "\\u6682\\u65F6\\u8FD8\\u6CA1\\u6709\\u76F8\\u5173\\u6570\\u636E\\u54E6!"));\n};\n\n/* harmony default export */ __webpack_exports__["a"] = (noData);\n\n//# sourceURL=webpack:///./src/components/NoData/index.tsx?')},BjJ7:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return isCompileOk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return getTreeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return processTreeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isProd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return apiPref; });\nfunction isCompileOk(rs) {\n var flag = true;\n\n if (rs.length > 0) {\n for (var i = 0; i < rs.length; i++) {\n if (rs[i].compile_success == 0 || !rs[i].compile_success) {\n flag = false;\n break;\n }\n }\n } else {\n flag = false;\n }\n\n return flag;\n}\nfunction getTreeData(data) {\n var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \'\';\n var result = [];\n\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n var key = parentKey ? "".concat(parentKey, "/").concat(item.name) : "".concat(item.name);\n result.push({\n title: item.name,\n isLeaf: item.type === \'tree\' ? false : true,\n key\n });\n }\n\n return result;\n}\nfunction processTreeData(repos, key, newData) {\n for (var i = 0; i < repos.length; i++) {\n var item = repos[i];\n\n if (item.key === key) {\n item.children = newData;\n break;\n }\n\n if (item.children) {\n processTreeData(item.children, key, newData);\n }\n }\n\n return repos;\n}\nfunction debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n\n var later = function later() {\n timeout = null;\n if (!immediate) func.apply(context, args);\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) func.apply(context, args);\n };\n}\nvar isProd = window.location.href.indexOf(\'test-\') > 0 || window.location.href.indexOf(\'localhost\') > 0 ? false : true;\nvar apiPref = isProd ? \'https://www.educoder.net\' : \'https://test-newweb.educoder.net\';\n\n//# sourceURL=webpack:///./src/pages/tasks/util.js?')},DGZ7:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/Spinner/index.less?")},DVFL:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/answer-panel/multi-level-answer/index.less?")},FOrL:function(module,exports){eval('module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFsAAABKCAYAAADUvCinAAAAAXNSR0IArs4c6QAAFq9JREFUeAHdnAl4VFWWx6sqlYWEkIRsJCRkJQECCXsIS0gAWWwQl1YQxQ2nRx0/u9We8etvpmf87LFt7XHs7mmXbhVEFESQdWRfwiKGXRYhkI0sQAIBAmQnqZrfKfMyZVGVqldLjL7vu9997757zz33/84995xzb5VG8xO/Fi1aNPTDDz/M7w7D1HcHJjzFAyCPNxgMi/V6/YOe6kMNXZ2ayj+mugsXLhSAFxqNxtmPPvroge7A+09Osj///HOvmzdvvoZET/D19Z04f/78i90BaOHhJwU20hx748aNZVqt9kR0dHTOnXfe2dxdgBY+tN2JGVd4QT8/gsp4GRovPfnkkytcoeWptj96ycbaiEdl/BWgEWjt+AULFlzwFFiu0v3RSvaGDRt8L168+CIALNDpdL99/PHHl7oKhqfbe3m6A3fTR4J1/fr1m88iuBxJPs8iOBdr45C7+/EEvR+NZIuVUVdX9wBg/wYgTnp7e//rI488UuoqKCyqv4FmK+rnj67Sste+2+vsjz/+OODWrVsiyb9iMIcAZh4L4El7A3PkPUA/Db2ZERERdzhS39U63RbsDz74YDBq4qmWlpZZ5GtIdz7xxBMlrg5YaY/18iuAnhsYGDht1qxZDUq5J/NuBTZSnIAUzwGEOYB7i/R3pO5f3AkGtHVI9BuAmkG644EHHrjpSYDNaf+gOvvQoUPe33zzTRYMTSVNB1xf0mfo4+V4fkXmjMr9p59+GtLU1CSSPpzHvcQ8NqK36y3r2Xpub7+M92UZGRnPjhw58patup4o71KwkahwgBqFXTyawUgS6RI9vBngNj/22GPFloNkukfTZjZ17iXl8L5jNlLexPMW8lU9e/Zcj5RetWyvPKOWsrl/HzPxTdTR35XyrszdBjZAaD/66KMgBh4KmGGkKAaSzHN/yXkv96IbD5If8PLyOpCWlnbUmnQtWbIkGV19jwBM3Uyh7efnp+nfv3/lmTNnYnx8fE7OnDkzrKioSFdYWBhx/fp1wayVurvIV/Ph1mAOnpfC9evX+1+6dOkVaEzmcb67FlehrfZyC9hI3wEG04/B1sLAFVINqYrnYsoLJfXq1asYyWu0xaDEndva2u6hjYA8ROohrW0pKSmlgCz3iRTpli1bpgHMvPvvvz9H6siFaqkuKSlp40NEX716VQMNI8US6dsCrQd5/gS18XtrH1bad9XlFrCdYRYQdIsXL84CYFEP90AjQegEBQU1p6amliYnJ/v06NFDyr7HozWwpZ1yNTc31+zZs6e1rKysj1IG2CfpYxWzaTWe5jdKeVfn3xuIpzuXBfH48eOTUDEC7t2kSOkzJCSkftCgQaXx8fGBqIs4KbN1dQK2ob6+fu+uXbt8/f39/bKysvwANxzQa8+ePdv3woULvkIT4M+RrSKtRnfv49nAfZdcHge73SmZzmhEPcwkD5KRhYeHXwPgsri4uFCsj1gpc+SyAnbNlStXjiDN0aGhoY1jxowJhN4AS1rMoNrz58/XnD59Ooo8AF6kSjVgr2XRXB0QELADNddi2c6dzw6DjbvcE3f5CZiMcZQB6qYwmKnkPaRNnz59qgcPHnw+JiYmCqmTBVT1JWADzm5sb92xY8dakdhE9HFlQkJCDDT7OUKQmXWTINbFgoKCyPLy8iCepZmssl8K8GpNSkf6lDoOgd2++5EPaCMdJWwirtVq+vbtW4bVcZlgfj8GEqGmvVndNgApQIIvbdy4MRcpbQLgIwMHDgxAr6dTz6FxmNHruIVuw+XLl8sBPrS0tDQc2qJqHDYpOwg5cOMQk1gKQ2DiuAP0hFFNfHz8WQCuxfsTc6+3I+3M6rTwUauwMCqR2pvo3J7V1dVxYWFhtUT7bh44cCAL0y9vzpw5OWZt3HXbxAc9h6rpiXUTgzcrdMWk3E2+ytykdKZDh8BeunRpWENDQyUdmBYZy45goo1pfAqAG9Gbqbw36WXLepbPqKV8pnH9tWvXfGtrawNZ4EKpo8dMvI5OvwS4BhbPSOgnS7m0b1cjngJbulCuFvgqYXH1wZ5P4OODucmkFOBnESVU7eZ3eGNKD9byefPm1SDdTzDl3kTqOkwqpS7T+Tg2bChqwmQfK+X2cnSsP/pbg5kni1oogxE1Izv+0od8tB/y8uFDJ2LjF7KveQ2h6M3YRTgnwufL5LJxoepySLLNKQL6HUjdFlb9OhhYcuTIEYlrJEkdQD82YsQIPwL6HgOqKyQbW73s1KlTLaRkkWjWhSYW9pPY/z2J5YSfPHkyCEEZjs1+whwbe/cOSbZCZOfOnfri4uK3ANqIuuhJenrYsGHHmGpvfvXVV+PQdWNIGqZ/0dixY+sxpyT28aO4mLXXEZ4LgBmP3o4DTJlxZ4YMGdKEozWIQZiMg9GjR9eBgZ6P8A6Snt2uWhwaoyqwWTR+ifucBsjmxDMok3QWa+rVzZs3D4bpWSQd9arHjx9/nsVNLAZVfZl34MH7Ntz7khMnTgQztnAAD8J6quIIRAFmqizut81QynpOnDjxwqZNm8Yzyx+Bt8WO8uewGpHoGwtVATEJMbdEr9q6ylnsFhEAimY1f5iv34MAfR0e3Rn080CY9bfV0JFyd6gRpPIicZTmb7/9Nr6xsVE82Ib09PRiFvkIJNrk1drjBaFqxjm6gceb+tBDD12zV1/eq5G2/4KhQIC2R7dfcHDwfxCPrmZQb6xdu1aP1fGLLVu2jICxVnT6MWZBLIupWpPQXr+dvkdq6wHnIo5QLKZkFOMw4sEWooe9uY+nsarFPTc3tx4rLZyP9Sptn+m08/aXDkk20yUHoHYi1Qa+fGdSba3Pawz07TVr1lxB4p9C0lNFH/LhCnBMenEfba2RrTKVkm0k/FpGPCYIPRsiNJOSkqro+wZ6WBZ1l04XMDOu5ufnBzNbMzEF7e7w6wnoxwLAW6ShdG4VSMAKY2EwOgG0jC8EKf63e++9t47799B1ryFhC44ePTqBJDHqCmi38jETpLI7Lon8EecWNdGXWRWP+qqbOnXqWfRwDLyIWXmb+epMv8yMXqgjHUL0LvhlAnqnQS09lZaQJnbWGQucJjEx0RS56ayenXc9ef/r6dOnN5Mv3Ldv35u4yPNwGO4DGC8AuYKVcwWJS7FDx+prxtCEx1mNFEeTh/Xu3bsNS6kUvoNYa0RlOUXXamfthYCrnzRpUs0XX3wxEqH9BcXvdVqfhe8GjAZ2Vmn27NmtAK5Gv3dGTnnXys1SzMaP9+7dexf3C+AjAAumAdDLxRqg7LY+LdUIDscF7N5APpo4Rhp0cBX2vgE9rEo9KUw5kyM4TZi8jcyaVMK2l23R8AJIUR9ptiogGRrccKvqxVYbB8uFZgbgPowEViLZv0TCCwkLZJAlAJ4RwIpYbP2RIG+FJsBqiNMgrPqmvLy8AMy2QKyJlnHjxl1CHQVGRUUJ6J0Kj0LLXTlBtlvM0sDW1tbwdevWrbVFV9seb36BCsOQLHNQk9HRaRLjJRjvY4uAm8s3wvDr7EEmsk6IO5xG0EmDBSNbY8FE5xq3bt0aLZE57OE2hOAiuWwi+7qZD9Xk8Ctqt23bJnuw/wSOVQoB7o0IxgnZzLZqjbR7it8MHTp0EAO1Wkch5qF8N3RfRQ+KtfAi/E5W+snMzKwaMGCAPwPopZR1lxzb21hZWWkNLwMf4SlzSe7gGW/qOaZwGmCLXv0hrmw63Yz+ex6TagqMfqEwwWzb1h2BFv4Ixl1Q+LTIdQjM726zM1ErEUzhVXh8OhbFDl1p0birHlcTnziJ2niXDk28Ijn9MbkE8P5dxYSdflrh70vi7Kzze+OpG2yjfu1tqz0No/kKAcQMdLjbrSw2t9WxQczdxWKzvs35kefgR1kzqrmPxNTqQ9i3gvcO7126mznolYHRpu3bt4diEc3iubN1o5nZ+aI1/aJBVw5Hul9lcZqOpaBBkgyYNVZVjgcGoZBcs2LFCjm9WgHAYqPLR1+ekBAfVVp6Lhu9vRgLZD5lXcmXCMAmXP4iQsvZYCSWnOxOFZDEsTkiz+YXak9+ElHAoaErVsFWKmODj+f+VQ7IZKOPxLFRXnVFPpmPns4A3sLm3l5VVSWL5PIZM6ZP3rFjZzMS3wev9BNMw0e7gJkqTNLVWBv6mpqa++FJVIVsl60lvcPassMRHjoFWyEA6FO5/090+CisAWNkZKRD7ZT2TuQnkeqhSHUxbaMmT550eNu27XIAU8CeQ/CH4yG7s5lsRUjMDQY8wok+7DURj3kHNv8hdPFQAJZTAsq436DPP7N421oQrdK+bYG0VgtDvZj0/pQpU2SjIANdFY4zYiSeoXRurZkrZb8lwJMMgQXh4aH/GxsbOwUnR+h9279/8mDWkXiOfXxJkD+LOMsuvEaZcopel3quXDXEVhYhxbu5JrDh/DNAltj2HlIthCWu8hBnBivVdqJq8aODNZwG7Q0DH1ZUVMgxMb/hw4e7G3SJDX9C2s3gjBkZw6wuPCkp/TPh4QyHJh+En7c47PO82sFb1N+NpbODKxXH6h8A2If+b6Jz/zZq1KjS3r2D79uwYdO3tHF690kV2ObMTZyYXVleXrGW6T6HraMYkkQF3SHpH6CrM+lrBLvseT4+3jJ9zbs23VMWzi7QUayBRKRQfsS0HnNQrAI1l4R/l6KTqjkzch80X5bGgHyKgNjirKzMQFQVMRtNVDsLhe3Et6Na5USunHVQ0lXuP0a1dPgE7XU7MqfBRoUkI10vpqam7C0oOGMCHSkPY2NAkHEW9Dbavs2g3xEOhw3LqOfeprUhH4LZtZQw57yVK1ca586de55mfaWtnSsfFbSGAz8xqAyxaIJI4sCtGDAgZUtiYvJ4o9HwCs++Vr4zxZok+JLc8roLQclhwdxl+UKenQZbIUan4wFc0leAvoYd6QewXHoRWFKqqMnXsVERgGTNwIM93qOH/x32GiclJU5BjRzkzMldhw8ffo3wwku0sfaBbogUf/3113ybMzPh+w9Cm74uIL1/YpZUBgT4y6+E3wdoe93afE/7XF56BmyzXscNGJA6jud9p08XlAD6fQy8BwupWRW7t3+hhsRCtEOHZojTkm6vBXUjJkyYcBBVUs/O+DMEp/7GrHvarN1hPsQytueCsGIep/yp9nd5RAsXEyns4+Wlk1+N9SOZNXP6dp+tli5LthXCYwcOHDAWxvMx/CsZ+GzUizfHGqxU/V7RCX65UEC7hzl3Uo79nOPo4PV6r58Rw36PD/wU8e5BnOfYDeWzgH8AaRf7/DWSN1Issfu/8kG2xMXFcqJWKyrL39F+FG6hs5N7UXneZqkBOqKztyj1LHNPgG3qA4bGpKUN0sDAfqbuFaRoGouoF16pJQ/K8/8QKniOBx/AOEW76coLR/L4+Lh7WeS2IL1T0Zuf0mYMNJ6UtvBygvTu5Mk5l/V633/UaIzPfifEzkkypudj/HCq3BG+zOt4DGylEwaZOWjQQA368iA7GvU4RBNZ1LToSaWK5FcJ5KwiL2Qg1yIjI0abv3TkHmAjsrOzGwhz1nD/EG3ESljODFnEgaEBGo0B9SQnt5wD2BEe7NXxONgKA4A7CutFdlkOA7qRBXQkp11Nr9kw3cDmrAAUggraTi5TX/Wl02nvRge/dPDgwRbCw/lRUX0ehMgKFrxA1cQ80KDLwFZ4xxYfkZiYoMFxOLp//34/AB/IZoUc5vk5H6S5b99om1t0Co3O8tDQ3q/MmDHtGMrjv6Gp7axuV7/73lzuys5xQIbFxsYMbGlpOobzchxg/DAf+YWX1tVjBmIbj+5uQAu2qiUb6WtB/2pY6c9zsrMV0OJc+UheXvoMzDxNRkZ6GbSzAMkVcp5uK56tzEqnmFQt2RwXXsWi915VVXWfrVu3xeEgFAD+RVdHCc04gFb98V3t15H2HKNrOn78hFg1idRfimkpnqrqS/XgMjOHpfDrh6zr12v/ed++/CklJaV3lpWVG7EwDsbF9WO113TpGT7VI1bRAFe+pbCwyIcAlQ+xkg0cyGnipMHrgO6Ui6lqAeEoQSBBeyJfxth2nvOLi0s+Jeb7JFKZgdkmh8YPYQVI/Fd2V9x2bdy4SWiZ4tluI2qDECDf4mygd0VFpSE4uNcGPGGDt7ePhFq9ALpcr/dO4/dCcpxO1aVKsgH612ZAS0djkpISSUnL8dQ+4WM8z/m98adP+9WwnXY4JCQIT9LkZali6oeqjC5uRZL1SLKORXvt5Mm5unaQZXfcxBZ5P/ZmwUHzslo+VYEN8bnWOzDOGTFi+N1arebtHTvyEIzm5/AaJ7KdVjxy5IgKpt5EmFQ1i6z345nS1ta2Vvk1AQdtNIC8Oicnx5uI4ix47gDZomex31+2KLP7qBJsY79OKIrJ9cKkSbmXm5ubfpeXtzuFE6SP5eXtSurdO+Qg8ZFbqJmxnbTv8lc4WG2ckfE6d67MCMgrOXPtx2EC+bsNWyC389gpDjbHoQpsJPcCgMqKbPOC0XAfH98/TJs29fTlyzXP8nv1u69evTZ1+/YdRs7hbR4yJC1Cp/MaZpNAF7zAejIQR9EBchsgr8rNzfFHEGTzQEuyy4HgYLeSlQqqwIYX4hdG0Vd2L5geGBYW+g4btFsJuT5z7ty5ZzjKO43f3TSyS78S130IRFLtEnJjBXgC5HM6gL6FdbGa3SY5hPlzyh0CWWHlOxyUJ8dzVXqUn0dEtrW1yt9JhDnehSnqZmCci/bvP1jADzklXt0HB+YS0b3NMTF9c6Fld6fBFWsEQTayX6ktKSnll1+9VuFEBeNMzRCQ1YxD6mKN1NB2MAG1atVt1Taorj4/BQdqPe381LaF0TqDoe0t9Lk3foKEU/2JlRSwiO7j8PrdPNu00Z0BGzBNBx0xTxsx4Vamp2eE85FVhW4txtik12tnRUb23WZR7tCj6i8rVDk+wHaVcTm3IQ71cnulyvr6hj9yVGA4r2QPUMeGwa6xY8cUsRX2IBjd9osylWAD8nkkuaRBFj5+Q8M6oXUFZBkBu/7aORxR3ioPzlxOgS0doXs5u2FYDDDZznQsbZD0QzgO73HAfR50JlFkYEdn5dixWc3oUgG9Y01xBGzoGREEURd1QocfSEUB8jRn+VPaQZdjFbpHWeDPKWXO5E6DrXTGoodkGl8BmHilTG3OYFYTe9gIUC9AZwDPjZy+Woi5yP+S6ORPYbSdgS0g8/G1RUXFN/nN5Yr09MGxgMPsc+2C7jlE4t/5ZcES1yh919plsIUMYHhXV1+Y39ZmFD3s1CEWzCnZWXl7z56vKrHPX4JmOM/VnIb6gEOUOfziYBzPt7nr1dWXNDgkN3CgPsesjAfkKdRz9TrGEZi/REZGLwFw4cstl1vANueEA5BjDIbWOUiEOAcJ5u8cvL+K8fC6HMXF55DjwrIQl5PEodqEKWnSvRxw1OBaXw8MDFg+ePAQCYA5tbtDO9MFqKWIzTqdTv8ZBznzlXJ35m4H25w5gB8M8LMpuwvwhwNchw42r2fjvrCurv4N/vspFyBEf5t4HT16lAZ1UYskf8aGcgptRdervqDJoRzTEV8BeB0An1BNRGUDj4Jtzgtg9cBOz0BaRzLQkayFnDzVDqTcy7ye5T3qZVdJSfH7BQWFv+edN2plDfY5el2Ta1nX1jP9tQHsaYyew/R3CHPzEHbyMcobbbXxRHmXgW2NeQbuS6Qwlg9AyLaNQzLySwKtqAt+dSxHwsQE1PYAWAM5Z+hM/1F1B+344ar8+6URsP4/p9512lZQXs49uVc5wFaw4VEBsLT5Ya//AzDfafkdei4SAAAAAElFTkSuQmCC"\n\n//# sourceURL=webpack:///./src/assets/images/icons/nodata.png?')},Fv0C:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\nvar _logging = __webpack_require__(\"Lo0S\");\n\nvar Log = _interopRequireWildcard(_logging);\n\nvar _events = __webpack_require__(\"vewr\");\n\nvar _util = __webpack_require__(\"8CQX\");\n\nvar KeyboardUtil = _interopRequireWildcard(_util);\n\nvar _keysym = __webpack_require__(\"mHUz\");\n\nvar _keysym2 = _interopRequireDefault(_keysym);\n\nvar _browser = __webpack_require__(\"GdRQ\");\n\nvar browser = _interopRequireWildcard(_browser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n//\n// Keyboard event handler\n//\n\nvar Keyboard = function () {\n function Keyboard(target) {\n _classCallCheck(this, Keyboard);\n\n this._target = target || null;\n\n this._keyDownList = {}; // List of depressed keys\n // (even if they are happy)\n this._pendingKey = null; // Key waiting for keypress\n this._altGrArmed = false; // Windows AltGr detection\n\n // keep these here so we can refer to them later\n this._eventHandlers = {\n 'keyup': this._handleKeyUp.bind(this),\n 'keydown': this._handleKeyDown.bind(this),\n 'keypress': this._handleKeyPress.bind(this),\n 'blur': this._allKeysUp.bind(this),\n 'checkalt': this._checkAlt.bind(this)\n };\n\n // ===== EVENT HANDLERS =====\n\n this.onkeyevent = function () {}; // Handler for key press/release\n }\n\n // ===== PRIVATE METHODS =====\n\n _createClass(Keyboard, [{\n key: '_sendKeyEvent',\n value: function _sendKeyEvent(keysym, code, down) {\n if (down) {\n this._keyDownList[code] = keysym;\n } else {\n // Do we really think this key is down?\n if (!(code in this._keyDownList)) {\n return;\n }\n delete this._keyDownList[code];\n }\n\n Log.Debug(\"onkeyevent \" + (down ? \"down\" : \"up\") + \", keysym: \" + keysym, \", code: \" + code);\n this.onkeyevent(keysym, code, down);\n }\n }, {\n key: '_getKeyCode',\n value: function _getKeyCode(e) {\n var code = KeyboardUtil.getKeycode(e);\n if (code !== 'Unidentified') {\n return code;\n }\n\n // Unstable, but we don't have anything else to go on\n // (don't use it for 'keypress' events thought since\n // WebKit sets it to the same as charCode)\n if (e.keyCode && e.type !== 'keypress') {\n // 229 is used for composition events\n if (e.keyCode !== 229) {\n return 'Platform' + e.keyCode;\n }\n }\n\n // A precursor to the final DOM3 standard. Unfortunately it\n // is not layout independent, so it is as bad as using keyCode\n if (e.keyIdentifier) {\n // Non-character key?\n if (e.keyIdentifier.substr(0, 2) !== 'U+') {\n return e.keyIdentifier;\n }\n\n var codepoint = parseInt(e.keyIdentifier.substr(2), 16);\n var char = String.fromCharCode(codepoint).toUpperCase();\n\n return 'Platform' + char.charCodeAt();\n }\n\n return 'Unidentified';\n }\n }, {\n key: '_handleKeyDown',\n value: function _handleKeyDown(e) {\n var code = this._getKeyCode(e);\n var keysym = KeyboardUtil.getKeysym(e);\n\n // Windows doesn't have a proper AltGr, but handles it using\n // fake Ctrl+Alt. However the remote end might not be Windows,\n // so we need to merge those in to a single AltGr event. We\n // detect this case by seeing the two key events directly after\n // each other with a very short time between them (<50ms).\n if (this._altGrArmed) {\n this._altGrArmed = false;\n clearTimeout(this._altGrTimeout);\n\n if (code === \"AltRight\" && e.timeStamp - this._altGrCtrlTime < 50) {\n // FIXME: We fail to detect this if either Ctrl key is\n // first manually pressed as Windows then no\n // longer sends the fake Ctrl down event. It\n // does however happily send real Ctrl events\n // even when AltGr is already down. Some\n // browsers detect this for us though and set the\n // key to \"AltGraph\".\n keysym = _keysym2.default.XK_ISO_Level3_Shift;\n } else {\n this._sendKeyEvent(_keysym2.default.XK_Control_L, \"ControlLeft\", true);\n }\n }\n\n // We cannot handle keys we cannot track, but we also need\n // to deal with virtual keyboards which omit key info\n // (iOS omits tracking info on keyup events, which forces us to\n // special treat that platform here)\n if (code === 'Unidentified' || browser.isIOS()) {\n if (keysym) {\n // If it's a virtual keyboard then it should be\n // sufficient to just send press and release right\n // after each other\n this._sendKeyEvent(keysym, code, true);\n this._sendKeyEvent(keysym, code, false);\n }\n\n (0, _events.stopEvent)(e);\n return;\n }\n\n // Alt behaves more like AltGraph on macOS, so shuffle the\n // keys around a bit to make things more sane for the remote\n // server. This method is used by RealVNC and TigerVNC (and\n // possibly others).\n if (browser.isMac()) {\n switch (keysym) {\n case _keysym2.default.XK_Super_L:\n keysym = _keysym2.default.XK_Alt_L;\n break;\n case _keysym2.default.XK_Super_R:\n keysym = _keysym2.default.XK_Super_L;\n break;\n case _keysym2.default.XK_Alt_L:\n keysym = _keysym2.default.XK_Mode_switch;\n break;\n case _keysym2.default.XK_Alt_R:\n keysym = _keysym2.default.XK_ISO_Level3_Shift;\n break;\n }\n }\n\n // Is this key already pressed? If so, then we must use the\n // same keysym or we'll confuse the server\n if (code in this._keyDownList) {\n keysym = this._keyDownList[code];\n }\n\n // macOS doesn't send proper key events for modifiers, only\n // state change events. That gets extra confusing for CapsLock\n // which toggles on each press, but not on release. So pretend\n // it was a quick press and release of the button.\n if (browser.isMac() && code === 'CapsLock') {\n this._sendKeyEvent(_keysym2.default.XK_Caps_Lock, 'CapsLock', true);\n this._sendKeyEvent(_keysym2.default.XK_Caps_Lock, 'CapsLock', false);\n (0, _events.stopEvent)(e);\n return;\n }\n\n // If this is a legacy browser then we'll need to wait for\n // a keypress event as well\n // (IE and Edge has a broken KeyboardEvent.key, so we can't\n // just check for the presence of that field)\n if (!keysym && (!e.key || browser.isIE() || browser.isEdge())) {\n this._pendingKey = code;\n // However we might not get a keypress event if the key\n // is non-printable, which needs some special fallback\n // handling\n setTimeout(this._handleKeyPressTimeout.bind(this), 10, e);\n return;\n }\n\n this._pendingKey = null;\n (0, _events.stopEvent)(e);\n\n // Possible start of AltGr sequence? (see above)\n if (code === \"ControlLeft\" && browser.isWindows() && !(\"ControlLeft\" in this._keyDownList)) {\n this._altGrArmed = true;\n this._altGrTimeout = setTimeout(this._handleAltGrTimeout.bind(this), 100);\n this._altGrCtrlTime = e.timeStamp;\n return;\n }\n\n this._sendKeyEvent(keysym, code, true);\n }\n\n // Legacy event for browsers without code/key\n\n }, {\n key: '_handleKeyPress',\n value: function _handleKeyPress(e) {\n (0, _events.stopEvent)(e);\n\n // Are we expecting a keypress?\n if (this._pendingKey === null) {\n return;\n }\n\n var code = this._getKeyCode(e);\n var keysym = KeyboardUtil.getKeysym(e);\n\n // The key we were waiting for?\n if (code !== 'Unidentified' && code != this._pendingKey) {\n return;\n }\n\n code = this._pendingKey;\n this._pendingKey = null;\n\n if (!keysym) {\n Log.Info('keypress with no keysym:', e);\n return;\n }\n\n this._sendKeyEvent(keysym, code, true);\n }\n }, {\n key: '_handleKeyPressTimeout',\n value: function _handleKeyPressTimeout(e) {\n // Did someone manage to sort out the key already?\n if (this._pendingKey === null) {\n return;\n }\n\n var keysym = void 0;\n\n var code = this._pendingKey;\n this._pendingKey = null;\n\n // We have no way of knowing the proper keysym with the\n // information given, but the following are true for most\n // layouts\n if (e.keyCode >= 0x30 && e.keyCode <= 0x39) {\n // Digit\n keysym = e.keyCode;\n } else if (e.keyCode >= 0x41 && e.keyCode <= 0x5a) {\n // Character (A-Z)\n var char = String.fromCharCode(e.keyCode);\n // A feeble attempt at the correct case\n if (e.shiftKey) {\n char = char.toUpperCase();\n } else {\n char = char.toLowerCase();\n }\n keysym = char.charCodeAt();\n } else {\n // Unknown, give up\n keysym = 0;\n }\n\n this._sendKeyEvent(keysym, code, true);\n }\n }, {\n key: '_handleKeyUp',\n value: function _handleKeyUp(e) {\n (0, _events.stopEvent)(e);\n\n var code = this._getKeyCode(e);\n\n // We can't get a release in the middle of an AltGr sequence, so\n // abort that detection\n if (this._altGrArmed) {\n this._altGrArmed = false;\n clearTimeout(this._altGrTimeout);\n this._sendKeyEvent(_keysym2.default.XK_Control_L, \"ControlLeft\", true);\n }\n\n // See comment in _handleKeyDown()\n if (browser.isMac() && code === 'CapsLock') {\n this._sendKeyEvent(_keysym2.default.XK_Caps_Lock, 'CapsLock', true);\n this._sendKeyEvent(_keysym2.default.XK_Caps_Lock, 'CapsLock', false);\n return;\n }\n\n this._sendKeyEvent(this._keyDownList[code], code, false);\n }\n }, {\n key: '_handleAltGrTimeout',\n value: function _handleAltGrTimeout() {\n this._altGrArmed = false;\n clearTimeout(this._altGrTimeout);\n this._sendKeyEvent(_keysym2.default.XK_Control_L, \"ControlLeft\", true);\n }\n }, {\n key: '_allKeysUp',\n value: function _allKeysUp() {\n Log.Debug(\">> Keyboard.allKeysUp\");\n for (var code in this._keyDownList) {\n this._sendKeyEvent(this._keyDownList[code], code, false);\n }\n Log.Debug(\"<< Keyboard.allKeysUp\");\n }\n\n // Firefox Alt workaround, see below\n\n }, {\n key: '_checkAlt',\n value: function _checkAlt(e) {\n if (e.altKey) {\n return;\n }\n\n var target = this._target;\n var downList = this._keyDownList;\n ['AltLeft', 'AltRight'].forEach(function (code) {\n if (!(code in downList)) {\n return;\n }\n\n var event = new KeyboardEvent('keyup', { key: downList[code],\n code: code });\n target.dispatchEvent(event);\n });\n }\n\n // ===== PUBLIC METHODS =====\n\n }, {\n key: 'grab',\n value: function grab() {\n //Log.Debug(\">> Keyboard.grab\");\n\n this._target.addEventListener('keydown', this._eventHandlers.keydown);\n this._target.addEventListener('keyup', this._eventHandlers.keyup);\n this._target.addEventListener('keypress', this._eventHandlers.keypress);\n\n // Release (key up) if window loses focus\n window.addEventListener('blur', this._eventHandlers.blur);\n\n // Firefox has broken handling of Alt, so we need to poll as\n // best we can for releases (still doesn't prevent the menu\n // from popping up though as we can't call preventDefault())\n if (browser.isWindows() && browser.isFirefox()) {\n var handler = this._eventHandlers.checkalt;\n ['mousedown', 'mouseup', 'mousemove', 'wheel', 'touchstart', 'touchend', 'touchmove', 'keydown', 'keyup'].forEach(function (type) {\n return document.addEventListener(type, handler, { capture: true,\n passive: true });\n });\n }\n\n //Log.Debug(\"<< Keyboard.grab\");\n }\n }, {\n key: 'ungrab',\n value: function ungrab() {\n //Log.Debug(\">> Keyboard.ungrab\");\n\n if (browser.isWindows() && browser.isFirefox()) {\n var handler = this._eventHandlers.checkalt;\n ['mousedown', 'mouseup', 'mousemove', 'wheel', 'touchstart', 'touchend', 'touchmove', 'keydown', 'keyup'].forEach(function (type) {\n return document.removeEventListener(type, handler);\n });\n }\n\n this._target.removeEventListener('keydown', this._eventHandlers.keydown);\n this._target.removeEventListener('keyup', this._eventHandlers.keyup);\n this._target.removeEventListener('keypress', this._eventHandlers.keypress);\n window.removeEventListener('blur', this._eventHandlers.blur);\n\n // Release (key up) all keys that are in a down state\n this._allKeysUp();\n\n //Log.Debug(\">> Keyboard.ungrab\");\n }\n }]);\n\n return Keyboard;\n}();\n\nexports.default = Keyboard;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/keyboard.js?")},GdRQ:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.supportsImageMetadata = exports.supportsCursorURIs = exports.dragThreshold = exports.isTouchDevice = undefined;\nexports.isMac = isMac;\nexports.isWindows = isWindows;\nexports.isIOS = isIOS;\nexports.isAndroid = isAndroid;\nexports.isSafari = isSafari;\nexports.isIE = isIE;\nexports.isEdge = isEdge;\nexports.isFirefox = isFirefox;\n\nvar _logging = __webpack_require__(\"Lo0S\");\n\nvar Log = _interopRequireWildcard(_logging);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\n// Touch detection\nvar isTouchDevice = exports.isTouchDevice = 'ontouchstart' in document.documentElement ||\n// requried for Chrome debugger\ndocument.ontouchstart !== undefined ||\n// required for MS Surface\nnavigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0; /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\nwindow.addEventListener('touchstart', function onFirstTouch() {\n exports.isTouchDevice = isTouchDevice = true;\n window.removeEventListener('touchstart', onFirstTouch, false);\n}, false);\n\n// The goal is to find a certain physical width, the devicePixelRatio\n// brings us a bit closer but is not optimal.\nvar dragThreshold = exports.dragThreshold = 10 * (window.devicePixelRatio || 1);\n\nvar _supportsCursorURIs = false;\n\ntry {\n var target = document.createElement('canvas');\n target.style.cursor = 'url(\"data:image/x-icon;base64,AAACAAEACAgAAAIAAgA4AQAAFgAAACgAAAAIAAAAEAAAAAEAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAA==\") 2 2, default';\n\n if (target.style.cursor) {\n Log.Info(\"Data URI scheme cursor supported\");\n _supportsCursorURIs = true;\n } else {\n Log.Warn(\"Data URI scheme cursor not supported\");\n }\n} catch (exc) {\n Log.Error(\"Data URI scheme cursor test exception: \" + exc);\n}\n\nvar supportsCursorURIs = exports.supportsCursorURIs = _supportsCursorURIs;\n\nvar _supportsImageMetadata = false;\ntry {\n new ImageData(new Uint8ClampedArray(4), 1, 1);\n _supportsImageMetadata = true;\n} catch (ex) {\n // ignore failure\n}\nvar supportsImageMetadata = exports.supportsImageMetadata = _supportsImageMetadata;\n\nfunction isMac() {\n return navigator && !!/mac/i.exec(navigator.platform);\n}\n\nfunction isWindows() {\n return navigator && !!/win/i.exec(navigator.platform);\n}\n\nfunction isIOS() {\n return navigator && (!!/ipad/i.exec(navigator.platform) || !!/iphone/i.exec(navigator.platform) || !!/ipod/i.exec(navigator.platform));\n}\n\nfunction isAndroid() {\n return navigator && !!/android/i.exec(navigator.userAgent);\n}\n\nfunction isSafari() {\n return navigator && navigator.userAgent.indexOf('Safari') !== -1 && navigator.userAgent.indexOf('Chrome') === -1;\n}\n\nfunction isIE() {\n return navigator && !!/trident/i.exec(navigator.userAgent);\n}\n\nfunction isEdge() {\n return navigator && !!/edge/i.exec(navigator.userAgent);\n}\n\nfunction isFirefox() {\n return navigator && !!/firefox/i.exec(navigator.userAgent);\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/browser.js?")},H65k:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/index.less?")},HmJG:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/markdown-editor/upload-image/index.less?")},ItS6:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _inflate2 = __webpack_require__("eP3c");\n\nvar _zstream = __webpack_require__("1q3G");\n\nvar _zstream2 = _interopRequireDefault(_zstream);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nvar Inflate = function () {\n function Inflate() {\n _classCallCheck(this, Inflate);\n\n this.strm = new _zstream2.default();\n this.chunkSize = 1024 * 10 * 10;\n this.strm.output = new Uint8Array(this.chunkSize);\n this.windowBits = 5;\n\n (0, _inflate2.inflateInit)(this.strm, this.windowBits);\n }\n\n _createClass(Inflate, [{\n key: "inflate",\n value: function inflate(data, flush, expected) {\n this.strm.input = data;\n this.strm.avail_in = this.strm.input.length;\n this.strm.next_in = 0;\n this.strm.next_out = 0;\n\n // resize our output buffer if it\'s too small\n // (we could just use multiple chunks, but that would cause an extra\n // allocation each time to flatten the chunks)\n if (expected > this.chunkSize) {\n this.chunkSize = expected;\n this.strm.output = new Uint8Array(this.chunkSize);\n }\n\n this.strm.avail_out = this.chunkSize;\n\n (0, _inflate2.inflate)(this.strm, flush);\n\n return new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out);\n }\n }, {\n key: "reset",\n value: function reset() {\n (0, _inflate2.inflateReset)(this.strm);\n }\n }]);\n\n return Inflate;\n}();\n\nexports.default = Inflate;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/inflator.js?')},IxHN:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("DGZ7");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var message = _ref.message,\n className = _ref.className,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {\n className: "ids-ring-wrapper ".concat(className)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {\n className: "lds-ring"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null)), message ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {\n style: style\n }, message) : null);\n});\n\n//# sourceURL=webpack:///./src/components/Spinner/index.tsx?')},JSwD:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = inflate_table;\n\nvar _common = __webpack_require__("6BzB");\n\nvar utils = _interopRequireWildcard(_common);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [/* Length codes 257..285 base */\n3, 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];\n\nvar lext = [/* Length codes 257..285 extra */\n16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78];\n\nvar dbase = [/* Distance codes 0..29 base */\n1, 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];\n\nvar dext = [/* Distance codes 0..29 extra */\n16, 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];\n\nfunction inflate_table(type, lens, lens_index, codes, table, table_index, work, opts) {\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code\'s length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0,\n max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n // var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) {\n break;\n }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) {\n /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = 1 << 24 | 64 << 16 | 0;\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = 1 << 24 | 64 << 16 | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) {\n break;\n }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n } else {\n /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n } else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n } else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << len - drop;\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << len - 1;\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) {\n break;\n }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) {\n break;\n }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if (type === LENS && used > ENOUGH_LENS || type === DISTS && used > ENOUGH_DISTS) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = root << 24 | curr << 16 | next - table_index | 0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = len - drop << 24 | 64 << 16 | 0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/zlib/inftrees.js?')},KJ0q:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/choose-repository/topics/index.less?")},KxFI:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/tree/style/index.less?")},LEsl:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\nvar _logging = __webpack_require__(\"Lo0S\");\n\nvar Log = _interopRequireWildcard(_logging);\n\nvar _browser = __webpack_require__(\"GdRQ\");\n\nvar _events = __webpack_require__(\"vewr\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar WHEEL_STEP = 10; // Delta threshold for a mouse wheel step\nvar WHEEL_STEP_TIMEOUT = 50; // ms\nvar WHEEL_LINE_HEIGHT = 19;\n\nvar Mouse = function () {\n function Mouse(target) {\n _classCallCheck(this, Mouse);\n\n this._target = target || document;\n\n this._doubleClickTimer = null;\n this._lastTouchPos = null;\n\n this._pos = null;\n this._wheelStepXTimer = null;\n this._wheelStepYTimer = null;\n this._accumulatedWheelDeltaX = 0;\n this._accumulatedWheelDeltaY = 0;\n\n this._eventHandlers = {\n 'mousedown': this._handleMouseDown.bind(this),\n 'mouseup': this._handleMouseUp.bind(this),\n 'mousemove': this._handleMouseMove.bind(this),\n 'mousewheel': this._handleMouseWheel.bind(this),\n 'mousedisable': this._handleMouseDisable.bind(this)\n };\n\n // ===== PROPERTIES =====\n\n this.touchButton = 1; // Button mask (1, 2, 4) for touch devices (0 means ignore clicks)\n\n // ===== EVENT HANDLERS =====\n\n this.onmousebutton = function () {}; // Handler for mouse button click/release\n this.onmousemove = function () {}; // Handler for mouse movement\n }\n\n // ===== PRIVATE METHODS =====\n\n _createClass(Mouse, [{\n key: '_resetDoubleClickTimer',\n value: function _resetDoubleClickTimer() {\n this._doubleClickTimer = null;\n }\n }, {\n key: '_handleMouseButton',\n value: function _handleMouseButton(e, down) {\n this._updateMousePosition(e);\n var pos = this._pos;\n\n var bmask = void 0;\n if (e.touches || e.changedTouches) {\n // Touch device\n\n // When two touches occur within 500 ms of each other and are\n // close enough together a double click is triggered.\n if (down == 1) {\n if (this._doubleClickTimer === null) {\n this._lastTouchPos = pos;\n } else {\n clearTimeout(this._doubleClickTimer);\n\n // When the distance between the two touches is small enough\n // force the position of the latter touch to the position of\n // the first.\n\n var xs = this._lastTouchPos.x - pos.x;\n var ys = this._lastTouchPos.y - pos.y;\n var d = Math.sqrt(xs * xs + ys * ys);\n\n // The goal is to trigger on a certain physical width, the\n // devicePixelRatio brings us a bit closer but is not optimal.\n var threshold = 20 * (window.devicePixelRatio || 1);\n if (d < threshold) {\n pos = this._lastTouchPos;\n }\n }\n this._doubleClickTimer = setTimeout(this._resetDoubleClickTimer.bind(this), 500);\n }\n bmask = this.touchButton;\n // If bmask is set\n } else if (e.which) {\n /* everything except IE */\n bmask = 1 << e.button;\n } else {\n /* IE including 9 */\n bmask = (e.button & 0x1) + // Left\n (e.button & 0x2) * 2 + // Right\n (e.button & 0x4) / 2; // Middle\n }\n\n Log.Debug(\"onmousebutton \" + (down ? \"down\" : \"up\") + \", x: \" + pos.x + \", y: \" + pos.y + \", bmask: \" + bmask);\n this.onmousebutton(pos.x, pos.y, down, bmask);\n\n (0, _events.stopEvent)(e);\n }\n }, {\n key: '_handleMouseDown',\n value: function _handleMouseDown(e) {\n // Touch events have implicit capture\n if (e.type === \"mousedown\") {\n (0, _events.setCapture)(this._target);\n }\n\n this._handleMouseButton(e, 1);\n }\n }, {\n key: '_handleMouseUp',\n value: function _handleMouseUp(e) {\n this._handleMouseButton(e, 0);\n }\n\n // Mouse wheel events are sent in steps over VNC. This means that the VNC\n // protocol can't handle a wheel event with specific distance or speed.\n // Therefor, if we get a lot of small mouse wheel events we combine them.\n\n }, {\n key: '_generateWheelStepX',\n value: function _generateWheelStepX() {\n\n if (this._accumulatedWheelDeltaX < 0) {\n this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 5);\n this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 5);\n } else if (this._accumulatedWheelDeltaX > 0) {\n this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 6);\n this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 6);\n }\n\n this._accumulatedWheelDeltaX = 0;\n }\n }, {\n key: '_generateWheelStepY',\n value: function _generateWheelStepY() {\n\n if (this._accumulatedWheelDeltaY < 0) {\n this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 3);\n this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 3);\n } else if (this._accumulatedWheelDeltaY > 0) {\n this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 4);\n this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 4);\n }\n\n this._accumulatedWheelDeltaY = 0;\n }\n }, {\n key: '_resetWheelStepTimers',\n value: function _resetWheelStepTimers() {\n window.clearTimeout(this._wheelStepXTimer);\n window.clearTimeout(this._wheelStepYTimer);\n this._wheelStepXTimer = null;\n this._wheelStepYTimer = null;\n }\n }, {\n key: '_handleMouseWheel',\n value: function _handleMouseWheel(e) {\n this._resetWheelStepTimers();\n\n this._updateMousePosition(e);\n\n var dX = e.deltaX;\n var dY = e.deltaY;\n\n // Pixel units unless it's non-zero.\n // Note that if deltamode is line or page won't matter since we aren't\n // sending the mouse wheel delta to the server anyway.\n // The difference between pixel and line can be important however since\n // we have a threshold that can be smaller than the line height.\n if (e.deltaMode !== 0) {\n dX *= WHEEL_LINE_HEIGHT;\n dY *= WHEEL_LINE_HEIGHT;\n }\n\n this._accumulatedWheelDeltaX += dX;\n this._accumulatedWheelDeltaY += dY;\n\n // Generate a mouse wheel step event when the accumulated delta\n // for one of the axes is large enough.\n // Small delta events that do not pass the threshold get sent\n // after a timeout.\n if (Math.abs(this._accumulatedWheelDeltaX) > WHEEL_STEP) {\n this._generateWheelStepX();\n } else {\n this._wheelStepXTimer = window.setTimeout(this._generateWheelStepX.bind(this), WHEEL_STEP_TIMEOUT);\n }\n if (Math.abs(this._accumulatedWheelDeltaY) > WHEEL_STEP) {\n this._generateWheelStepY();\n } else {\n this._wheelStepYTimer = window.setTimeout(this._generateWheelStepY.bind(this), WHEEL_STEP_TIMEOUT);\n }\n\n (0, _events.stopEvent)(e);\n }\n }, {\n key: '_handleMouseMove',\n value: function _handleMouseMove(e) {\n this._updateMousePosition(e);\n this.onmousemove(this._pos.x, this._pos.y);\n (0, _events.stopEvent)(e);\n }\n }, {\n key: '_handleMouseDisable',\n value: function _handleMouseDisable(e) {\n /*\n * Stop propagation if inside canvas area\n * Note: This is only needed for the 'click' event as it fails\n * to fire properly for the target element so we have\n * to listen on the document element instead.\n */\n if (e.target == this._target) {\n (0, _events.stopEvent)(e);\n }\n }\n\n // Update coordinates relative to target\n\n }, {\n key: '_updateMousePosition',\n value: function _updateMousePosition(e) {\n e = (0, _events.getPointerEvent)(e);\n var bounds = this._target.getBoundingClientRect();\n var x = void 0;\n var y = void 0;\n // Clip to target bounds\n if (e.clientX < bounds.left) {\n x = 0;\n } else if (e.clientX >= bounds.right) {\n x = bounds.width - 1;\n } else {\n x = e.clientX - bounds.left;\n }\n if (e.clientY < bounds.top) {\n y = 0;\n } else if (e.clientY >= bounds.bottom) {\n y = bounds.height - 1;\n } else {\n y = e.clientY - bounds.top;\n }\n this._pos = { x: x, y: y };\n }\n\n // ===== PUBLIC METHODS =====\n\n }, {\n key: 'grab',\n value: function grab() {\n if (_browser.isTouchDevice) {\n this._target.addEventListener('touchstart', this._eventHandlers.mousedown);\n this._target.addEventListener('touchend', this._eventHandlers.mouseup);\n this._target.addEventListener('touchmove', this._eventHandlers.mousemove);\n }\n this._target.addEventListener('mousedown', this._eventHandlers.mousedown);\n this._target.addEventListener('mouseup', this._eventHandlers.mouseup);\n this._target.addEventListener('mousemove', this._eventHandlers.mousemove);\n this._target.addEventListener('wheel', this._eventHandlers.mousewheel);\n\n /* Prevent middle-click pasting (see above for why we bind to document) */\n document.addEventListener('click', this._eventHandlers.mousedisable);\n\n /* preventDefault() on mousedown doesn't stop this event for some\n reason so we have to explicitly block it */\n this._target.addEventListener('contextmenu', this._eventHandlers.mousedisable);\n }\n }, {\n key: 'ungrab',\n value: function ungrab() {\n this._resetWheelStepTimers();\n\n if (_browser.isTouchDevice) {\n this._target.removeEventListener('touchstart', this._eventHandlers.mousedown);\n this._target.removeEventListener('touchend', this._eventHandlers.mouseup);\n this._target.removeEventListener('touchmove', this._eventHandlers.mousemove);\n }\n this._target.removeEventListener('mousedown', this._eventHandlers.mousedown);\n this._target.removeEventListener('mouseup', this._eventHandlers.mouseup);\n this._target.removeEventListener('mousemove', this._eventHandlers.mousemove);\n this._target.removeEventListener('wheel', this._eventHandlers.mousewheel);\n\n document.removeEventListener('click', this._eventHandlers.mousedisable);\n\n this._target.removeEventListener('contextmenu', this._eventHandlers.mousedisable);\n }\n }]);\n\n return Mouse;\n}();\n\nexports.default = Mouse;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/mouse.js?")},LYID:function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__.p + "static/failer.5e83e9b8.svg";\n\n//# sourceURL=webpack:///./src/pages/tasks/choose-repository/test-cast-list/failer.svg?')},Lmeb:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/vnc-view/index.less?")},Lo0S:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.init_logging = init_logging;\nexports.get_logging = get_logging;\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\n/*\n * Logging/debug routines\n */\n\nvar _log_level = 'warn';\n\nvar Debug = function Debug() {};\nvar Info = function Info() {};\nvar Warn = function Warn() {};\nvar Error = function Error() {};\n\nfunction init_logging(level) {\n if (typeof level === 'undefined') {\n level = _log_level;\n } else {\n _log_level = level;\n }\n\n exports.Debug = Debug = exports.Info = Info = exports.Warn = Warn = exports.Error = Error = function Error() {};\n\n if (typeof window.console !== \"undefined\") {\n /* eslint-disable no-console, no-fallthrough */\n switch (level) {\n case 'debug':\n exports.Debug = Debug = console.debug.bind(window.console);\n case 'info':\n exports.Info = Info = console.info.bind(window.console);\n case 'warn':\n exports.Warn = Warn = console.warn.bind(window.console);\n case 'error':\n exports.Error = Error = console.error.bind(window.console);\n case 'none':\n break;\n default:\n throw new window.Error(\"invalid logging type '\" + level + \"'\");\n }\n /* eslint-enable no-console, no-fallthrough */\n }\n}\n\nfunction get_logging() {\n return _log_level;\n}\n\nexports.Debug = Debug;\nexports.Info = Info;\nexports.Warn = Warn;\nexports.Error = Error;\n\n// Initialize logging level\n\ninit_logging();\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/logging.js?")},M8RZ:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("i8i4");\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar modalContainer = document.createElement(\'div\');\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var children = _ref.children;\n Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(() => {\n document.body.append(modalContainer);\n return () => {\n try {\n document.body.removeChild(modalContainer);\n } catch (e) {}\n };\n }, []);\n return Object(react_dom__WEBPACK_IMPORTED_MODULE_1__["createPortal"])(children, modalContainer);\n});\n\n//# sourceURL=webpack:///./src/components/modal.tsx?')},MJZm:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\n\n// EXTERNAL MODULE: ./node_modules/rc-tree/es/index.js + 4 modules\nvar es = __webpack_require__("fAei");\n\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__("TSYQ");\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n\n// EXTERNAL MODULE: ./node_modules/lodash/debounce.js\nvar debounce = __webpack_require__("sEfC");\nvar debounce_default = /*#__PURE__*/__webpack_require__.n(debounce);\n\n// EXTERNAL MODULE: ./node_modules/rc-tree/es/util.js\nvar util = __webpack_require__("OZM5");\n\n// EXTERNAL MODULE: ./node_modules/rc-tree/es/utils/treeUtil.js\nvar treeUtil = __webpack_require__("815F");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/FileOutlined.js\nvar FileOutlined = __webpack_require__("vk+C");\nvar FileOutlined_default = /*#__PURE__*/__webpack_require__.n(FileOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/FolderOpenOutlined.js\nvar FolderOpenOutlined = __webpack_require__("Vy0f");\nvar FolderOpenOutlined_default = /*#__PURE__*/__webpack_require__.n(FolderOpenOutlined);\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/FolderOutlined.js\nvar FolderOutlined = __webpack_require__("kGiB");\nvar FolderOutlined_default = /*#__PURE__*/__webpack_require__.n(FolderOutlined);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/config-provider/context.js + 1 modules\nvar context = __webpack_require__("H84U");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/tree/utils/dictUtil.js\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar Record;\n\n(function (Record) {\n Record[Record["None"] = 0] = "None";\n Record[Record["Start"] = 1] = "Start";\n Record[Record["End"] = 2] = "End";\n})(Record || (Record = {}));\n\nfunction traverseNodesKey(treeData, callback) {\n function processNode(dataNode) {\n var key = dataNode.key,\n children = dataNode.children;\n\n if (callback(key, dataNode) !== false) {\n traverseNodesKey(children || [], callback);\n }\n }\n\n treeData.forEach(processNode);\n}\n/** \u8ba1\u7b97\u9009\u4e2d\u8303\u56f4\uff0c\u53ea\u8003\u8651expanded\u60c5\u51b5\u4ee5\u4f18\u5316\u6027\u80fd */\n\n\nfunction calcRangeKeys(treeData, expandedKeys, startKey, endKey) {\n var keys = [];\n var record = Record.None;\n\n if (startKey && startKey === endKey) {\n return [startKey];\n }\n\n if (!startKey || !endKey) {\n return [];\n }\n\n function matchKey(key) {\n return key === startKey || key === endKey;\n }\n\n traverseNodesKey(treeData, function (key) {\n if (record === Record.End) {\n return false;\n }\n\n if (matchKey(key)) {\n // Match test\n keys.push(key);\n\n if (record === Record.None) {\n record = Record.Start;\n } else if (record === Record.Start) {\n record = Record.End;\n return false;\n }\n } else if (record === Record.Start) {\n // Append selection\n keys.push(key);\n }\n\n if (expandedKeys.indexOf(key) === -1) {\n return false;\n }\n\n return true;\n });\n return keys;\n}\nfunction convertDirectoryKeysToNodes(treeData, keys) {\n var restKeys = _toConsumableArray(keys);\n\n var nodes = [];\n traverseNodesKey(treeData, function (key, node) {\n var index = restKeys.indexOf(key);\n\n if (index !== -1) {\n nodes.push(node);\n restKeys.splice(index, 1);\n }\n\n return !!restKeys.length;\n });\n return nodes;\n}\n// CONCATENATED MODULE: ./node_modules/antd/es/tree/DirectoryTree.js\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction DirectoryTree_toConsumableArray(arr) { return DirectoryTree_arrayWithoutHoles(arr) || DirectoryTree_iterableToArray(arr) || DirectoryTree_unsupportedIterableToArray(arr) || DirectoryTree_nonIterableSpread(); }\n\nfunction DirectoryTree_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }\n\nfunction DirectoryTree_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction DirectoryTree_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return DirectoryTree_arrayLikeToArray(arr); }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || DirectoryTree_unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }\n\nfunction DirectoryTree_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return DirectoryTree_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return DirectoryTree_arrayLikeToArray(o, minLen); }\n\nfunction DirectoryTree_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar __rest = undefined && undefined.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction getIcon(props) {\n var isLeaf = props.isLeaf,\n expanded = props.expanded;\n\n if (isLeaf) {\n return /*#__PURE__*/react["createElement"](FileOutlined_default.a, null);\n }\n\n return expanded ? /*#__PURE__*/react["createElement"](FolderOpenOutlined_default.a, null) : /*#__PURE__*/react["createElement"](FolderOutlined_default.a, null);\n}\n\nfunction getTreeData(_ref) {\n var treeData = _ref.treeData,\n children = _ref.children;\n return treeData || Object(treeUtil["c" /* convertTreeToData */])(children);\n}\n\nvar DirectoryTree_DirectoryTree = function DirectoryTree(_a) {\n var defaultExpandAll = _a.defaultExpandAll,\n defaultExpandParent = _a.defaultExpandParent,\n defaultExpandedKeys = _a.defaultExpandedKeys,\n props = __rest(_a, ["defaultExpandAll", "defaultExpandParent", "defaultExpandedKeys"]); // Shift click usage\n\n\n var lastSelectedKey = react["useRef"]();\n var cachedSelectedKeys = react["useRef"]();\n var ref = /*#__PURE__*/react["createRef"]();\n\n var getInitExpandedKeys = function getInitExpandedKeys() {\n var _convertDataToEntitie = Object(treeUtil["a" /* convertDataToEntities */])(getTreeData(props)),\n keyEntities = _convertDataToEntitie.keyEntities;\n\n var initExpandedKeys; // Expanded keys\n\n if (defaultExpandAll) {\n initExpandedKeys = Object.keys(keyEntities);\n } else if (defaultExpandParent) {\n initExpandedKeys = Object(util["e" /* conductExpandParent */])(props.expandedKeys || defaultExpandedKeys, keyEntities);\n } else {\n initExpandedKeys = props.expandedKeys || defaultExpandedKeys;\n }\n\n return initExpandedKeys;\n };\n\n var _React$useState = react["useState"](props.selectedKeys || props.defaultSelectedKeys || []),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n selectedKeys = _React$useState2[0],\n setSelectedKeys = _React$useState2[1];\n\n var _React$useState3 = react["useState"](getInitExpandedKeys()),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n expandedKeys = _React$useState4[0],\n setExpandedKeys = _React$useState4[1];\n\n react["useEffect"](function () {\n if (\'selectedKeys\' in props) {\n setSelectedKeys(props.selectedKeys);\n }\n }, [props.selectedKeys]);\n react["useEffect"](function () {\n if (\'expandedKeys\' in props) {\n setExpandedKeys(props.expandedKeys);\n }\n }, [props.expandedKeys]);\n\n var expandFolderNode = function expandFolderNode(event, node) {\n var isLeaf = node.isLeaf;\n\n if (isLeaf || event.shiftKey || event.metaKey || event.ctrlKey) {\n return;\n } // Call internal rc-tree expand function\n // https://github.com/ant-design/ant-design/issues/12567\n\n\n ref.current.onNodeExpand(event, node);\n };\n\n var onDebounceExpand = debounce_default()(expandFolderNode, 200, {\n leading: true\n });\n\n var onExpand = function onExpand(keys, info) {\n if (!(\'expandedKeys\' in props)) {\n setExpandedKeys(keys);\n } // Call origin function\n\n\n if (props.onExpand) {\n return props.onExpand(keys, info);\n }\n\n return undefined;\n };\n\n var onClick = function onClick(event, node) {\n var expandAction = props.expandAction; // Expand the tree\n\n if (expandAction === \'click\') {\n onDebounceExpand(event, node);\n }\n\n if (props.onClick) {\n props.onClick(event, node);\n }\n };\n\n var onDoubleClick = function onDoubleClick(event, node) {\n var expandAction = props.expandAction; // Expand the tree\n\n if (expandAction === \'doubleClick\') {\n onDebounceExpand(event, node);\n }\n\n if (props.onDoubleClick) {\n props.onDoubleClick(event, node);\n }\n };\n\n var onSelect = function onSelect(keys, event) {\n var multiple = props.multiple;\n var node = event.node,\n nativeEvent = event.nativeEvent;\n var _node$key = node.key,\n key = _node$key === void 0 ? \'\' : _node$key;\n var treeData = getTreeData(props); // const newState: DirectoryTreeState = {};\n // We need wrap this event since some value is not same\n\n var newEvent = _extends(_extends({}, event), {\n selected: true\n }); // Windows / Mac single pick\n\n\n var ctrlPick = nativeEvent.ctrlKey || nativeEvent.metaKey;\n var shiftPick = nativeEvent.shiftKey; // Generate new selected keys\n\n var newSelectedKeys;\n\n if (multiple && ctrlPick) {\n // Control click\n newSelectedKeys = keys;\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n } else if (multiple && shiftPick) {\n // Shift click\n newSelectedKeys = Array.from(new Set([].concat(DirectoryTree_toConsumableArray(cachedSelectedKeys.current || []), DirectoryTree_toConsumableArray(calcRangeKeys(treeData, expandedKeys, key, lastSelectedKey.current)))));\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n } else {\n // Single click\n newSelectedKeys = [key];\n lastSelectedKey.current = key;\n cachedSelectedKeys.current = newSelectedKeys;\n newEvent.selectedNodes = convertDirectoryKeysToNodes(treeData, newSelectedKeys);\n }\n\n if (props.onSelect) {\n props.onSelect(newSelectedKeys, newEvent);\n }\n\n if (!(\'selectedKeys\' in props)) {\n setSelectedKeys(newSelectedKeys);\n }\n };\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n otherProps = __rest(props, ["prefixCls", "className"]);\n\n var prefixCls = getPrefixCls(\'tree\', customizePrefixCls);\n var connectClassName = classnames_default()("".concat(prefixCls, "-directory"), className, _defineProperty({}, "".concat(prefixCls, "-directory-rtl"), direction === \'rtl\'));\n return /*#__PURE__*/react["createElement"](tree_Tree, _extends({\n icon: getIcon,\n ref: ref,\n blockNode: true\n }, otherProps, {\n prefixCls: prefixCls,\n className: connectClassName,\n expandedKeys: expandedKeys,\n selectedKeys: selectedKeys,\n onSelect: onSelect,\n onClick: onClick,\n onDoubleClick: onDoubleClick,\n onExpand: onExpand\n }));\n};\n\nDirectoryTree_DirectoryTree.defaultProps = {\n showIcon: true,\n expandAction: \'click\'\n};\n/* harmony default export */ var tree_DirectoryTree = (DirectoryTree_DirectoryTree);\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/motion.js\nvar motion = __webpack_require__("EXcs");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/tree/utils/iconUtil.js\nvar iconUtil = __webpack_require__("2jpz");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/tree/Tree.js\nfunction Tree_extends() { Tree_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Tree_extends.apply(this, arguments); }\n\nfunction Tree_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\nvar Tree = /*#__PURE__*/react["forwardRef"](function (props, ref) {\n var _classNames;\n\n var _React$useContext = react["useContext"](context["b" /* ConfigContext */]),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n virtual = _React$useContext.virtual;\n\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n showIcon = props.showIcon,\n showLine = props.showLine,\n _switcherIcon = props.switcherIcon,\n blockNode = props.blockNode,\n children = props.children,\n checkable = props.checkable;\n var prefixCls = getPrefixCls(\'tree\', customizePrefixCls);\n return /*#__PURE__*/react["createElement"](es["b" /* default */], Tree_extends({\n itemHeight: 20,\n ref: ref,\n virtual: virtual\n }, props, {\n prefixCls: prefixCls,\n className: classnames_default()(className, (_classNames = {}, Tree_defineProperty(_classNames, "".concat(prefixCls, "-icon-hide"), !showIcon), Tree_defineProperty(_classNames, "".concat(prefixCls, "-block-node"), blockNode), Tree_defineProperty(_classNames, "".concat(prefixCls, "-rtl"), direction === \'rtl\'), _classNames)),\n checkable: checkable ? /*#__PURE__*/react["createElement"]("span", {\n className: "".concat(prefixCls, "-checkbox-inner")\n }) : checkable,\n switcherIcon: function switcherIcon(nodeProps) {\n return Object(iconUtil["a" /* default */])(prefixCls, _switcherIcon, showLine, nodeProps);\n }\n }), children);\n});\nTree.TreeNode = es["a" /* TreeNode */];\nTree.DirectoryTree = tree_DirectoryTree;\nTree.defaultProps = {\n checkable: false,\n showIcon: false,\n motion: Tree_extends(Tree_extends({}, motion["a" /* default */]), {\n motionAppear: false\n }),\n blockNode: false\n};\n/* harmony default export */ var tree_Tree = (Tree);\n// CONCATENATED MODULE: ./node_modules/antd/es/tree/index.js\n\n/* harmony default export */ var tree = __webpack_exports__["a"] = (tree_Tree);\n\n//# sourceURL=webpack:///./node_modules/antd/es/tree/index.js_+_3_modules?')},MZdM:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\nvar _logging = __webpack_require__(\"Lo0S\");\n\nvar Log = _interopRequireWildcard(_logging);\n\nvar _base = __webpack_require__(\"N/zr\");\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _browser = __webpack_require__(\"GdRQ\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Display = function () {\n function Display(target) {\n _classCallCheck(this, Display);\n\n this._drawCtx = null;\n this._c_forceCanvas = false;\n\n this._renderQ = []; // queue drawing actions for in-oder rendering\n this._flushing = false;\n\n // the full frame buffer (logical canvas) size\n this._fb_width = 0;\n this._fb_height = 0;\n\n this._prevDrawStyle = \"\";\n this._tile = null;\n this._tile16x16 = null;\n this._tile_x = 0;\n this._tile_y = 0;\n\n Log.Debug(\">> Display.constructor\");\n\n // The visible canvas\n this._target = target;\n\n if (!this._target) {\n throw new Error(\"Target must be set\");\n }\n\n if (typeof this._target === 'string') {\n throw new Error('target must be a DOM element');\n }\n\n if (!this._target.getContext) {\n throw new Error(\"no getContext method\");\n }\n\n this._targetCtx = this._target.getContext('2d');\n\n // the visible canvas viewport (i.e. what actually gets seen)\n this._viewportLoc = { 'x': 0, 'y': 0, 'w': this._target.width, 'h': this._target.height };\n\n // The hidden canvas, where we do the actual rendering\n this._backbuffer = document.createElement('canvas');\n this._drawCtx = this._backbuffer.getContext('2d');\n\n this._damageBounds = { left: 0, top: 0,\n right: this._backbuffer.width,\n bottom: this._backbuffer.height };\n\n Log.Debug(\"User Agent: \" + navigator.userAgent);\n\n this.clear();\n\n // Check canvas features\n if (!('createImageData' in this._drawCtx)) {\n throw new Error(\"Canvas does not support createImageData\");\n }\n\n this._tile16x16 = this._drawCtx.createImageData(16, 16);\n Log.Debug(\"<< Display.constructor\");\n\n // ===== PROPERTIES =====\n\n this._scale = 1.0;\n this._clipViewport = false;\n this.logo = null;\n\n // ===== EVENT HANDLERS =====\n\n this.onflush = function () {}; // A flush request has finished\n }\n\n // ===== PROPERTIES =====\n\n _createClass(Display, [{\n key: 'viewportChangePos',\n\n\n // ===== PUBLIC METHODS =====\n\n value: function viewportChangePos(deltaX, deltaY) {\n var vp = this._viewportLoc;\n deltaX = Math.floor(deltaX);\n deltaY = Math.floor(deltaY);\n\n if (!this._clipViewport) {\n deltaX = -vp.w; // clamped later of out of bounds\n deltaY = -vp.h;\n }\n\n var vx2 = vp.x + vp.w - 1;\n var vy2 = vp.y + vp.h - 1;\n\n // Position change\n\n if (deltaX < 0 && vp.x + deltaX < 0) {\n deltaX = -vp.x;\n }\n if (vx2 + deltaX >= this._fb_width) {\n deltaX -= vx2 + deltaX - this._fb_width + 1;\n }\n\n if (vp.y + deltaY < 0) {\n deltaY = -vp.y;\n }\n if (vy2 + deltaY >= this._fb_height) {\n deltaY -= vy2 + deltaY - this._fb_height + 1;\n }\n\n if (deltaX === 0 && deltaY === 0) {\n return;\n }\n Log.Debug(\"viewportChange deltaX: \" + deltaX + \", deltaY: \" + deltaY);\n\n vp.x += deltaX;\n vp.y += deltaY;\n\n this._damage(vp.x, vp.y, vp.w, vp.h);\n\n this.flip();\n }\n }, {\n key: 'viewportChangeSize',\n value: function viewportChangeSize(width, height) {\n\n if (!this._clipViewport || typeof width === \"undefined\" || typeof height === \"undefined\") {\n\n Log.Debug(\"Setting viewport to full display region\");\n width = this._fb_width;\n height = this._fb_height;\n }\n\n width = Math.floor(width);\n height = Math.floor(height);\n\n if (width > this._fb_width) {\n width = this._fb_width;\n }\n if (height > this._fb_height) {\n height = this._fb_height;\n }\n\n var vp = this._viewportLoc;\n if (vp.w !== width || vp.h !== height) {\n vp.w = width;\n vp.h = height;\n\n var canvas = this._target;\n canvas.width = width;\n canvas.height = height;\n\n // The position might need to be updated if we've grown\n this.viewportChangePos(0, 0);\n\n this._damage(vp.x, vp.y, vp.w, vp.h);\n this.flip();\n\n // Update the visible size of the target canvas\n this._rescale(this._scale);\n }\n }\n }, {\n key: 'absX',\n value: function absX(x) {\n if (this._scale === 0) {\n return 0;\n }\n return x / this._scale + this._viewportLoc.x;\n }\n }, {\n key: 'absY',\n value: function absY(y) {\n if (this._scale === 0) {\n return 0;\n }\n return y / this._scale + this._viewportLoc.y;\n }\n }, {\n key: 'resize',\n value: function resize(width, height) {\n this._prevDrawStyle = \"\";\n\n this._fb_width = width;\n this._fb_height = height;\n\n var canvas = this._backbuffer;\n if (canvas.width !== width || canvas.height !== height) {\n\n // We have to save the canvas data since changing the size will clear it\n var saveImg = null;\n if (canvas.width > 0 && canvas.height > 0) {\n saveImg = this._drawCtx.getImageData(0, 0, canvas.width, canvas.height);\n }\n\n if (canvas.width !== width) {\n canvas.width = width;\n }\n if (canvas.height !== height) {\n canvas.height = height;\n }\n\n if (saveImg) {\n this._drawCtx.putImageData(saveImg, 0, 0);\n }\n }\n\n // Readjust the viewport as it may be incorrectly sized\n // and positioned\n var vp = this._viewportLoc;\n this.viewportChangeSize(vp.w, vp.h);\n this.viewportChangePos(0, 0);\n }\n\n // Track what parts of the visible canvas that need updating\n\n }, {\n key: '_damage',\n value: function _damage(x, y, w, h) {\n if (x < this._damageBounds.left) {\n this._damageBounds.left = x;\n }\n if (y < this._damageBounds.top) {\n this._damageBounds.top = y;\n }\n if (x + w > this._damageBounds.right) {\n this._damageBounds.right = x + w;\n }\n if (y + h > this._damageBounds.bottom) {\n this._damageBounds.bottom = y + h;\n }\n }\n\n // Update the visible canvas with the contents of the\n // rendering canvas\n\n }, {\n key: 'flip',\n value: function flip(from_queue) {\n if (this._renderQ.length !== 0 && !from_queue) {\n this._renderQ_push({\n 'type': 'flip'\n });\n } else {\n var x = this._damageBounds.left;\n var y = this._damageBounds.top;\n var w = this._damageBounds.right - x;\n var h = this._damageBounds.bottom - y;\n\n var vx = x - this._viewportLoc.x;\n var vy = y - this._viewportLoc.y;\n\n if (vx < 0) {\n w += vx;\n x -= vx;\n vx = 0;\n }\n if (vy < 0) {\n h += vy;\n y -= vy;\n vy = 0;\n }\n\n if (vx + w > this._viewportLoc.w) {\n w = this._viewportLoc.w - vx;\n }\n if (vy + h > this._viewportLoc.h) {\n h = this._viewportLoc.h - vy;\n }\n\n if (w > 0 && h > 0) {\n // FIXME: We may need to disable image smoothing here\n // as well (see copyImage()), but we haven't\n // noticed any problem yet.\n this._targetCtx.drawImage(this._backbuffer, x, y, w, h, vx, vy, w, h);\n }\n\n this._damageBounds.left = this._damageBounds.top = 65535;\n this._damageBounds.right = this._damageBounds.bottom = 0;\n }\n }\n }, {\n key: 'clear',\n value: function clear() {\n if (this._logo) {\n this.resize(this._logo.width, this._logo.height);\n this.imageRect(0, 0, this._logo.type, this._logo.data);\n } else {\n this.resize(240, 20);\n this._drawCtx.clearRect(0, 0, this._fb_width, this._fb_height);\n }\n this.flip();\n }\n }, {\n key: 'pending',\n value: function pending() {\n return this._renderQ.length > 0;\n }\n }, {\n key: 'flush',\n value: function flush() {\n if (this._renderQ.length === 0) {\n this.onflush();\n } else {\n this._flushing = true;\n }\n }\n }, {\n key: 'fillRect',\n value: function fillRect(x, y, width, height, color, from_queue) {\n if (this._renderQ.length !== 0 && !from_queue) {\n this._renderQ_push({\n 'type': 'fill',\n 'x': x,\n 'y': y,\n 'width': width,\n 'height': height,\n 'color': color\n });\n } else {\n this._setFillColor(color);\n this._drawCtx.fillRect(x, y, width, height);\n this._damage(x, y, width, height);\n }\n }\n }, {\n key: 'copyImage',\n value: function copyImage(old_x, old_y, new_x, new_y, w, h, from_queue) {\n if (this._renderQ.length !== 0 && !from_queue) {\n this._renderQ_push({\n 'type': 'copy',\n 'old_x': old_x,\n 'old_y': old_y,\n 'x': new_x,\n 'y': new_y,\n 'width': w,\n 'height': h\n });\n } else {\n // Due to this bug among others [1] we need to disable the image-smoothing to\n // avoid getting a blur effect when copying data.\n //\n // 1. https://bugzilla.mozilla.org/show_bug.cgi?id=1194719\n //\n // We need to set these every time since all properties are reset\n // when the the size is changed\n this._drawCtx.mozImageSmoothingEnabled = false;\n this._drawCtx.webkitImageSmoothingEnabled = false;\n this._drawCtx.msImageSmoothingEnabled = false;\n this._drawCtx.imageSmoothingEnabled = false;\n\n this._drawCtx.drawImage(this._backbuffer, old_x, old_y, w, h, new_x, new_y, w, h);\n this._damage(new_x, new_y, w, h);\n }\n }\n }, {\n key: 'imageRect',\n value: function imageRect(x, y, mime, arr) {\n var img = new Image();\n img.src = \"data: \" + mime + \";base64,\" + _base2.default.encode(arr);\n this._renderQ_push({\n 'type': 'img',\n 'img': img,\n 'x': x,\n 'y': y\n });\n }\n\n // start updating a tile\n\n }, {\n key: 'startTile',\n value: function startTile(x, y, width, height, color) {\n this._tile_x = x;\n this._tile_y = y;\n if (width === 16 && height === 16) {\n this._tile = this._tile16x16;\n } else {\n this._tile = this._drawCtx.createImageData(width, height);\n }\n\n var red = color[2];\n var green = color[1];\n var blue = color[0];\n\n var data = this._tile.data;\n for (var i = 0; i < width * height * 4; i += 4) {\n data[i] = red;\n data[i + 1] = green;\n data[i + 2] = blue;\n data[i + 3] = 255;\n }\n }\n\n // update sub-rectangle of the current tile\n\n }, {\n key: 'subTile',\n value: function subTile(x, y, w, h, color) {\n var red = color[2];\n var green = color[1];\n var blue = color[0];\n var xend = x + w;\n var yend = y + h;\n\n var data = this._tile.data;\n var width = this._tile.width;\n for (var j = y; j < yend; j++) {\n for (var i = x; i < xend; i++) {\n var p = (i + j * width) * 4;\n data[p] = red;\n data[p + 1] = green;\n data[p + 2] = blue;\n data[p + 3] = 255;\n }\n }\n }\n\n // draw the current tile to the screen\n\n }, {\n key: 'finishTile',\n value: function finishTile() {\n this._drawCtx.putImageData(this._tile, this._tile_x, this._tile_y);\n this._damage(this._tile_x, this._tile_y, this._tile.width, this._tile.height);\n }\n }, {\n key: 'blitImage',\n value: function blitImage(x, y, width, height, arr, offset, from_queue) {\n if (this._renderQ.length !== 0 && !from_queue) {\n // NB(directxman12): it's technically more performant here to use preallocated arrays,\n // but it's a lot of extra work for not a lot of payoff -- if we're using the render queue,\n // this probably isn't getting called *nearly* as much\n var new_arr = new Uint8Array(width * height * 4);\n new_arr.set(new Uint8Array(arr.buffer, 0, new_arr.length));\n this._renderQ_push({\n 'type': 'blit',\n 'data': new_arr,\n 'x': x,\n 'y': y,\n 'width': width,\n 'height': height\n });\n } else {\n this._bgrxImageData(x, y, width, height, arr, offset);\n }\n }\n }, {\n key: 'blitRgbImage',\n value: function blitRgbImage(x, y, width, height, arr, offset, from_queue) {\n if (this._renderQ.length !== 0 && !from_queue) {\n // NB(directxman12): it's technically more performant here to use preallocated arrays,\n // but it's a lot of extra work for not a lot of payoff -- if we're using the render queue,\n // this probably isn't getting called *nearly* as much\n var new_arr = new Uint8Array(width * height * 3);\n new_arr.set(new Uint8Array(arr.buffer, 0, new_arr.length));\n this._renderQ_push({\n 'type': 'blitRgb',\n 'data': new_arr,\n 'x': x,\n 'y': y,\n 'width': width,\n 'height': height\n });\n } else {\n this._rgbImageData(x, y, width, height, arr, offset);\n }\n }\n }, {\n key: 'blitRgbxImage',\n value: function blitRgbxImage(x, y, width, height, arr, offset, from_queue) {\n if (this._renderQ.length !== 0 && !from_queue) {\n // NB(directxman12): it's technically more performant here to use preallocated arrays,\n // but it's a lot of extra work for not a lot of payoff -- if we're using the render queue,\n // this probably isn't getting called *nearly* as much\n var new_arr = new Uint8Array(width * height * 4);\n new_arr.set(new Uint8Array(arr.buffer, 0, new_arr.length));\n this._renderQ_push({\n 'type': 'blitRgbx',\n 'data': new_arr,\n 'x': x,\n 'y': y,\n 'width': width,\n 'height': height\n });\n } else {\n this._rgbxImageData(x, y, width, height, arr, offset);\n }\n }\n }, {\n key: 'drawImage',\n value: function drawImage(img, x, y) {\n this._drawCtx.drawImage(img, x, y);\n this._damage(x, y, img.width, img.height);\n }\n }, {\n key: 'autoscale',\n value: function autoscale(containerWidth, containerHeight) {\n var scaleRatio = void 0;\n\n if (containerWidth === 0 || containerHeight === 0) {\n scaleRatio = 0;\n } else {\n\n var vp = this._viewportLoc;\n var targetAspectRatio = containerWidth / containerHeight;\n var fbAspectRatio = vp.w / vp.h;\n\n if (fbAspectRatio >= targetAspectRatio) {\n scaleRatio = containerWidth / vp.w;\n } else {\n scaleRatio = containerHeight / vp.h;\n }\n }\n\n this._rescale(scaleRatio);\n }\n\n // ===== PRIVATE METHODS =====\n\n }, {\n key: '_rescale',\n value: function _rescale(factor) {\n this._scale = factor;\n var vp = this._viewportLoc;\n\n // NB(directxman12): If you set the width directly, or set the\n // style width to a number, the canvas is cleared.\n // However, if you set the style width to a string\n // ('NNNpx'), the canvas is scaled without clearing.\n var width = factor * vp.w + 'px';\n var height = factor * vp.h + 'px';\n\n if (this._target.style.width !== width || this._target.style.height !== height) {\n this._target.style.width = width;\n this._target.style.height = height;\n }\n }\n }, {\n key: '_setFillColor',\n value: function _setFillColor(color) {\n var newStyle = 'rgb(' + color[2] + ',' + color[1] + ',' + color[0] + ')';\n if (newStyle !== this._prevDrawStyle) {\n this._drawCtx.fillStyle = newStyle;\n this._prevDrawStyle = newStyle;\n }\n }\n }, {\n key: '_rgbImageData',\n value: function _rgbImageData(x, y, width, height, arr, offset) {\n var img = this._drawCtx.createImageData(width, height);\n var data = img.data;\n for (var i = 0, j = offset; i < width * height * 4; i += 4, j += 3) {\n data[i] = arr[j];\n data[i + 1] = arr[j + 1];\n data[i + 2] = arr[j + 2];\n data[i + 3] = 255; // Alpha\n }\n this._drawCtx.putImageData(img, x, y);\n this._damage(x, y, img.width, img.height);\n }\n }, {\n key: '_bgrxImageData',\n value: function _bgrxImageData(x, y, width, height, arr, offset) {\n var img = this._drawCtx.createImageData(width, height);\n var data = img.data;\n for (var i = 0, j = offset; i < width * height * 4; i += 4, j += 4) {\n data[i] = arr[j + 2];\n data[i + 1] = arr[j + 1];\n data[i + 2] = arr[j];\n data[i + 3] = 255; // Alpha\n }\n this._drawCtx.putImageData(img, x, y);\n this._damage(x, y, img.width, img.height);\n }\n }, {\n key: '_rgbxImageData',\n value: function _rgbxImageData(x, y, width, height, arr, offset) {\n // NB(directxman12): arr must be an Type Array view\n var img = void 0;\n if (_browser.supportsImageMetadata) {\n img = new ImageData(new Uint8ClampedArray(arr.buffer, arr.byteOffset, width * height * 4), width, height);\n } else {\n img = this._drawCtx.createImageData(width, height);\n img.data.set(new Uint8ClampedArray(arr.buffer, arr.byteOffset, width * height * 4));\n }\n this._drawCtx.putImageData(img, x, y);\n this._damage(x, y, img.width, img.height);\n }\n }, {\n key: '_renderQ_push',\n value: function _renderQ_push(action) {\n this._renderQ.push(action);\n if (this._renderQ.length === 1) {\n // If this can be rendered immediately it will be, otherwise\n // the scanner will wait for the relevant event\n this._scan_renderQ();\n }\n }\n }, {\n key: '_resume_renderQ',\n value: function _resume_renderQ() {\n // \"this\" is the object that is ready, not the\n // display object\n this.removeEventListener('load', this._noVNC_display._resume_renderQ);\n this._noVNC_display._scan_renderQ();\n }\n }, {\n key: '_scan_renderQ',\n value: function _scan_renderQ() {\n var ready = true;\n while (ready && this._renderQ.length > 0) {\n var a = this._renderQ[0];\n switch (a.type) {\n case 'flip':\n this.flip(true);\n break;\n case 'copy':\n this.copyImage(a.old_x, a.old_y, a.x, a.y, a.width, a.height, true);\n break;\n case 'fill':\n this.fillRect(a.x, a.y, a.width, a.height, a.color, true);\n break;\n case 'blit':\n this.blitImage(a.x, a.y, a.width, a.height, a.data, 0, true);\n break;\n case 'blitRgb':\n this.blitRgbImage(a.x, a.y, a.width, a.height, a.data, 0, true);\n break;\n case 'blitRgbx':\n this.blitRgbxImage(a.x, a.y, a.width, a.height, a.data, 0, true);\n break;\n case 'img':\n if (a.img.complete) {\n this.drawImage(a.img, a.x, a.y);\n } else {\n a.img._noVNC_display = this;\n a.img.addEventListener('load', this._resume_renderQ);\n // We need to wait for this image to 'load'\n // to keep things in-order\n ready = false;\n }\n break;\n }\n\n if (ready) {\n this._renderQ.shift();\n }\n }\n\n if (this._renderQ.length === 0 && this._flushing) {\n this._flushing = false;\n this.onflush();\n }\n }\n }, {\n key: 'scale',\n get: function get() {\n return this._scale;\n },\n set: function set(scale) {\n this._rescale(scale);\n }\n }, {\n key: 'clipViewport',\n get: function get() {\n return this._clipViewport;\n },\n set: function set(viewport) {\n this._clipViewport = viewport;\n // May need to readjust the viewport dimensions\n var vp = this._viewportLoc;\n this.viewportChangeSize(vp.w, vp.h);\n this.viewportChangePos(0, 0);\n }\n }, {\n key: 'width',\n get: function get() {\n return this._fb_width;\n }\n }, {\n key: 'height',\n get: function get() {\n return this._fb_height;\n }\n }]);\n\n return Display;\n}();\n\nexports.default = Display;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/display.js?")},Mmt2:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * Websock: high-performance binary WebSockets\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * Websock is similar to the standard WebSocket object but with extra\n * buffer handling.\n *\n * Websock has built-in receive queue buffering; the message event\n * does not contain actual data but is simply a notification that\n * there is new data available. Several rQ* methods are available to\n * read binary data off of the receive queue.\n */\n\nvar _logging = __webpack_require__(\"Lo0S\");\n\nvar Log = _interopRequireWildcard(_logging);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// this has performance issues in some versions Chromium, and\n// doesn't gain a tremendous amount of performance increase in Firefox\n// at the moment. It may be valuable to turn it on in the future.\nvar ENABLE_COPYWITHIN = false;\nvar MAX_RQ_GROW_SIZE = 40 * 1024 * 1024; // 40 MiB\n\nvar Websock = function () {\n function Websock() {\n _classCallCheck(this, Websock);\n\n this._websocket = null; // WebSocket object\n\n this._rQi = 0; // Receive queue index\n this._rQlen = 0; // Next write position in the receive queue\n this._rQbufferSize = 1024 * 1024 * 4; // Receive queue buffer size (4 MiB)\n this._rQmax = this._rQbufferSize / 8;\n // called in init: this._rQ = new Uint8Array(this._rQbufferSize);\n this._rQ = null; // Receive queue\n\n this._sQbufferSize = 1024 * 10; // 10 KiB\n // called in init: this._sQ = new Uint8Array(this._sQbufferSize);\n this._sQlen = 0;\n this._sQ = null; // Send queue\n\n this._eventHandlers = {\n message: function message() {},\n open: function open() {},\n close: function close() {},\n error: function error() {}\n };\n }\n\n // Getters and Setters\n\n\n _createClass(Websock, [{\n key: 'rQpeek8',\n value: function rQpeek8() {\n return this._rQ[this._rQi];\n }\n }, {\n key: 'rQskipBytes',\n value: function rQskipBytes(bytes) {\n this._rQi += bytes;\n }\n }, {\n key: 'rQshift8',\n value: function rQshift8() {\n return this._rQshift(1);\n }\n }, {\n key: 'rQshift16',\n value: function rQshift16() {\n return this._rQshift(2);\n }\n }, {\n key: 'rQshift32',\n value: function rQshift32() {\n return this._rQshift(4);\n }\n\n // TODO(directxman12): test performance with these vs a DataView\n\n }, {\n key: '_rQshift',\n value: function _rQshift(bytes) {\n var res = 0;\n for (var byte = bytes - 1; byte >= 0; byte--) {\n res += this._rQ[this._rQi++] << byte * 8;\n }\n return res;\n }\n }, {\n key: 'rQshiftStr',\n value: function rQshiftStr(len) {\n if (typeof len === 'undefined') {\n len = this.rQlen;\n }\n var str = \"\";\n // Handle large arrays in steps to avoid long strings on the stack\n for (var i = 0; i < len; i += 4096) {\n var part = this.rQshiftBytes(Math.min(4096, len - i));\n str += String.fromCharCode.apply(null, part);\n }\n return str;\n }\n }, {\n key: 'rQshiftBytes',\n value: function rQshiftBytes(len) {\n if (typeof len === 'undefined') {\n len = this.rQlen;\n }\n this._rQi += len;\n return new Uint8Array(this._rQ.buffer, this._rQi - len, len);\n }\n }, {\n key: 'rQshiftTo',\n value: function rQshiftTo(target, len) {\n if (len === undefined) {\n len = this.rQlen;\n }\n // TODO: make this just use set with views when using a ArrayBuffer to store the rQ\n target.set(new Uint8Array(this._rQ.buffer, this._rQi, len));\n this._rQi += len;\n }\n }, {\n key: 'rQslice',\n value: function rQslice(start) {\n var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.rQlen;\n\n return new Uint8Array(this._rQ.buffer, this._rQi + start, end - start);\n }\n\n // Check to see if we must wait for 'num' bytes (default to FBU.bytes)\n // to be available in the receive queue. Return true if we need to\n // wait (and possibly print a debug message), otherwise false.\n\n }, {\n key: 'rQwait',\n value: function rQwait(msg, num, goback) {\n if (this.rQlen < num) {\n if (goback) {\n if (this._rQi < goback) {\n throw new Error(\"rQwait cannot backup \" + goback + \" bytes\");\n }\n this._rQi -= goback;\n }\n return true; // true means need more data\n }\n return false;\n }\n\n // Send Queue\n\n }, {\n key: 'flush',\n value: function flush() {\n if (this._sQlen > 0 && this._websocket.readyState === WebSocket.OPEN) {\n this._websocket.send(this._encode_message());\n this._sQlen = 0;\n }\n }\n }, {\n key: 'send',\n value: function send(arr) {\n this._sQ.set(arr, this._sQlen);\n this._sQlen += arr.length;\n this.flush();\n }\n }, {\n key: 'send_string',\n value: function send_string(str) {\n this.send(str.split('').map(function (chr) {\n return chr.charCodeAt(0);\n }));\n }\n\n // Event Handlers\n\n }, {\n key: 'off',\n value: function off(evt) {\n this._eventHandlers[evt] = function () {};\n }\n }, {\n key: 'on',\n value: function on(evt, handler) {\n this._eventHandlers[evt] = handler;\n }\n }, {\n key: '_allocate_buffers',\n value: function _allocate_buffers() {\n this._rQ = new Uint8Array(this._rQbufferSize);\n this._sQ = new Uint8Array(this._sQbufferSize);\n }\n }, {\n key: 'init',\n value: function init() {\n this._allocate_buffers();\n this._rQi = 0;\n this._websocket = null;\n }\n }, {\n key: 'open',\n value: function open(uri, protocols) {\n var _this = this;\n\n this.init();\n\n this._websocket = new WebSocket(uri, protocols);\n this._websocket.binaryType = 'arraybuffer';\n\n this._websocket.onmessage = this._recv_message.bind(this);\n this._websocket.onopen = function () {\n Log.Debug('>> WebSock.onopen');\n if (_this._websocket.protocol) {\n Log.Info(\"Server choose sub-protocol: \" + _this._websocket.protocol);\n }\n\n _this._eventHandlers.open();\n Log.Debug(\"<< WebSock.onopen\");\n };\n this._websocket.onclose = function (e) {\n Log.Debug(\">> WebSock.onclose\");\n _this._eventHandlers.close(e);\n Log.Debug(\"<< WebSock.onclose\");\n };\n this._websocket.onerror = function (e) {\n Log.Debug(\">> WebSock.onerror: \" + e);\n _this._eventHandlers.error(e);\n Log.Debug(\"<< WebSock.onerror: \" + e);\n };\n }\n }, {\n key: 'close',\n value: function close() {\n if (this._websocket) {\n if (this._websocket.readyState === WebSocket.OPEN || this._websocket.readyState === WebSocket.CONNECTING) {\n Log.Info(\"Closing WebSocket connection\");\n this._websocket.close();\n }\n\n this._websocket.onmessage = function () {};\n }\n }\n\n // private methods\n\n }, {\n key: '_encode_message',\n value: function _encode_message() {\n // Put in a binary arraybuffer\n // according to the spec, you can send ArrayBufferViews with the send method\n return new Uint8Array(this._sQ.buffer, 0, this._sQlen);\n }\n }, {\n key: '_expand_compact_rQ',\n value: function _expand_compact_rQ(min_fit) {\n var resizeNeeded = min_fit || this.rQlen > this._rQbufferSize / 2;\n if (resizeNeeded) {\n if (!min_fit) {\n // just double the size if we need to do compaction\n this._rQbufferSize *= 2;\n } else {\n // otherwise, make sure we satisy rQlen - rQi + min_fit < rQbufferSize / 8\n this._rQbufferSize = (this.rQlen + min_fit) * 8;\n }\n }\n\n // we don't want to grow unboundedly\n if (this._rQbufferSize > MAX_RQ_GROW_SIZE) {\n this._rQbufferSize = MAX_RQ_GROW_SIZE;\n if (this._rQbufferSize - this.rQlen < min_fit) {\n throw new Error(\"Receive Queue buffer exceeded \" + MAX_RQ_GROW_SIZE + \" bytes, and the new message could not fit\");\n }\n }\n\n if (resizeNeeded) {\n var old_rQbuffer = this._rQ.buffer;\n this._rQmax = this._rQbufferSize / 8;\n this._rQ = new Uint8Array(this._rQbufferSize);\n this._rQ.set(new Uint8Array(old_rQbuffer, this._rQi));\n } else {\n if (ENABLE_COPYWITHIN) {\n this._rQ.copyWithin(0, this._rQi);\n } else {\n this._rQ.set(new Uint8Array(this._rQ.buffer, this._rQi));\n }\n }\n\n this._rQlen = this._rQlen - this._rQi;\n this._rQi = 0;\n }\n }, {\n key: '_decode_message',\n value: function _decode_message(data) {\n // push arraybuffer values onto the end\n var u8 = new Uint8Array(data);\n if (u8.length > this._rQbufferSize - this._rQlen) {\n this._expand_compact_rQ(u8.length);\n }\n this._rQ.set(u8, this._rQlen);\n this._rQlen += u8.length;\n }\n }, {\n key: '_recv_message',\n value: function _recv_message(e) {\n this._decode_message(e.data);\n if (this.rQlen > 0) {\n this._eventHandlers.message();\n // Compact the receive queue\n if (this._rQlen == this._rQi) {\n this._rQlen = 0;\n this._rQi = 0;\n } else if (this._rQlen > this._rQmax) {\n this._expand_compact_rQ();\n }\n } else {\n Log.Debug(\"Ignoring empty message\");\n }\n }\n }, {\n key: 'sQ',\n get: function get() {\n return this._sQ;\n }\n }, {\n key: 'rQ',\n get: function get() {\n return this._rQ;\n }\n }, {\n key: 'rQi',\n get: function get() {\n return this._rQi;\n },\n set: function set(val) {\n this._rQi = val;\n }\n\n // Receive Queue\n\n }, {\n key: 'rQlen',\n get: function get() {\n return this._rQlen - this._rQi;\n }\n }]);\n\n return Websock;\n}();\n\nexports.default = Websock;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/websock.js?")},"N/zr":function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _logging = __webpack_require__(\"Lo0S\");\n\nvar Log = _interopRequireWildcard(_logging);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nexports.default = {\n /* Convert data (an array of integers) to a Base64 string. */\n toBase64Table: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split(''),\n base64Pad: '=',\n\n encode: function encode(data) {\n \"use strict\";\n\n var result = '';\n var length = data.length;\n var lengthpad = length % 3;\n // Convert every three bytes to 4 ascii characters.\n\n for (var i = 0; i < length - 2; i += 3) {\n result += this.toBase64Table[data[i] >> 2];\n result += this.toBase64Table[((data[i] & 0x03) << 4) + (data[i + 1] >> 4)];\n result += this.toBase64Table[((data[i + 1] & 0x0f) << 2) + (data[i + 2] >> 6)];\n result += this.toBase64Table[data[i + 2] & 0x3f];\n }\n\n // Convert the remaining 1 or 2 bytes, pad out to 4 characters.\n var j = length - lengthpad;\n if (lengthpad === 2) {\n result += this.toBase64Table[data[j] >> 2];\n result += this.toBase64Table[((data[j] & 0x03) << 4) + (data[j + 1] >> 4)];\n result += this.toBase64Table[(data[j + 1] & 0x0f) << 2];\n result += this.toBase64Table[64];\n } else if (lengthpad === 1) {\n result += this.toBase64Table[data[j] >> 2];\n result += this.toBase64Table[(data[j] & 0x03) << 4];\n result += this.toBase64Table[64];\n result += this.toBase64Table[64];\n }\n\n return result;\n },\n\n\n /* Convert Base64 data to a string */\n /* eslint-disable comma-spacing */\n 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],\n /* eslint-enable comma-spacing */\n\n decode: function decode(data) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var data_length = data.indexOf('=') - offset;\n if (data_length < 0) {\n data_length = data.length - offset;\n }\n\n /* Every four characters is 3 resulting numbers */\n var result_length = (data_length >> 2) * 3 + Math.floor(data_length % 4 / 1.5);\n var result = new Array(result_length);\n\n // Convert one by one.\n\n var leftbits = 0; // number of bits decoded, but yet to be appended\n var leftdata = 0; // bits decoded, but yet to be appended\n for (var idx = 0, i = offset; i < data.length; i++) {\n var c = this.toBinaryTable[data.charCodeAt(i) & 0x7f];\n var padding = data.charAt(i) === this.base64Pad;\n // Skip illegal characters and whitespace\n if (c === -1) {\n Log.Error(\"Illegal character code \" + data.charCodeAt(i) + \" at position \" + i);\n continue;\n }\n\n // Collect data into leftdata, update bitcount\n leftdata = leftdata << 6 | c;\n leftbits += 6;\n\n // If we have 8 or more bits, append 8 bits to the result\n if (leftbits >= 8) {\n leftbits -= 8;\n // Append if not padding.\n if (!padding) {\n result[idx++] = leftdata >> leftbits & 0xff;\n }\n leftdata &= (1 << leftbits) - 1;\n }\n }\n\n // If there are any bits left, the base64 string was corrupted\n if (leftbits) {\n var err = new Error('Corrupted base64 string');\n err.name = 'Base64-Error';\n throw err;\n }\n\n return result;\n }\n}; /* End of Base64 namespace */\n/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\n// From: http://hg.mozilla.org/mozilla-central/raw-file/ec10630b1a54/js/src/devtools/jint/sunspider/string-base64.js\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/base64.js?")},NBmB:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.encodingName = encodingName;\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\nvar encodings = exports.encodings = {\n encodingRaw: 0,\n encodingCopyRect: 1,\n encodingRRE: 2,\n encodingHextile: 5,\n encodingTight: 7,\n encodingTightPNG: -260,\n\n pseudoEncodingQualityLevel9: -23,\n pseudoEncodingQualityLevel0: -32,\n pseudoEncodingDesktopSize: -223,\n pseudoEncodingLastRect: -224,\n pseudoEncodingCursor: -239,\n pseudoEncodingQEMUExtendedKeyEvent: -258,\n pseudoEncodingExtendedDesktopSize: -308,\n pseudoEncodingXvp: -309,\n pseudoEncodingFence: -312,\n pseudoEncodingContinuousUpdates: -313,\n pseudoEncodingCompressLevel9: -247,\n pseudoEncodingCompressLevel0: -256\n};\n\nfunction encodingName(num) {\n switch (num) {\n case encodings.encodingRaw:\n return "Raw";\n case encodings.encodingCopyRect:\n return "CopyRect";\n case encodings.encodingRRE:\n return "RRE";\n case encodings.encodingHextile:\n return "Hextile";\n case encodings.encodingTight:\n return "Tight";\n case encodings.encodingTightPNG:\n return "TightPNG";\n default:\n return "[unknown encoding " + num + "]";\n }\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/encodings.js?')},OoWo:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/task-list/task-item/index.less?")},Ot1p:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js\nvar modal_style = __webpack_require__("2qtc");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 10 modules\nvar modal = __webpack_require__("kLXV");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\nvar createForOfIteratorHelper = __webpack_require__("rAM+");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.js\nvar codemirror = __webpack_require__("VrN/");\nvar codemirror_default = /*#__PURE__*/__webpack_require__.n(codemirror);\n\n// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\nvar ResizeObserver_es = __webpack_require__("bdgK");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/lib/codemirror.css\nvar lib_codemirror = __webpack_require__("p77/");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closetag.js\nvar closetag = __webpack_require__("Bd2K");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/addon/edit/closebrackets.js\nvar closebrackets = __webpack_require__("ELLl");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/addon/display/placeholder.js\nvar display_placeholder = __webpack_require__("19Vz");\n\n// EXTERNAL MODULE: ./node_modules/codemirror/mode/markdown/markdown.js\nvar markdown = __webpack_require__("lZu9");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/index.less\nvar markdown_editor = __webpack_require__("kSUc");\n\n// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules\nvar RenderHtml = __webpack_require__("9Bee");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__("0Owb");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/toolbar/index.less\nvar toolbar = __webpack_require__("dejd");\n\n// EXTERNAL MODULE: ./node_modules/@ant-design/icons/es/components/IconFont.js\nvar IconFont = __webpack_require__("R+Pm");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/toolbar/index.tsx\n\n\n\n\nvar toolbar_IconFont = Object(IconFont["a" /* default */])({\n scriptUrl: \'//at.alicdn.com/t/font_1941035_wtddfbx3cga.js\'\n});\nvar DEFAULTICONS = [{\n title: \'\u7c97\u4f53\',\n icon: \'icon-bold\',\n actionName: \'bold\'\n}, {\n title: \'\u659c\u4f53\',\n icon: \'icon-italic\',\n actionName: \'italic\'\n}, \'|\', {\n title: \'\u65e0\u5e8f\u5217\u8868\',\n icon: \'icon-unorder-list\',\n actionName: \'list-ul\'\n}, {\n title: \'\u6709\u5e8f\u5217\u8868\',\n icon: \'icon-order-list\',\n actionName: \'list-ol\'\n}, \'|\', {\n title: \'\u884c\u5185\u4ee3\u7801\',\n icon: \'icon-code\',\n actionName: \'code\'\n}, {\n title: \'\u4ee3\u7801\u5757\uff08\u591a\u8bed\u8a00\u98ce\u683c\uff09\',\n icon: \'icon-file-code\',\n actionName: \'code-block\'\n}, {\n title: \'\u94fe\u63a5\',\n icon: \'icon-link\',\n actionName: \'link\'\n}, \'|\', {\n title: \'\u884c\u5185\u516c\u5f0f\',\n icon: \'icon-sum\',\n actionName: \'inline-latex\'\n}, {\n title: \'\u591a\u884c\u516c\u5f0f\',\n icon: \'icon-formula\',\n actionName: \'latex\'\n}, \'|\', {\n title: \'\u6dfb\u52a0\u56fe\u7247\',\n icon: \'icon-picture\',\n actionName: \'upload-image\'\n}, {\n title: \'\u8868\u683c\',\n icon: \'icon-table\',\n actionName: \'add-table\'\n}, \'|\', {\n title: \'\u6362\u884c\',\n icon: \'icon-minus\',\n actionName: \'line-break\'\n}, {\n title: \'\u6e05\u7a7a\',\n icon: \'icon-eraser\',\n actionName: \'eraser\'\n}];\n\nfunction AButton(_ref) {\n var onActionCallback = _ref.onActionCallback,\n title = _ref.title,\n icon = _ref.icon,\n actionName = _ref.actionName,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? \'\' : _ref$className,\n children = _ref.children;\n\n function onAction() {\n onActionCallback(actionName);\n }\n\n return /*#__PURE__*/react_default.a.createElement("a", {\n title: title,\n className: className,\n onClick: onAction\n }, /*#__PURE__*/react_default.a.createElement(toolbar_IconFont, {\n type: icon\n }), children);\n}\n\n/* harmony default export */ var markdown_editor_toolbar = ((_ref2) => {\n var watch = _ref2.watch,\n showNullButton = _ref2.showNullButton,\n onActionCallback = _ref2.onActionCallback;\n var icons = [...DEFAULTICONS, {\n title: "".concat(watch ? \'\u5173\u95ed\u5b9e\u65f6\u9884\u89c8\' : \'\u5f00\u542f\u5b9e\u65f6\u9884\u89c8\'),\n icon: "".concat(watch ? \'icon-eye-slash\' : \'icon-eye\'),\n actionName: \'trigger-watch\'\n }];\n return /*#__PURE__*/react_default.a.createElement("ul", {\n className: "markdown-toolbar-container"\n }, icons.map((item, index) => /*#__PURE__*/react_default.a.createElement("li", {\n key: index\n }, item.actionName ? /*#__PURE__*/react_default.a.createElement(AButton, Object(esm_extends["a" /* default */])({}, item, {\n onActionCallback: onActionCallback\n })) : /*#__PURE__*/react_default.a.createElement("span", {\n className: "v-line"\n }))), showNullButton ? /*#__PURE__*/react_default.a.createElement("li", null, /*#__PURE__*/react_default.a.createElement(AButton, {\n icon: "icon-edit",\n className: "btn-null",\n title: "\\u589E\\u52A0\\u586B\\u7A7A",\n actionName: "add-null-ch",\n onActionCallback: onActionCallback\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "fill-tip"\n }, "\\u70B9\\u51FB\\u63D2\\u5165\\b\\u586B\\u7A7A\\u9879"))) : null);\n});\n// EXTERNAL MODULE: ./src/components/modal.tsx\nvar components_modal = __webpack_require__("M8RZ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/style/index.js\nvar button_style = __webpack_require__("+L6B");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js\nvar es_button = __webpack_require__("2/Rp");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/form/style/index.js\nvar form_style = __webpack_require__("y8nQ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 9 modules\nvar es_form = __webpack_require__("Vl3Y");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/style/index.js\nvar input_style = __webpack_require__("5NDa");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 8 modules\nvar input = __webpack_require__("5rEg");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/link/index.tsx\n\n\n\n\n\n\n\n\nvar formItemLayout = {\n labelCol: {\n span: 4\n },\n wrapperCol: {\n span: 20\n }\n};\n/* harmony default export */ var markdown_editor_link = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n function onSubmit(values) {\n callback(values);\n }\n\n return /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], Object(esm_extends["a" /* default */])({}, formItemLayout, {\n initialValues: {\n link: \'http://\',\n title: \'\'\n },\n className: "link-panel",\n onFinish: onSubmit\n }), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u94FE\\u63A5\\u5730\\u5740",\n name: "link",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u94fe\u63a5\u5730\u5740\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u94FE\\u63A5\\u6807\\u9898",\n name: "title",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u94fe\u63a5\u6807\u9898\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container flex-end"\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit",\n style: {\n marginRight: 10\n }\n }, "\\u786E\\u5B9A"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "ghost",\n onClick: onCancel\n }, "\\u53D6\\u6D88")));\n});\n// EXTERNAL MODULE: ./src/components/markdown-editor/code-block/index.tsx\nvar code_block = __webpack_require__("7ahc");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/upload-image/index.less\nvar upload_image = __webpack_require__("HmJG");\n\n// EXTERNAL MODULE: ./src/pages/tasks/util.js\nvar util = __webpack_require__("BjJ7");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/upload-image/index.tsx\n\n\n\n\n\n\n\n\n\n\n\nvar useForm = es_form["a" /* default */].useForm;\nvar upload_image_style = {\n width: 280,\n marginRight: 10\n};\nvar upload_image_formItemLayout = {\n labelCol: {\n span: 5\n },\n wrapperCol: {\n span: 19\n }\n};\n/* harmony default export */ var markdown_editor_upload_image = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n var _useForm = useForm(),\n _useForm2 = Object(slicedToArray["a" /* default */])(_useForm, 1),\n form = _useForm2[0];\n\n function onSubmit(values) {\n callback(values);\n }\n\n function onAddUrl(data) {\n form.setFieldsValue({\n src: "/api/attachments/".concat(data.id)\n });\n }\n\n function onFileChange(e) {\n var file = e.target.files[0];\n uploadImage(file, onAddUrl);\n }\n\n return /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], Object(esm_extends["a" /* default */])({\n form: form\n }, upload_image_formItemLayout, {\n className: "upload-image-panel",\n onFinish: onSubmit\n }), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u56FE\\u7247\\u5730\\u5740",\n required: true\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n noStyle: true,\n name: "src",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u56fe\u7247\u5730\u5740\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], {\n style: upload_image_style\n })), /*#__PURE__*/react_default.a.createElement(UploadButton, {\n onFileChange: onFileChange\n }))), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n label: "\\u56FE\\u7247\\u63CF\\u8FF0",\n name: "alt",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u56fe\u7247\u63cf\u8ff0\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input["a" /* default */], {\n style: {\n width: 264\n }\n })), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n style: {\n textAlign: "right"\n }\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit",\n style: {\n marginRight: 10\n }\n }, "\\u786E\\u5B9A"), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "ghost",\n onClick: onCancel\n }, "\\u53D6\\u6D88")));\n});\n\nfunction UploadButton(_ref2) {\n var onFileChange = _ref2.onFileChange;\n return /*#__PURE__*/react_default.a.createElement("a", {\n className: "upload-button"\n }, "\\u672C\\u5730\\u4E0A\\u4F20", /*#__PURE__*/react_default.a.createElement("input", {\n type: "file",\n accept: "image/*",\n onChange: onFileChange\n }));\n}\n\nfunction uploadImage(file, callback) {\n var formData = new FormData();\n formData.append(\'editormd-image-file\', file);\n formData.append(\'file_param_name\', \'editormd-image-file\');\n formData.append(\'byxhr\', \'true\');\n var xhr = new window.XMLHttpRequest();\n xhr.withCredentials = true;\n xhr.addEventListener(\'load\', function (response) {\n callback(JSON.parse(response.target.responseText));\n }, false);\n xhr.addEventListener(\'error\', function (error) {\n console.error(error);\n }, false);\n xhr.open(\'POST\', "".concat(util["a" /* apiPref */], "/api/attachments.json"));\n xhr.send(formData);\n}\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js\nvar input_number_style = __webpack_require__("giR+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 1 modules\nvar input_number = __webpack_require__("fyUT");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/radio/style/index.js\nvar radio_style = __webpack_require__("7Kak");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/radio/index.js\nvar es_radio = __webpack_require__("9yH6");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/add-table-panel/index.tsx\n\n\n\n\n\n\n\n\n\nvar RadioGroup = es_radio["default"].Group;\nvar add_table_panel_style = {\n margin: \'0 8px\'\n};\n/* harmony default export */ var add_table_panel = ((_ref) => {\n var callback = _ref.callback,\n onCancel = _ref.onCancel;\n\n function onSubmit(values) {\n callback(values);\n }\n\n return /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */], {\n className: "add-table-panel",\n initialValues: {\n row: 3,\n col: 2,\n align: \'default\'\n },\n onFinish: onSubmit\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u5355\\u5143\\u683C\\u6570\\uFF1A"), /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u884C\\u6570"), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "row",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u884c\u6570\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], null)), /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u5217\\u6570"), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "col",\n rules: [{\n required: true,\n message: \'\u8bf7\u8f93\u5165\u5217\u6570\'\n }]\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], null))), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container",\n style: {\n marginTop: 12\n }\n }, /*#__PURE__*/react_default.a.createElement("span", {\n style: add_table_panel_style\n }, "\\u5BF9\\u9F50\\u65B9\\u5F0F\\uFF1A"), /*#__PURE__*/react_default.a.createElement(es_form["a" /* default */].Item, {\n name: "align"\n }, /*#__PURE__*/react_default.a.createElement(RadioGroup, null, /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "default"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-justify"\n })), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "left"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-left"\n })), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "center"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-center"\n })), /*#__PURE__*/react_default.a.createElement(es_radio["default"], {\n value: "right"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "fa fa-align-right"\n }))))), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container flex-end"\n }, /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "primary",\n htmlType: "submit",\n style: {\n marginRight: 10\n }\n }, \' \', "\\u786E\\u5B9A", \' \'), /*#__PURE__*/react_default.a.createElement(es_button["a" /* default */], {\n type: "ghost",\n onClick: onCancel\n }, \' \', "\\u53D6\\u6D88", \' \')));\n});\n// EXTERNAL MODULE: ./src/.umi-production/core/umiExports.ts + 17 modules\nvar umiExports = __webpack_require__("9kvl");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/constant.ts\nvar LINK = \'link\';\nvar UPLOAD_IMAGE = \'upload-image\';\nvar CODE_BLOCK = \'code-block\';\nvar ADD_TABLE = \'add-table\';\nvar HRLINE = \'------------\';\nvar ALIGNSIGN = {\n default: HRLINE,\n left: ":".concat(HRLINE),\n center: ":".concat(HRLINE, ":"),\n right: "".concat(HRLINE, ":")\n};\n// EXTERNAL MODULE: ./src/components/useInterval.tsx\nvar useInterval = __webpack_require__("9VGf");\n\n// CONCATENATED MODULE: ./src/components/markdown-editor/index.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar pending = 0;\nvar TimeTicket = 10;\nvar StorageTimeTicket = 10000;\nvar NULL_CH = \'\u2581\';\n\nfunction processSize(size) {\n return !/^\\d+$/.test(size) ? size : "".concat(size, "px");\n}\n\nvar isMac = navigator.platform.toUpperCase().indexOf(\'MAC\') >= 0;\nvar key = isMac ? \'Cmd\' : \'Ctrl\';\nvar DEFAULTKEYMAP = {\n [key + \'-B\']: \'bold\',\n [key + \'-I\']: \'italic\'\n};\nvar TitleDesc = {\n [LINK]: \'\u6dfb\u52a0\u94fe\u63a5\',\n [CODE_BLOCK]: \'\u6dfb\u52a0\u4ee3\u7801\u5757\',\n [UPLOAD_IMAGE]: \'\u6dfb\u52a0\u56fe\u7247\',\n [ADD_TABLE]: \'\u6dfb\u52a0\u8868\u683c\'\n}; //https://codemirror.net/demo\n//The height can be set through CSS (by giving the .CodeMirror class a height property), or by calling the cm\'s setSize method.\n\n/* harmony default export */ var components_markdown_editor = __webpack_exports__["a"] = ((_ref) => {\n var _ref$defaultValue = _ref.defaultValue,\n defaultValue = _ref$defaultValue === void 0 ? \'\' : _ref$defaultValue,\n onChange = _ref.onChange,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? \'100%\' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? 400 : _ref$height,\n _ref$miniToolbar = _ref.miniToolbar,\n miniToolbar = _ref$miniToolbar === void 0 ? false : _ref$miniToolbar,\n _ref$isFocus = _ref.isFocus,\n isFocus = _ref$isFocus === void 0 ? false : _ref$isFocus,\n watch = _ref.watch,\n _ref$id = _ref.id,\n id = _ref$id === void 0 ? \'markdown-editor-id\' : _ref$id,\n _ref$showResizeBar = _ref.showResizeBar,\n showResizeBar = _ref$showResizeBar === void 0 ? false : _ref$showResizeBar,\n _ref$noStorage = _ref.noStorage,\n noStorage = _ref$noStorage === void 0 ? false : _ref$noStorage,\n _ref$showNullButton = _ref.showNullButton,\n showNullButton = _ref$showNullButton === void 0 ? false : _ref$showNullButton,\n onBlur = _ref.onBlur,\n onCMBeforeChange = _ref.onCMBeforeChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? \'\' : _ref$className,\n _ref$placeholder = _ref.placeholder,\n placeholder = _ref$placeholder === void 0 ? \'\' : _ref$placeholder;\n\n var _useState = Object(react["useState"])(null),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n cm = _useState2[0],\n setCm = _useState2[1];\n\n var _useState3 = Object(react["useState"])(defaultValue),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n value = _useState4[0],\n setValue = _useState4[1];\n\n var _useState5 = Object(react["useState"])(watch),\n _useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),\n preview = _useState6[0],\n setPreview = _useState6[1];\n\n var _useState7 = Object(react["useState"])(\'\'),\n _useState8 = Object(slicedToArray["a" /* default */])(_useState7, 2),\n action = _useState8[0],\n setAction = _useState8[1];\n\n var _useState9 = Object(react["useState"])(0),\n _useState10 = Object(slicedToArray["a" /* default */])(_useState9, 2),\n lastedUpdateTime = _useState10[0],\n setLastedUpdateTime = _useState10[1];\n\n var _useState11 = Object(react["useState"])(height),\n _useState12 = Object(slicedToArray["a" /* default */])(_useState11, 2),\n h = _useState12[0],\n setH = _useState12[1];\n\n var _useState13 = Object(react["useState"])(false),\n _useState14 = Object(slicedToArray["a" /* default */])(_useState13, 2),\n tip = _useState14[0],\n setTip = _useState14[1];\n\n var cmEl = Object(react["useRef"])();\n var resizeBarEl = Object(react["useRef"])();\n var previewEl = Object(react["useRef"])();\n Object(react["useEffect"])(() => {\n if (cmEl.current) {\n var instance = codemirror_default.a.fromTextArea(cmEl.current, {\n mode: \'markdown\',\n lineNumbers: miniToolbar ? false : true,\n lineWrapping: true,\n value: defaultValue,\n autoCloseTags: true,\n autoCloseBrackets: true\n });\n\n function onPaste(_, e) {\n var clipboardData = e.clipboardData;\n\n if (clipboardData) {\n var types = clipboardData.types.toString();\n var items = clipboardData.items;\n\n if (types === \'text/html,Files\' || types === \'Files\') {\n var item = items[1];\n\n if (types === \'Files\') {\n item = items[0];\n }\n\n if (item.kind === \'file\' && item.type.match(/^image\\//i)) {\n uploadImage(item.getAsFile(), data => {\n if (data.id) {\n instance.replaceSelection("![,](/api/attachments/".concat(data.id, ")"));\n } else {\n umiExports["c" /* history */].replace(\'/user/login\', {\n from: umiExports["c" /* history */].location.pathname\n });\n }\n });\n }\n } else {\n //toMarkdown ?\n // let html = clipboardData.getData(\'text/html\')\n return true;\n }\n }\n\n return true;\n }\n\n instance.on(\'paste\', onPaste);\n\n function onLayout() {\n var ro = new ResizeObserver_es["default"](entries => {\n var _iterator = Object(createForOfIteratorHelper["a" /* default */])(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n instance.setSize(\'100%\', \'100%\');\n instance.refresh();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n ro.observe(cmEl.current.parentElement);\n return ro;\n }\n\n var ro = onLayout();\n setCm(instance);\n return () => {\n ro.unobserve(cmEl.current.parentElement);\n instance.off(\'paste\', onPaste);\n };\n }\n }, []); //keymap\n\n Object(react["useEffect"])(() => {\n if (cm) {\n var keymap = [];\n\n var _loop = function _loop() {\n var _ref2 = _Object$entries[_i];\n _ref3 = Object(slicedToArray["a" /* default */])(_ref2, 2);\n var k = _ref3[0];\n var value = _ref3[1];\n var map = {\n [k]: () => {\n onActionCallback(value);\n }\n };\n keymap.push(map);\n cm.addKeyMap(map);\n };\n\n for (var _i = 0, _Object$entries = Object.entries(DEFAULTKEYMAP); _i < _Object$entries.length; _i++) {\n var _ref3;\n\n _loop();\n }\n\n return () => {\n var _iterator2 = Object(createForOfIteratorHelper["a" /* default */])(keymap),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var m = _step2.value;\n cm.removeKeyMap(m);\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n };\n }\n }, [cm]);\n Object(useInterval["a" /* default */])(() => {\n if (!noStorage && lastedUpdateTime > 0) {\n var currentTime = new Date().getTime();\n var lastedValue = window.sessionStorage.getItem(id);\n\n if (currentTime >= lastedUpdateTime + StorageTimeTicket && (!lastedValue || lastedValue !== value)) {\n window.sessionStorage.setItem(id, value);\n setTip(true);\n }\n }\n }, StorageTimeTicket);\n Object(react["useEffect"])(() => {\n setPreview(watch);\n }, [cm, watch]);\n Object(react["useEffect"])(() => {\n if (cm) {\n isFocus && cm.focus();\n }\n }, [cm, isFocus]);\n Object(react["useEffect"])(() => {\n if (preview && cm) {\n var scrollEl = cm.getScrollerElement();\n\n function syncScroll(e) {\n var target = e.target;\n\n if (previewEl.current) {\n previewEl.current.scrollTop = previewEl.current.scrollHeight * target.scrollTop / target.scrollHeight;\n }\n }\n\n scrollEl.addEventListener(\'scroll\', syncScroll);\n return () => {\n scrollEl.removeEventListener(\'scroll\', syncScroll);\n };\n }\n }, [cm, preview]);\n Object(react["useEffect"])(() => {\n if (cm && onCMBeforeChange) {\n function onChangeHandler(cm, change) {\n onCMBeforeChange(cm, change);\n }\n\n cm.on(\'beforeChange\', onChangeHandler);\n return () => {\n cm.off(\'beforeChange\', onChangeHandler);\n };\n }\n }, [cm, onCMBeforeChange]);\n Object(react["useEffect"])(() => {\n if (cm && onBlur) {\n function onBlurHandler() {\n onBlur(cm.getValue());\n }\n\n cm.on(\'blur\', onBlurHandler);\n return () => {\n cm.off(\'blur\', onBlurHandler);\n };\n }\n }, [cm, onBlur]);\n Object(react["useEffect"])(() => {\n if (cm) {\n function onChangeHandler(cm) {\n var content = cm.getValue();\n clearTimeout(pending);\n pending = setTimeout(() => {\n setValue(content);\n setLastedUpdateTime(new Date().getTime());\n cm.getScrollerElement().dispatchEvent(new CustomEvent(\'scroll\'));\n onChange && onChange(content);\n }, TimeTicket);\n }\n\n cm.on(\'change\', onChangeHandler);\n return () => {\n cm.off(\'change\', onChangeHandler);\n };\n }\n }, [cm, onChange]);\n Object(react["useEffect"])(() => {\n if (cm) {\n if (defaultValue === null || defaultValue === undefined) {\n cm.setValue(\'\');\n setValue(\'\');\n } else {\n if (defaultValue !== cm.getValue()) {\n cm.setValue(defaultValue);\n setValue(defaultValue);\n }\n }\n }\n }, [cm, defaultValue]);\n Object(react["useEffect"])(() => {\n if (cm && height) {\n cm.setSize(\'100%\', "calc(".concat(processSize(height), " - ").concat(miniToolbar ? \'28px\' : \'38px\', " )"));\n }\n }, [cm, height]);\n var onActionCallback = Object(react["useCallback"])(actionName => {\n var cursor = cm.getCursor();\n var selection = cm.getSelection();\n var selectionText = selection.split(\'\\n\');\n\n switch (actionName) {\n case \'bold\':\n cm.replaceSelection(\'**\' + selection + \'**\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 2);\n }\n\n return cm.focus();\n\n case \'italic\':\n cm.replaceSelection(\'*\' + selection + \'*\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 1);\n }\n\n return cm.focus();\n\n case \'code\':\n cm.replaceSelection(\'`\' + selection + \'`\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 1);\n }\n\n return cm.focus();\n\n case \'inline-latex\':\n cm.replaceSelection(\'`$$\' + selection + \'$$`\');\n\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 3);\n }\n\n return cm.focus();\n\n case \'latex\':\n cm.replaceSelection("```latex\\n" + selection + "\\n```");\n cm.setCursor(cursor.line + 1, selection.length + 1);\n return cm.focus();\n\n case \'line-break\':\n cm.replaceSelection(\'<br/>\\n\');\n return cm.focus();\n\n case \'list-ul\':\n if (selection === \'\') {\n cm.replaceSelection(\'- \' + selection);\n } else {\n cm.replaceSelection(selectionText.map(item => item === \'\' ? \'\' : "- ".concat(item)).join(\'\\n\'));\n }\n\n return cm.focus();\n\n case \'list-ol\':\n if (selection === \'\') {\n cm.replaceSelection(\'1. \' + selection);\n } else {\n cm.replaceSelection(selectionText.map((item, index) => item === \'\' ? \'\' : "".concat(index + 1, ". ").concat(item)).join(\'\\n\'));\n }\n\n return cm.focus();\n\n case \'add-null-ch\':\n if (selection === \'\') {\n cm.setCursor(cursor.line, cursor.ch + 1);\n }\n\n cm.replaceSelection(NULL_CH);\n return cm.focus();\n\n case \'eraser\':\n cm.setValue(\'\');\n return cm.focus();\n\n case \'trigger-watch\':\n setPreview(!preview);\n return cm.focus();\n\n case LINK:\n setAction(LINK);\n return;\n\n case CODE_BLOCK:\n setAction(CODE_BLOCK);\n return;\n\n case UPLOAD_IMAGE:\n setAction(UPLOAD_IMAGE);\n return;\n\n case ADD_TABLE:\n setAction(ADD_TABLE);\n return;\n\n default:\n throw new Error();\n }\n }, [cm, preview]);\n var ExecutePluginAction = Object(react["useCallback"])(values => {\n setAction(\'\');\n\n switch (action) {\n case LINK:\n var title = values.title,\n link = values.link;\n cm.replaceSelection("[".concat(title, "](").concat(link, ")"));\n return cm.focus();\n\n case CODE_BLOCK:\n var language = values.language,\n content = values.content;\n cm.replaceSelection([\'```\' + language, content, \'```\'].join(\'\\n\'));\n return cm.focus();\n\n case UPLOAD_IMAGE:\n var src = values.src,\n alt = values.alt;\n cm.replaceSelection("![ ".concat(alt, " ]( ").concat(src, " \\"").concat(alt, "\\" )"));\n return cm.focus();\n\n case ADD_TABLE:\n var row = values.row,\n col = values.col,\n align = values.align;\n var table = \'\\n\';\n\n for (var r = 0; r < row; r++) {\n var rows = [];\n var heads = [];\n\n for (var c = 0; c < col; c++) {\n if (r === 1) {\n heads.push(ALIGNSIGN[align]);\n }\n\n rows.push(\' \');\n }\n\n if (r === 1) {\n table += "| ".concat(heads.join(\' | \'), " |\\n");\n }\n\n table += "| ".concat(rows.join(col === 1 ? \'\' : \' | \'), " |\\n");\n }\n\n cm.replaceSelection(table + \'\\n\');\n return cm.focus();\n\n default:\n throw new Error();\n }\n }, [cm, action]);\n var PluginEl = Object(react["useMemo"])(() => {\n switch (action) {\n case LINK:\n return /*#__PURE__*/react_default.a.createElement(markdown_editor_link, {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n case CODE_BLOCK:\n return /*#__PURE__*/react_default.a.createElement(code_block["b" /* default */], {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n case UPLOAD_IMAGE:\n return /*#__PURE__*/react_default.a.createElement(markdown_editor_upload_image, {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n case ADD_TABLE:\n return /*#__PURE__*/react_default.a.createElement(add_table_panel, {\n callback: ExecutePluginAction,\n onCancel: onCancel\n });\n\n default:\n return null;\n }\n }, [action]);\n\n function onCancel() {\n setAction(\'\');\n }\n\n Object(react["useEffect"])(() => {\n if (resizeBarEl.current) {\n var resizeBar = resizeBarEl.current;\n var dragging = false;\n var startY = 0;\n\n function onMouseDown(e) {\n dragging = true;\n startY = e.pageY;\n }\n\n function onMouseUp() {\n dragging = false;\n }\n\n function onMouseMove(e) {\n if (dragging) {\n var delta = e.pageY - startY;\n\n if (delta < 0) {\n delta = 0;\n }\n\n if (delta > 300) {\n delta = 300;\n }\n\n var resizeH = height + delta + \'px\';\n setH(resizeH);\n }\n }\n\n resizeBar.addEventListener(\'mousedown\', onMouseDown);\n document.addEventListener(\'mousemove\', onMouseMove);\n document.addEventListener(\'mouseup\', onMouseUp);\n return () => {\n resizeBar.removeEventListener(\'mousedown\', onMouseDown);\n document.removeEventListener(\'mousemove\', onMouseMove);\n document.removeEventListener(\'mouseup\', onMouseUp);\n };\n }\n }, [cm, resizeBarEl]);\n Object(react["useEffect"])(() => {\n setH(height);\n }, [height]);\n var fixedWidth = processSize(width);\n var fixedHeight = processSize(h);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n var saveTime = Object(react["useMemo"])(() => {\n if (lastedUpdateTime) {\n var d = new Date(lastedUpdateTime);\n\n var _h = d.getHours();\n\n var m = d.getMinutes();\n var s = d.getSeconds();\n _h = _h < 10 ? \'0\' + _h : _h;\n m = m < 10 ? \'0\' + m : m;\n s = s < 10 ? \'0\' + s : s;\n return "".concat(_h, ":").concat(m, ":").concat(s);\n }\n\n return 0;\n }, [lastedUpdateTime]);\n\n function onCancelStorage() {\n window.sessionStorage.removeItem(id);\n setTip(false);\n setLastedUpdateTime(0);\n }\n\n function onReset() {\n setTip(false);\n setLastedUpdateTime(0);\n cm.setValue(window.sessionStorage.getItem(id));\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "markdown-editor-container ".concat(className, " ").concat(preview ? \'on-preview\' : \'\', " ").concat(miniToolbar ? \'mini\' : \'\'),\n style: style\n }, /*#__PURE__*/react_default.a.createElement(markdown_editor_toolbar, {\n watch: preview,\n showNullButton: showNullButton,\n onActionCallback: onActionCallback\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "markdown-editor-body"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "codemirror-container"\n }, /*#__PURE__*/react_default.a.createElement("textarea", {\n ref: cmEl,\n placeholder: placeholder\n })), preview ? /*#__PURE__*/react_default.a.createElement("div", {\n ref: previewEl,\n className: "preview-container"\n }, /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: value\n })) : null)), tip ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "markdown-tip"\n }, "\\u60A8\\u4E0A\\u6B21\\u6709\\u5DF2\\u4FDD\\u5B58\\u7684\\u6570\\u5E74\\uFF0C\\u662F\\u5426", /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onReset\n }, "\\u6062\\u590D"), " ? /", \' \', /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onCancelStorage\n }, "\\u4E0D\\u6062\\u590D"), " \\uFF08\\u6570\\u636E\\u5DF2\\u4E8E ", saveTime, " \\u4FDD\\u5B58\\uFF09") : null, showResizeBar ? /*#__PURE__*/react_default.a.createElement("a", {\n ref: resizeBarEl,\n className: "editor-resize"\n }) : null, /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, TitleDesc[action] ? /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: TitleDesc[action],\n visible: true,\n onCancel: onCancel,\n footer: null\n }, PluginEl) : null));\n});\n\n//# sourceURL=webpack:///./src/components/markdown-editor/index.tsx_+_5_modules?')},P2ho:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n/*\n * This file is auto-generated from keymaps.csv on 2017-05-31 16:20\n * Database checksum sha256(92fd165507f2a3b8c5b3fa56e425d45788dbcb98cf067a307527d91ce22cab94)\n * To re-generate, run:\n * keymap-gen --lang=js code-map keymaps.csv html atset1\n*/\nexports.default = {\n "Again": 0xe005, /* html:Again (Again) -> linux:129 (KEY_AGAIN) -> atset1:57349 */\n "AltLeft": 0x38, /* html:AltLeft (AltLeft) -> linux:56 (KEY_LEFTALT) -> atset1:56 */\n "AltRight": 0xe038, /* html:AltRight (AltRight) -> linux:100 (KEY_RIGHTALT) -> atset1:57400 */\n "ArrowDown": 0xe050, /* html:ArrowDown (ArrowDown) -> linux:108 (KEY_DOWN) -> atset1:57424 */\n "ArrowLeft": 0xe04b, /* html:ArrowLeft (ArrowLeft) -> linux:105 (KEY_LEFT) -> atset1:57419 */\n "ArrowRight": 0xe04d, /* html:ArrowRight (ArrowRight) -> linux:106 (KEY_RIGHT) -> atset1:57421 */\n "ArrowUp": 0xe048, /* html:ArrowUp (ArrowUp) -> linux:103 (KEY_UP) -> atset1:57416 */\n "AudioVolumeDown": 0xe02e, /* html:AudioVolumeDown (AudioVolumeDown) -> linux:114 (KEY_VOLUMEDOWN) -> atset1:57390 */\n "AudioVolumeMute": 0xe020, /* html:AudioVolumeMute (AudioVolumeMute) -> linux:113 (KEY_MUTE) -> atset1:57376 */\n "AudioVolumeUp": 0xe030, /* html:AudioVolumeUp (AudioVolumeUp) -> linux:115 (KEY_VOLUMEUP) -> atset1:57392 */\n "Backquote": 0x29, /* html:Backquote (Backquote) -> linux:41 (KEY_GRAVE) -> atset1:41 */\n "Backslash": 0x2b, /* html:Backslash (Backslash) -> linux:43 (KEY_BACKSLASH) -> atset1:43 */\n "Backspace": 0xe, /* html:Backspace (Backspace) -> linux:14 (KEY_BACKSPACE) -> atset1:14 */\n "BracketLeft": 0x1a, /* html:BracketLeft (BracketLeft) -> linux:26 (KEY_LEFTBRACE) -> atset1:26 */\n "BracketRight": 0x1b, /* html:BracketRight (BracketRight) -> linux:27 (KEY_RIGHTBRACE) -> atset1:27 */\n "BrowserBack": 0xe06a, /* html:BrowserBack (BrowserBack) -> linux:158 (KEY_BACK) -> atset1:57450 */\n "BrowserFavorites": 0xe066, /* html:BrowserFavorites (BrowserFavorites) -> linux:156 (KEY_BOOKMARKS) -> atset1:57446 */\n "BrowserForward": 0xe069, /* html:BrowserForward (BrowserForward) -> linux:159 (KEY_FORWARD) -> atset1:57449 */\n "BrowserHome": 0xe032, /* html:BrowserHome (BrowserHome) -> linux:172 (KEY_HOMEPAGE) -> atset1:57394 */\n "BrowserRefresh": 0xe067, /* html:BrowserRefresh (BrowserRefresh) -> linux:173 (KEY_REFRESH) -> atset1:57447 */\n "BrowserSearch": 0xe065, /* html:BrowserSearch (BrowserSearch) -> linux:217 (KEY_SEARCH) -> atset1:57445 */\n "BrowserStop": 0xe068, /* html:BrowserStop (BrowserStop) -> linux:128 (KEY_STOP) -> atset1:57448 */\n "CapsLock": 0x3a, /* html:CapsLock (CapsLock) -> linux:58 (KEY_CAPSLOCK) -> atset1:58 */\n "Comma": 0x33, /* html:Comma (Comma) -> linux:51 (KEY_COMMA) -> atset1:51 */\n "ContextMenu": 0xe05d, /* html:ContextMenu (ContextMenu) -> linux:127 (KEY_COMPOSE) -> atset1:57437 */\n "ControlLeft": 0x1d, /* html:ControlLeft (ControlLeft) -> linux:29 (KEY_LEFTCTRL) -> atset1:29 */\n "ControlRight": 0xe01d, /* html:ControlRight (ControlRight) -> linux:97 (KEY_RIGHTCTRL) -> atset1:57373 */\n "Convert": 0x79, /* html:Convert (Convert) -> linux:92 (KEY_HENKAN) -> atset1:121 */\n "Copy": 0xe078, /* html:Copy (Copy) -> linux:133 (KEY_COPY) -> atset1:57464 */\n "Cut": 0xe03c, /* html:Cut (Cut) -> linux:137 (KEY_CUT) -> atset1:57404 */\n "Delete": 0xe053, /* html:Delete (Delete) -> linux:111 (KEY_DELETE) -> atset1:57427 */\n "Digit0": 0xb, /* html:Digit0 (Digit0) -> linux:11 (KEY_0) -> atset1:11 */\n "Digit1": 0x2, /* html:Digit1 (Digit1) -> linux:2 (KEY_1) -> atset1:2 */\n "Digit2": 0x3, /* html:Digit2 (Digit2) -> linux:3 (KEY_2) -> atset1:3 */\n "Digit3": 0x4, /* html:Digit3 (Digit3) -> linux:4 (KEY_3) -> atset1:4 */\n "Digit4": 0x5, /* html:Digit4 (Digit4) -> linux:5 (KEY_4) -> atset1:5 */\n "Digit5": 0x6, /* html:Digit5 (Digit5) -> linux:6 (KEY_5) -> atset1:6 */\n "Digit6": 0x7, /* html:Digit6 (Digit6) -> linux:7 (KEY_6) -> atset1:7 */\n "Digit7": 0x8, /* html:Digit7 (Digit7) -> linux:8 (KEY_7) -> atset1:8 */\n "Digit8": 0x9, /* html:Digit8 (Digit8) -> linux:9 (KEY_8) -> atset1:9 */\n "Digit9": 0xa, /* html:Digit9 (Digit9) -> linux:10 (KEY_9) -> atset1:10 */\n "Eject": 0xe07d, /* html:Eject (Eject) -> linux:162 (KEY_EJECTCLOSECD) -> atset1:57469 */\n "End": 0xe04f, /* html:End (End) -> linux:107 (KEY_END) -> atset1:57423 */\n "Enter": 0x1c, /* html:Enter (Enter) -> linux:28 (KEY_ENTER) -> atset1:28 */\n "Equal": 0xd, /* html:Equal (Equal) -> linux:13 (KEY_EQUAL) -> atset1:13 */\n "Escape": 0x1, /* html:Escape (Escape) -> linux:1 (KEY_ESC) -> atset1:1 */\n "F1": 0x3b, /* html:F1 (F1) -> linux:59 (KEY_F1) -> atset1:59 */\n "F10": 0x44, /* html:F10 (F10) -> linux:68 (KEY_F10) -> atset1:68 */\n "F11": 0x57, /* html:F11 (F11) -> linux:87 (KEY_F11) -> atset1:87 */\n "F12": 0x58, /* html:F12 (F12) -> linux:88 (KEY_F12) -> atset1:88 */\n "F13": 0x5d, /* html:F13 (F13) -> linux:183 (KEY_F13) -> atset1:93 */\n "F14": 0x5e, /* html:F14 (F14) -> linux:184 (KEY_F14) -> atset1:94 */\n "F15": 0x5f, /* html:F15 (F15) -> linux:185 (KEY_F15) -> atset1:95 */\n "F16": 0x55, /* html:F16 (F16) -> linux:186 (KEY_F16) -> atset1:85 */\n "F17": 0xe003, /* html:F17 (F17) -> linux:187 (KEY_F17) -> atset1:57347 */\n "F18": 0xe077, /* html:F18 (F18) -> linux:188 (KEY_F18) -> atset1:57463 */\n "F19": 0xe004, /* html:F19 (F19) -> linux:189 (KEY_F19) -> atset1:57348 */\n "F2": 0x3c, /* html:F2 (F2) -> linux:60 (KEY_F2) -> atset1:60 */\n "F20": 0x5a, /* html:F20 (F20) -> linux:190 (KEY_F20) -> atset1:90 */\n "F21": 0x74, /* html:F21 (F21) -> linux:191 (KEY_F21) -> atset1:116 */\n "F22": 0xe079, /* html:F22 (F22) -> linux:192 (KEY_F22) -> atset1:57465 */\n "F23": 0x6d, /* html:F23 (F23) -> linux:193 (KEY_F23) -> atset1:109 */\n "F24": 0x6f, /* html:F24 (F24) -> linux:194 (KEY_F24) -> atset1:111 */\n "F3": 0x3d, /* html:F3 (F3) -> linux:61 (KEY_F3) -> atset1:61 */\n "F4": 0x3e, /* html:F4 (F4) -> linux:62 (KEY_F4) -> atset1:62 */\n "F5": 0x3f, /* html:F5 (F5) -> linux:63 (KEY_F5) -> atset1:63 */\n "F6": 0x40, /* html:F6 (F6) -> linux:64 (KEY_F6) -> atset1:64 */\n "F7": 0x41, /* html:F7 (F7) -> linux:65 (KEY_F7) -> atset1:65 */\n "F8": 0x42, /* html:F8 (F8) -> linux:66 (KEY_F8) -> atset1:66 */\n "F9": 0x43, /* html:F9 (F9) -> linux:67 (KEY_F9) -> atset1:67 */\n "Find": 0xe041, /* html:Find (Find) -> linux:136 (KEY_FIND) -> atset1:57409 */\n "Help": 0xe075, /* html:Help (Help) -> linux:138 (KEY_HELP) -> atset1:57461 */\n "Hiragana": 0x77, /* html:Hiragana (Lang4) -> linux:91 (KEY_HIRAGANA) -> atset1:119 */\n "Home": 0xe047, /* html:Home (Home) -> linux:102 (KEY_HOME) -> atset1:57415 */\n "Insert": 0xe052, /* html:Insert (Insert) -> linux:110 (KEY_INSERT) -> atset1:57426 */\n "IntlBackslash": 0x56, /* html:IntlBackslash (IntlBackslash) -> linux:86 (KEY_102ND) -> atset1:86 */\n "IntlRo": 0x73, /* html:IntlRo (IntlRo) -> linux:89 (KEY_RO) -> atset1:115 */\n "IntlYen": 0x7d, /* html:IntlYen (IntlYen) -> linux:124 (KEY_YEN) -> atset1:125 */\n "KanaMode": 0x70, /* html:KanaMode (KanaMode) -> linux:93 (KEY_KATAKANAHIRAGANA) -> atset1:112 */\n "Katakana": 0x78, /* html:Katakana (Lang3) -> linux:90 (KEY_KATAKANA) -> atset1:120 */\n "KeyA": 0x1e, /* html:KeyA (KeyA) -> linux:30 (KEY_A) -> atset1:30 */\n "KeyB": 0x30, /* html:KeyB (KeyB) -> linux:48 (KEY_B) -> atset1:48 */\n "KeyC": 0x2e, /* html:KeyC (KeyC) -> linux:46 (KEY_C) -> atset1:46 */\n "KeyD": 0x20, /* html:KeyD (KeyD) -> linux:32 (KEY_D) -> atset1:32 */\n "KeyE": 0x12, /* html:KeyE (KeyE) -> linux:18 (KEY_E) -> atset1:18 */\n "KeyF": 0x21, /* html:KeyF (KeyF) -> linux:33 (KEY_F) -> atset1:33 */\n "KeyG": 0x22, /* html:KeyG (KeyG) -> linux:34 (KEY_G) -> atset1:34 */\n "KeyH": 0x23, /* html:KeyH (KeyH) -> linux:35 (KEY_H) -> atset1:35 */\n "KeyI": 0x17, /* html:KeyI (KeyI) -> linux:23 (KEY_I) -> atset1:23 */\n "KeyJ": 0x24, /* html:KeyJ (KeyJ) -> linux:36 (KEY_J) -> atset1:36 */\n "KeyK": 0x25, /* html:KeyK (KeyK) -> linux:37 (KEY_K) -> atset1:37 */\n "KeyL": 0x26, /* html:KeyL (KeyL) -> linux:38 (KEY_L) -> atset1:38 */\n "KeyM": 0x32, /* html:KeyM (KeyM) -> linux:50 (KEY_M) -> atset1:50 */\n "KeyN": 0x31, /* html:KeyN (KeyN) -> linux:49 (KEY_N) -> atset1:49 */\n "KeyO": 0x18, /* html:KeyO (KeyO) -> linux:24 (KEY_O) -> atset1:24 */\n "KeyP": 0x19, /* html:KeyP (KeyP) -> linux:25 (KEY_P) -> atset1:25 */\n "KeyQ": 0x10, /* html:KeyQ (KeyQ) -> linux:16 (KEY_Q) -> atset1:16 */\n "KeyR": 0x13, /* html:KeyR (KeyR) -> linux:19 (KEY_R) -> atset1:19 */\n "KeyS": 0x1f, /* html:KeyS (KeyS) -> linux:31 (KEY_S) -> atset1:31 */\n "KeyT": 0x14, /* html:KeyT (KeyT) -> linux:20 (KEY_T) -> atset1:20 */\n "KeyU": 0x16, /* html:KeyU (KeyU) -> linux:22 (KEY_U) -> atset1:22 */\n "KeyV": 0x2f, /* html:KeyV (KeyV) -> linux:47 (KEY_V) -> atset1:47 */\n "KeyW": 0x11, /* html:KeyW (KeyW) -> linux:17 (KEY_W) -> atset1:17 */\n "KeyX": 0x2d, /* html:KeyX (KeyX) -> linux:45 (KEY_X) -> atset1:45 */\n "KeyY": 0x15, /* html:KeyY (KeyY) -> linux:21 (KEY_Y) -> atset1:21 */\n "KeyZ": 0x2c, /* html:KeyZ (KeyZ) -> linux:44 (KEY_Z) -> atset1:44 */\n "Lang3": 0x78, /* html:Lang3 (Lang3) -> linux:90 (KEY_KATAKANA) -> atset1:120 */\n "Lang4": 0x77, /* html:Lang4 (Lang4) -> linux:91 (KEY_HIRAGANA) -> atset1:119 */\n "Lang5": 0x76, /* html:Lang5 (Lang5) -> linux:85 (KEY_ZENKAKUHANKAKU) -> atset1:118 */\n "LaunchApp1": 0xe06b, /* html:LaunchApp1 (LaunchApp1) -> linux:157 (KEY_COMPUTER) -> atset1:57451 */\n "LaunchApp2": 0xe021, /* html:LaunchApp2 (LaunchApp2) -> linux:140 (KEY_CALC) -> atset1:57377 */\n "LaunchMail": 0xe06c, /* html:LaunchMail (LaunchMail) -> linux:155 (KEY_MAIL) -> atset1:57452 */\n "MediaPlayPause": 0xe022, /* html:MediaPlayPause (MediaPlayPause) -> linux:164 (KEY_PLAYPAUSE) -> atset1:57378 */\n "MediaSelect": 0xe06d, /* html:MediaSelect (MediaSelect) -> linux:226 (KEY_MEDIA) -> atset1:57453 */\n "MediaStop": 0xe024, /* html:MediaStop (MediaStop) -> linux:166 (KEY_STOPCD) -> atset1:57380 */\n "MediaTrackNext": 0xe019, /* html:MediaTrackNext (MediaTrackNext) -> linux:163 (KEY_NEXTSONG) -> atset1:57369 */\n "MediaTrackPrevious": 0xe010, /* html:MediaTrackPrevious (MediaTrackPrevious) -> linux:165 (KEY_PREVIOUSSONG) -> atset1:57360 */\n "MetaLeft": 0xe05b, /* html:MetaLeft (MetaLeft) -> linux:125 (KEY_LEFTMETA) -> atset1:57435 */\n "MetaRight": 0xe05c, /* html:MetaRight (MetaRight) -> linux:126 (KEY_RIGHTMETA) -> atset1:57436 */\n "Minus": 0xc, /* html:Minus (Minus) -> linux:12 (KEY_MINUS) -> atset1:12 */\n "NonConvert": 0x7b, /* html:NonConvert (NonConvert) -> linux:94 (KEY_MUHENKAN) -> atset1:123 */\n "NumLock": 0x45, /* html:NumLock (NumLock) -> linux:69 (KEY_NUMLOCK) -> atset1:69 */\n "Numpad0": 0x52, /* html:Numpad0 (Numpad0) -> linux:82 (KEY_KP0) -> atset1:82 */\n "Numpad1": 0x4f, /* html:Numpad1 (Numpad1) -> linux:79 (KEY_KP1) -> atset1:79 */\n "Numpad2": 0x50, /* html:Numpad2 (Numpad2) -> linux:80 (KEY_KP2) -> atset1:80 */\n "Numpad3": 0x51, /* html:Numpad3 (Numpad3) -> linux:81 (KEY_KP3) -> atset1:81 */\n "Numpad4": 0x4b, /* html:Numpad4 (Numpad4) -> linux:75 (KEY_KP4) -> atset1:75 */\n "Numpad5": 0x4c, /* html:Numpad5 (Numpad5) -> linux:76 (KEY_KP5) -> atset1:76 */\n "Numpad6": 0x4d, /* html:Numpad6 (Numpad6) -> linux:77 (KEY_KP6) -> atset1:77 */\n "Numpad7": 0x47, /* html:Numpad7 (Numpad7) -> linux:71 (KEY_KP7) -> atset1:71 */\n "Numpad8": 0x48, /* html:Numpad8 (Numpad8) -> linux:72 (KEY_KP8) -> atset1:72 */\n "Numpad9": 0x49, /* html:Numpad9 (Numpad9) -> linux:73 (KEY_KP9) -> atset1:73 */\n "NumpadAdd": 0x4e, /* html:NumpadAdd (NumpadAdd) -> linux:78 (KEY_KPPLUS) -> atset1:78 */\n "NumpadComma": 0x7e, /* html:NumpadComma (NumpadComma) -> linux:121 (KEY_KPCOMMA) -> atset1:126 */\n "NumpadDecimal": 0x53, /* html:NumpadDecimal (NumpadDecimal) -> linux:83 (KEY_KPDOT) -> atset1:83 */\n "NumpadDivide": 0xe035, /* html:NumpadDivide (NumpadDivide) -> linux:98 (KEY_KPSLASH) -> atset1:57397 */\n "NumpadEnter": 0xe01c, /* html:NumpadEnter (NumpadEnter) -> linux:96 (KEY_KPENTER) -> atset1:57372 */\n "NumpadEqual": 0x59, /* html:NumpadEqual (NumpadEqual) -> linux:117 (KEY_KPEQUAL) -> atset1:89 */\n "NumpadMultiply": 0x37, /* html:NumpadMultiply (NumpadMultiply) -> linux:55 (KEY_KPASTERISK) -> atset1:55 */\n "NumpadParenLeft": 0xe076, /* html:NumpadParenLeft (NumpadParenLeft) -> linux:179 (KEY_KPLEFTPAREN) -> atset1:57462 */\n "NumpadParenRight": 0xe07b, /* html:NumpadParenRight (NumpadParenRight) -> linux:180 (KEY_KPRIGHTPAREN) -> atset1:57467 */\n "NumpadSubtract": 0x4a, /* html:NumpadSubtract (NumpadSubtract) -> linux:74 (KEY_KPMINUS) -> atset1:74 */\n "Open": 0x64, /* html:Open (Open) -> linux:134 (KEY_OPEN) -> atset1:100 */\n "PageDown": 0xe051, /* html:PageDown (PageDown) -> linux:109 (KEY_PAGEDOWN) -> atset1:57425 */\n "PageUp": 0xe049, /* html:PageUp (PageUp) -> linux:104 (KEY_PAGEUP) -> atset1:57417 */\n "Paste": 0x65, /* html:Paste (Paste) -> linux:135 (KEY_PASTE) -> atset1:101 */\n "Pause": 0xe046, /* html:Pause (Pause) -> linux:119 (KEY_PAUSE) -> atset1:57414 */\n "Period": 0x34, /* html:Period (Period) -> linux:52 (KEY_DOT) -> atset1:52 */\n "Power": 0xe05e, /* html:Power (Power) -> linux:116 (KEY_POWER) -> atset1:57438 */\n "PrintScreen": 0x54, /* html:PrintScreen (PrintScreen) -> linux:99 (KEY_SYSRQ) -> atset1:84 */\n "Props": 0xe006, /* html:Props (Props) -> linux:130 (KEY_PROPS) -> atset1:57350 */\n "Quote": 0x28, /* html:Quote (Quote) -> linux:40 (KEY_APOSTROPHE) -> atset1:40 */\n "ScrollLock": 0x46, /* html:ScrollLock (ScrollLock) -> linux:70 (KEY_SCROLLLOCK) -> atset1:70 */\n "Semicolon": 0x27, /* html:Semicolon (Semicolon) -> linux:39 (KEY_SEMICOLON) -> atset1:39 */\n "ShiftLeft": 0x2a, /* html:ShiftLeft (ShiftLeft) -> linux:42 (KEY_LEFTSHIFT) -> atset1:42 */\n "ShiftRight": 0x36, /* html:ShiftRight (ShiftRight) -> linux:54 (KEY_RIGHTSHIFT) -> atset1:54 */\n "Slash": 0x35, /* html:Slash (Slash) -> linux:53 (KEY_SLASH) -> atset1:53 */\n "Sleep": 0xe05f, /* html:Sleep (Sleep) -> linux:142 (KEY_SLEEP) -> atset1:57439 */\n "Space": 0x39, /* html:Space (Space) -> linux:57 (KEY_SPACE) -> atset1:57 */\n "Suspend": 0xe025, /* html:Suspend (Suspend) -> linux:205 (KEY_SUSPEND) -> atset1:57381 */\n "Tab": 0xf, /* html:Tab (Tab) -> linux:15 (KEY_TAB) -> atset1:15 */\n "Undo": 0xe007, /* html:Undo (Undo) -> linux:131 (KEY_UNDO) -> atset1:57351 */\n "WakeUp": 0xe063 /* html:WakeUp (WakeUp) -> linux:143 (KEY_WAKEUP) -> atset1:57443 */\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/xtscancodes.js?')},Plam:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('\n// UNUSED EXPORTS: onPreviewImage\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/style/index.js\nvar style = __webpack_require__("giR+");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/input-number/index.js + 1 modules\nvar input_number = __webpack_require__("fyUT");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js\nvar modal_style = __webpack_require__("2qtc");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 10 modules\nvar modal = __webpack_require__("kLXV");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/pagination/style/index.js\nvar pagination_style = __webpack_require__("DjyN");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/pagination/index.js + 7 modules\nvar pagination = __webpack_require__("NUBc");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__("WmNS");\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\nvar asyncToGenerator = __webpack_require__("9og8");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectSpread2.js + 1 modules\nvar objectSpread2 = __webpack_require__("k1fw");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/index.less\nvar discuss = __webpack_require__("8Abk");\n\n// EXTERNAL MODULE: ./src/components/Spinner/index.tsx\nvar Spinner = __webpack_require__("IxHN");\n\n// EXTERNAL MODULE: ./src/components/modal.tsx\nvar components_modal = __webpack_require__("M8RZ");\n\n// EXTERNAL MODULE: ./src/components/NoData/index.tsx\nvar NoData = __webpack_require__("BdwD");\n\n// EXTERNAL MODULE: ./src/pages/tasks/constant.js\nvar constant = __webpack_require__("fXAG");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/service.js\nvar service = __webpack_require__("mCJh");\n\n// EXTERNAL MODULE: ./src/utils/env.ts\nvar env = __webpack_require__("m3rI");\n\n// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules\nvar RenderHtml = __webpack_require__("9Bee");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/discuss-item/index.less\nvar discuss_item = __webpack_require__("Ypxr");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/discuss-editor/index.tsx\nvar discuss_editor = __webpack_require__("AMnG");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/discuss/discuss-item/index.jsx\n\n\n\n\n\n\nfunction SecondLevelDiscuss(_ref) {\n var data = _ref.data,\n index = _ref.index,\n adminOrOperator = _ref.adminOrOperator,\n parentDiscussIndex = _ref.parentDiscussIndex,\n shixunIdentifier = _ref.shixunIdentifier,\n user = _ref.user,\n onSetRewardData = _ref.onSetRewardData,\n onSetActionType = _ref.onSetActionType;\n var author = data.author,\n can_delete = data.can_delete,\n content = data.content,\n hidden = data.hidden,\n id = data.id,\n reward = data.reward,\n time = data.time;\n\n function onRewardDialog() {\n onSetRewardData({\n id,\n index,\n user_id: author.user_id,\n parentDiscussIndex\n });\n }\n\n function onHiddenDiscuss() {\n onSetActionType({\n id,\n index,\n params: {\n hidden: !hidden ? \'1\' : \'0\',\n container_identifier: shixunIdentifier\n },\n type: \'hidden-discuss\',\n parentDiscussIndex,\n message: !hidden ? \'\u786e\u5b9a\u8981\u9690\u85cf\u8be5\u6761\u56de\u590d\u5417\' : \'\u786e\u5b9a\u8981\u53d6\u6d88\u9690\u85cf\u8be5\u6761\u56de\u590d\u5417\'\n });\n }\n\n function onDeleteDiscuss() {\n onSetActionType({\n id,\n index,\n type: \'delete-discuss\',\n parentDiscussIndex,\n message: \'\u786e\u5b9a\u8981\u5220\u9664\u8be5\u6761\u56de\u590d\u5417\'\n });\n }\n\n var canDelete = adminOrOperator || can_delete || author.user_id === user.user_id || author.login === user.login;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "second-level-discuss"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "discuss-info-body"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "discuss-info"\n }, /*#__PURE__*/react_default.a.createElement("a", {\n href: "/users/".concat(author.login),\n target: "_blank"\n }, author.name), /*#__PURE__*/react_default.a.createElement("span", {\n className: "grey"\n }, time), reward ? /*#__PURE__*/react_default.a.createElement("a", {\n className: "c-orange gift",\n title: "\\u5DF2\\u5956\\u52B1\\u91D1\\u5E01".concat(reward)\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-gift c-orange "\n }), /*#__PURE__*/react_default.a.createElement("span", null, reward)) : null), /*#__PURE__*/react_default.a.createElement("div", {\n className: "btn-group"\n }, adminOrOperator ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onRewardDialog,\n title: \'\u7ed9TA\u5956\u52b1\u91d1\u5e01\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-jiangli"\n })) : null, adminOrOperator ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onHiddenDiscuss,\n title: hidden ? \'\u53d6\u6d88\u9690\u85cf\' : \'\u9690\u85cf\u8bc4\u8bba\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: hidden ? \'iconfont icon-yincangbiyan\' : \'fa fa-eye\'\n })) : null, canDelete ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onDeleteDiscuss,\n title: "\\u5220\\u9664"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-shanchu"\n })) : null)), /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n className: "discuss-content",\n value: content\n }));\n}\n\n/* harmony default export */ var discuss_discuss_item = ((_ref2) => {\n var data = _ref2.data,\n index = _ref2.index,\n shixunIdentifier = _ref2.shixunIdentifier,\n adminOrOperator = _ref2.adminOrOperator,\n identity = _ref2.identity,\n onTopOrDownDiscuss = _ref2.onTopOrDownDiscuss,\n onPlusDiscuss = _ref2.onPlusDiscuss,\n onSetActionType = _ref2.onSetActionType,\n onSetRewardData = _ref2.onSetRewardData,\n user = _ref2.user,\n activeDiscussIndex = _ref2.activeDiscussIndex,\n onReplyDiscuss = _ref2.onReplyDiscuss,\n onSetActiveDiscussIndex = _ref2.onSetActiveDiscussIndex;\n var content = data.content,\n children = data.children,\n game_url = data.game_url,\n hidden = data.hidden,\n id = data.id,\n position = data.position,\n praise_count = data.praise_count,\n reward = data.reward,\n sticky = data.sticky,\n time = data.time,\n user_praise = data.user_praise,\n game_passed = data.game_passed,\n author = data.author;\n\n function onActiveDiscussIndex() {\n onSetActiveDiscussIndex(id);\n }\n\n function onTopOrDown() {\n onTopOrDownDiscuss(id, !sticky, index);\n }\n\n function onPlus() {\n onPlusDiscuss(id, !user_praise, index);\n }\n\n function onRewardDialog() {\n onSetRewardData({\n id,\n index,\n user_id: author.user_id\n });\n }\n\n function onDeleteDiscuss() {\n onSetActionType({\n id,\n index,\n type: \'delete-discuss\',\n message: \'\u786e\u5b9a\u8981\u5220\u9664\u8be5\u6761\u56de\u590d\u5417\'\n });\n }\n\n function onHiddenDiscuss() {\n onSetActionType({\n id,\n index,\n params: {\n hidden: !hidden ? \'1\' : \'0\',\n container_identifier: shixunIdentifier\n },\n type: \'hidden-discuss\',\n message: !hidden ? \'\u786e\u5b9a\u8981\u9690\u85cf\u8be5\u6761\u56de\u590d\u5417\' : \'\u786e\u5b9a\u8981\u53d6\u6d88\u9690\u85cf\u8be5\u6761\u56de\u590d\u5417\'\n });\n }\n\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "discuss-item-container",\n key: id\n }, /*#__PURE__*/react_default.a.createElement("a", {\n href: "/users/".concat(author.login),\n target: "_blank"\n }, /*#__PURE__*/react_default.a.createElement("img", {\n alt: "\\u7528\\u6237\\u5934\\u50CF",\n height: "50",\n src: "".concat(env["a" /* default */].IMG_SERVER, "images/").concat(author.image_url),\n width: "50"\n })), /*#__PURE__*/react_default.a.createElement("section", null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "discuss-info"\n }, /*#__PURE__*/react_default.a.createElement("a", {\n href: "/users/".concat(author.login),\n target: "_blank"\n }, author.name), /*#__PURE__*/react_default.a.createElement("span", {\n className: "grey"\n }, time), position ? /*#__PURE__*/react_default.a.createElement("span", {\n className: "c-green"\n }, " [\\u7B2C", position, "\\u5173] ") : null, game_url ? /*#__PURE__*/react_default.a.createElement("a", {\n href: game_url,\n target: "_blank",\n className: "view-code",\n title: "\\u70B9\\u51FB\\u67E5\\u770BTA\\u7684\\u4EE3\\u7801\\u9875\\u9762"\n }, "\\u67E5\\u770B") : null, sticky ? /*#__PURE__*/react_default.a.createElement("span", {\n className: "top"\n }, "\\u7F6E\\u9876") : null, reward ? /*#__PURE__*/react_default.a.createElement("a", {\n className: "c-orange gift",\n title: "\\u5DF2\\u5956\\u52B1\\u91D1\\u5E01".concat(reward)\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-gift c-orange "\n }), /*#__PURE__*/react_default.a.createElement("span", null, reward)) : null, identity <= 5 ? /*#__PURE__*/react_default.a.createElement("span", {\n style: {\n flex: \'1\',\n textAlign: \'right\',\n color: game_passed === 1 ? \'#29bd8b\' : \'\'\n }\n }, game_passed === 1 ? \'\u5df2\u901a\u5173\' : \'\u672a\u901a\u5173\') : null), /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n className: "discuss-content",\n value: content\n }), children && children.length > 0 ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "reply-discuss-container"\n }, children.map((item, i) => /*#__PURE__*/react_default.a.createElement(SecondLevelDiscuss, {\n key: item.id,\n data: item,\n index: i,\n shixunIdentifier: shixunIdentifier,\n adminOrOperator: adminOrOperator,\n user: user,\n onSetRewardData: onSetRewardData,\n onSetActionType: onSetActionType,\n parentDiscussIndex: index\n }))) : null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "btn-group"\n }, adminOrOperator ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onRewardDialog,\n title: \'\u7ed9TA\u5956\u52b1\u91d1\u5e01\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-jiangli"\n })) : null, adminOrOperator ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onHiddenDiscuss,\n title: hidden ? \'\u53d6\u6d88\u9690\u85cf\' : \'\u9690\u85cf\u8bc4\u8bba\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: hidden ? \'iconfont icon-yincangbiyan\' : \'fa fa-eye\'\n })) : null, identity <= 5 ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onTopOrDown,\n className: sticky ? \'btn-top\' : \'btn-down\',\n title: sticky ? \'\u53d6\u6d88\u7f6e\u9876\' : \'\u7f6e\u9876\'\n }, \' \', /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-zhiding1 "\n })) : null, adminOrOperator && (!children || children.length == 0) ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onDeleteDiscuss,\n title: "\\u5220\\u9664"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-shanchu"\n })) : null, /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onActiveDiscussIndex,\n title: "\\u56DE\\u590D"\n }, \' \', /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-huifu1"\n })), /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onPlus,\n className: user_praise ? \'c-orange\' : \'\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: user_praise ? \'iconfont icon-dianzan mr3\' : \'iconfont icon-dianzan-xian mr3 \'\n }), /*#__PURE__*/react_default.a.createElement("span", null, praise_count ? praise_count : \'\'))), /*#__PURE__*/react_default.a.createElement(discuss_editor["a" /* default */], {\n id: id,\n activeDiscussIndex: activeDiscussIndex,\n onReplyDiscuss: onReplyDiscuss\n })));\n});\n// EXTERNAL MODULE: ./src/components/mediator.js\nvar mediator = __webpack_require__("dhSg");\n\n// EXTERNAL MODULE: ./src/components/image-preview/index.tsx\nvar image_preview = __webpack_require__("kaH+");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/discuss/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction onPreviewImage(e) {\n var t = e.target;\n\n if (t.tagName.toUpperCase() === \'IMG\') {\n var url = t.src || t.getAttribute(\'src\');\n\n if (url && url.indexOf(\'/images/avatars/User\') === -1) {\n e.stopPropagation();\n e.preventDefault();\n mediator["a" /* default */].publish(\'preview-image\', url);\n }\n }\n}\nvar initialState = {\n showRewardDialog: false,\n data: null,\n page: 1,\n loading: false,\n actionType: null,\n activeDiscussIndex: null\n};\n\nfunction reducer(state, action) {\n switch (action.type) {\n case constant["N" /* SHOW_DISCUSSES_LOADING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: true\n });\n\n case constant["U" /* SHOW_REWARD_DIALOG */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showRewardDialog: true\n });\n\n case constant["b" /* CANCEL_REWARD_DIALOG */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showRewardDialog: false\n });\n\n case constant["k" /* GET_DISCUSSES */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["X" /* TOP_OR_DOWN_DISCUSS */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["v" /* PLUS_DISCUSS */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["x" /* SET_ACTION_TYPE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["F" /* SET_REWARD */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["a" /* ACTIVE_DISCUSS_INDEX */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n default:\n throw new Error();\n }\n}\n\n/* harmony default export */ var left_panel_discuss = __webpack_exports__["a"] = ((_ref) => {\n var shixunIdentifier = _ref.shixunIdentifier,\n identity = _ref.identity,\n activeIndex = _ref.activeIndex,\n user = _ref.user,\n _ref$isShixunDetail = _ref.isShixunDetail,\n isShixunDetail = _ref$isShixunDetail === void 0 ? false : _ref$isShixunDetail;\n\n var _useReducer = Object(react["useReducer"])(reducer, initialState),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var page = state.page,\n loading = state.loading,\n data = state.data,\n actionType = state.actionType,\n showRewardDialog = state.showRewardDialog,\n activeDiscussIndex = state.activeDiscussIndex;\n var rewardData = Object(react["useRef"])();\n var discussEl = Object(react["useRef"])();\n\n function getDiscusses(_x) {\n return _getDiscusses.apply(this, arguments);\n }\n\n function _getDiscusses() {\n _getDiscusses = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2(value) {\n var response;\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!loading) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt("return");\n\n case 2:\n _context2.prev = 2;\n dispatch({\n type: constant["N" /* SHOW_DISCUSSES_LOADING */]\n });\n _context2.next = 6;\n return Object(service["c" /* fetchDiscusses */])(shixunIdentifier, value);\n\n case 6:\n response = _context2.sent;\n dispatch({\n type: constant["k" /* GET_DISCUSSES */],\n payload: {\n activeDiscussIndex: null,\n page: value,\n data: response,\n loading: false\n }\n });\n _context2.next = 13;\n break;\n\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2["catch"](2);\n console.log(_context2.t0);\n\n case 13:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[2, 10]]);\n }));\n return _getDiscusses.apply(this, arguments);\n }\n\n function onPaginationChange(value) {\n getDiscusses(value);\n }\n\n function onPlusDiscuss(_x2, _x3, _x4) {\n return _onPlusDiscuss.apply(this, arguments);\n }\n\n function _onPlusDiscuss() {\n _onPlusDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3(id, user_praise, index) {\n var response;\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.prev = 0;\n _context3.next = 3;\n return Object(service["e" /* plusDiscuss */])(id, user_praise);\n\n case 3:\n response = _context3.sent;\n comments[index].user_praise = user_praise;\n comments[index].praise_count = response.praise_count;\n dispatch({\n type: constant["v" /* PLUS_DISCUSS */],\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n comments\n })\n }\n });\n _context3.next = 12;\n break;\n\n case 9:\n _context3.prev = 9;\n _context3.t0 = _context3["catch"](0);\n console.log(_context3.t0);\n\n case 12:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3, null, [[0, 9]]);\n }));\n return _onPlusDiscuss.apply(this, arguments);\n }\n\n function onTopOrDownDiscuss(_x5, _x6, _x7) {\n return _onTopOrDownDiscuss.apply(this, arguments);\n }\n\n function _onTopOrDownDiscuss() {\n _onTopOrDownDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4(id, sticky, index) {\n return regenerator_default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n _context4.next = 3;\n return Object(service["h" /* topOrDownDiscuss */])(id, sticky);\n\n case 3:\n comments[index].sticky = sticky;\n dispatch({\n type: constant["X" /* TOP_OR_DOWN_DISCUSS */],\n payload: {\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n comments\n })\n }\n });\n _context4.next = 10;\n break;\n\n case 7:\n _context4.prev = 7;\n _context4.t0 = _context4["catch"](0);\n console.log(_context4.t0);\n\n case 10:\n case "end":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[0, 7]]);\n }));\n return _onTopOrDownDiscuss.apply(this, arguments);\n }\n\n function onCancelAction() {\n dispatch({\n type: constant["x" /* SET_ACTION_TYPE */],\n payload: {\n actionType: null\n }\n });\n }\n\n function onProcessAction() {\n return _onProcessAction.apply(this, arguments);\n }\n\n function _onProcessAction() {\n _onProcessAction = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {\n var id, params, type, index, parentDiscussIndex, secondDicusses, i, _i;\n\n return regenerator_default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n id = actionType.id, params = actionType.params, type = actionType.type, index = actionType.index, parentDiscussIndex = actionType.parentDiscussIndex;\n\n if (!(type === \'hidden-discuss\')) {\n _context5.next = 6;\n break;\n }\n\n _context5.next = 4;\n return Object(service["d" /* hiddenDiscuss */])(id, params);\n\n case 4:\n if (!parentDiscussIndex) {\n comments[index].hidden = params.hidden == 1 ? true : false;\n } else {\n comments[parentDiscussIndex].children[index].hidden = params.hidden == 1 ? true : false;\n }\n\n dispatch({\n type: constant["x" /* SET_ACTION_TYPE */],\n payload: {\n actionType: null,\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n comments\n })\n }\n });\n\n case 6:\n if (!(type === \'delete-discuss\')) {\n _context5.next = 31;\n break;\n }\n\n _context5.next = 9;\n return Object(service["b" /* deleteDiscuss */])(id);\n\n case 9:\n if (!(parentDiscussIndex || parentDiscussIndex === 0)) {\n _context5.next = 22;\n break;\n }\n\n secondDicusses = comments[parentDiscussIndex].children;\n i = secondDicusses.length - 1;\n\n case 12:\n if (!(i >= 0)) {\n _context5.next = 19;\n break;\n }\n\n if (!(secondDicusses[i].id === id)) {\n _context5.next = 16;\n break;\n }\n\n secondDicusses.splice(i, 1);\n return _context5.abrupt("break", 19);\n\n case 16:\n i--;\n _context5.next = 12;\n break;\n\n case 19:\n comments[parentDiscussIndex].children = secondDicusses;\n _context5.next = 30;\n break;\n\n case 22:\n _i = comments.length - 1;\n\n case 23:\n if (!(_i >= 0)) {\n _context5.next = 30;\n break;\n }\n\n if (!(comments[_i].id === id)) {\n _context5.next = 27;\n break;\n }\n\n comments.splice(_i, 1);\n return _context5.abrupt("break", 30);\n\n case 27:\n _i--;\n _context5.next = 23;\n break;\n\n case 30:\n dispatch({\n type: constant["x" /* SET_ACTION_TYPE */],\n payload: {\n actionType: null,\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n comments\n })\n }\n });\n\n case 31:\n case "end":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n return _onProcessAction.apply(this, arguments);\n }\n\n function onSetActionType(value) {\n dispatch({\n type: constant["x" /* SET_ACTION_TYPE */],\n payload: {\n actionType: value\n }\n });\n }\n\n function onCancelRewardDialog() {\n dispatch({\n type: constant["b" /* CANCEL_REWARD_DIALOG */]\n });\n }\n\n function onRewardDiscuss() {\n return _onRewardDiscuss.apply(this, arguments);\n }\n\n function _onRewardDiscuss() {\n _onRewardDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6() {\n var _rewardData$current, id, index, score, user_id, parentDiscussIndex, response;\n\n return regenerator_default.a.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _rewardData$current = rewardData.current, id = _rewardData$current.id, index = _rewardData$current.index, score = _rewardData$current.score, user_id = _rewardData$current.user_id, parentDiscussIndex = _rewardData$current.parentDiscussIndex;\n _context6.next = 3;\n return Object(service["g" /* rewardDiscuss */])(id, {\n container_type: \'Discusses\',\n score,\n user_id\n });\n\n case 3:\n response = _context6.sent;\n\n if (!parentDiscussIndex) {\n comments[index].reward = response.code;\n } else {\n comments[parentDiscussIndex].children[index].reward = response.code;\n }\n\n dispatch({\n type: constant["F" /* SET_REWARD */],\n payload: {\n showRewardDialog: false,\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, data), {}, {\n comments\n })\n }\n });\n rewardData.current = null;\n\n case 7:\n case "end":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n return _onRewardDiscuss.apply(this, arguments);\n }\n\n function onSetRewardData(value) {\n rewardData.current = value;\n dispatch({\n type: constant["U" /* SHOW_REWARD_DIALOG */]\n });\n }\n\n function onSetDiscussScore(value) {\n rewardData.current.score = value;\n }\n\n function onReplyDiscuss(_x8, _x9) {\n return _onReplyDiscuss.apply(this, arguments);\n }\n\n function _onReplyDiscuss() {\n _onReplyDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee7(id, value) {\n return regenerator_default.a.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.prev = 0;\n _context7.next = 3;\n return Object(service["f" /* replyDiscuss */])(id, value);\n\n case 3:\n getDiscusses(page);\n _context7.next = 9;\n break;\n\n case 6:\n _context7.prev = 6;\n _context7.t0 = _context7["catch"](0);\n console.log(_context7.t0);\n\n case 9:\n case "end":\n return _context7.stop();\n }\n }\n }, _callee7, null, [[0, 6]]);\n }));\n return _onReplyDiscuss.apply(this, arguments);\n }\n\n function onSetActiveDiscussIndex(value) {\n if (activeDiscussIndex === value) {\n dispatch({\n type: constant["a" /* ACTIVE_DISCUSS_INDEX */],\n payload: {\n activeDiscussIndex: null\n }\n });\n } else {\n dispatch({\n type: constant["a" /* ACTIVE_DISCUSS_INDEX */],\n payload: {\n activeDiscussIndex: value\n }\n });\n }\n }\n\n Object(react["useEffect"])(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n\n function _init() {\n _init = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(activeIndex === 3 && !data)) {\n _context.next = 3;\n break;\n }\n\n _context.next = 3;\n return getDiscusses(page);\n\n case 3:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _init.apply(this, arguments);\n }\n\n init();\n }, [shixunIdentifier, activeIndex, page, dispatch]);\n Object(react["useEffect"])(() => {\n if (discussEl.current) {\n discussEl.current.addEventListener(\'mousedown\', onPreviewImage);\n return () => {\n discussEl.current.removeEventListener(\'mousedown\', onPreviewImage);\n };\n }\n }, [discussEl.current, data]);\n Object(react["useEffect"])(() => {\n var unSub = mediator["a" /* default */].subscribe(\'create-discuss\', () => {\n getDiscusses(page);\n });\n return unSub;\n }, [shixunIdentifier]);\n\n if (!data) {\n return !isShixunDetail && /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], null);\n }\n\n var disscuss_count = data.disscuss_count,\n comments = data.comments,\n all = data.all;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "discuss-container",\n ref: discussEl\n }, !isShixunDetail && loading ? /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], null) : null, disscuss_count === 0 ? /*#__PURE__*/react_default.a.createElement(NoData["a" /* default */], null) : null, comments.map((item, index) => /*#__PURE__*/react_default.a.createElement(discuss_discuss_item, {\n user: user,\n key: item.id,\n data: item,\n index: index,\n identity: identity,\n onPaginationChange: onPaginationChange,\n shixunIdentifier: shixunIdentifier,\n onSetActionType: onSetActionType,\n onTopOrDownDiscuss: onTopOrDownDiscuss,\n adminOrOperator: all,\n onPlusDiscuss: onPlusDiscuss,\n onSetRewardData: onSetRewardData,\n activeDiscussIndex: activeDiscussIndex,\n onSetActiveDiscussIndex: onSetActiveDiscussIndex,\n onReplyDiscuss: onReplyDiscuss\n })), disscuss_count > 10 ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "pagination-container"\n }, /*#__PURE__*/react_default.a.createElement(pagination["a" /* default */], {\n showQuickJumper: true,\n onChange: onPaginationChange,\n current: page,\n total: disscuss_count\n })) : null), /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: "\\u63D0\\u793A",\n visible: !!actionType,\n onOk: onProcessAction,\n onCancel: onCancelAction\n }, /*#__PURE__*/react_default.a.createElement("p", null, actionType ? actionType.message : \'\')), /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n width: 400,\n title: "\\u5956\\u52B1\\u8BBE\\u7F6E",\n visible: showRewardDialog,\n onCancel: onCancelRewardDialog,\n onOk: onRewardDiscuss\n }, /*#__PURE__*/react_default.a.createElement(input_number["a" /* default */], {\n placeholder: "\\u8BF7\\u8F93\\u5165\\u5956\\u52B1\\u7684\\u91D1\\u5E01\\u6570\\u91CF",\n min: 1,\n onChange: onSetDiscussScore,\n style: {\n width: \'228px\'\n }\n })), /*#__PURE__*/react_default.a.createElement(image_preview["a" /* default */], null)));\n});\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss/index.jsx_+_1_modules?')},Q7Vx:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/unity3d-panel/index.less?")},QUgM:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/choose-repository/index.less?")},QV2g:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = makeTable;\n// Note: we can\'t get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c,\n table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = c & 1 ? 0xEDB88320 ^ c >>> 1 : c >>> 1;\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return crc ^ -1; // >>> 0;\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/zlib/crc32.js?')},Qs9O:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar FolderOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M880 298.4H521L403.7 186.2a8.15 8.15 0 00-5.5-2.2H144c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V330.4c0-17.7-14.3-32-32-32zM840 768H184V256h188.5l119.6 114.4H840V768z" } }] }, "name": "folder", "theme": "outlined" };\nexports.default = FolderOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/FolderOutlined.js?')},"S+dL":function(module,exports){eval('module.exports = "data:image/gif;base64,R0lGODlhFAAQAOZVAD6Q33p6ezZto2VnaW5vcDuCxiYvNysvM1tdXzNij5eXlyg0QTA0OExOUWZnaS8zN19hYzFYf0Oi/Sg1QoeHh2JjZWZoaTdzrTRmljl5tzFZgDBWez6P3Tl4tjl8uzdxqWBiYys/VCUqL39/gHV2dy4yNScyPDJeiEpNTzk8P0CX6jc7PiYuNWlqaywwNDZtojAzNytDWScrLitAVUGb8Xl6eoWFhTp+wDNgjWRmZ4+QkFdZWzo9QIODgyo/Uzh3syg0QCczPmprbTRllW9wcSotMVJUVjZupDuEylBSVUGb8kxPUZGRkTd0rUGc82JkZUKe9j2M1zg7P4iIiEOj/yUpLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6N0U3Nzk1NkY5QkRGMTFFQUIzQzFDQjY5MEVFODZDMDciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6N0U3Nzk1NzA5QkRGMTFFQUIzQzFDQjY5MEVFODZDMDciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3RTc3OTU2RDlCREYxMUVBQjNDMUNCNjkwRUU4NkMwNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3RTc3OTU2RTlCREYxMUVBQjNDMUNCNjkwRUU4NkMwNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgH//v38+/r5+Pf29fTz8vHw7+7t7Ovq6ejn5uXk4+Lh4N/e3dzb2tnY19bV1NPS0dDPzs3My8rJyMfGxcTDwsHAv769vLu6ubi3trW0s7KxsK+urayrqqmop6alpKOioaCfnp2cm5qZmJeWlZSTkpGQj46NjIuKiYiHhoWEg4KBgH9+fXx7enl4d3Z1dHNycXBvbm1sa2ppaGdmZWRjYmFgX15dXFtaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQUA/Pj08Ozo5ODc2NTQzMjEwLy4tLCsqKSgnJiUkIyIhIB8eHRwbGhkYFxYVFBMSERAPDg0MCwoJCAcGBQQDAgEAACH5BAUyAFUALAAAAAAUABAAAAd5gFWCg4RSLoSIiVUPFlNEhAwDCIoyST1TUwGCBwM6AweJPCSYmJpVCAMMgykgFRUtFKSlilVCsreZtAS4sqaJu7yzisDBvhAKyBDEvL6Iy7jNhA7BwoklKA0NRiO30bRFOzakpqiqtItPsTWbA0wWoOcrOUuEMA6TgQAh+QQFMgBVACwAAAAAFAAQAAAHeIBVgoOEISaEiIlVExlUSIQLAgmKIidOVFQAggYCNAIGiTFRmJiaVQkCC4MzHxcXHhKkpYpVN7K3mbQFuLKmibu8s4rAwb4YpBjEvL6IyrjMhB3BwolBGxEROCq30LQsQ1CkpqiqtItNsRybAkpHoOY+PxqEQC+TgQA7"\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/action-bar/notice.gif?')},Sa5k:function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__.p + "static/nothing.4d201a0a.png";\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/picture-panel/nothing.png?')},SgaC:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2012 Joel Martin\n * Copyright (C) 2018 Samuel Mannehed for Cendio AB\n * Copyright (C) 2018 Pierre Ossman for Cendio AB\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\nvar RREDecoder = function () {\n function RREDecoder() {\n _classCallCheck(this, RREDecoder);\n\n this._subrects = 0;\n }\n\n _createClass(RREDecoder, [{\n key: "decodeRect",\n value: function decodeRect(x, y, width, height, sock, display, depth) {\n if (this._subrects === 0) {\n if (sock.rQwait("RRE", 4 + 4)) {\n return false;\n }\n\n this._subrects = sock.rQshift32();\n\n var color = sock.rQshiftBytes(4); // Background\n display.fillRect(x, y, width, height, color);\n }\n\n while (this._subrects > 0) {\n if (sock.rQwait("RRE", 4 + 8)) {\n return false;\n }\n\n var _color = sock.rQshiftBytes(4);\n var sx = sock.rQshift16();\n var sy = sock.rQshift16();\n var swidth = sock.rQshift16();\n var sheight = sock.rQshift16();\n display.fillRect(x + sx, y + sy, swidth, sheight, _color);\n\n this._subrects--;\n }\n\n return true;\n }\n }]);\n\n return RREDecoder;\n}();\n\nexports.default = RREDecoder;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/decoders/rre.js?')},TVoq:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/test-case-list/diffPanel.less?")},Tl6Z:function(module,exports){eval('module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIsAAABuCAYAAAAXkODOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjY4Qjc0NjM3NTI4RTExRThBQTE0QjdDODQ4MEFBMzdGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjY4Qjc0NjM4NTI4RTExRThBQTE0QjdDODQ4MEFBMzdGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NjhCNzQ2MzU1MjhFMTFFOEFBMTRCN0M4NDgwQUEzN0YiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NjhCNzQ2MzY1MjhFMTFFOEFBMTRCN0M4NDgwQUEzN0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6LemY3AAAa7klEQVR42uxdCXPaytY8ArEaYzt2cm/efe///6+v3ktu4ngBm13Ah1zdUTMeLYCEuYmnSuUFEKOZnj7rnAnW67X94q21ucLN1cbvc1z1zVXzXG5byRXJtcDP36YFvxhY4sk+21yNzTXcXL3N1Y+fs6LvWwF4M1zTzbV+B8vptxgUFynssA8Igj1AtgZgJriid7CcRmticuKJvd5cnYIgmIkIiUTELPHz1RhBZNUhzkIwF68sQMXAGW2uccq938FyBJB8gP6R1+aYsBl+j8A8nOi6XAHAp7rLygFThJ8EW4D+tADWVgp41gDNE/rxDpaKWzyhl9BD8gAyxuREAEUbVyB6BpXUZc6qr3nYpYGfa9yH+orhe2LgdFNE4gT61PQdLNXpI5cZlM9JH2Di2pisOl4ju1QhChpiadXwPSP0JwbNOV736Tbs7ztYyujf5rrBxPvaGAM+hzjoASBjrOC30BMI1BB9GAFEffQvEMU3xOsPANc7WA5oH1OAMscAT2EqdzEBTydkgQRglp70bSlM0xQxtcbzPL2DpTxGoah5wiR0sXqfT9y/0RB/zwCi8QKiVVsskn6cqsl9imBpgFEazv9jgDxiVfYgap5LBGdNlNm5/L4qEYghQGJ4lhBmf8PRZ+5LfLZfFiwdACVwRM4dBvEKq2+45wTWoIiqnySEnqOm8j2YoCWAWWGCRyWZ/5cQo08A0IXznpE89ztYPBbPlbPCHmUwwz0UwUB8IG2AY2FJfCgS30me+cw+lTlgZ7geRfSGzkK5PRWxdCpg+QDFT03hW/x+BUoe73C/FlZvV8zZiVUfuwnxHMMdQF3D88+xMK6csYjv891OwJn31mDxKbJjKHm0cu4KDnwAXeYcA/soK5LW0jzjs80SfB4hJr4tZv1iB5bpQgQ2MS7qSf57h3v9cmCJJ+iT47AaYpKvREcocp8+rjnuMXHecwUg3afoHB30ZVKSo4wM07PE+VaEGRoA2xDA+CTKbwSGWfxuYPEBhRN5bUnwLa9xQug1naWIpE+ySv923teGUs3X/69EUVVDH/sAzUMB/SMAYB5FqW/JGE1/N7B8siRKvIbYGWNQVgVWTxOgqkG3me+gD333ME8HtD/DJJWtH9QsiWsNwTR5A9/Fe9jXP2C1fQFzRb8DWK4tCQYuoJPsQvvnGPhHxxlXT9Ft4on6S5hjiBXuview6l3uDTx/HQukyHO3wSY38rnPYMjoVwaLei1joHyz7VhJHj1fYPB8Xs4rvGfiYY4bfN8QA/7WpigDo8MCelkPTDLA58biYvhhR4x/HRMsbVAp2xc86Acxk7M+ew0mGaRQNsXSBKLGVThPzYXehK4U4flXOQpzA0x0iTH4BFb9toeOpf6nDsTujyJa+zFaDatbrZ4lBuuuwMq6wsNMUt4zxf3SUipPMdYST9BXgPxzjqUTYVKXIkKnljgy7wtaaHROdmzbS14/JWZRhXYOeXsD0GTJ7Uv4H4qYjGeWeGP/abmvNO2/54zHB7ArUzI+ZyjtgQCjba9jbTMR2Z+sgOPvGGBRPWUN8dPD5I9yBrALYB0716MsJ90ujYp7FmACsPE9FgQXYYRxrYtoaTvssbLtZPKlY3REKSL+aGKoZdth+DtLkpxHOYzSKRkotYLKYCjOsO8Zoq/s9iQsnAaYNcawi/cvME5xn//tEcMR+j/G/dKYYYzF8aY6i2bcj4Ds6xyFtg+RUjajXOH75wDCOKW/N+jrCL9/PaJYU8CkufeXeJ+7VaUGMMwEIEX7PSmyKKoES1ucYRGo8xoK2jpDme1XAJSmOMQiUHkffZkJm/VtO5eEFsvfORZHYOV5fZ+E3f4GG6rl0gDoW+Ibmsh1SD8y2bcKneUCD3Bl2y72Bv4eZoisa1g9ZXtQ/8AqvZfJvQaDTfB3aIk3WJVDJlr9SFEeOxkm/SHOu0/iLAwcUTQT/WNe8uK+PQazBJbEakLHTGYa4feUz9axgqsIxXfAELfyd9uSJKe26AJtAIjZ9w/o/1+W7HXm/qClJXGaZgljp+Bz52Uh4KgqzWJpr3chVCqGao7NvsKKo3s+rd1g9e4LlL5tb1xfYkADSyLYdUviThP0tW2vM+3pr+ngs2s8Q8+Sfc1TWfVjAGzXFjqiRbeqrAQYkyNZgwt8b9tSgpVlgSW+z58e5w7d60EGEJj7sW/OacOSdEvdXRiJvvRNGKAjsnkqTi6OBbdxcOtpICsukIlc4D5d+d5lQfYgm83xcyF9vrW3S3SaoH+VgqXrAcoKYLm214E7ZaIiCmQeUCPcQ8VaCHDULYmlMBttJczSF1BNxUrqiNk/syRSTMD1BXBUOMcZ7NEUVlo41supbDSbYKweqgKLTob7xQ2stmWGMjy2wxJ6NDDImEdbLAUVby2x0FYOOKjgjQQ4ExFJl8KQNEtrwlQtAY06xcaWeKpD/G9hp7l1hX30smRZ1tAfHuWIWx0eU8DSgOj6cqBMvrRk/5DZ9lZVbi0NHStiLave95qa8jXxz5hjxjY9TrN9/Byn1P7AgnmuSgwNPWBZ4P5ZrPIcBMFBytsG7C/6xeY+D5vf6+iHpkFMNq9Fm9eoM1yIfvDyWsbtn3F/fq7t8ZKqnyPuR6UpA5v+NDffMZe/q9JbKgFLbAl8cP7HQNcwQ3TEHfpfST6JzZitb2TiHjYDGv+vIZPbxesDvBYzRBcgWgO4KwFVWywVX2Otl/hz46oBImZ9c/N3/HzDCvWWS5+j8VCwcEedW91ggAdL00XOgdzVnoNHXaFLH0o8YfL/S6y4uSOeXsSHvEaAxIDobX5qaY6sRr1lvPn84hgAER3rafOd+1qOTXEhzDJM6KXoYKWBxTew9IhOMkzIM8d6KTJ4qjg2xSk2wGpj/m4sWkZgiPh/fYAogph4xt/xfa4AkLxxWKpT7FDRmfGMfLZMgMT931Hctez1BrYpnKA+OTb1mdCHgqWWAiB6RNPM7PkuSu1mcLhVYyq+m4b4KqZgiBDM0RMvLMVOE68VrRrFiO1o8/nKTFv0tSWKONu3zfdOPUB6WTCbv7dez7EWP3nmiqVBRhmi6KFMsKxSvmidIWLOrdh+IBfpMWN8x6QvNr8/gSHigb4Ak1ChfRJl9xoDnZcNtnbYY1EhQLoYB5bdoP9nDlZ5KdOxeR/3WzfFnxT38a4gULg4axlqRNp4h+akox4KlqlHlmfVh6XM3GnvS8wMth1X6gIMpOlHsEcbuofPrKUfYS4yuW6JW32G7zlmGwCYcwERrUrGowgkfV8IRupY/h6rWo7ulaW8d0xqxhwKlqV4Q2lCn1l6UZpzO7yUREiTm2Invi+A4jNr55aUzdBQwHNVukcB8L8ox1RiNz+vbLu4D8XnlhjC+9qizxQJC8yz2LqACV0aWLSqAEVPlm+lvati61hATGC6ADgaKYPAWEtosjFe/RMliJJriMNhihXTEUtt6vl8/Cx9S/ZgP+DnZ0zUCmKo44grAmlc0M/C8dCxGlt+ovzUNaEPBUtDdIGZbYftfe3Hvt5aKLAs5OMqohpvaeIBqedU5SQLYYU9Qy9QJZWrfpAhkgdQnueyGHrisLwSIA1gpkcUVzGQCvpa1ligXYzLbAdGYhR6UgZYmh6lKK0jHdszmirihg9Pl/pCABtgQB+t4gbQciD/4/heZkWcdAB/DexxJmPJ+nNzMhLYqiu6GF0BRR1zqz3FP0XRpCxmUeWxlSEHlzkiSifD3QRFv809vqcmfX+qWjEFWJU9fInRmutS5J7/EdGitVkY3GxD1LXFKqG4qomPqMqN8oxCW9nMMs/x2gYZXkNlD3pR6X299ZixK6s4SIf+XOAZm6p44jmpn1FRjJX3j/js3KHypUdkxDpDJGKoL2L0L/m+J4/F1JLxrxIsWyZ0WU45WkVpictMuZw5/2uBWpU9Yrr88QZmrG8hNGXVjyE6+hi8r1h1cWDvDtYNPcMt+XzTJwI8okqT2wfiaPRZTFNZnMMKx2DLhD4ELAEGoSWrfJ1hBbGkOcHREvb4nhP9rVr/6EAZnrrmrfNebhe9QyR7AqcfI8F0ntEieoAndpXTh76wPPNkrgGUUETVSEBLa6rofqhDRNHBYGH5CDKLr9PUPUjnfyp7xOO0efBjg8M1bZUdpzkT+pJFJnGaOZ7lQiZWzwbo5FksYKMLS/J6NQPvpwiSVAk3ntW1asugTtC/4FBmUX2lIXK8Y9snh43sjYoBYzJc01Zl8ggTEuX4d3pgishxjqklNBEL5hre5LygH6s/PECsxP37n7gKznCvpuvRhY7UqhgsP03ossCyBvpaeOCpsscbiZamY5K6A/0Z4uY54z5dS/Y/TS05/CqybTd85BFrbRHB4wy2ir9jCPYgs/wBJlFH3IMAsS33bx5hSF9E0b5gCbHSlgIGmrZvwR5ppi3FxMRVKDefmUJxzFr5c3GKcYLcaHDT42klmMiyaX6XuG/1OMsPwJ1u7sUCzQ8EIp9v8/PctoOKkTBcVTsCmFi+E1i0Q6yC8GDllivfh0GuHIcWc3DHOUrzRAAwTnGccWsGxZHBaxs6Fo+a1Wrmfs5a+QDpgweg1P/OhSVfBRXRp1pFC7QOC62LZ7sPc97MEp1NgINi5fENQFHzmJscpAf1eGawz0pYZC6e5SIe13jVR7a9rWSuZi5BBfHFrP84QhzuYO3REfbRJ4I8XuBVSezRFlbmRr1nnes0sNB7+mS7Ff6t0mKZu5OKCfhawCzm6uR2VJ38XWQ+RctXJ2m66dFVVBR1d/CHEBRV5tlSUrC/TNXI3B6bBhbd+FRFGL8r5mWWxTIXj2kzz7IQkKnushKNvuWZ/O4OK3+GfobMvBMdYiXueBVFL95o8bwus0AA8fK1zAi5sId6yLmN966oGGNhu2MyB3chvtSV2wzMWYbOQWo/K8BGNUvKZqliSwviDw+LTDD5RVf+WESEmswzjwLtY8dVQZE3L5k9OrJQfsAQ2VnPZB2QojVZy2htx7FHxTErp3SeJy4gv+fQbb6m6QLxSpfvmYrYtQKTGEnc59YxmUOH1cI04Fa8EBUcdTBdyxmHvQySUFbXsffbzrDKWPI0KyhWVIkbARBNz+rU8hhTZ/LbO/R7QJZI8edEjuJbtStB2YPzyeSmG+idl8JseyvEvPnlEUESKgCgaE4tOXolbcUUVUDJXnOPLhDZ6+DbS4lQh3GydCKazVqsaOrqKhV7pLXIIM+MfvAs+LWM9cEmNkPsDas+IKWix5zJjNH/MXaj00HlWT1FxASdWh0FhFgqNGVVUZ65jJMySbqf+6d73460ZVUAUhf2IGv4zgIgOEKxyg4GyxoDG9px6oI05WHILmOwSxxLeUqh7nnBSaFntp9iFU0cgI0BsLxw/4iTdKwIOWJQHUsqP/1w9KSzDKcowUFL08oASwDHS+sIz18TsLgWyB2smY/qO4Hi2LTiJ5nRvL0S5TIv1THKM80P2DJaFBhk3HOwbzwngxSm1YW3zGDweYoT8yD9gbVpq25dx/HnWhoDKKjXSChS66moAk7zdpgz0KoD1Fy2OwJrhI5pzXTKxx3EWtPS6wlzgX3w6HQHiaG2Hac4cCfLFI6dVbJJ3QCYMwFBUfN2nOVMhIMsdD3EVYoX5BW7tfNf9I59TGrJU77PYPG1YxzMymCWlh3ntHImGDP+8SrhOAYI9sL0oNg1dzVBN+/NO2XkTFiO+TbPFbHHmTg+zwCQl/MFNv28P+D2eQd5BaJrda2EYGMoNz7LQaqLWuZisBTYY4EBZ1nweZYFAsCsLKn3VrZoGIglE5UMELrTOTYzS+rYBWKlHKojdjKkQQvfq9mMU8zx6FCwLPAFPUx61uQE4kRjq6NTM8sOHdw5ylYnwwKZCFji+M1fANvoUF8GPl/m7kQyFfWrZ0zKuSURXZbOWEJPWpcAlscMBn+W79fxPhgsc9jr9GaOcyi8mdHJonEmmsqvLBBJZSTAGpaUau/DuTYHlT/Y2zdm27NSVB1guGW5DtSP6WFD/0sViAP9LmGOnrl0DIpaWToLc2hHlp/f0cwxQYu2GQDgSzhmQtMzTVZYSj1REkPb7WDwQ5ijbkmy0xK+Ft2Y37RkpySrSb14WiUIykpTS7lvnNC9j2HRQx/Wnr3O3J3ZsO1jfg/WS3X7wdK2CwSntVUGUKY7rkbK12fHEdWDdXInooN1dYeyP6dq64VbS2m5jDEZF+jDz3owwh7nUg7kpQqVsAGZ5Rn9j8uZ/XcXDzD6xQO70twTM4dVaH2W4mfhSg+FPeYZnsy+45fhAdW7yOHINaHhdeVWiG8ZOseqClbBRDYA1JgdWL+WrMJDvR/x+kvBINRKMWGWpTALN6QvRTxc43sme/h2XgopZlSjqlsSBtAFPjp0fNxtER/wAK0MsCwAjHNLtqQ+7Wmx/IwSY7X8BErV8RaatvDLXAAIZMcadkoyQy9miIGwB+vUpbGHlntfilhlwtGD7V886CLDKAgFME2xQOM+35YNFrPtmitZIqSM3AyNEvMIllFVkVsnYvuykxIOPB7jy8pUL8nowh4dhz2GkpjVANh+lvsSnUVr8n45tPQY9J+sU+B6EHFNx3pdWwkJbqHDGJElMYVjuL65v2iakuleBkDcagy0XPiMVAinaqHEugHEYgD2eBZHWxua5QwAGDjMEgqzrLEAyshGvABQ1xnjGdn2kchhWQ7H0GfOYjVEZci5Au0OA13W/dL2Uz9ixfEEMCYn83iZDkQP389ofF2sGnpM+bma5NYG4g3WY2hCMFgZ3u+4PaXcqyHzF4qUCMuax9DjYe2J0+cYYCmj0Q/TlknrQLdqWRIoHYMFftbINSnNbttnD51hwpfCgFT+zy0pPqzH0FAJpp9lauXs6wmgT2adrnIJveTC+dyzlZR072OWdUET+i2bHs0yFdF5KxPzGc8wVPawpLTFzHlNTcumbR8107EkoLmQCeBrHxxmiZzxPXSyrkQ59rU++tTzzOmgzEHfEvGW5OTSEXUqZ+HovpyVWBWLDKdfAwNZF/ZwGaLmMS2nwhBkj5HDHqxixSNwmYTUEFOZUf1DwMLdiIMMVmni9X95rM2oKrBQFHVFFJ0CWPril3gs6M+ZgZrvhCEalgT4VsIedfHELvD/J0tC/Mosc4dZeuJ/4YYt13A4VMRmVSS/AlCuqmSVNLBMRBR17XhbVWviou46Hsp9duYx71RPq1/i/h0ByMrDOi2ZeDLLvaz0QCaqBwfi1DO2dTssqezGYTW3UbFe2OtzGsdW8n4wH1g4OBoUq6q4sFahvJRJKUOx5gGRTRnYpSikDSiDXy05eVTZY2zJyfUBQEHP8VwUyEmKzyk6UATQkXefofTG/fth2zsNXL9ZpWAhKjuiK5RlFbmHSi5lRVeRfMXKliwHMvc8/2d890iek+cqr8RCXNr2mdNNMODXCvrds+TklDRf1yXGrWGvawM/WQXJXGlgmThUdyhYWCqMTHVv+XkzZbTvBXw8DYwDdbMu6H9kyTbPIfr/J+7J0MhzQarvi/8lr/GI4O8ZzEQROfYotQsrlsBWGlio5bds94wuX8VKlqC4xb2L1PC/wUNXCag1+vRZdJs+xNSTMx73+J/GXwY54/DZEi/xssCii8eIh6FnBQov0G9Xqc06uqcUpdIyRBHpNm+TFwu/fDL/Sawc+GsBYpEDoT5b+rFzZbUI4oXBxO8ZIlF9HV9zmILxmLo8+0XG+7sAym2GvhHIImqLz4jtoUrrtQhYTPSXrBVBU+0+ZUJohnL/bZ7yx9X9Z4HvP7RNAJKvOyiGKxGx9ZSJbTo+j6zTUq7Rh6xkqGtxnF575qvSpPtazoqjfU8fRN9jopkoqLMcU5aDW3Tyh1j1N55VVAVgiugUerhFG2wapoztLfrPIOkqxeq5SDG/tV1Ysq/ZPZlsUaX4+Yn+nAAX83JvLMkUm+9pErJaAtvjDk6jBih6WpXy5mGFWgp4KC6WApq7HB3Ml0xWx7gSVFljei5m9CfbDsWswYiLtwZL3RJXeRmKJs86VFHDA62mOSubIsxktZbNsnTSUQFPy8b7l6NLrdCnovm0XYiRseUX1mlaEiS89jD7DztSwDevlIWeBFYW1Q9FXFGbn1pSPDhLR6CVEFSgx3Bz/CdL3PtBxri44/jR4+/wLb6PeNZ7MNI6h9mpdF95gDKwI2YGBBWcOL4rw9wBRKsM6ve1j+I0K2vr7aVjsTx7dAGXHU0YYpkh1s4tKbt+n/OcAQBFXefKo7M9H0NPKeJnqbpNsCLOIH8/QIcZQgEukrBzC4r+BPY7tGAzrReCNk2nqovexAMaHlMmn5n4VE6LiCqy1ARGg0/0jI8NlLdkFrYPzop5xkT0AZx1wUnm8backOWBoLkGAPLAV4fS/sUz4T15tkGKAswiSsyF0eKME/ze9jDKXgUE/+lgoaavZSH0JPMPGLio4CTXLNkxudgBcL57Ff2c5ipT12Hp1qFlb1lhQjez9Roioj7aa4fkzzq+b9FOASwc5BvbPvL3ESuXR8Ht4nBigtISk8eCwLOSVyQPGmdwdA1wFI0ZEZgXuPi5C4+y/6ZAOSWwkJLp4GK0+BkDdG7JYU/RHkBk8jarGtBXxGuZY/HxTEZeTPyuW3Iu4sR232zPlMw83XEXn9RvARY1LTV4OYMeQoVydoC5WLNkd2FDrkDM55Xzfj28aiEXt5PsM4AUVd2c901thwrYvxtYSMs3lhSgYR4rvZTtkn0/CgoFx1rAsyxxMTBgGeT4fB6s2kOnfgmwqFnfEJ/Go0zc+AT7y+NsvnmAHIIV80BycmxyCn6WIi0SYHAj1xDg+WLbB2Od41kGdqQCgims8V2+n15mlgkp0uaWURDgnVmygcyKSQ0xMRtYeYzjsMoj41j8/7jC1Uk/Sih6C4sEMF/3zIpXBj8Ja+efDBafLsOSHNzbRP9EIJYTj4o5syQIuospWxQsugvyEIbmnqDhyU/APwgsChoW1mvCUupZ4gFtil+FWymmtr3LktbMogD7cLvFyrYrKjGDsLbnc3AHwb7lSt7BsodvZiFKI5OtfY07CWZi3UQO41w6k08Tu1ZCXwmO6QEm9ztYSmxuRJjOtsijZEaWVNdc2GvnXGBJCIFH1zUwyS0rtnmMPqHJKVo3vztYTJTcmqOz+ML8ZTdWTuCpHctfaWB/RbD4wLO2JJ2hzDMKmKc8t+RcyV92QH8HsLjKMTeu86LJTZHjRpzVi0tRRdH1Ww3e/wswAKUTk3Afdk5AAAAAAElFTkSuQmCC"\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/code-area/notEditablePath.png?')},UZu5:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/image-preview/index.less?")},UbZX:function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__.p + "static/success.2e2721eb.svg";\n\n//# sourceURL=webpack:///./src/pages/tasks/choose-repository/test-cast-list/success.svg?')},UlFV:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/action-bar/index.less?")},VPUa:function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__.p + "static/passall.2673ac21.png";\n\n//# sourceURL=webpack:///./src/pages/tasks/evaluate-result/passall.png?')},VSMT:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.decodeUTF8 = decodeUTF8;\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\n/*\n * Decode from UTF-8\n */\nfunction decodeUTF8(utf8string) {\n return decodeURIComponent(escape(utf8string));\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/strings.js?')},Vy0f:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _FolderOpenOutlined = _interopRequireDefault(__webpack_require__("iYpf"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _FolderOpenOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/FolderOpenOutlined.js?')},WtSK:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/antd/es/icon/style/index.less?")},X9zl:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/index.less?")},XDHc:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/code-area/index.less?")},XyRZ:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/path-list/index.less?")},YJ9k:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\nvar EventTargetMixin = function () {\n function EventTargetMixin() {\n _classCallCheck(this, EventTargetMixin);\n\n this._listeners = new Map();\n }\n\n _createClass(EventTargetMixin, [{\n key: "addEventListener",\n value: function addEventListener(type, callback) {\n if (!this._listeners.has(type)) {\n this._listeners.set(type, new Set());\n }\n this._listeners.get(type).add(callback);\n }\n }, {\n key: "removeEventListener",\n value: function removeEventListener(type, callback) {\n if (this._listeners.has(type)) {\n this._listeners.get(type).delete(callback);\n }\n }\n }, {\n key: "dispatchEvent",\n value: function dispatchEvent(event) {\n var _this = this;\n\n if (!this._listeners.has(event.type)) {\n return true;\n }\n this._listeners.get(event.type).forEach(function (callback) {\n return callback.call(_this, event);\n });\n return !event.defaultPrevented;\n }\n }]);\n\n return EventTargetMixin;\n}();\n\nexports.default = EventTargetMixin;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/eventtarget.js?')},Ypxr:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss/discuss-item/index.less?")},ZBwS:function(module,exports){eval("/**\n * Diff Match and Patch\n * Copyright 2018 The diff-match-patch Authors.\n * https://github.com/google/diff-match-patch\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * @fileoverview Computes the difference between two texts to create a patch.\n * Applies the patch onto another text, allowing for errors.\n * @author fraser@google.com (Neil Fraser)\n */\n\n/**\n * Class containing the diff, match and patch methods.\n * @constructor\n */\nvar diff_match_patch = function() {\n\n // Defaults.\n // Redefine these in your program to override the defaults.\n\n // Number of seconds to map a diff before giving up (0 for infinity).\n this.Diff_Timeout = 1.0;\n // Cost of an empty edit operation in terms of edit characters.\n this.Diff_EditCost = 4;\n // At what point is no match declared (0.0 = perfection, 1.0 = very loose).\n this.Match_Threshold = 0.5;\n // How far to search for a match (0 = exact location, 1000+ = broad match).\n // A match this many characters away from the expected location will add\n // 1.0 to the score (0.0 is a perfect match).\n this.Match_Distance = 1000;\n // When deleting a large block of text (over ~64 characters), how close do\n // the contents have to be to match the expected contents. (0.0 = perfection,\n // 1.0 = very loose). Note that Match_Threshold controls how closely the\n // end points of a delete need to match.\n this.Patch_DeleteThreshold = 0.5;\n // Chunk size for context length.\n this.Patch_Margin = 4;\n\n // The number of bits in an int.\n this.Match_MaxBits = 32;\n};\n\n\n// DIFF FUNCTIONS\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n/**\n * Class representing one diff tuple.\n * ~Attempts to look like a two-element array (which is what this used to be).~\n * Constructor returns an actual two-element array, to allow destructing @JackuB\n * See https://github.com/JackuB/diff-match-patch/issues/14 for details\n * @param {number} op Operation, one of: DIFF_DELETE, DIFF_INSERT, DIFF_EQUAL.\n * @param {string} text Text to be deleted, inserted, or retained.\n * @constructor\n */\ndiff_match_patch.Diff = function(op, text) {\n return [op, text];\n};\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {boolean=} opt_checklines Optional speedup flag. If present and false,\n * then don't run a line-level diff first to identify the changed areas.\n * Defaults to true, which does a faster, slightly less optimal diff.\n * @param {number=} opt_deadline Optional time when the diff should be complete\n * by. Used internally for recursive calls. Users should set DiffTimeout\n * instead.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_main = function(text1, text2, opt_checklines,\n opt_deadline) {\n // Set a deadline by which time the diff must be complete.\n if (typeof opt_deadline == 'undefined') {\n if (this.Diff_Timeout <= 0) {\n opt_deadline = Number.MAX_VALUE;\n } else {\n opt_deadline = (new Date).getTime() + this.Diff_Timeout * 1000;\n }\n }\n var deadline = opt_deadline;\n\n // Check for null inputs.\n if (text1 == null || text2 == null) {\n throw new Error('Null input. (diff_main)');\n }\n\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [new diff_match_patch.Diff(DIFF_EQUAL, text1)];\n }\n return [];\n }\n\n if (typeof opt_checklines == 'undefined') {\n opt_checklines = true;\n }\n var checklines = opt_checklines;\n\n // Trim off common prefix (speedup).\n var commonlength = this.diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = this.diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = this.diff_compute_(text1, text2, checklines, deadline);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, commonprefix));\n }\n if (commonsuffix) {\n diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, commonsuffix));\n }\n this.diff_cleanupMerge(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {boolean} checklines Speedup flag. If false, then don't run a\n * line-level diff first to identify the changed areas.\n * If true, then run a faster, slightly less optimal diff.\n * @param {number} deadline Time when the diff should be complete by.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_compute_ = function(text1, text2, checklines,\n deadline) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [new diff_match_patch.Diff(DIFF_INSERT, text2)];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [new diff_match_patch.Diff(DIFF_DELETE, text1)];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [new diff_match_patch.Diff(DIFF_INSERT, longtext.substring(0, i)),\n new diff_match_patch.Diff(DIFF_EQUAL, shorttext),\n new diff_match_patch.Diff(DIFF_INSERT,\n longtext.substring(i + shorttext.length))];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [new diff_match_patch.Diff(DIFF_DELETE, text1),\n new diff_match_patch.Diff(DIFF_INSERT, text2)];\n }\n\n // Check to see if the problem can be split in two.\n var hm = this.diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = this.diff_main(text1_a, text2_a, checklines, deadline);\n var diffs_b = this.diff_main(text1_b, text2_b, checklines, deadline);\n // Merge the results.\n return diffs_a.concat([new diff_match_patch.Diff(DIFF_EQUAL, mid_common)],\n diffs_b);\n }\n\n if (checklines && text1.length > 100 && text2.length > 100) {\n return this.diff_lineMode_(text1, text2, deadline);\n }\n\n return this.diff_bisect_(text1, text2, deadline);\n};\n\n\n/**\n * Do a quick line-level diff on both strings, then rediff the parts for\n * greater accuracy.\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} deadline Time when the diff should be complete by.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_lineMode_ = function(text1, text2, deadline) {\n // Scan the text on a line-by-line basis first.\n var a = this.diff_linesToChars_(text1, text2);\n text1 = a.chars1;\n text2 = a.chars2;\n var linearray = a.lineArray;\n\n var diffs = this.diff_main(text1, text2, false, deadline);\n\n // Convert the diff back to original text.\n this.diff_charsToLines_(diffs, linearray);\n // Eliminate freak matches (e.g. blank lines)\n this.diff_cleanupSemantic(diffs);\n\n // Rediff any replacement blocks, this time character-by-character.\n // Add a dummy entry at the end.\n diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, ''));\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete >= 1 && count_insert >= 1) {\n // Delete the offending records and add the merged ones.\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert);\n pointer = pointer - count_delete - count_insert;\n var subDiff =\n this.diff_main(text_delete, text_insert, false, deadline);\n for (var j = subDiff.length - 1; j >= 0; j--) {\n diffs.splice(pointer, 0, subDiff[j]);\n }\n pointer = pointer + subDiff.length;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n pointer++;\n }\n diffs.pop(); // Remove the dummy entry at the end.\n\n return diffs;\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} deadline Time at which to bail if not yet complete.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_bisect_ = function(text1, text2, deadline) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Bail out if deadline is reached.\n if ((new Date()).getTime() > deadline) {\n break;\n }\n\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return this.diff_bisectSplit_(text1, text2, x1, y1, deadline);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return this.diff_bisectSplit_(text1, text2, x1, y1, deadline);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [new diff_match_patch.Diff(DIFF_DELETE, text1),\n new diff_match_patch.Diff(DIFF_INSERT, text2)];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @param {number} deadline Time at which to bail if not yet complete.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @private\n */\ndiff_match_patch.prototype.diff_bisectSplit_ = function(text1, text2, x, y,\n deadline) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = this.diff_main(text1a, text2a, false, deadline);\n var diffsb = this.diff_main(text1b, text2b, false, deadline);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Split two texts into an array of strings. Reduce the texts to a string of\n * hashes where each Unicode character represents one line.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {{chars1: string, chars2: string, lineArray: !Array.<string>}}\n * An object containing the encoded text1, the encoded text2 and\n * the array of unique strings.\n * The zeroth element of the array of unique strings is intentionally blank.\n * @private\n */\ndiff_match_patch.prototype.diff_linesToChars_ = function(text1, text2) {\n var lineArray = []; // e.g. lineArray[4] == 'Hello\\n'\n var lineHash = {}; // e.g. lineHash['Hello\\n'] == 4\n\n // '\\x00' is a valid character, but various debuggers don't like it.\n // So we'll insert a junk entry to avoid generating a null character.\n lineArray[0] = '';\n\n /**\n * Split a text into an array of strings. Reduce the texts to a string of\n * hashes where each Unicode character represents one line.\n * Modifies linearray and linehash through being a closure.\n * @param {string} text String to encode.\n * @return {string} Encoded string.\n * @private\n */\n function diff_linesToCharsMunge_(text) {\n var chars = '';\n // Walk the text, pulling out a substring for each line.\n // text.split('\\n') would would temporarily double our memory footprint.\n // Modifying text would create many large strings to garbage collect.\n var lineStart = 0;\n var lineEnd = -1;\n // Keeping our own length variable is faster than looking it up.\n var lineArrayLength = lineArray.length;\n while (lineEnd < text.length - 1) {\n lineEnd = text.indexOf('\\n', lineStart);\n if (lineEnd == -1) {\n lineEnd = text.length - 1;\n }\n var line = text.substring(lineStart, lineEnd + 1);\n\n if (lineHash.hasOwnProperty ? lineHash.hasOwnProperty(line) :\n (lineHash[line] !== undefined)) {\n chars += String.fromCharCode(lineHash[line]);\n } else {\n if (lineArrayLength == maxLines) {\n // Bail out at 65535 because\n // String.fromCharCode(65536) == String.fromCharCode(0)\n line = text.substring(lineStart);\n lineEnd = text.length;\n }\n chars += String.fromCharCode(lineArrayLength);\n lineHash[line] = lineArrayLength;\n lineArray[lineArrayLength++] = line;\n }\n lineStart = lineEnd + 1;\n }\n return chars;\n }\n // Allocate 2/3rds of the space for text1, the rest for text2.\n var maxLines = 40000;\n var chars1 = diff_linesToCharsMunge_(text1);\n maxLines = 65535;\n var chars2 = diff_linesToCharsMunge_(text2);\n return {chars1: chars1, chars2: chars2, lineArray: lineArray};\n};\n\n\n/**\n * Rehydrate the text in a diff from a string of line hashes to real lines of\n * text.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @param {!Array.<string>} lineArray Array of unique strings.\n * @private\n */\ndiff_match_patch.prototype.diff_charsToLines_ = function(diffs, lineArray) {\n for (var i = 0; i < diffs.length; i++) {\n var chars = diffs[i][1];\n var text = [];\n for (var j = 0; j < chars.length; j++) {\n text[j] = lineArray[chars.charCodeAt(j)];\n }\n diffs[i][1] = text.join('');\n }\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\ndiff_match_patch.prototype.diff_commonPrefix = function(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: https://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\ndiff_match_patch.prototype.diff_commonSuffix = function(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: https://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine if the suffix of one string is the prefix of another.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of the first\n * string and the start of the second string.\n * @private\n */\ndiff_match_patch.prototype.diff_commonOverlap_ = function(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n // Eliminate the null case.\n if (text1_length == 0 || text2_length == 0) {\n return 0;\n }\n // Truncate the longer string.\n if (text1_length > text2_length) {\n text1 = text1.substring(text1_length - text2_length);\n } else if (text1_length < text2_length) {\n text2 = text2.substring(0, text1_length);\n }\n var text_length = Math.min(text1_length, text2_length);\n // Quick check for the worst case.\n if (text1 == text2) {\n return text_length;\n }\n\n // Start by looking for a single character match\n // and increase length until no match is found.\n // Performance analysis: https://neil.fraser.name/news/2010/11/04/\n var best = 0;\n var length = 1;\n while (true) {\n var pattern = text1.substring(text_length - length);\n var found = text2.indexOf(pattern);\n if (found == -1) {\n return best;\n }\n length += found;\n if (found == 0 || text1.substring(text_length - length) ==\n text2.substring(0, length)) {\n best = length;\n length++;\n }\n }\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.<string>} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n * @private\n */\ndiff_match_patch.prototype.diff_halfMatch_ = function(text1, text2) {\n if (this.Diff_Timeout <= 0) {\n // Don't risk returning a non-optimal diff if we have unlimited time.\n return null;\n }\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n var dmp = this; // 'this' becomes 'window' in a closure.\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.<string>} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = dmp.diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = dmp.diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reduce the number of edits by eliminating semantically trivial equalities.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupSemantic = function(diffs) {\n var changes = false;\n var equalities = []; // Stack of indices where equalities are found.\n var equalitiesLength = 0; // Keeping our own length var is faster in JS.\n /** @type {?string} */\n var lastEquality = null;\n // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n var pointer = 0; // Index of current position.\n // Number of characters that changed prior to the equality.\n var length_insertions1 = 0;\n var length_deletions1 = 0;\n // Number of characters that changed after the equality.\n var length_insertions2 = 0;\n var length_deletions2 = 0;\n while (pointer < diffs.length) {\n if (diffs[pointer][0] == DIFF_EQUAL) { // Equality found.\n equalities[equalitiesLength++] = pointer;\n length_insertions1 = length_insertions2;\n length_deletions1 = length_deletions2;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastEquality = diffs[pointer][1];\n } else { // An insertion or deletion.\n if (diffs[pointer][0] == DIFF_INSERT) {\n length_insertions2 += diffs[pointer][1].length;\n } else {\n length_deletions2 += diffs[pointer][1].length;\n }\n // Eliminate an equality that is smaller or equal to the edits on both\n // sides of it.\n if (lastEquality && (lastEquality.length <=\n Math.max(length_insertions1, length_deletions1)) &&\n (lastEquality.length <= Math.max(length_insertions2,\n length_deletions2))) {\n // Duplicate record.\n diffs.splice(equalities[equalitiesLength - 1], 0,\n new diff_match_patch.Diff(DIFF_DELETE, lastEquality));\n // Change second copy to insert.\n diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n // Throw away the equality we just deleted.\n equalitiesLength--;\n // Throw away the previous equality (it needs to be reevaluated).\n equalitiesLength--;\n pointer = equalitiesLength > 0 ? equalities[equalitiesLength - 1] : -1;\n length_insertions1 = 0; // Reset the counters.\n length_deletions1 = 0;\n length_insertions2 = 0;\n length_deletions2 = 0;\n lastEquality = null;\n changes = true;\n }\n }\n pointer++;\n }\n\n // Normalize the diff.\n if (changes) {\n this.diff_cleanupMerge(diffs);\n }\n this.diff_cleanupSemanticLossless(diffs);\n\n // Find any overlaps between deletions and insertions.\n // e.g: <del>abcxxx</del><ins>xxxdef</ins>\n // -> <del>abc</del>xxx<ins>def</ins>\n // e.g: <del>xxxabc</del><ins>defxxx</ins>\n // -> <ins>def</ins>xxx<del>abc</del>\n // Only extract an overlap if it is as big as the edit ahead or behind it.\n pointer = 1;\n while (pointer < diffs.length) {\n if (diffs[pointer - 1][0] == DIFF_DELETE &&\n diffs[pointer][0] == DIFF_INSERT) {\n var deletion = diffs[pointer - 1][1];\n var insertion = diffs[pointer][1];\n var overlap_length1 = this.diff_commonOverlap_(deletion, insertion);\n var overlap_length2 = this.diff_commonOverlap_(insertion, deletion);\n if (overlap_length1 >= overlap_length2) {\n if (overlap_length1 >= deletion.length / 2 ||\n overlap_length1 >= insertion.length / 2) {\n // Overlap found. Insert an equality and trim the surrounding edits.\n diffs.splice(pointer, 0, new diff_match_patch.Diff(DIFF_EQUAL,\n insertion.substring(0, overlap_length1)));\n diffs[pointer - 1][1] =\n deletion.substring(0, deletion.length - overlap_length1);\n diffs[pointer + 1][1] = insertion.substring(overlap_length1);\n pointer++;\n }\n } else {\n if (overlap_length2 >= deletion.length / 2 ||\n overlap_length2 >= insertion.length / 2) {\n // Reverse overlap found.\n // Insert an equality and swap and trim the surrounding edits.\n diffs.splice(pointer, 0, new diff_match_patch.Diff(DIFF_EQUAL,\n deletion.substring(0, overlap_length2)));\n diffs[pointer - 1][0] = DIFF_INSERT;\n diffs[pointer - 1][1] =\n insertion.substring(0, insertion.length - overlap_length2);\n diffs[pointer + 1][0] = DIFF_DELETE;\n diffs[pointer + 1][1] =\n deletion.substring(overlap_length2);\n pointer++;\n }\n }\n pointer++;\n }\n pointer++;\n }\n};\n\n\n/**\n * Look for single edits surrounded on both sides by equalities\n * which can be shifted sideways to align the edit to a word boundary.\n * e.g: The c<ins>at c</ins>ame. -> The <ins>cat </ins>came.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupSemanticLossless = function(diffs) {\n /**\n * Given two strings, compute a score representing whether the internal\n * boundary falls on logical boundaries.\n * Scores range from 6 (best) to 0 (worst).\n * Closure, but does not reference any external variables.\n * @param {string} one First string.\n * @param {string} two Second string.\n * @return {number} The score.\n * @private\n */\n function diff_cleanupSemanticScore_(one, two) {\n if (!one || !two) {\n // Edges are the best.\n return 6;\n }\n\n // Each port of this function behaves slightly differently due to\n // subtle differences in each language's definition of things like\n // 'whitespace'. Since this function's purpose is largely cosmetic,\n // the choice has been made to use each language's native features\n // rather than force total conformity.\n var char1 = one.charAt(one.length - 1);\n var char2 = two.charAt(0);\n var nonAlphaNumeric1 = char1.match(diff_match_patch.nonAlphaNumericRegex_);\n var nonAlphaNumeric2 = char2.match(diff_match_patch.nonAlphaNumericRegex_);\n var whitespace1 = nonAlphaNumeric1 &&\n char1.match(diff_match_patch.whitespaceRegex_);\n var whitespace2 = nonAlphaNumeric2 &&\n char2.match(diff_match_patch.whitespaceRegex_);\n var lineBreak1 = whitespace1 &&\n char1.match(diff_match_patch.linebreakRegex_);\n var lineBreak2 = whitespace2 &&\n char2.match(diff_match_patch.linebreakRegex_);\n var blankLine1 = lineBreak1 &&\n one.match(diff_match_patch.blanklineEndRegex_);\n var blankLine2 = lineBreak2 &&\n two.match(diff_match_patch.blanklineStartRegex_);\n\n if (blankLine1 || blankLine2) {\n // Five points for blank lines.\n return 5;\n } else if (lineBreak1 || lineBreak2) {\n // Four points for line breaks.\n return 4;\n } else if (nonAlphaNumeric1 && !whitespace1 && whitespace2) {\n // Three points for end of sentences.\n return 3;\n } else if (whitespace1 || whitespace2) {\n // Two points for whitespace.\n return 2;\n } else if (nonAlphaNumeric1 || nonAlphaNumeric2) {\n // One point for non-alphanumeric.\n return 1;\n }\n return 0;\n }\n\n var pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n var equality1 = diffs[pointer - 1][1];\n var edit = diffs[pointer][1];\n var equality2 = diffs[pointer + 1][1];\n\n // First, shift the edit as far left as possible.\n var commonOffset = this.diff_commonSuffix(equality1, edit);\n if (commonOffset) {\n var commonString = edit.substring(edit.length - commonOffset);\n equality1 = equality1.substring(0, equality1.length - commonOffset);\n edit = commonString + edit.substring(0, edit.length - commonOffset);\n equality2 = commonString + equality2;\n }\n\n // Second, step character by character right, looking for the best fit.\n var bestEquality1 = equality1;\n var bestEdit = edit;\n var bestEquality2 = equality2;\n var bestScore = diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n while (edit.charAt(0) === equality2.charAt(0)) {\n equality1 += edit.charAt(0);\n edit = edit.substring(1) + equality2.charAt(0);\n equality2 = equality2.substring(1);\n var score = diff_cleanupSemanticScore_(equality1, edit) +\n diff_cleanupSemanticScore_(edit, equality2);\n // The >= encourages trailing rather than leading whitespace on edits.\n if (score >= bestScore) {\n bestScore = score;\n bestEquality1 = equality1;\n bestEdit = edit;\n bestEquality2 = equality2;\n }\n }\n\n if (diffs[pointer - 1][1] != bestEquality1) {\n // We have an improvement, save it back to the diff.\n if (bestEquality1) {\n diffs[pointer - 1][1] = bestEquality1;\n } else {\n diffs.splice(pointer - 1, 1);\n pointer--;\n }\n diffs[pointer][1] = bestEdit;\n if (bestEquality2) {\n diffs[pointer + 1][1] = bestEquality2;\n } else {\n diffs.splice(pointer + 1, 1);\n pointer--;\n }\n }\n }\n pointer++;\n }\n};\n\n// Define some regex patterns for matching boundaries.\ndiff_match_patch.nonAlphaNumericRegex_ = /[^a-zA-Z0-9]/;\ndiff_match_patch.whitespaceRegex_ = /\\s/;\ndiff_match_patch.linebreakRegex_ = /[\\r\\n]/;\ndiff_match_patch.blanklineEndRegex_ = /\\n\\r?\\n$/;\ndiff_match_patch.blanklineStartRegex_ = /^\\r?\\n\\r?\\n/;\n\n/**\n * Reduce the number of edits by eliminating operationally trivial equalities.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupEfficiency = function(diffs) {\n var changes = false;\n var equalities = []; // Stack of indices where equalities are found.\n var equalitiesLength = 0; // Keeping our own length var is faster in JS.\n /** @type {?string} */\n var lastEquality = null;\n // Always equal to diffs[equalities[equalitiesLength - 1]][1]\n var pointer = 0; // Index of current position.\n // Is there an insertion operation before the last equality.\n var pre_ins = false;\n // Is there a deletion operation before the last equality.\n var pre_del = false;\n // Is there an insertion operation after the last equality.\n var post_ins = false;\n // Is there a deletion operation after the last equality.\n var post_del = false;\n while (pointer < diffs.length) {\n if (diffs[pointer][0] == DIFF_EQUAL) { // Equality found.\n if (diffs[pointer][1].length < this.Diff_EditCost &&\n (post_ins || post_del)) {\n // Candidate found.\n equalities[equalitiesLength++] = pointer;\n pre_ins = post_ins;\n pre_del = post_del;\n lastEquality = diffs[pointer][1];\n } else {\n // Not a candidate, and can never become one.\n equalitiesLength = 0;\n lastEquality = null;\n }\n post_ins = post_del = false;\n } else { // An insertion or deletion.\n if (diffs[pointer][0] == DIFF_DELETE) {\n post_del = true;\n } else {\n post_ins = true;\n }\n /*\n * Five types to be split:\n * <ins>A</ins><del>B</del>XY<ins>C</ins><del>D</del>\n * <ins>A</ins>X<ins>C</ins><del>D</del>\n * <ins>A</ins><del>B</del>X<ins>C</ins>\n * <ins>A</del>X<ins>C</ins><del>D</del>\n * <ins>A</ins><del>B</del>X<del>C</del>\n */\n if (lastEquality && ((pre_ins && pre_del && post_ins && post_del) ||\n ((lastEquality.length < this.Diff_EditCost / 2) &&\n (pre_ins + pre_del + post_ins + post_del) == 3))) {\n // Duplicate record.\n diffs.splice(equalities[equalitiesLength - 1], 0,\n new diff_match_patch.Diff(DIFF_DELETE, lastEquality));\n // Change second copy to insert.\n diffs[equalities[equalitiesLength - 1] + 1][0] = DIFF_INSERT;\n equalitiesLength--; // Throw away the equality we just deleted;\n lastEquality = null;\n if (pre_ins && pre_del) {\n // No changes made which could affect previous entry, keep going.\n post_ins = post_del = true;\n equalitiesLength = 0;\n } else {\n equalitiesLength--; // Throw away the previous equality.\n pointer = equalitiesLength > 0 ?\n equalities[equalitiesLength - 1] : -1;\n post_ins = post_del = false;\n }\n changes = true;\n }\n }\n pointer++;\n }\n\n if (changes) {\n this.diff_cleanupMerge(diffs);\n }\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n */\ndiff_match_patch.prototype.diff_cleanupMerge = function(diffs) {\n // Add a dummy entry at the end.\n diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, ''));\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = this.diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, new diff_match_patch.Diff(DIFF_EQUAL,\n text_insert.substring(0, commonlength)));\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = this.diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n pointer -= count_delete + count_insert;\n diffs.splice(pointer, count_delete + count_insert);\n if (text_delete.length) {\n diffs.splice(pointer, 0,\n new diff_match_patch.Diff(DIFF_DELETE, text_delete));\n pointer++;\n }\n if (text_insert.length) {\n diffs.splice(pointer, 0,\n new diff_match_patch.Diff(DIFF_INSERT, text_insert));\n pointer++;\n }\n pointer++;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n this.diff_cleanupMerge(diffs);\n }\n};\n\n\n/**\n * loc is a location in text1, compute and return the equivalent location in\n * text2.\n * e.g. 'The cat' vs 'The big cat', 1->1, 5->8\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @param {number} loc Location within text1.\n * @return {number} Location within text2.\n */\ndiff_match_patch.prototype.diff_xIndex = function(diffs, loc) {\n var chars1 = 0;\n var chars2 = 0;\n var last_chars1 = 0;\n var last_chars2 = 0;\n var x;\n for (x = 0; x < diffs.length; x++) {\n if (diffs[x][0] !== DIFF_INSERT) { // Equality or deletion.\n chars1 += diffs[x][1].length;\n }\n if (diffs[x][0] !== DIFF_DELETE) { // Equality or insertion.\n chars2 += diffs[x][1].length;\n }\n if (chars1 > loc) { // Overshot the location.\n break;\n }\n last_chars1 = chars1;\n last_chars2 = chars2;\n }\n // Was the location was deleted?\n if (diffs.length != x && diffs[x][0] === DIFF_DELETE) {\n return last_chars2;\n }\n // Add the remaining character length.\n return last_chars2 + (loc - last_chars1);\n};\n\n\n/**\n * Convert a diff array into a pretty HTML report.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} HTML representation.\n */\ndiff_match_patch.prototype.diff_prettyHtml = function(diffs) {\n var html = [];\n var pattern_amp = /&/g;\n var pattern_lt = /</g;\n var pattern_gt = />/g;\n var pattern_para = /\\n/g;\n for (var x = 0; x < diffs.length; x++) {\n var op = diffs[x][0]; // Operation (insert, delete, equal)\n var data = diffs[x][1]; // Text of change.\n var text = data.replace(pattern_amp, '&amp;').replace(pattern_lt, '&lt;')\n .replace(pattern_gt, '&gt;').replace(pattern_para, '&para;<br>');\n switch (op) {\n case DIFF_INSERT:\n html[x] = '<ins style=\"background:#e6ffe6;\">' + text + '</ins>';\n break;\n case DIFF_DELETE:\n html[x] = '<del style=\"background:#ffe6e6;\">' + text + '</del>';\n break;\n case DIFF_EQUAL:\n html[x] = '<span>' + text + '</span>';\n break;\n }\n }\n return html.join('');\n};\n\n\n/**\n * Compute and return the source text (all equalities and deletions).\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} Source text.\n */\ndiff_match_patch.prototype.diff_text1 = function(diffs) {\n var text = [];\n for (var x = 0; x < diffs.length; x++) {\n if (diffs[x][0] !== DIFF_INSERT) {\n text[x] = diffs[x][1];\n }\n }\n return text.join('');\n};\n\n\n/**\n * Compute and return the destination text (all equalities and insertions).\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} Destination text.\n */\ndiff_match_patch.prototype.diff_text2 = function(diffs) {\n var text = [];\n for (var x = 0; x < diffs.length; x++) {\n if (diffs[x][0] !== DIFF_DELETE) {\n text[x] = diffs[x][1];\n }\n }\n return text.join('');\n};\n\n\n/**\n * Compute the Levenshtein distance; the number of inserted, deleted or\n * substituted characters.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {number} Number of changes.\n */\ndiff_match_patch.prototype.diff_levenshtein = function(diffs) {\n var levenshtein = 0;\n var insertions = 0;\n var deletions = 0;\n for (var x = 0; x < diffs.length; x++) {\n var op = diffs[x][0];\n var data = diffs[x][1];\n switch (op) {\n case DIFF_INSERT:\n insertions += data.length;\n break;\n case DIFF_DELETE:\n deletions += data.length;\n break;\n case DIFF_EQUAL:\n // A deletion and an insertion is one substitution.\n levenshtein += Math.max(insertions, deletions);\n insertions = 0;\n deletions = 0;\n break;\n }\n }\n levenshtein += Math.max(insertions, deletions);\n return levenshtein;\n};\n\n\n/**\n * Crush the diff into an encoded string which describes the operations\n * required to transform text1 into text2.\n * E.g. =3\\t-2\\t+ing -> Keep 3 chars, delete 2 chars, insert 'ing'.\n * Operations are tab-separated. Inserted text is escaped using %xx notation.\n * @param {!Array.<!diff_match_patch.Diff>} diffs Array of diff tuples.\n * @return {string} Delta text.\n */\ndiff_match_patch.prototype.diff_toDelta = function(diffs) {\n var text = [];\n for (var x = 0; x < diffs.length; x++) {\n switch (diffs[x][0]) {\n case DIFF_INSERT:\n text[x] = '+' + encodeURI(diffs[x][1]);\n break;\n case DIFF_DELETE:\n text[x] = '-' + diffs[x][1].length;\n break;\n case DIFF_EQUAL:\n text[x] = '=' + diffs[x][1].length;\n break;\n }\n }\n return text.join('\\t').replace(/%20/g, ' ');\n};\n\n\n/**\n * Given the original text1, and an encoded string which describes the\n * operations required to transform text1 into text2, compute the full diff.\n * @param {string} text1 Source string for the diff.\n * @param {string} delta Delta text.\n * @return {!Array.<!diff_match_patch.Diff>} Array of diff tuples.\n * @throws {!Error} If invalid input.\n */\ndiff_match_patch.prototype.diff_fromDelta = function(text1, delta) {\n var diffs = [];\n var diffsLength = 0; // Keeping our own length var is faster in JS.\n var pointer = 0; // Cursor in text1\n var tokens = delta.split(/\\t/g);\n for (var x = 0; x < tokens.length; x++) {\n // Each token begins with a one character parameter which specifies the\n // operation of this token (delete, insert, equality).\n var param = tokens[x].substring(1);\n switch (tokens[x].charAt(0)) {\n case '+':\n try {\n diffs[diffsLength++] =\n new diff_match_patch.Diff(DIFF_INSERT, decodeURI(param));\n } catch (ex) {\n // Malformed URI sequence.\n throw new Error('Illegal escape in diff_fromDelta: ' + param);\n }\n break;\n case '-':\n // Fall through.\n case '=':\n var n = parseInt(param, 10);\n if (isNaN(n) || n < 0) {\n throw new Error('Invalid number in diff_fromDelta: ' + param);\n }\n var text = text1.substring(pointer, pointer += n);\n if (tokens[x].charAt(0) == '=') {\n diffs[diffsLength++] = new diff_match_patch.Diff(DIFF_EQUAL, text);\n } else {\n diffs[diffsLength++] = new diff_match_patch.Diff(DIFF_DELETE, text);\n }\n break;\n default:\n // Blank tokens are ok (from a trailing \\t).\n // Anything else is an error.\n if (tokens[x]) {\n throw new Error('Invalid diff operation in diff_fromDelta: ' +\n tokens[x]);\n }\n }\n }\n if (pointer != text1.length) {\n throw new Error('Delta length (' + pointer +\n ') does not equal source text length (' + text1.length + ').');\n }\n return diffs;\n};\n\n\n// MATCH FUNCTIONS\n\n\n/**\n * Locate the best instance of 'pattern' in 'text' near 'loc'.\n * @param {string} text The text to search.\n * @param {string} pattern The pattern to search for.\n * @param {number} loc The location to search around.\n * @return {number} Best match index or -1.\n */\ndiff_match_patch.prototype.match_main = function(text, pattern, loc) {\n // Check for null inputs.\n if (text == null || pattern == null || loc == null) {\n throw new Error('Null input. (match_main)');\n }\n\n loc = Math.max(0, Math.min(loc, text.length));\n if (text == pattern) {\n // Shortcut (potentially not guaranteed by the algorithm)\n return 0;\n } else if (!text.length) {\n // Nothing to match.\n return -1;\n } else if (text.substring(loc, loc + pattern.length) == pattern) {\n // Perfect match at the perfect spot! (Includes case of null pattern)\n return loc;\n } else {\n // Do a fuzzy compare.\n return this.match_bitap_(text, pattern, loc);\n }\n};\n\n\n/**\n * Locate the best instance of 'pattern' in 'text' near 'loc' using the\n * Bitap algorithm.\n * @param {string} text The text to search.\n * @param {string} pattern The pattern to search for.\n * @param {number} loc The location to search around.\n * @return {number} Best match index or -1.\n * @private\n */\ndiff_match_patch.prototype.match_bitap_ = function(text, pattern, loc) {\n if (pattern.length > this.Match_MaxBits) {\n throw new Error('Pattern too long for this browser.');\n }\n\n // Initialise the alphabet.\n var s = this.match_alphabet_(pattern);\n\n var dmp = this; // 'this' becomes 'window' in a closure.\n\n /**\n * Compute and return the score for a match with e errors and x location.\n * Accesses loc and pattern through being a closure.\n * @param {number} e Number of errors in match.\n * @param {number} x Location of match.\n * @return {number} Overall score for match (0.0 = good, 1.0 = bad).\n * @private\n */\n function match_bitapScore_(e, x) {\n var accuracy = e / pattern.length;\n var proximity = Math.abs(loc - x);\n if (!dmp.Match_Distance) {\n // Dodge divide by zero error.\n return proximity ? 1.0 : accuracy;\n }\n return accuracy + (proximity / dmp.Match_Distance);\n }\n\n // Highest score beyond which we give up.\n var score_threshold = this.Match_Threshold;\n // Is there a nearby exact match? (speedup)\n var best_loc = text.indexOf(pattern, loc);\n if (best_loc != -1) {\n score_threshold = Math.min(match_bitapScore_(0, best_loc), score_threshold);\n // What about in the other direction? (speedup)\n best_loc = text.lastIndexOf(pattern, loc + pattern.length);\n if (best_loc != -1) {\n score_threshold =\n Math.min(match_bitapScore_(0, best_loc), score_threshold);\n }\n }\n\n // Initialise the bit arrays.\n var matchmask = 1 << (pattern.length - 1);\n best_loc = -1;\n\n var bin_min, bin_mid;\n var bin_max = pattern.length + text.length;\n var last_rd;\n for (var d = 0; d < pattern.length; d++) {\n // Scan for the best match; each iteration allows for one more error.\n // Run a binary search to determine how far from 'loc' we can stray at this\n // error level.\n bin_min = 0;\n bin_mid = bin_max;\n while (bin_min < bin_mid) {\n if (match_bitapScore_(d, loc + bin_mid) <= score_threshold) {\n bin_min = bin_mid;\n } else {\n bin_max = bin_mid;\n }\n bin_mid = Math.floor((bin_max - bin_min) / 2 + bin_min);\n }\n // Use the result from this iteration as the maximum for the next.\n bin_max = bin_mid;\n var start = Math.max(1, loc - bin_mid + 1);\n var finish = Math.min(loc + bin_mid, text.length) + pattern.length;\n\n var rd = Array(finish + 2);\n rd[finish + 1] = (1 << d) - 1;\n for (var j = finish; j >= start; j--) {\n // The alphabet (s) is a sparse hash, so the following line generates\n // warnings.\n var charMatch = s[text.charAt(j - 1)];\n if (d === 0) { // First pass: exact match.\n rd[j] = ((rd[j + 1] << 1) | 1) & charMatch;\n } else { // Subsequent passes: fuzzy match.\n rd[j] = (((rd[j + 1] << 1) | 1) & charMatch) |\n (((last_rd[j + 1] | last_rd[j]) << 1) | 1) |\n last_rd[j + 1];\n }\n if (rd[j] & matchmask) {\n var score = match_bitapScore_(d, j - 1);\n // This match will almost certainly be better than any existing match.\n // But check anyway.\n if (score <= score_threshold) {\n // Told you so.\n score_threshold = score;\n best_loc = j - 1;\n if (best_loc > loc) {\n // When passing loc, don't exceed our current distance from loc.\n start = Math.max(1, 2 * loc - best_loc);\n } else {\n // Already passed loc, downhill from here on in.\n break;\n }\n }\n }\n }\n // No hope for a (better) match at greater error levels.\n if (match_bitapScore_(d + 1, loc) > score_threshold) {\n break;\n }\n last_rd = rd;\n }\n return best_loc;\n};\n\n\n/**\n * Initialise the alphabet for the Bitap algorithm.\n * @param {string} pattern The text to encode.\n * @return {!Object} Hash of character locations.\n * @private\n */\ndiff_match_patch.prototype.match_alphabet_ = function(pattern) {\n var s = {};\n for (var i = 0; i < pattern.length; i++) {\n s[pattern.charAt(i)] = 0;\n }\n for (var i = 0; i < pattern.length; i++) {\n s[pattern.charAt(i)] |= 1 << (pattern.length - i - 1);\n }\n return s;\n};\n\n\n// PATCH FUNCTIONS\n\n\n/**\n * Increase the context until it is unique,\n * but don't let the pattern expand beyond Match_MaxBits.\n * @param {!diff_match_patch.patch_obj} patch The patch to grow.\n * @param {string} text Source text.\n * @private\n */\ndiff_match_patch.prototype.patch_addContext_ = function(patch, text) {\n if (text.length == 0) {\n return;\n }\n if (patch.start2 === null) {\n throw Error('patch not initialized');\n }\n var pattern = text.substring(patch.start2, patch.start2 + patch.length1);\n var padding = 0;\n\n // Look for the first and last matches of pattern in text. If two different\n // matches are found, increase the pattern length.\n while (text.indexOf(pattern) != text.lastIndexOf(pattern) &&\n pattern.length < this.Match_MaxBits - this.Patch_Margin -\n this.Patch_Margin) {\n padding += this.Patch_Margin;\n pattern = text.substring(patch.start2 - padding,\n patch.start2 + patch.length1 + padding);\n }\n // Add one chunk for good luck.\n padding += this.Patch_Margin;\n\n // Add the prefix.\n var prefix = text.substring(patch.start2 - padding, patch.start2);\n if (prefix) {\n patch.diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, prefix));\n }\n // Add the suffix.\n var suffix = text.substring(patch.start2 + patch.length1,\n patch.start2 + patch.length1 + padding);\n if (suffix) {\n patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, suffix));\n }\n\n // Roll back the start points.\n patch.start1 -= prefix.length;\n patch.start2 -= prefix.length;\n // Extend the lengths.\n patch.length1 += prefix.length + suffix.length;\n patch.length2 += prefix.length + suffix.length;\n};\n\n\n/**\n * Compute a list of patches to turn text1 into text2.\n * Use diffs if provided, otherwise compute it ourselves.\n * There are four ways to call this function, depending on what data is\n * available to the caller:\n * Method 1:\n * a = text1, b = text2\n * Method 2:\n * a = diffs\n * Method 3 (optimal):\n * a = text1, b = diffs\n * Method 4 (deprecated, use method 3):\n * a = text1, b = text2, c = diffs\n *\n * @param {string|!Array.<!diff_match_patch.Diff>} a text1 (methods 1,3,4) or\n * Array of diff tuples for text1 to text2 (method 2).\n * @param {string|!Array.<!diff_match_patch.Diff>=} opt_b text2 (methods 1,4) or\n * Array of diff tuples for text1 to text2 (method 3) or undefined (method 2).\n * @param {string|!Array.<!diff_match_patch.Diff>=} opt_c Array of diff tuples\n * for text1 to text2 (method 4) or undefined (methods 1,2,3).\n * @return {!Array.<!diff_match_patch.patch_obj>} Array of Patch objects.\n */\ndiff_match_patch.prototype.patch_make = function(a, opt_b, opt_c) {\n var text1, diffs;\n if (typeof a == 'string' && typeof opt_b == 'string' &&\n typeof opt_c == 'undefined') {\n // Method 1: text1, text2\n // Compute diffs from text1 and text2.\n text1 = /** @type {string} */(a);\n diffs = this.diff_main(text1, /** @type {string} */(opt_b), true);\n if (diffs.length > 2) {\n this.diff_cleanupSemantic(diffs);\n this.diff_cleanupEfficiency(diffs);\n }\n } else if (a && typeof a == 'object' && typeof opt_b == 'undefined' &&\n typeof opt_c == 'undefined') {\n // Method 2: diffs\n // Compute text1 from diffs.\n diffs = /** @type {!Array.<!diff_match_patch.Diff>} */(a);\n text1 = this.diff_text1(diffs);\n } else if (typeof a == 'string' && opt_b && typeof opt_b == 'object' &&\n typeof opt_c == 'undefined') {\n // Method 3: text1, diffs\n text1 = /** @type {string} */(a);\n diffs = /** @type {!Array.<!diff_match_patch.Diff>} */(opt_b);\n } else if (typeof a == 'string' && typeof opt_b == 'string' &&\n opt_c && typeof opt_c == 'object') {\n // Method 4: text1, text2, diffs\n // text2 is not used.\n text1 = /** @type {string} */(a);\n diffs = /** @type {!Array.<!diff_match_patch.Diff>} */(opt_c);\n } else {\n throw new Error('Unknown call format to patch_make.');\n }\n\n if (diffs.length === 0) {\n return []; // Get rid of the null case.\n }\n var patches = [];\n var patch = new diff_match_patch.patch_obj();\n var patchDiffLength = 0; // Keeping our own length var is faster in JS.\n var char_count1 = 0; // Number of characters into the text1 string.\n var char_count2 = 0; // Number of characters into the text2 string.\n // Start with text1 (prepatch_text) and apply the diffs until we arrive at\n // text2 (postpatch_text). We recreate the patches one by one to determine\n // context info.\n var prepatch_text = text1;\n var postpatch_text = text1;\n for (var x = 0; x < diffs.length; x++) {\n var diff_type = diffs[x][0];\n var diff_text = diffs[x][1];\n\n if (!patchDiffLength && diff_type !== DIFF_EQUAL) {\n // A new patch starts here.\n patch.start1 = char_count1;\n patch.start2 = char_count2;\n }\n\n switch (diff_type) {\n case DIFF_INSERT:\n patch.diffs[patchDiffLength++] = diffs[x];\n patch.length2 += diff_text.length;\n postpatch_text = postpatch_text.substring(0, char_count2) + diff_text +\n postpatch_text.substring(char_count2);\n break;\n case DIFF_DELETE:\n patch.length1 += diff_text.length;\n patch.diffs[patchDiffLength++] = diffs[x];\n postpatch_text = postpatch_text.substring(0, char_count2) +\n postpatch_text.substring(char_count2 +\n diff_text.length);\n break;\n case DIFF_EQUAL:\n if (diff_text.length <= 2 * this.Patch_Margin &&\n patchDiffLength && diffs.length != x + 1) {\n // Small equality inside a patch.\n patch.diffs[patchDiffLength++] = diffs[x];\n patch.length1 += diff_text.length;\n patch.length2 += diff_text.length;\n } else if (diff_text.length >= 2 * this.Patch_Margin) {\n // Time for a new patch.\n if (patchDiffLength) {\n this.patch_addContext_(patch, prepatch_text);\n patches.push(patch);\n patch = new diff_match_patch.patch_obj();\n patchDiffLength = 0;\n // Unlike Unidiff, our patch lists have a rolling context.\n // https://github.com/google/diff-match-patch/wiki/Unidiff\n // Update prepatch text & pos to reflect the application of the\n // just completed patch.\n prepatch_text = postpatch_text;\n char_count1 = char_count2;\n }\n }\n break;\n }\n\n // Update the current character count.\n if (diff_type !== DIFF_INSERT) {\n char_count1 += diff_text.length;\n }\n if (diff_type !== DIFF_DELETE) {\n char_count2 += diff_text.length;\n }\n }\n // Pick up the leftover patch if not empty.\n if (patchDiffLength) {\n this.patch_addContext_(patch, prepatch_text);\n patches.push(patch);\n }\n\n return patches;\n};\n\n\n/**\n * Given an array of patches, return another array that is identical.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @return {!Array.<!diff_match_patch.patch_obj>} Array of Patch objects.\n */\ndiff_match_patch.prototype.patch_deepCopy = function(patches) {\n // Making deep copies is hard in JavaScript.\n var patchesCopy = [];\n for (var x = 0; x < patches.length; x++) {\n var patch = patches[x];\n var patchCopy = new diff_match_patch.patch_obj();\n patchCopy.diffs = [];\n for (var y = 0; y < patch.diffs.length; y++) {\n patchCopy.diffs[y] =\n new diff_match_patch.Diff(patch.diffs[y][0], patch.diffs[y][1]);\n }\n patchCopy.start1 = patch.start1;\n patchCopy.start2 = patch.start2;\n patchCopy.length1 = patch.length1;\n patchCopy.length2 = patch.length2;\n patchesCopy[x] = patchCopy;\n }\n return patchesCopy;\n};\n\n\n/**\n * Merge a set of patches onto the text. Return a patched text, as well\n * as a list of true/false values indicating which patches were applied.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @param {string} text Old text.\n * @return {!Array.<string|!Array.<boolean>>} Two element Array, containing the\n * new text and an array of boolean values.\n */\ndiff_match_patch.prototype.patch_apply = function(patches, text) {\n if (patches.length == 0) {\n return [text, []];\n }\n\n // Deep copy the patches so that no changes are made to originals.\n patches = this.patch_deepCopy(patches);\n\n var nullPadding = this.patch_addPadding(patches);\n text = nullPadding + text + nullPadding;\n\n this.patch_splitMax(patches);\n // delta keeps track of the offset between the expected and actual location\n // of the previous patch. If there are patches expected at positions 10 and\n // 20, but the first patch was found at 12, delta is 2 and the second patch\n // has an effective expected position of 22.\n var delta = 0;\n var results = [];\n for (var x = 0; x < patches.length; x++) {\n var expected_loc = patches[x].start2 + delta;\n var text1 = this.diff_text1(patches[x].diffs);\n var start_loc;\n var end_loc = -1;\n if (text1.length > this.Match_MaxBits) {\n // patch_splitMax will only provide an oversized pattern in the case of\n // a monster delete.\n start_loc = this.match_main(text, text1.substring(0, this.Match_MaxBits),\n expected_loc);\n if (start_loc != -1) {\n end_loc = this.match_main(text,\n text1.substring(text1.length - this.Match_MaxBits),\n expected_loc + text1.length - this.Match_MaxBits);\n if (end_loc == -1 || start_loc >= end_loc) {\n // Can't find valid trailing context. Drop this patch.\n start_loc = -1;\n }\n }\n } else {\n start_loc = this.match_main(text, text1, expected_loc);\n }\n if (start_loc == -1) {\n // No match found. :(\n results[x] = false;\n // Subtract the delta for this failed patch from subsequent patches.\n delta -= patches[x].length2 - patches[x].length1;\n } else {\n // Found a match. :)\n results[x] = true;\n delta = start_loc - expected_loc;\n var text2;\n if (end_loc == -1) {\n text2 = text.substring(start_loc, start_loc + text1.length);\n } else {\n text2 = text.substring(start_loc, end_loc + this.Match_MaxBits);\n }\n if (text1 == text2) {\n // Perfect match, just shove the replacement text in.\n text = text.substring(0, start_loc) +\n this.diff_text2(patches[x].diffs) +\n text.substring(start_loc + text1.length);\n } else {\n // Imperfect match. Run a diff to get a framework of equivalent\n // indices.\n var diffs = this.diff_main(text1, text2, false);\n if (text1.length > this.Match_MaxBits &&\n this.diff_levenshtein(diffs) / text1.length >\n this.Patch_DeleteThreshold) {\n // The end points match, but the content is unacceptably bad.\n results[x] = false;\n } else {\n this.diff_cleanupSemanticLossless(diffs);\n var index1 = 0;\n var index2;\n for (var y = 0; y < patches[x].diffs.length; y++) {\n var mod = patches[x].diffs[y];\n if (mod[0] !== DIFF_EQUAL) {\n index2 = this.diff_xIndex(diffs, index1);\n }\n if (mod[0] === DIFF_INSERT) { // Insertion\n text = text.substring(0, start_loc + index2) + mod[1] +\n text.substring(start_loc + index2);\n } else if (mod[0] === DIFF_DELETE) { // Deletion\n text = text.substring(0, start_loc + index2) +\n text.substring(start_loc + this.diff_xIndex(diffs,\n index1 + mod[1].length));\n }\n if (mod[0] !== DIFF_DELETE) {\n index1 += mod[1].length;\n }\n }\n }\n }\n }\n }\n // Strip the padding off.\n text = text.substring(nullPadding.length, text.length - nullPadding.length);\n return [text, results];\n};\n\n\n/**\n * Add some padding on text start and end so that edges can match something.\n * Intended to be called only from within patch_apply.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @return {string} The padding string added to each side.\n */\ndiff_match_patch.prototype.patch_addPadding = function(patches) {\n var paddingLength = this.Patch_Margin;\n var nullPadding = '';\n for (var x = 1; x <= paddingLength; x++) {\n nullPadding += String.fromCharCode(x);\n }\n\n // Bump all the patches forward.\n for (var x = 0; x < patches.length; x++) {\n patches[x].start1 += paddingLength;\n patches[x].start2 += paddingLength;\n }\n\n // Add some padding on start of first diff.\n var patch = patches[0];\n var diffs = patch.diffs;\n if (diffs.length == 0 || diffs[0][0] != DIFF_EQUAL) {\n // Add nullPadding equality.\n diffs.unshift(new diff_match_patch.Diff(DIFF_EQUAL, nullPadding));\n patch.start1 -= paddingLength; // Should be 0.\n patch.start2 -= paddingLength; // Should be 0.\n patch.length1 += paddingLength;\n patch.length2 += paddingLength;\n } else if (paddingLength > diffs[0][1].length) {\n // Grow first equality.\n var extraLength = paddingLength - diffs[0][1].length;\n diffs[0][1] = nullPadding.substring(diffs[0][1].length) + diffs[0][1];\n patch.start1 -= extraLength;\n patch.start2 -= extraLength;\n patch.length1 += extraLength;\n patch.length2 += extraLength;\n }\n\n // Add some padding on end of last diff.\n patch = patches[patches.length - 1];\n diffs = patch.diffs;\n if (diffs.length == 0 || diffs[diffs.length - 1][0] != DIFF_EQUAL) {\n // Add nullPadding equality.\n diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, nullPadding));\n patch.length1 += paddingLength;\n patch.length2 += paddingLength;\n } else if (paddingLength > diffs[diffs.length - 1][1].length) {\n // Grow last equality.\n var extraLength = paddingLength - diffs[diffs.length - 1][1].length;\n diffs[diffs.length - 1][1] += nullPadding.substring(0, extraLength);\n patch.length1 += extraLength;\n patch.length2 += extraLength;\n }\n\n return nullPadding;\n};\n\n\n/**\n * Look through the patches and break up any which are longer than the maximum\n * limit of the match algorithm.\n * Intended to be called only from within patch_apply.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n */\ndiff_match_patch.prototype.patch_splitMax = function(patches) {\n var patch_size = this.Match_MaxBits;\n for (var x = 0; x < patches.length; x++) {\n if (patches[x].length1 <= patch_size) {\n continue;\n }\n var bigpatch = patches[x];\n // Remove the big old patch.\n patches.splice(x--, 1);\n var start1 = bigpatch.start1;\n var start2 = bigpatch.start2;\n var precontext = '';\n while (bigpatch.diffs.length !== 0) {\n // Create one of several smaller patches.\n var patch = new diff_match_patch.patch_obj();\n var empty = true;\n patch.start1 = start1 - precontext.length;\n patch.start2 = start2 - precontext.length;\n if (precontext !== '') {\n patch.length1 = patch.length2 = precontext.length;\n patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, precontext));\n }\n while (bigpatch.diffs.length !== 0 &&\n patch.length1 < patch_size - this.Patch_Margin) {\n var diff_type = bigpatch.diffs[0][0];\n var diff_text = bigpatch.diffs[0][1];\n if (diff_type === DIFF_INSERT) {\n // Insertions are harmless.\n patch.length2 += diff_text.length;\n start2 += diff_text.length;\n patch.diffs.push(bigpatch.diffs.shift());\n empty = false;\n } else if (diff_type === DIFF_DELETE && patch.diffs.length == 1 &&\n patch.diffs[0][0] == DIFF_EQUAL &&\n diff_text.length > 2 * patch_size) {\n // This is a large deletion. Let it pass in one chunk.\n patch.length1 += diff_text.length;\n start1 += diff_text.length;\n empty = false;\n patch.diffs.push(new diff_match_patch.Diff(diff_type, diff_text));\n bigpatch.diffs.shift();\n } else {\n // Deletion or equality. Only take as much as we can stomach.\n diff_text = diff_text.substring(0,\n patch_size - patch.length1 - this.Patch_Margin);\n patch.length1 += diff_text.length;\n start1 += diff_text.length;\n if (diff_type === DIFF_EQUAL) {\n patch.length2 += diff_text.length;\n start2 += diff_text.length;\n } else {\n empty = false;\n }\n patch.diffs.push(new diff_match_patch.Diff(diff_type, diff_text));\n if (diff_text == bigpatch.diffs[0][1]) {\n bigpatch.diffs.shift();\n } else {\n bigpatch.diffs[0][1] =\n bigpatch.diffs[0][1].substring(diff_text.length);\n }\n }\n }\n // Compute the head context for the next patch.\n precontext = this.diff_text2(patch.diffs);\n precontext =\n precontext.substring(precontext.length - this.Patch_Margin);\n // Append the end context for this patch.\n var postcontext = this.diff_text1(bigpatch.diffs)\n .substring(0, this.Patch_Margin);\n if (postcontext !== '') {\n patch.length1 += postcontext.length;\n patch.length2 += postcontext.length;\n if (patch.diffs.length !== 0 &&\n patch.diffs[patch.diffs.length - 1][0] === DIFF_EQUAL) {\n patch.diffs[patch.diffs.length - 1][1] += postcontext;\n } else {\n patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, postcontext));\n }\n }\n if (!empty) {\n patches.splice(++x, 0, patch);\n }\n }\n }\n};\n\n\n/**\n * Take a list of patches and return a textual representation.\n * @param {!Array.<!diff_match_patch.patch_obj>} patches Array of Patch objects.\n * @return {string} Text representation of patches.\n */\ndiff_match_patch.prototype.patch_toText = function(patches) {\n var text = [];\n for (var x = 0; x < patches.length; x++) {\n text[x] = patches[x];\n }\n return text.join('');\n};\n\n\n/**\n * Parse a textual representation of patches and return a list of Patch objects.\n * @param {string} textline Text representation of patches.\n * @return {!Array.<!diff_match_patch.patch_obj>} Array of Patch objects.\n * @throws {!Error} If invalid input.\n */\ndiff_match_patch.prototype.patch_fromText = function(textline) {\n var patches = [];\n if (!textline) {\n return patches;\n }\n var text = textline.split('\\n');\n var textPointer = 0;\n var patchHeader = /^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;\n while (textPointer < text.length) {\n var m = text[textPointer].match(patchHeader);\n if (!m) {\n throw new Error('Invalid patch string: ' + text[textPointer]);\n }\n var patch = new diff_match_patch.patch_obj();\n patches.push(patch);\n patch.start1 = parseInt(m[1], 10);\n if (m[2] === '') {\n patch.start1--;\n patch.length1 = 1;\n } else if (m[2] == '0') {\n patch.length1 = 0;\n } else {\n patch.start1--;\n patch.length1 = parseInt(m[2], 10);\n }\n\n patch.start2 = parseInt(m[3], 10);\n if (m[4] === '') {\n patch.start2--;\n patch.length2 = 1;\n } else if (m[4] == '0') {\n patch.length2 = 0;\n } else {\n patch.start2--;\n patch.length2 = parseInt(m[4], 10);\n }\n textPointer++;\n\n while (textPointer < text.length) {\n var sign = text[textPointer].charAt(0);\n try {\n var line = decodeURI(text[textPointer].substring(1));\n } catch (ex) {\n // Malformed URI sequence.\n throw new Error('Illegal escape in patch_fromText: ' + line);\n }\n if (sign == '-') {\n // Deletion.\n patch.diffs.push(new diff_match_patch.Diff(DIFF_DELETE, line));\n } else if (sign == '+') {\n // Insertion.\n patch.diffs.push(new diff_match_patch.Diff(DIFF_INSERT, line));\n } else if (sign == ' ') {\n // Minor equality.\n patch.diffs.push(new diff_match_patch.Diff(DIFF_EQUAL, line));\n } else if (sign == '@') {\n // Start of next patch.\n break;\n } else if (sign === '') {\n // Blank line? Whatever.\n } else {\n // WTF?\n throw new Error('Invalid patch mode \"' + sign + '\" in: ' + line);\n }\n textPointer++;\n }\n }\n return patches;\n};\n\n\n/**\n * Class representing one patch operation.\n * @constructor\n */\ndiff_match_patch.patch_obj = function() {\n /** @type {!Array.<!diff_match_patch.Diff>} */\n this.diffs = [];\n /** @type {?number} */\n this.start1 = null;\n /** @type {?number} */\n this.start2 = null;\n /** @type {number} */\n this.length1 = 0;\n /** @type {number} */\n this.length2 = 0;\n};\n\n\n/**\n * Emulate GNU diff's format.\n * Header: @@ -382,8 +481,9 @@\n * Indices are printed as 1-based, not 0-based.\n * @return {string} The GNU diff string.\n */\ndiff_match_patch.patch_obj.prototype.toString = function() {\n var coords1, coords2;\n if (this.length1 === 0) {\n coords1 = this.start1 + ',0';\n } else if (this.length1 == 1) {\n coords1 = this.start1 + 1;\n } else {\n coords1 = (this.start1 + 1) + ',' + this.length1;\n }\n if (this.length2 === 0) {\n coords2 = this.start2 + ',0';\n } else if (this.length2 == 1) {\n coords2 = this.start2 + 1;\n } else {\n coords2 = (this.start2 + 1) + ',' + this.length2;\n }\n var text = ['@@ -' + coords1 + ' +' + coords2 + ' @@\\n'];\n var op;\n // Escape the body of the patch with %xx notation.\n for (var x = 0; x < this.diffs.length; x++) {\n switch (this.diffs[x][0]) {\n case DIFF_INSERT:\n op = '+';\n break;\n case DIFF_DELETE:\n op = '-';\n break;\n case DIFF_EQUAL:\n op = ' ';\n break;\n }\n text[x + 1] = op + encodeURI(this.diffs[x][1]) + '\\n';\n }\n return text.join('').replace(/%20/g, ' ');\n};\n\n\n// The following export code was added by @ForbesLindesay\nmodule.exports = diff_match_patch;\nmodule.exports['diff_match_patch'] = diff_match_patch;\nmodule.exports['DIFF_DELETE'] = DIFF_DELETE;\nmodule.exports['DIFF_INSERT'] = DIFF_INSERT;\nmodule.exports['DIFF_EQUAL'] = DIFF_EQUAL;\n\n//# sourceURL=webpack:///./node_modules/diff-match-patch/index.js?")},ZD9Y:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var antd_es_select_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("OaEy");\n/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("2fM7");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("lOMy");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_3__);\n\n\n\n\nvar Option = antd_es_select__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"].Option;\n/* harmony default export */ __webpack_exports__["a"] = ((_ref) => {\n var onFontSizeChange = _ref.onFontSizeChange,\n cmFontSize = _ref.cmFontSize,\n cmCodeMode = _ref.cmCodeMode,\n onCodeModeChange = _ref.onCodeModeChange,\n _ref$className = _ref.className,\n className = _ref$className === void 0 ? \'\' : _ref$className,\n children = _ref.children;\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "tpi-code-setting ".concat(className)\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("h3", null, "\\u4EE3\\u7801\\u683C\\u5F0F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("section", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u663E\\u793A\\u6A21\\u5F0F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n bordered: false,\n size: "small",\n value: cmCodeMode,\n onChange: onCodeModeChange\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: \'vs\'\n }, "\\u767D\\u8272\\u80CC\\u666F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: \'vs-dark\'\n }, "\\u9ED1\\u8272\\u80CC\\u666F"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u5B57\\u4F53\\u5927\\u5C0F"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n bordered: false,\n size: "small",\n value: cmFontSize,\n onChange: onFontSizeChange\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 12\n }, "12px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 14\n }, "14px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 16\n }, "16px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 18\n }, "18px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 20\n }, "20px"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(Option, {\n value: 22\n }, "22px")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("h3", null, "\\u5FEB\\u6377\\u952E"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("section", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u4FDD\\u5B58\\u4EE3\\u7801"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Ctrl + S")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u5524\\u51FA\\u5FEB\\u6377\\u952E\\u5217\\u8868"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "F1 / Alt + F1")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u5DE6\\u53F3\\u7F29\\u8FDB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Ctrl + ]/[")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u8DF3\\u5230\\u5339\\u914D\\u7684\\u62EC\\u53F7"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Ctrl + Shift + \\\\")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u8F6C\\u5230\\u884C\\u9996"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "Home")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", {\n className: "file-item"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("b", null, "\\u8F6C\\u5230\\u884C\\u5C3E"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, "End"))), children);\n});\n\n//# sourceURL=webpack:///./src/components/tpi-code-setting/CodeSetting.tsx?')},ZLWo:function(module,exports,__webpack_require__){"use strict";eval('\n// This icon file is generated automatically.\nObject.defineProperty(exports, "__esModule", { value: true });\nvar FolderOpenOutlined = { "icon": { "tag": "svg", "attrs": { "viewBox": "64 64 896 896", "focusable": "false" }, "children": [{ "tag": "path", "attrs": { "d": "M928 444H820V330.4c0-17.7-14.3-32-32-32H473L355.7 186.2a8.15 8.15 0 00-5.5-2.2H96c-17.7 0-32 14.3-32 32v592c0 17.7 14.3 32 32 32h698c13 0 24.8-7.9 29.7-20l134-332c1.5-3.8 2.3-7.9 2.3-12 0-17.7-14.3-32-32-32zM136 256h188.5l119.6 114.4H748V444H238c-13 0-24.8 7.9-29.7 20L136 643.2V256zm635.3 512H159l103.3-256h612.4L771.3 768z" } }] }, "name": "folder-open", "theme": "outlined" };\nexports.default = FolderOpenOutlined;\n\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons-svg/lib/asn/FolderOpenOutlined.js?')},ZW9T:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* unused harmony export getLanguageByMirrorName */\n/* unused harmony export DiffEditor */\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"k1fw\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(\"rAM+\");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(\"tJVT\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(\"q1tI\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(\"bdgK\");\n\n\n\n\n\n\nfunction processSize(size) {\n return !/^\\d+$/.test(size) ? size : \"\".concat(size, \"px\");\n}\n\nfunction noop() {}\n\nvar __prevent_trigger_change_event = false;\nvar DICT = {\n 'Python3.6': 'python',\n 'Python2.7': 'python',\n Dynamips: 'cpp',\n Java: 'java',\n Web: 'php',\n Html: 'html',\n Hive: 'sql',\n Hadoop: 'java',\n SDL: 'cpp',\n PHP: 'php',\n Matlab: 'python',\n Git: 'python',\n Python: 'python',\n 'C/C++': 'cpp',\n 'C++': 'cpp',\n C: 'cpp',\n Ruby: 'ruby',\n Shell: 'shell',\n JavaScript: 'javascript',\n Perl6: 'perl',\n Kotlin: 'kotlin',\n Elixir: 'elixir',\n Android: 'java',\n JavaWeb: 'java',\n Go: 'go',\n Spark: 'sql',\n MachineLearning: 'python',\n Verilog: 'xml',\n 'Verilog/VNC': 'xml',\n Docker: 'dockerfile',\n 'C#': 'csharp',\n SQLite3: 'sql',\n Oracle: 'sql',\n Vhdl: 'vhdl',\n R: 'r',\n Swift: 'swift',\n SQLServer: 'mysql',\n MySQL: 'mysql',\n Mongo: 'sql',\n PostgreSql: 'pgsql',\n Hbase: 'powershell',\n Sqoop: 'sql',\n Nasm: 'cpp',\n Kafka: 'java',\n Flink: 'java',\n Sml: 'javascript',\n OpenGL: 'cpp',\n Perl5: 'perl',\n Orange: 'python'\n};\nfunction getLanguageByMirrorName() {\n var mirror_name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var lang = mirror_name;\n\n if (Array.isArray(mirror_name)) {\n for (var i = 0; i < mirror_name.length; i++) {\n var languageVal = DICT[mirror_name[i]];\n\n if (languageVal) {\n return languageVal;\n }\n }\n\n return lang[0];\n }\n\n return DICT[lang] || lang;\n} //onCodeChange \u5fc5\u987b\u662f\u5e42\u7b49\u7684\uff0c\u56e0\u4e3a\u53ea\u4f1a\u6ce8\u518c\u4e00\u6b21\uff0c\u5982\u679c\u6709\u53d8\u5316\uff0c\u4f1a\u54cd\u5e94\u65e7\u7684\uff0c\u4ea7\u751f\u810f\u6570\u636e\n\nvar monaco = null;\n/* harmony default export */ __webpack_exports__[\"a\"] = ((_ref) => {\n var _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n value = _ref.value,\n _ref$language = _ref.language,\n language = _ref$language === void 0 ? 'javascript' : _ref$language,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n _ref$overrideServices = _ref.overrideServices,\n overrideServices = _ref$overrideServices === void 0 ? {} : _ref$overrideServices,\n _ref$theme = _ref.theme,\n theme = _ref$theme === void 0 ? 'vs-dark' : _ref$theme,\n onEditBlur = _ref.onEditBlur,\n _ref$forbidCopy = _ref.forbidCopy,\n forbidCopy = _ref$forbidCopy === void 0 ? false : _ref$forbidCopy,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n _ref$editorDidMount = _ref.editorDidMount,\n editorDidMount = _ref$editorDidMount === void 0 ? noop : _ref$editorDidMount,\n _ref$onFocus = _ref.onFocus,\n onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus;\n var editorEl = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useRef\"])();\n var editor = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useRef\"])({});\n\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(false),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(_useState, 2),\n init = _useState2[0],\n setInit = _useState2[1];\n\n function onLayout() {\n var ro;\n\n if (editorEl.current) {\n ro = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_4__[\"default\"](entries => {\n var _iterator = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n editor.current.instance.layout();\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n ro.observe(editorEl.current);\n }\n\n return ro;\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (value != null && instance && init) {\n var model = instance.getModel();\n\n if (model && value !== model.getValue()) {\n __prevent_trigger_change_event = true;\n model.setValue(value);\n instance.layout();\n __prevent_trigger_change_event = false;\n }\n }\n }, [value, init, editor.current]);\n\n function onPaste() {\n var instance = editor.current.instance;\n\n if (instance) {\n var selection = instance.getSelection();\n var pastePos = editor.current.pastePos || {};\n var range = new monaco.Range(pastePos.startLineNumber || selection.endLineNumber, pastePos.startColumn || selection.endColumn, pastePos.endLineNumber || selection.endLineNumber, pastePos.endColumn || selection.endColumn);\n instance.executeEdits('', [{\n range,\n text: ''\n }]);\n }\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n if (editorEl.current && !init) {\n Promise.all(/* import() | monaco-editor */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.t.bind(null, \"M/lh\", 7)).then(mod => {\n monaco = mod;\n editor.current.instance = monaco.editor.create(editorEl.current, Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])({\n value,\n language: getLanguageByMirrorName(language),\n theme\n }, options), overrideServices);\n var instance = editor.current.instance;\n editorDidMount(instance, monaco);\n editor.current.subscription = instance.onDidChangeModelContent(event => {\n if (!__prevent_trigger_change_event) {\n onChange(instance.getValue(), event);\n }\n });\n\n if (onEditBlur) {\n instance.onDidBlurEditorWidget(() => {\n onEditBlur(instance.getValue());\n });\n }\n\n if (onFocus) {\n instance.onDidFocusEditorText(() => {\n onFocus(instance.getValue());\n });\n }\n\n if (forbidCopy) {\n instance.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KEY_V, () => null);\n instance.onDidPaste(pos => {\n editor.current.pastePos = pos;\n });\n window.addEventListener('paste', onPaste);\n }\n\n var ro = onLayout();\n setInit(true);\n return () => {\n var el = editor.current.instance;\n el.dispose();\n var model = el.getModel();\n\n if (model) {\n model.dispose();\n }\n\n if (editor.current.subscription) {\n editor.current.subscription.dispose();\n }\n\n if (forbidCopy) {\n window.removeEventListener('paste', onPaste);\n }\n\n ro.unobserve(editorEl.current);\n };\n });\n }\n }, []);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n var lang = getLanguageByMirrorName(language);\n monaco.editor.setModelLanguage(instance.getModel(), lang);\n }\n }, [language, init]);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n monaco.editor.setTheme(theme);\n }\n }, [theme, init]);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n instance.updateOptions(options);\n }\n }, [options, init]);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n var instance = editor.current.instance;\n\n if (instance && init) {\n instance.layout();\n }\n }, [width, height, init]);\n var fixedWidth = processSize(width);\n var fixedHeight = processSize(height);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n className: \"my-monaco-editor\",\n ref: editorEl,\n style: style\n });\n});\nfunction DiffEditor(_ref2) {\n var _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? '100%' : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? '100%' : _ref2$height,\n original = _ref2.original,\n modified = _ref2.modified,\n language = _ref2.language,\n _ref2$options = _ref2.options,\n options = _ref2$options === void 0 ? {} : _ref2$options;\n var editorEl = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useRef\"])();\n\n var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useState\"])(null),\n _useState4 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ \"a\"])(_useState3, 2),\n instance = _useState4[0],\n setInstance = _useState4[1];\n\n function onLayout(instance) {\n var ro;\n\n if (editorEl.current) {\n ro = new resize_observer_polyfill__WEBPACK_IMPORTED_MODULE_4__[\"default\"](entries => {\n var _iterator2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_createForOfIteratorHelper__WEBPACK_IMPORTED_MODULE_1__[/* default */ \"a\"])(entries),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var entry = _step2.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n instance.layout();\n }\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n });\n ro.observe(editorEl.current);\n }\n\n return ro;\n }\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n if (editorEl.current) {\n Promise.all(/* import() | monaco-editor */[__webpack_require__.e(0), __webpack_require__.e(16)]).then(__webpack_require__.t.bind(null, \"M/lh\", 7)).then(mod => {\n monaco = mod;\n var instance = monaco.editor.createDiffEditor(editorEl.current, Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_objectSpread2__WEBPACK_IMPORTED_MODULE_0__[/* default */ \"a\"])({\n enableSplitViewResizing: false,\n scrollBeyondLastLine: false,\n roundedSelection: false,\n renderIndicators: false,\n useShadows: false,\n lineNumbers: 'off',\n ignoreTrimWhitespace: false,\n followsCaret: true,\n // resets the navigator state when the user selects something in the editor\n ignoreCharChanges: true,\n // jump from line to line,\n minimap: {\n enabled: false\n },\n readOnly: true\n }, options));\n setInstance(instance);\n var ro = onLayout(instance);\n return () => {\n instance.dispose();\n var model = instance.getModel();\n\n if (model) {\n model.dispose();\n }\n\n ro.unobserve(editorEl.current);\n };\n });\n }\n }, []);\n Object(react__WEBPACK_IMPORTED_MODULE_3__[\"useEffect\"])(() => {\n if (instance) {\n instance.setModel({\n original: monaco.editor.createModel(original, language),\n modified: monaco.editor.createModel(modified, language)\n });\n }\n }, [original, modified, language, instance]);\n var fixedWidth = processSize(width);\n var fixedHeight = processSize(height);\n var style = {\n width: fixedWidth,\n height: fixedHeight\n };\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(\"div\", {\n className: \"my-diff-editor\",\n ref: editorEl,\n style: style\n });\n}\n\n//# sourceURL=webpack:///./src/components/monaco-editor/index.jsx?")},bCnd:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return toStore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return fromStore; });\n/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(\"je13\");\n/* harmony import */ var store__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(store__WEBPACK_IMPORTED_MODULE_0__);\nvar isDev = \"production\" === 'development';\n\nfunction toStore(key, val) {\n var _config = store__WEBPACK_IMPORTED_MODULE_0___default.a.get('__ec');\n\n if (!_config) _config = {};\n _config[key] = val;\n store__WEBPACK_IMPORTED_MODULE_0___default.a.set('__ec', _config);\n}\nfunction fromStore(key, defaultVal) {\n var _config = store__WEBPACK_IMPORTED_MODULE_0___default.a.get('__ec');\n\n if (!_config) return defaultVal;\n return _config[key] === undefined ? defaultVal : _config[key];\n}\n\n//# sourceURL=webpack:///./src/utils/urlTool.ts?")},"cf+g":function(module,exports,__webpack_require__){eval('module.exports = __webpack_require__.p + "static/mark.ad150797.svg";\n\n//# sourceURL=webpack:///./src/pages/tasks/choose-repository/test-cast-list/mark.svg?')},dTJi:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/task-list/index.less?")},dejd:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/markdown-editor/toolbar/index.less?")},dhSg:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('function Mediator(obj) {\n var channels = {};\n var mediator = {\n subscribe: function subscribe(channel, cb) {\n if (!channels[channel]) {\n channels[channel] = [];\n }\n\n channels[channel].push(cb);\n return this.unsubscribe.bind(null, channel, cb);\n },\n unsubscribe: function unsubscribe(channel, cb) {\n var rs = channels[channel];\n var index = -1;\n\n if (rs) {\n for (var i = 0; i < rs.length; i++) {\n if (rs[i].name === cb.name) {\n index = i;\n break;\n }\n }\n\n if (index >= 0) {\n channels[channel].splice(index, 1);\n return true;\n }\n }\n\n return false;\n },\n publish: function publish(channel) {\n if (!channels[channel]) {\n return false;\n }\n\n var args = Array.prototype.slice.call(arguments, 1);\n channels[channel].forEach(subscription => {\n subscription.apply(null, args);\n });\n return this;\n }\n };\n return obj ? Object.assign(obj, mediator) : mediator;\n}\n\nvar mediator = new Mediator();\n/* harmony default export */ __webpack_exports__["a"] = (mediator);\n\n//# sourceURL=webpack:///./src/components/mediator.js?')},eP3c:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.inflateInfo = exports.inflateSetDictionary = exports.inflateGetHeader = exports.inflateEnd = exports.inflate = exports.inflateInit2 = exports.inflateInit = exports.inflateResetKeep = exports.inflateReset2 = exports.inflateReset = undefined;\n\nvar _common = __webpack_require__("6BzB");\n\nvar utils = _interopRequireWildcard(_common);\n\nvar _adler = __webpack_require__("xlC8");\n\nvar _adler2 = _interopRequireDefault(_adler);\n\nvar _crc = __webpack_require__("QV2g");\n\nvar _crc2 = _interopRequireDefault(_crc);\n\nvar _inffast = __webpack_require__("sjKO");\n\nvar _inffast2 = _interopRequireDefault(_inffast);\n\nvar _inftrees = __webpack_require__("JSwD");\n\nvar _inftrees2 = _interopRequireDefault(_inftrees);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\nfunction zswap32(q) {\n return (q >>> 24 & 0xff) + (q >>> 8 & 0xff00) + ((q & 0xff00) << 8) + ((q & 0xff) << 24);\n}\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in "in" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don\'t have pointers in js, we use lencode and distcode directly\n as buffers so we don\'t need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) {\n return Z_STREAM_ERROR;\n }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = \'\'; /*Z_NULL*/\n if (state.wrap) {\n /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null /*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, "inflate: reset\\n"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) {\n return Z_STREAM_ERROR;\n }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) {\n return Z_STREAM_ERROR;\n }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n } else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) {\n return Z_STREAM_ERROR;\n }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, "inflate: allocated\\n"));\n strm.state = state;\n state.window = null /*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null /*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it\'s called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) {\n state.lens[sym++] = 8;\n }\n while (sym < 256) {\n state.lens[sym++] = 9;\n }\n while (sym < 280) {\n state.lens[sym++] = 7;\n }\n while (sym < 288) {\n state.lens[sym++] = 8;\n }\n\n (0, _inftrees2.default)(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) {\n state.lens[sym++] = 5;\n }\n\n (0, _inftrees2.default)(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor\'s data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn\'t been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n } else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n } else {\n state.wnext += dist;\n if (state.wnext === state.wsize) {\n state.wnext = 0;\n }\n if (state.whave < state.wsize) {\n state.whave += dist;\n }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked "here" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked "last" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15];\n\n if (!strm || !strm.state || !strm.output || !strm.input && strm.avail_in !== 0) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) {\n state.mode = TYPEDO;\n } /* skip check */\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.wrap & 2 && hold === 0x8b1f) {\n /* gzip header */\n state.check = 0 /*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = hold >>> 8 & 0xff;\n state.check = (0, _crc2.default)(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff) << /*BITS(8)*/8) + (hold >> 8)) % 31) {\n strm.msg = \'incorrect header check\';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f) !== /*BITS(4)*/Z_DEFLATED) {\n strm.msg = \'unknown compression method\';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f) + /*BITS(4)*/8;\n if (state.wbits === 0) {\n state.wbits = len;\n } else if (len > state.wbits) {\n strm.msg = \'invalid window size\';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, "inflate: zlib header ok\\n"));\n strm.adler = state.check = 1 /*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = \'unknown compression method\';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = \'unknown header flags set\';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = hold >> 8 & 1;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = hold >>> 8 & 0xff;\n state.check = (0, _crc2.default)(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = hold >>> 8 & 0xff;\n hbuf[2] = hold >>> 16 & 0xff;\n hbuf[3] = hold >>> 24 & 0xff;\n state.check = (0, _crc2.default)(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = hold & 0xff;\n state.head.os = hold >> 8;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = hold >>> 8 & 0xff;\n state.check = (0, _crc2.default)(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = hold >>> 8 & 0xff;\n state.check = (0, _crc2.default)(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n } else if (state.head) {\n state.head.extra = null /*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) {\n copy = have;\n }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more conveniend processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(state.head.extra, input, next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len);\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = (0, _crc2.default)(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) {\n break inf_leave;\n }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) {\n break inf_leave;\n }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len && state.length < 65536 /*state.head.name_max*/) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = (0, _crc2.default)(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) {\n break inf_leave;\n }\n } else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) {\n break inf_leave;\n }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len && state.length < 65536 /*state.head.comm_max*/) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = (0, _crc2.default)(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) {\n break inf_leave;\n }\n } else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = \'header crc mismatch\';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = state.flags >> 9 & 1;\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1 /*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) {\n break inf_leave;\n }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = hold & 0x01 /*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch (hold & 0x03) {/*BITS(2)*/case 0:\n /* stored block */\n //Tracev((stderr, "inflate: stored block%s\\n",\n // state.last ? " (last)" : ""));\n state.mode = STORED;\n break;\n case 1:\n /* fixed block */\n fixedtables(state);\n //Tracev((stderr, "inflate: fixed codes block%s\\n",\n // state.last ? " (last)" : ""));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2:\n /* dynamic block */\n //Tracev((stderr, "inflate: dynamic codes block%s\\n",\n // state.last ? " (last)" : ""));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = \'invalid block type\';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== (hold >>> 16 ^ 0xffff)) {\n strm.msg = \'invalid stored block lengths\';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, "inflate: stored length %u\\n",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) {\n break inf_leave;\n }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) {\n copy = have;\n }\n if (copy > left) {\n copy = left;\n }\n if (copy === 0) {\n break inf_leave;\n }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, "inflate: stored end\\n"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f) + /*BITS(5)*/257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f) + /*BITS(5)*/1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f) + /*BITS(4)*/4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n //#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = \'too many length or distance symbols\';\n state.mode = BAD;\n break;\n }\n //#endif\n //Tracev((stderr, "inflate: table sizes ok\\n"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = hold & 0x07; //BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = (0, _inftrees2.default)(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = \'invalid code lengths set\';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, "inflate: code lengths ok\\n"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & (1 << state.lenbits) - 1]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = here >>> 16 & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) {\n break;\n }\n //--- PULLBYTE() ---//\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n } else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = \'invalid bit length repeat\';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03); //BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n } else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07); //BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n } else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f); //BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = \'invalid bit length repeat\';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) {\n break;\n }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = \'invalid code -- missing end-of-block\';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = (0, _inftrees2.default)(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = \'invalid literal/lengths set\';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = (0, _inftrees2.default)(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = \'invalid distances set\';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \'inflate: codes ok\\n\'));\n state.mode = LEN_;\n if (flush === Z_TREES) {\n break inf_leave;\n }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n (0, _inffast2.default)(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & (1 << state.lenbits) - 1]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = here >>> 16 & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) {\n break;\n }\n //--- PULLBYTE() ---//\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> /*BITS(last.bits + last.op)*/last_bits)];\n here_bits = here >>> 24;\n here_op = here >>> 16 & 0xff;\n here_val = here & 0xffff;\n\n if (last_bits + here_bits <= bits) {\n break;\n }\n //--- PULLBYTE() ---//\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // "inflate: literal \'%c\'\\n" :\n // "inflate: literal 0x%02x\\n", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, "inflate: end of block\\n"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = \'invalid literal/length code\';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & (1 << state.extra) - 1 /*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, "inflate: length %u\\n", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & (1 << state.distbits) - 1]; /*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = here >>> 16 & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) {\n break;\n }\n //--- PULLBYTE() ---//\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1) >> /*BITS(last.bits + last.op)*/last_bits)];\n here_bits = here >>> 24;\n here_op = here >>> 16 & 0xff;\n here_val = here & 0xffff;\n\n if (last_bits + here_bits <= bits) {\n break;\n }\n //--- PULLBYTE() ---//\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = \'invalid distance code\';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = here_op & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & (1 << state.extra) - 1 /*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = \'invalid distance too far back\';\n state.mode = BAD;\n break;\n }\n //#endif\n //Tracevv((stderr, "inflate: distance %u\\n", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) {\n break inf_leave;\n }\n copy = _out - left;\n if (state.offset > copy) {\n /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = \'invalid distance too far back\';\n state.mode = BAD;\n break;\n }\n // (!) This block is disabled in zlib defailts,\n // don\'t enable it for binary compatibility\n //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n // Trace((stderr, "inflate.c too far\\n"));\n // copy -= state.whave;\n // if (copy > state.length) { copy = state.length; }\n // if (copy > left) { copy = left; }\n // left -= copy;\n // state.length -= copy;\n // do {\n // output[put++] = 0;\n // } while (--copy);\n // if (state.length === 0) { state.mode = LEN; }\n // break;\n //#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n } else {\n from = state.wnext - copy;\n }\n if (copy > state.length) {\n copy = state.length;\n }\n from_source = state.window;\n } else {\n /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) {\n copy = left;\n }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) {\n state.mode = LEN;\n }\n break;\n case LIT:\n if (left === 0) {\n break inf_leave;\n }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n // Use \'|\' insdead of \'+\' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n state.flags ? (0, _crc2.default)(state.check, output, _out, put - _out) : (0, _adler2.default)(state.check, output, _out, put - _out);\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = \'incorrect data check\';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, "inflate: check matches trailer\\n"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) {\n break inf_leave;\n }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = \'incorrect length check\';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, "inflate: length matches trailer\\n"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH)) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n state.flags ? (0, _crc2.default)(state.check, output, _out, strm.next_out - _out) : (0, _adler2.default)(state.check, output, _out, strm.next_out - _out);\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if ((_in === 0 && _out === 0 || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) {\n return Z_STREAM_ERROR;\n }\n state = strm.state;\n if ((state.wrap & 2) === 0) {\n return Z_STREAM_ERROR;\n }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) {\n return Z_STREAM_ERROR;\n }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = (0, _adler2.default)(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, "inflate: dictionary set\\n"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nvar inflateInfo = exports.inflateInfo = \'pako inflate (from Nodeca project)\';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/zlib/inflate.js?')},fXAG:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"i\", function() { return FETCH_TASK_START; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"h\", function() { return FETCH_TASK_FAILURE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"j\", function() { return FETCH_TASK_SUCCESS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ab\", function() { return UPDATE_TASK_DATA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"n\", function() { return HIDE_EVALUATE_RESULT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"P\", function() { return SHOW_EVALUATE_RESULT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"t\", function() { return MOVE_X; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"u\", function() { return MOVE_Y; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"y\", function() { return SET_ACTIVE_INDEX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"l\", function() { return GET_TASK_LIST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"V\", function() { return SHOW_TASK_LIST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"r\", function() { return HIDE_TASK_LIST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"K\", function() { return SET_TASK_STAR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Y\", function() { return TRIGGER_ENLARGE_UNITY3D; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Z\", function() { return TRIGGER_TAB_FIXED; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"k\", function() { return GET_DISCUSSES; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"N\", function() { return SHOW_DISCUSSES_LOADING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"X\", function() { return TOP_OR_DOWN_DISCUSS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"v\", function() { return PLUS_DISCUSS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"x\", function() { return SET_ACTION_TYPE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"U\", function() { return SHOW_REWARD_DIALOG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"b\", function() { return CANCEL_REWARD_DIALOG; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"F\", function() { return SET_REWARD; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ACTIVE_DISCUSS_INDEX; });\n/* unused harmony export CREATE_DISCUSS */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"M\", function() { return SHOW_ANSWER_LOADING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"f\", function() { return FETCH_ANSWER_INFO; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"s\", function() { return HIDE_TIP_MODAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"W\", function() { return SHOW_TIP_MODAL; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"w\", function() { return SELECT_UNLOCK_ANSWER; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"z\", function() { return SET_CHOOSE_ANSWERS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"e\", function() { return EVAL_CHOOSE_START; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"d\", function() { return EVAL_CHOOSE_END; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"T\", function() { return SHOW_REP_LOADING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"g\", function() { return FETCH_REP_CONTENT; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"c\", function() { return EDIT_REP_CODE; });\n/* unused harmony export SET_REP_PATH */\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"O\", function() { return SHOW_EVALUATE_LOADING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"m\", function() { return HIDE_EVALUATE_LOADING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"D\", function() { return SET_EVALUATE_MESSAGE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"G\", function() { return SET_SHOW_DIR; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"B\", function() { return SET_EDITOR_SETTING; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"C\", function() { return SET_EDITOR_THEME; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"A\", function() { return SET_EDITOR_FONTSIZE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"E\", function() { return SET_REPOS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"R\", function() { return SHOW_PATH_LIST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"p\", function() { return HIDE_PATH_LIST; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"q\", function() { return HIDE_PICTURE_VIEW; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"S\", function() { return SHOW_PICTURE_VIEW; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Q\", function() { return SHOW_NOTICE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"o\", function() { return HIDE_NOTICE; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"J\", function() { return SET_TAB_INDEX; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"I\", function() { return SET_SSH_TABS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"H\", function() { return SET_SSH_CONFIGDATA; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"L\", function() { return SET_VNC_LOADING; });\nvar FETCH_TASK_START = 'FETCH_TASK_START';\nvar FETCH_TASK_FAILURE = 'FETCH_TASK_FAILURE';\nvar FETCH_TASK_SUCCESS = 'FETCH_TASK_SUCCESS';\nvar UPDATE_TASK_DATA = 'UPDATE_TASK_DATA';\nvar HIDE_EVALUATE_RESULT = 'HIDE_EVALUATE_RESULT';\nvar SHOW_EVALUATE_RESULT = 'SHOW_EVALUATE_RESULT';\nvar MOVE_X = 'MOVE_X';\nvar MOVE_Y = 'MOVE_Y'; //left_panel_action\n\nvar SET_ACTIVE_INDEX = 'SET_ACTIVE_INDEX';\nvar GET_TASK_LIST = 'GET_TASK_LIST';\nvar SHOW_TASK_LIST = 'SHOW_TASK_LIST';\nvar HIDE_TASK_LIST = 'HIDE_TASK_LIST';\nvar SET_TASK_STAR = 'SET_TASK_STAR';\nvar TRIGGER_ENLARGE_UNITY3D = 'TRIGGER_ENLARGE_UNITY3D ';\nvar TRIGGER_TAB_FIXED = 'TRIGGER_TAB_FIXED '; //discuss action\n\nvar GET_DISCUSSES = 'GET_DISCUSSES';\nvar SHOW_DISCUSSES_LOADING = 'SHOW_DISCUSSES_LOADING';\nvar TOP_OR_DOWN_DISCUSS = 'TOP_OR_DOWN_DISCUSS';\nvar PLUS_DISCUSS = 'PLUS_DISCUSS';\nvar SET_ACTION_TYPE = 'SET_ACTION_TYPE';\nvar SHOW_REWARD_DIALOG = 'SHOW_REWARD_DIALOG';\nvar CANCEL_REWARD_DIALOG = 'CANCEL_REWARD_DIALOG';\nvar SET_REWARD = 'SET_REWARD';\nvar ACTIVE_DISCUSS_INDEX = 'ACTIVE_DISCUSS_INDEX';\nvar CREATE_DISCUSS = 'CREATE_DISCUSS'; //answer_panel_action\n\nvar SHOW_ANSWER_LOADING = 'SHOW_ANSWER_LOADING';\nvar FETCH_ANSWER_INFO = 'FETCH_ANSWER_INFO';\nvar HIDE_TIP_MODAL = 'HIGH_TIP_MODAL';\nvar SHOW_TIP_MODAL = 'SHOW_TIP_MODAL';\nvar SELECT_UNLOCK_ANSWER = 'SELECT_UNLOCK_ANSWER'; //choose_repository_action\n\nvar SET_CHOOSE_ANSWERS = 'SET_CHOOSE_ANSWERS';\nvar EVAL_CHOOSE_START = 'EVAL_CHOOSE_START';\nvar EVAL_CHOOSE_END = 'EVAL_CHOOSE_END'; //code_repository_action\n\nvar SHOW_REP_LOADING = 'SHOW_REP_loading';\nvar FETCH_REP_CONTENT = 'FETCH_REP_CONTENT';\nvar EDIT_REP_CODE = 'EDIT_REP_CONTENT';\nvar SET_REP_PATH = 'SET_REP_PATH';\nvar SHOW_EVALUATE_LOADING = 'SHOW_EVALUATE_LOADING';\nvar HIDE_EVALUATE_LOADING = 'HIDE_EVALUATE_LOADING';\nvar SET_EVALUATE_MESSAGE = 'SET_EVALUATE_MESSAGE';\nvar SET_SHOW_DIR = 'SET_SHOW_DIR';\nvar SET_EDITOR_SETTING = 'SET_EDITOR_SETTING';\nvar SET_EDITOR_THEME = 'SET_EDITOR_THEME';\nvar SET_EDITOR_FONTSIZE = 'SET_EDITOR_FONTSIZE';\nvar SET_REPOS = 'SET_REPOS';\nvar SHOW_PATH_LIST = 'SHOW_PATH_LIST';\nvar HIDE_PATH_LIST = 'HIDE_PATH_LIST';\nvar HIDE_PICTURE_VIEW = 'HIDE_PICTURE_VIEW';\nvar SHOW_PICTURE_VIEW = 'SHOW_PICTURE_VIEW';\nvar SHOW_NOTICE = 'SHOW_NOTICE';\nvar HIDE_NOTICE = 'HIDE_NOTICE';\nvar SET_TAB_INDEX = 'SET_TAB_INDEX';\nvar SET_SSH_TABS = 'SET_SSH_TABS';\nvar SET_SSH_CONFIGDATA = 'SET_SSH_CONFIGDATA';\nvar SET_VNC_LOADING = 'SET_VNC_LOADING ';\n\n//# sourceURL=webpack:///./src/pages/tasks/constant.js?")},gIYZ:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\n/*\n * Fallback mapping between HTML key codes (physical keys) and\n * HTML key values. This only works for keys that don't vary\n * between layouts. We also omit those who manage fine by mapping the\n * Unicode representation.\n *\n * See https://www.w3.org/TR/uievents-code/ for possible codes.\n * See https://www.w3.org/TR/uievents-key/ for possible values.\n */\n\n/* eslint-disable key-spacing */\n\nexports.default = {\n\n // 3.1.1.1. Writing System Keys\n\n 'Backspace': 'Backspace',\n\n // 3.1.1.2. Functional Keys\n\n 'AltLeft': 'Alt',\n 'AltRight': 'Alt', // This could also be 'AltGraph'\n 'CapsLock': 'CapsLock',\n 'ContextMenu': 'ContextMenu',\n 'ControlLeft': 'Control',\n 'ControlRight': 'Control',\n 'Enter': 'Enter',\n 'MetaLeft': 'Meta',\n 'MetaRight': 'Meta',\n 'ShiftLeft': 'Shift',\n 'ShiftRight': 'Shift',\n 'Tab': 'Tab',\n // FIXME: Japanese/Korean keys\n\n // 3.1.2. Control Pad Section\n\n 'Delete': 'Delete',\n 'End': 'End',\n 'Help': 'Help',\n 'Home': 'Home',\n 'Insert': 'Insert',\n 'PageDown': 'PageDown',\n 'PageUp': 'PageUp',\n\n // 3.1.3. Arrow Pad Section\n\n 'ArrowDown': 'ArrowDown',\n 'ArrowLeft': 'ArrowLeft',\n 'ArrowRight': 'ArrowRight',\n 'ArrowUp': 'ArrowUp',\n\n // 3.1.4. Numpad Section\n\n 'NumLock': 'NumLock',\n 'NumpadBackspace': 'Backspace',\n 'NumpadClear': 'Clear',\n\n // 3.1.5. Function Section\n\n 'Escape': 'Escape',\n 'F1': 'F1',\n 'F2': 'F2',\n 'F3': 'F3',\n 'F4': 'F4',\n 'F5': 'F5',\n 'F6': 'F6',\n 'F7': 'F7',\n 'F8': 'F8',\n 'F9': 'F9',\n 'F10': 'F10',\n 'F11': 'F11',\n 'F12': 'F12',\n 'F13': 'F13',\n 'F14': 'F14',\n 'F15': 'F15',\n 'F16': 'F16',\n 'F17': 'F17',\n 'F18': 'F18',\n 'F19': 'F19',\n 'F20': 'F20',\n 'F21': 'F21',\n 'F22': 'F22',\n 'F23': 'F23',\n 'F24': 'F24',\n 'F25': 'F25',\n 'F26': 'F26',\n 'F27': 'F27',\n 'F28': 'F28',\n 'F29': 'F29',\n 'F30': 'F30',\n 'F31': 'F31',\n 'F32': 'F32',\n 'F33': 'F33',\n 'F34': 'F34',\n 'F35': 'F35',\n 'PrintScreen': 'PrintScreen',\n 'ScrollLock': 'ScrollLock',\n 'Pause': 'Pause',\n\n // 3.1.6. Media Keys\n\n 'BrowserBack': 'BrowserBack',\n 'BrowserFavorites': 'BrowserFavorites',\n 'BrowserForward': 'BrowserForward',\n 'BrowserHome': 'BrowserHome',\n 'BrowserRefresh': 'BrowserRefresh',\n 'BrowserSearch': 'BrowserSearch',\n 'BrowserStop': 'BrowserStop',\n 'Eject': 'Eject',\n 'LaunchApp1': 'LaunchMyComputer',\n 'LaunchApp2': 'LaunchCalendar',\n 'LaunchMail': 'LaunchMail',\n 'MediaPlayPause': 'MediaPlay',\n 'MediaStop': 'MediaStop',\n 'MediaTrackNext': 'MediaTrackNext',\n 'MediaTrackPrevious': 'MediaTrackPrevious',\n 'Power': 'Power',\n 'Sleep': 'Sleep',\n 'AudioVolumeDown': 'AudioVolumeDown',\n 'AudioVolumeMute': 'AudioVolumeMute',\n 'AudioVolumeUp': 'AudioVolumeUp',\n 'WakeUp': 'WakeUp'\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/fixedkeys.js?")},gflZ:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/answer-panel/unlock-answer-list/index.less?")},gp9y:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss-input-editor/index.less?")},hXwI:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2012 Joel Martin\n * Copyright (C) 2018 Samuel Mannehed for Cendio AB\n * Copyright (C) 2018 Pierre Ossman for Cendio AB\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\nvar CopyRectDecoder = function () {\n function CopyRectDecoder() {\n _classCallCheck(this, CopyRectDecoder);\n }\n\n _createClass(CopyRectDecoder, [{\n key: "decodeRect",\n value: function decodeRect(x, y, width, height, sock, display, depth) {\n if (sock.rQwait("COPYRECT", 4)) {\n return false;\n }\n\n var deltaX = sock.rQshift16();\n var deltaY = sock.rQshift16();\n display.copyImage(deltaX, deltaY, x, y, width, height);\n\n return true;\n }\n }]);\n\n return CopyRectDecoder;\n}();\n\nexports.default = CopyRectDecoder;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/decoders/copyrect.js?')},iUHT:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\n/*\n * Ported from Flashlight VNC ActionScript implementation:\n * http://www.wizhelp.com/flashlight-vnc/\n *\n * Full attribution follows:\n *\n * -------------------------------------------------------------------------\n *\n * This DES class has been extracted from package Acme.Crypto for use in VNC.\n * The unnecessary odd parity code has been removed.\n *\n * These changes are:\n * Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.\n *\n * This software is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n *\n\n * DesCipher - the DES encryption method\n *\n * The meat of this code is by Dave Zimmerman <dzimm@widget.com>, and is:\n *\n * Copyright (c) 1996 Widget Workshop, Inc. All Rights Reserved.\n *\n * Permission to use, copy, modify, and distribute this software\n * and its documentation for NON-COMMERCIAL or COMMERCIAL purposes and\n * without fee is hereby granted, provided that this copyright notice is kept\n * intact.\n *\n * WIDGET WORKSHOP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY\n * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED\n * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A\n * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WIDGET WORKSHOP SHALL NOT BE LIABLE\n * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR\n * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.\n *\n * THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE\n * CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE\n * PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT\n * NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE\n * SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE\n * SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE\n * PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). WIDGET WORKSHOP\n * SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR\n * HIGH RISK ACTIVITIES.\n *\n *\n * The rest is:\n *\n * Copyright (C) 1996 by Jef Poskanzer <jef@acme.com>. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions\n * are met:\n * 1. Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * 2. Redistributions in binary form must reproduce the above copyright\n * notice, this list of conditions and the following disclaimer in the\n * documentation and/or other materials provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS\'\' AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n * SUCH DAMAGE.\n *\n * Visit the ACME Labs Java page for up-to-date versions of this and other\n * fine Java utilities: http://www.acme.com/java/\n */\n\n/* eslint-disable comma-spacing */\n\n// Tables, permutations, S-boxes, etc.\nvar PC2 = [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],\n totrot = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];\n\nvar z = 0x0;\nvar a = void 0,\n b = void 0,\n c = void 0,\n d = void 0,\n e = void 0,\n f = void 0;\na = 1 << 16;b = 1 << 24;c = a | b;d = 1 << 2;e = 1 << 10;f = d | e;\nvar SP1 = [c | e, z | z, a | z, c | f, c | d, a | f, z | d, a | z, z | e, c | e, c | f, z | e, b | f, c | d, b | z, z | d, z | f, b | e, b | e, a | e, a | e, c | z, c | z, b | f, a | d, b | d, b | d, a | d, z | z, z | f, a | f, b | z, a | z, c | f, z | d, c | z, c | e, b | z, b | z, z | e, c | d, a | z, a | e, b | d, z | e, z | d, b | f, a | f, c | f, a | d, c | z, b | f, b | d, z | f, a | f, c | e, z | f, b | e, b | e, z | z, a | d, a | e, z | z, c | d];\na = 1 << 20;b = 1 << 31;c = a | b;d = 1 << 5;e = 1 << 15;f = d | e;\nvar SP2 = [c | f, b | e, z | e, a | f, a | z, z | d, c | d, b | f, b | d, c | f, c | e, b | z, b | e, a | z, z | d, c | d, a | e, a | d, b | f, z | z, b | z, z | e, a | f, c | z, a | d, b | d, z | z, a | e, z | f, c | e, c | z, z | f, z | z, a | f, c | d, a | z, b | f, c | z, c | e, z | e, c | z, b | e, z | d, c | f, a | f, z | d, z | e, b | z, z | f, c | e, a | z, b | d, a | d, b | f, b | d, a | d, a | e, z | z, b | e, z | f, b | z, c | d, c | f, a | e];\na = 1 << 17;b = 1 << 27;c = a | b;d = 1 << 3;e = 1 << 9;f = d | e;\nvar SP3 = [z | f, c | e, z | z, c | d, b | e, z | z, a | f, b | e, a | d, b | d, b | d, a | z, c | f, a | d, c | z, z | f, b | z, z | d, c | e, z | e, a | e, c | z, c | d, a | f, b | f, a | e, a | z, b | f, z | d, c | f, z | e, b | z, c | e, b | z, a | d, z | f, a | z, c | e, b | e, z | z, z | e, a | d, c | f, b | e, b | d, z | e, z | z, c | d, b | f, a | z, b | z, c | f, z | d, a | f, a | e, b | d, c | z, b | f, z | f, c | z, a | f, z | d, c | d, a | e];\na = 1 << 13;b = 1 << 23;c = a | b;d = 1 << 0;e = 1 << 7;f = d | e;\nvar SP4 = [c | d, a | f, a | f, z | e, c | e, b | f, b | d, a | d, z | z, c | z, c | z, c | f, z | f, z | z, b | e, b | d, z | d, a | z, b | z, c | d, z | e, b | z, a | d, a | e, b | f, z | d, a | e, b | e, a | z, c | e, c | f, z | f, b | e, b | d, c | z, c | f, z | f, z | z, z | z, c | z, a | e, b | e, b | f, z | d, c | d, a | f, a | f, z | e, c | f, z | f, z | d, a | z, b | d, a | d, c | e, b | f, a | d, a | e, b | z, c | d, z | e, b | z, a | z, c | e];\na = 1 << 25;b = 1 << 30;c = a | b;d = 1 << 8;e = 1 << 19;f = d | e;\nvar SP5 = [z | d, a | f, a | e, c | d, z | e, z | d, b | z, a | e, b | f, z | e, a | d, b | f, c | d, c | e, z | f, b | z, a | z, b | e, b | e, z | z, b | d, c | f, c | f, a | d, c | e, b | d, z | z, c | z, a | f, a | z, c | z, z | f, z | e, c | d, z | d, a | z, b | z, a | e, c | d, b | f, a | d, b | z, c | e, a | f, b | f, z | d, a | z, c | e, c | f, z | f, c | z, c | f, a | e, z | z, b | e, c | z, z | f, a | d, b | d, z | e, z | z, b | e, a | f, b | d];\na = 1 << 22;b = 1 << 29;c = a | b;d = 1 << 4;e = 1 << 14;f = d | e;\nvar SP6 = [b | d, c | z, z | e, c | f, c | z, z | d, c | f, a | z, b | e, a | f, a | z, b | d, a | d, b | e, b | z, z | f, z | z, a | d, b | f, z | e, a | e, b | f, z | d, c | d, c | d, z | z, a | f, c | e, z | f, a | e, c | e, b | z, b | e, z | d, c | d, a | e, c | f, a | z, z | f, b | d, a | z, b | e, b | z, z | f, b | d, c | f, a | e, c | z, a | f, c | e, z | z, c | d, z | d, z | e, c | z, a | f, z | e, a | d, b | f, z | z, c | e, b | z, a | d, b | f];\na = 1 << 21;b = 1 << 26;c = a | b;d = 1 << 1;e = 1 << 11;f = d | e;\nvar SP7 = [a | z, c | d, b | f, z | z, z | e, b | f, a | f, c | e, c | f, a | z, z | z, b | d, z | d, b | z, c | d, z | f, b | e, a | f, a | d, b | e, b | d, c | z, c | e, a | d, c | z, z | e, z | f, c | f, a | e, z | d, b | z, a | e, b | z, a | e, a | z, b | f, b | f, c | d, c | d, z | d, a | d, b | z, b | e, a | z, c | e, z | f, a | f, c | e, z | f, b | d, c | f, c | z, a | e, z | z, z | d, c | f, z | z, a | f, c | z, z | e, b | d, b | e, z | e, a | d];\na = 1 << 18;b = 1 << 28;c = a | b;d = 1 << 6;e = 1 << 12;f = d | e;\nvar SP8 = [b | f, z | e, a | z, c | f, b | z, b | f, z | d, b | z, a | d, c | z, c | f, a | e, c | e, a | f, z | e, z | d, c | z, b | d, b | e, z | f, a | e, a | d, c | d, c | e, z | f, z | z, z | z, c | d, b | d, b | e, a | f, a | z, a | f, a | z, c | e, z | e, z | d, c | d, z | e, a | f, b | e, z | d, b | d, c | z, c | d, b | z, a | z, b | f, z | z, c | f, a | d, b | d, c | z, b | e, b | f, z | z, c | f, a | e, a | e, z | f, z | f, a | d, b | z, c | e];\n\n/* eslint-enable comma-spacing */\n\nvar DES = function () {\n function DES(password) {\n _classCallCheck(this, DES);\n\n this.keys = [];\n\n // Set the key.\n var pc1m = [],\n pcr = [],\n kn = [];\n\n for (var j = 0, l = 56; j < 56; ++j, l -= 8) {\n l += l < -5 ? 65 : l < -3 ? 31 : l < -1 ? 63 : l === 27 ? 35 : 0; // PC1\n var m = l & 0x7;\n pc1m[j] = (password[l >>> 3] & 1 << m) !== 0 ? 1 : 0;\n }\n\n for (var i = 0; i < 16; ++i) {\n var _m = i << 1;\n var n = _m + 1;\n kn[_m] = kn[n] = 0;\n for (var o = 28; o < 59; o += 28) {\n for (var _j = o - 28; _j < o; ++_j) {\n var _l = _j + totrot[i];\n pcr[_j] = _l < o ? pc1m[_l] : pc1m[_l - 28];\n }\n }\n for (var _j2 = 0; _j2 < 24; ++_j2) {\n if (pcr[PC2[_j2]] !== 0) {\n kn[_m] |= 1 << 23 - _j2;\n }\n if (pcr[PC2[_j2 + 24]] !== 0) {\n kn[n] |= 1 << 23 - _j2;\n }\n }\n }\n\n // cookey\n for (var _i = 0, rawi = 0, KnLi = 0; _i < 16; ++_i) {\n var raw0 = kn[rawi++];\n var raw1 = kn[rawi++];\n this.keys[KnLi] = (raw0 & 0x00fc0000) << 6;\n this.keys[KnLi] |= (raw0 & 0x00000fc0) << 10;\n this.keys[KnLi] |= (raw1 & 0x00fc0000) >>> 10;\n this.keys[KnLi] |= (raw1 & 0x00000fc0) >>> 6;\n ++KnLi;\n this.keys[KnLi] = (raw0 & 0x0003f000) << 12;\n this.keys[KnLi] |= (raw0 & 0x0000003f) << 16;\n this.keys[KnLi] |= (raw1 & 0x0003f000) >>> 4;\n this.keys[KnLi] |= raw1 & 0x0000003f;\n ++KnLi;\n }\n }\n\n // Encrypt 8 bytes of text\n\n\n _createClass(DES, [{\n key: "enc8",\n value: function enc8(text) {\n var b = text.slice();\n var i = 0,\n l = void 0,\n r = void 0,\n x = void 0; // left, right, accumulator\n\n // Squash 8 bytes to 2 ints\n l = b[i++] << 24 | b[i++] << 16 | b[i++] << 8 | b[i++];\n r = b[i++] << 24 | b[i++] << 16 | b[i++] << 8 | b[i++];\n\n x = (l >>> 4 ^ r) & 0x0f0f0f0f;\n r ^= x;\n l ^= x << 4;\n x = (l >>> 16 ^ r) & 0x0000ffff;\n r ^= x;\n l ^= x << 16;\n x = (r >>> 2 ^ l) & 0x33333333;\n l ^= x;\n r ^= x << 2;\n x = (r >>> 8 ^ l) & 0x00ff00ff;\n l ^= x;\n r ^= x << 8;\n r = r << 1 | r >>> 31 & 1;\n x = (l ^ r) & 0xaaaaaaaa;\n l ^= x;\n r ^= x;\n l = l << 1 | l >>> 31 & 1;\n\n for (var _i2 = 0, keysi = 0; _i2 < 8; ++_i2) {\n x = r << 28 | r >>> 4;\n x ^= this.keys[keysi++];\n var fval = SP7[x & 0x3f];\n fval |= SP5[x >>> 8 & 0x3f];\n fval |= SP3[x >>> 16 & 0x3f];\n fval |= SP1[x >>> 24 & 0x3f];\n x = r ^ this.keys[keysi++];\n fval |= SP8[x & 0x3f];\n fval |= SP6[x >>> 8 & 0x3f];\n fval |= SP4[x >>> 16 & 0x3f];\n fval |= SP2[x >>> 24 & 0x3f];\n l ^= fval;\n x = l << 28 | l >>> 4;\n x ^= this.keys[keysi++];\n fval = SP7[x & 0x3f];\n fval |= SP5[x >>> 8 & 0x3f];\n fval |= SP3[x >>> 16 & 0x3f];\n fval |= SP1[x >>> 24 & 0x3f];\n x = l ^ this.keys[keysi++];\n fval |= SP8[x & 0x0000003f];\n fval |= SP6[x >>> 8 & 0x3f];\n fval |= SP4[x >>> 16 & 0x3f];\n fval |= SP2[x >>> 24 & 0x3f];\n r ^= fval;\n }\n\n r = r << 31 | r >>> 1;\n x = (l ^ r) & 0xaaaaaaaa;\n l ^= x;\n r ^= x;\n l = l << 31 | l >>> 1;\n x = (l >>> 8 ^ r) & 0x00ff00ff;\n r ^= x;\n l ^= x << 8;\n x = (l >>> 2 ^ r) & 0x33333333;\n r ^= x;\n l ^= x << 2;\n x = (r >>> 16 ^ l) & 0x0000ffff;\n l ^= x;\n r ^= x << 16;\n x = (r >>> 4 ^ l) & 0x0f0f0f0f;\n l ^= x;\n r ^= x << 4;\n\n // Spread ints to bytes\n x = [r, l];\n for (i = 0; i < 8; i++) {\n b[i] = (x[i >>> 2] >>> 8 * (3 - i % 4)) % 256;\n if (b[i] < 0) {\n b[i] += 256;\n } // unsigned\n }\n return b;\n }\n\n // Encrypt 16 bytes of text using passwd as key\n\n }, {\n key: "encrypt",\n value: function encrypt(t) {\n return this.enc8(t.slice(0, 8)).concat(this.enc8(t.slice(8, 16)));\n }\n }]);\n\n return DES;\n}();\n\nexports.default = DES;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/des.js?')},iYpf:function(module,exports,__webpack_require__){"use strict";eval('\n\nvar _interopRequireDefault = __webpack_require__("TqRt");\n\nvar _interopRequireWildcard = __webpack_require__("284h");\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(__webpack_require__("q1tI"));\n\nvar _FolderOpenOutlined = _interopRequireDefault(__webpack_require__("ZLWo"));\n\nvar _AntdIcon = _interopRequireDefault(__webpack_require__("KQxl"));\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nvar FolderOpenOutlined = function FolderOpenOutlined(props, ref) {\n return React.createElement(_AntdIcon.default, Object.assign({}, props, {\n ref: ref,\n icon: _FolderOpenOutlined.default\n }));\n};\n\nFolderOpenOutlined.displayName = \'FolderOpenOutlined\';\n\nvar _default = React.forwardRef(FolderOpenOutlined);\n\nexports.default = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/lib/icons/FolderOpenOutlined.js?')},kGiB:function(module,exports,__webpack_require__){"use strict";eval('\n Object.defineProperty(exports, "__esModule", {\n value: true\n });\n exports.default = void 0;\n \n var _FolderOutlined = _interopRequireDefault(__webpack_require__("ABKa"));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \'default\': obj }; }\n \n var _default = _FolderOutlined;\n exports.default = _default;\n module.exports = _default;\n\n//# sourceURL=webpack:///./node_modules/@ant-design/icons/FolderOutlined.js?')},kSUc:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/markdown-editor/index.less?")},"kaH+":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var antd_es_button_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("+L6B");\n/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("2/Rp");\n/* harmony import */ var _Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("tJVT");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("q1tI");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("UZu5");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _components_mediator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("dhSg");\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("4i/N");\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("dF/Y");\n/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("rLCj");\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__["a"] = (() => {\n var _useState = Object(react__WEBPACK_IMPORTED_MODULE_3__["useState"])(\'\'),\n _useState2 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_useState, 2),\n url = _useState2[0],\n setUrl = _useState2[1];\n\n var _useState3 = Object(react__WEBPACK_IMPORTED_MODULE_3__["useState"])(0),\n _useState4 = Object(_Users_xiejianxiong_xjx_code_zq_ppte5yg23_node_modules_umijs_babel_preset_umi_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(_useState3, 2),\n deg = _useState4[0],\n setDeg = _useState4[1];\n\n Object(react__WEBPACK_IMPORTED_MODULE_3__["useEffect"])(() => {\n var unSub = _components_mediator__WEBPACK_IMPORTED_MODULE_5__[/* default */ "a"].subscribe(\'preview-image\', value => {\n setUrl(value);\n });\n return unSub;\n }, []);\n\n function onClose() {\n setUrl(\'\');\n }\n\n function onRotate() {\n setDeg(deg + 90);\n }\n\n return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_3__["Fragment"], null, !url ? null : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", {\n className: "image-preview-container"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", {\n className: "button-group"\n }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n onClick: onClose\n }, "\\u5173\\u95ED", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_6__[/* default */ "a"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n href: url\n }, "\\u4E0B\\u8F7D", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_7__[/* default */ "a"], null)), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(antd_es_button__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], {\n onClick: onRotate\n }, "\\u65CB\\u8F6C", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_8__[/* default */ "a"], null))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("img", {\n className: "image-preview",\n src: url,\n alt: "\\u9884\\u89C8\\u5927\\u56FE",\n style: {\n transform: "rotate(".concat(deg, "deg)")\n }\n })));\n});\n\n//# sourceURL=webpack:///./src/components/image-preview/index.tsx?')},lOMy:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/components/tpi-code-setting/index.less?")},mCJh:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return fetchDiscusses; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return topOrDownDiscuss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return plusDiscuss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return hiddenDiscuss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return rewardDiscuss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return deleteDiscuss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return replyDiscuss; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createDiscuss; });\n/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ErOA");\n\n\nfunction fetchDiscusses(shixunIdentifier) {\n var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* get */ "c"])("/discusses.json?page=".concat(page - 1, "&container_identifier=").concat(shixunIdentifier, "&container_type=Shixun"));\n}\nfunction topOrDownDiscuss(id, top) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* post */ "d"])("/discusses/".concat(id, "/top_or_down_discuss.json"), {\n top\n });\n}\nfunction plusDiscuss(id, user_praise) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* post */ "d"])("/discusses/".concat(id, "/plus.json"), {\n container_type: \'Discuss\',\n type: user_praise ? 1 : 0\n });\n}\nfunction hiddenDiscuss(id, params) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* post */ "d"])("/discusses/".concat(id, "/hidden.json"), params);\n}\nfunction rewardDiscuss(id, params) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* post */ "d"])("/discusses/".concat(id, "/reward_code.json"), params);\n}\nfunction deleteDiscuss(id) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])("/api/discusses/".concat(id, ".json"), {\n method: \'delete\'\n });\n}\nfunction replyDiscuss(id, content) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* post */ "d"])("/discusses/".concat(id, "/reply.json"), {\n container_type: \'Shixun\',\n content\n });\n}\nfunction createDiscuss(params) {\n return Object(_utils_fetch__WEBPACK_IMPORTED_MODULE_0__[/* post */ "d"])("/discusses.json", params);\n}\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss/service.js?')},mHUz:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n/* eslint-disable key-spacing */\n\nexports.default = {\n XK_VoidSymbol: 0xffffff, /* Void symbol */\n\n XK_BackSpace: 0xff08, /* Back space, back char */\n XK_Tab: 0xff09,\n XK_Linefeed: 0xff0a, /* Linefeed, LF */\n XK_Clear: 0xff0b,\n XK_Return: 0xff0d, /* Return, enter */\n XK_Pause: 0xff13, /* Pause, hold */\n XK_Scroll_Lock: 0xff14,\n XK_Sys_Req: 0xff15,\n XK_Escape: 0xff1b,\n XK_Delete: 0xffff, /* Delete, rubout */\n\n /* International & multi-key character composition */\n\n XK_Multi_key: 0xff20, /* Multi-key character compose */\n XK_Codeinput: 0xff37,\n XK_SingleCandidate: 0xff3c,\n XK_MultipleCandidate: 0xff3d,\n XK_PreviousCandidate: 0xff3e,\n\n /* Japanese keyboard support */\n\n XK_Kanji: 0xff21, /* Kanji, Kanji convert */\n XK_Muhenkan: 0xff22, /* Cancel Conversion */\n XK_Henkan_Mode: 0xff23, /* Start/Stop Conversion */\n XK_Henkan: 0xff23, /* Alias for Henkan_Mode */\n XK_Romaji: 0xff24, /* to Romaji */\n XK_Hiragana: 0xff25, /* to Hiragana */\n XK_Katakana: 0xff26, /* to Katakana */\n XK_Hiragana_Katakana: 0xff27, /* Hiragana/Katakana toggle */\n XK_Zenkaku: 0xff28, /* to Zenkaku */\n XK_Hankaku: 0xff29, /* to Hankaku */\n XK_Zenkaku_Hankaku: 0xff2a, /* Zenkaku/Hankaku toggle */\n XK_Touroku: 0xff2b, /* Add to Dictionary */\n XK_Massyo: 0xff2c, /* Delete from Dictionary */\n XK_Kana_Lock: 0xff2d, /* Kana Lock */\n XK_Kana_Shift: 0xff2e, /* Kana Shift */\n XK_Eisu_Shift: 0xff2f, /* Alphanumeric Shift */\n XK_Eisu_toggle: 0xff30, /* Alphanumeric toggle */\n XK_Kanji_Bangou: 0xff37, /* Codeinput */\n XK_Zen_Koho: 0xff3d, /* Multiple/All Candidate(s) */\n XK_Mae_Koho: 0xff3e, /* Previous Candidate */\n\n /* Cursor control & motion */\n\n XK_Home: 0xff50,\n XK_Left: 0xff51, /* Move left, left arrow */\n XK_Up: 0xff52, /* Move up, up arrow */\n XK_Right: 0xff53, /* Move right, right arrow */\n XK_Down: 0xff54, /* Move down, down arrow */\n XK_Prior: 0xff55, /* Prior, previous */\n XK_Page_Up: 0xff55,\n XK_Next: 0xff56, /* Next */\n XK_Page_Down: 0xff56,\n XK_End: 0xff57, /* EOL */\n XK_Begin: 0xff58, /* BOL */\n\n /* Misc functions */\n\n XK_Select: 0xff60, /* Select, mark */\n XK_Print: 0xff61,\n XK_Execute: 0xff62, /* Execute, run, do */\n XK_Insert: 0xff63, /* Insert, insert here */\n XK_Undo: 0xff65,\n XK_Redo: 0xff66, /* Redo, again */\n XK_Menu: 0xff67,\n XK_Find: 0xff68, /* Find, search */\n XK_Cancel: 0xff69, /* Cancel, stop, abort, exit */\n XK_Help: 0xff6a, /* Help */\n XK_Break: 0xff6b,\n XK_Mode_switch: 0xff7e, /* Character set switch */\n XK_script_switch: 0xff7e, /* Alias for mode_switch */\n XK_Num_Lock: 0xff7f,\n\n /* Keypad functions, keypad numbers cleverly chosen to map to ASCII */\n\n XK_KP_Space: 0xff80, /* Space */\n XK_KP_Tab: 0xff89,\n XK_KP_Enter: 0xff8d, /* Enter */\n XK_KP_F1: 0xff91, /* PF1, KP_A, ... */\n XK_KP_F2: 0xff92,\n XK_KP_F3: 0xff93,\n XK_KP_F4: 0xff94,\n XK_KP_Home: 0xff95,\n XK_KP_Left: 0xff96,\n XK_KP_Up: 0xff97,\n XK_KP_Right: 0xff98,\n XK_KP_Down: 0xff99,\n XK_KP_Prior: 0xff9a,\n XK_KP_Page_Up: 0xff9a,\n XK_KP_Next: 0xff9b,\n XK_KP_Page_Down: 0xff9b,\n XK_KP_End: 0xff9c,\n XK_KP_Begin: 0xff9d,\n XK_KP_Insert: 0xff9e,\n XK_KP_Delete: 0xff9f,\n XK_KP_Equal: 0xffbd, /* Equals */\n XK_KP_Multiply: 0xffaa,\n XK_KP_Add: 0xffab,\n XK_KP_Separator: 0xffac, /* Separator, often comma */\n XK_KP_Subtract: 0xffad,\n XK_KP_Decimal: 0xffae,\n XK_KP_Divide: 0xffaf,\n\n XK_KP_0: 0xffb0,\n XK_KP_1: 0xffb1,\n XK_KP_2: 0xffb2,\n XK_KP_3: 0xffb3,\n XK_KP_4: 0xffb4,\n XK_KP_5: 0xffb5,\n XK_KP_6: 0xffb6,\n XK_KP_7: 0xffb7,\n XK_KP_8: 0xffb8,\n XK_KP_9: 0xffb9,\n\n /*\n * Auxiliary functions; note the duplicate definitions for left and right\n * function keys; Sun keyboards and a few other manufacturers have such\n * function key groups on the left and/or right sides of the keyboard.\n * We\'ve not found a keyboard with more than 35 function keys total.\n */\n\n XK_F1: 0xffbe,\n XK_F2: 0xffbf,\n XK_F3: 0xffc0,\n XK_F4: 0xffc1,\n XK_F5: 0xffc2,\n XK_F6: 0xffc3,\n XK_F7: 0xffc4,\n XK_F8: 0xffc5,\n XK_F9: 0xffc6,\n XK_F10: 0xffc7,\n XK_F11: 0xffc8,\n XK_L1: 0xffc8,\n XK_F12: 0xffc9,\n XK_L2: 0xffc9,\n XK_F13: 0xffca,\n XK_L3: 0xffca,\n XK_F14: 0xffcb,\n XK_L4: 0xffcb,\n XK_F15: 0xffcc,\n XK_L5: 0xffcc,\n XK_F16: 0xffcd,\n XK_L6: 0xffcd,\n XK_F17: 0xffce,\n XK_L7: 0xffce,\n XK_F18: 0xffcf,\n XK_L8: 0xffcf,\n XK_F19: 0xffd0,\n XK_L9: 0xffd0,\n XK_F20: 0xffd1,\n XK_L10: 0xffd1,\n XK_F21: 0xffd2,\n XK_R1: 0xffd2,\n XK_F22: 0xffd3,\n XK_R2: 0xffd3,\n XK_F23: 0xffd4,\n XK_R3: 0xffd4,\n XK_F24: 0xffd5,\n XK_R4: 0xffd5,\n XK_F25: 0xffd6,\n XK_R5: 0xffd6,\n XK_F26: 0xffd7,\n XK_R6: 0xffd7,\n XK_F27: 0xffd8,\n XK_R7: 0xffd8,\n XK_F28: 0xffd9,\n XK_R8: 0xffd9,\n XK_F29: 0xffda,\n XK_R9: 0xffda,\n XK_F30: 0xffdb,\n XK_R10: 0xffdb,\n XK_F31: 0xffdc,\n XK_R11: 0xffdc,\n XK_F32: 0xffdd,\n XK_R12: 0xffdd,\n XK_F33: 0xffde,\n XK_R13: 0xffde,\n XK_F34: 0xffdf,\n XK_R14: 0xffdf,\n XK_F35: 0xffe0,\n XK_R15: 0xffe0,\n\n /* Modifiers */\n\n XK_Shift_L: 0xffe1, /* Left shift */\n XK_Shift_R: 0xffe2, /* Right shift */\n XK_Control_L: 0xffe3, /* Left control */\n XK_Control_R: 0xffe4, /* Right control */\n XK_Caps_Lock: 0xffe5, /* Caps lock */\n XK_Shift_Lock: 0xffe6, /* Shift lock */\n\n XK_Meta_L: 0xffe7, /* Left meta */\n XK_Meta_R: 0xffe8, /* Right meta */\n XK_Alt_L: 0xffe9, /* Left alt */\n XK_Alt_R: 0xffea, /* Right alt */\n XK_Super_L: 0xffeb, /* Left super */\n XK_Super_R: 0xffec, /* Right super */\n XK_Hyper_L: 0xffed, /* Left hyper */\n XK_Hyper_R: 0xffee, /* Right hyper */\n\n /*\n * Keyboard (XKB) Extension function and modifier keys\n * (from Appendix C of "The X Keyboard Extension: Protocol Specification")\n * Byte 3 = 0xfe\n */\n\n XK_ISO_Level3_Shift: 0xfe03, /* AltGr */\n XK_ISO_Next_Group: 0xfe08,\n XK_ISO_Prev_Group: 0xfe0a,\n XK_ISO_First_Group: 0xfe0c,\n XK_ISO_Last_Group: 0xfe0e,\n\n /*\n * Latin 1\n * (ISO/IEC 8859-1: Unicode U+0020..U+00FF)\n * Byte 3: 0\n */\n\n XK_space: 0x0020, /* U+0020 SPACE */\n XK_exclam: 0x0021, /* U+0021 EXCLAMATION MARK */\n XK_quotedbl: 0x0022, /* U+0022 QUOTATION MARK */\n XK_numbersign: 0x0023, /* U+0023 NUMBER SIGN */\n XK_dollar: 0x0024, /* U+0024 DOLLAR SIGN */\n XK_percent: 0x0025, /* U+0025 PERCENT SIGN */\n XK_ampersand: 0x0026, /* U+0026 AMPERSAND */\n XK_apostrophe: 0x0027, /* U+0027 APOSTROPHE */\n XK_quoteright: 0x0027, /* deprecated */\n XK_parenleft: 0x0028, /* U+0028 LEFT PARENTHESIS */\n XK_parenright: 0x0029, /* U+0029 RIGHT PARENTHESIS */\n XK_asterisk: 0x002a, /* U+002A ASTERISK */\n XK_plus: 0x002b, /* U+002B PLUS SIGN */\n XK_comma: 0x002c, /* U+002C COMMA */\n XK_minus: 0x002d, /* U+002D HYPHEN-MINUS */\n XK_period: 0x002e, /* U+002E FULL STOP */\n XK_slash: 0x002f, /* U+002F SOLIDUS */\n XK_0: 0x0030, /* U+0030 DIGIT ZERO */\n XK_1: 0x0031, /* U+0031 DIGIT ONE */\n XK_2: 0x0032, /* U+0032 DIGIT TWO */\n XK_3: 0x0033, /* U+0033 DIGIT THREE */\n XK_4: 0x0034, /* U+0034 DIGIT FOUR */\n XK_5: 0x0035, /* U+0035 DIGIT FIVE */\n XK_6: 0x0036, /* U+0036 DIGIT SIX */\n XK_7: 0x0037, /* U+0037 DIGIT SEVEN */\n XK_8: 0x0038, /* U+0038 DIGIT EIGHT */\n XK_9: 0x0039, /* U+0039 DIGIT NINE */\n XK_colon: 0x003a, /* U+003A COLON */\n XK_semicolon: 0x003b, /* U+003B SEMICOLON */\n XK_less: 0x003c, /* U+003C LESS-THAN SIGN */\n XK_equal: 0x003d, /* U+003D EQUALS SIGN */\n XK_greater: 0x003e, /* U+003E GREATER-THAN SIGN */\n XK_question: 0x003f, /* U+003F QUESTION MARK */\n XK_at: 0x0040, /* U+0040 COMMERCIAL AT */\n XK_A: 0x0041, /* U+0041 LATIN CAPITAL LETTER A */\n XK_B: 0x0042, /* U+0042 LATIN CAPITAL LETTER B */\n XK_C: 0x0043, /* U+0043 LATIN CAPITAL LETTER C */\n XK_D: 0x0044, /* U+0044 LATIN CAPITAL LETTER D */\n XK_E: 0x0045, /* U+0045 LATIN CAPITAL LETTER E */\n XK_F: 0x0046, /* U+0046 LATIN CAPITAL LETTER F */\n XK_G: 0x0047, /* U+0047 LATIN CAPITAL LETTER G */\n XK_H: 0x0048, /* U+0048 LATIN CAPITAL LETTER H */\n XK_I: 0x0049, /* U+0049 LATIN CAPITAL LETTER I */\n XK_J: 0x004a, /* U+004A LATIN CAPITAL LETTER J */\n XK_K: 0x004b, /* U+004B LATIN CAPITAL LETTER K */\n XK_L: 0x004c, /* U+004C LATIN CAPITAL LETTER L */\n XK_M: 0x004d, /* U+004D LATIN CAPITAL LETTER M */\n XK_N: 0x004e, /* U+004E LATIN CAPITAL LETTER N */\n XK_O: 0x004f, /* U+004F LATIN CAPITAL LETTER O */\n XK_P: 0x0050, /* U+0050 LATIN CAPITAL LETTER P */\n XK_Q: 0x0051, /* U+0051 LATIN CAPITAL LETTER Q */\n XK_R: 0x0052, /* U+0052 LATIN CAPITAL LETTER R */\n XK_S: 0x0053, /* U+0053 LATIN CAPITAL LETTER S */\n XK_T: 0x0054, /* U+0054 LATIN CAPITAL LETTER T */\n XK_U: 0x0055, /* U+0055 LATIN CAPITAL LETTER U */\n XK_V: 0x0056, /* U+0056 LATIN CAPITAL LETTER V */\n XK_W: 0x0057, /* U+0057 LATIN CAPITAL LETTER W */\n XK_X: 0x0058, /* U+0058 LATIN CAPITAL LETTER X */\n XK_Y: 0x0059, /* U+0059 LATIN CAPITAL LETTER Y */\n XK_Z: 0x005a, /* U+005A LATIN CAPITAL LETTER Z */\n XK_bracketleft: 0x005b, /* U+005B LEFT SQUARE BRACKET */\n XK_backslash: 0x005c, /* U+005C REVERSE SOLIDUS */\n XK_bracketright: 0x005d, /* U+005D RIGHT SQUARE BRACKET */\n XK_asciicircum: 0x005e, /* U+005E CIRCUMFLEX ACCENT */\n XK_underscore: 0x005f, /* U+005F LOW LINE */\n XK_grave: 0x0060, /* U+0060 GRAVE ACCENT */\n XK_quoteleft: 0x0060, /* deprecated */\n XK_a: 0x0061, /* U+0061 LATIN SMALL LETTER A */\n XK_b: 0x0062, /* U+0062 LATIN SMALL LETTER B */\n XK_c: 0x0063, /* U+0063 LATIN SMALL LETTER C */\n XK_d: 0x0064, /* U+0064 LATIN SMALL LETTER D */\n XK_e: 0x0065, /* U+0065 LATIN SMALL LETTER E */\n XK_f: 0x0066, /* U+0066 LATIN SMALL LETTER F */\n XK_g: 0x0067, /* U+0067 LATIN SMALL LETTER G */\n XK_h: 0x0068, /* U+0068 LATIN SMALL LETTER H */\n XK_i: 0x0069, /* U+0069 LATIN SMALL LETTER I */\n XK_j: 0x006a, /* U+006A LATIN SMALL LETTER J */\n XK_k: 0x006b, /* U+006B LATIN SMALL LETTER K */\n XK_l: 0x006c, /* U+006C LATIN SMALL LETTER L */\n XK_m: 0x006d, /* U+006D LATIN SMALL LETTER M */\n XK_n: 0x006e, /* U+006E LATIN SMALL LETTER N */\n XK_o: 0x006f, /* U+006F LATIN SMALL LETTER O */\n XK_p: 0x0070, /* U+0070 LATIN SMALL LETTER P */\n XK_q: 0x0071, /* U+0071 LATIN SMALL LETTER Q */\n XK_r: 0x0072, /* U+0072 LATIN SMALL LETTER R */\n XK_s: 0x0073, /* U+0073 LATIN SMALL LETTER S */\n XK_t: 0x0074, /* U+0074 LATIN SMALL LETTER T */\n XK_u: 0x0075, /* U+0075 LATIN SMALL LETTER U */\n XK_v: 0x0076, /* U+0076 LATIN SMALL LETTER V */\n XK_w: 0x0077, /* U+0077 LATIN SMALL LETTER W */\n XK_x: 0x0078, /* U+0078 LATIN SMALL LETTER X */\n XK_y: 0x0079, /* U+0079 LATIN SMALL LETTER Y */\n XK_z: 0x007a, /* U+007A LATIN SMALL LETTER Z */\n XK_braceleft: 0x007b, /* U+007B LEFT CURLY BRACKET */\n XK_bar: 0x007c, /* U+007C VERTICAL LINE */\n XK_braceright: 0x007d, /* U+007D RIGHT CURLY BRACKET */\n XK_asciitilde: 0x007e, /* U+007E TILDE */\n\n XK_nobreakspace: 0x00a0, /* U+00A0 NO-BREAK SPACE */\n XK_exclamdown: 0x00a1, /* U+00A1 INVERTED EXCLAMATION MARK */\n XK_cent: 0x00a2, /* U+00A2 CENT SIGN */\n XK_sterling: 0x00a3, /* U+00A3 POUND SIGN */\n XK_currency: 0x00a4, /* U+00A4 CURRENCY SIGN */\n XK_yen: 0x00a5, /* U+00A5 YEN SIGN */\n XK_brokenbar: 0x00a6, /* U+00A6 BROKEN BAR */\n XK_section: 0x00a7, /* U+00A7 SECTION SIGN */\n XK_diaeresis: 0x00a8, /* U+00A8 DIAERESIS */\n XK_copyright: 0x00a9, /* U+00A9 COPYRIGHT SIGN */\n XK_ordfeminine: 0x00aa, /* U+00AA FEMININE ORDINAL INDICATOR */\n XK_guillemotleft: 0x00ab, /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */\n XK_notsign: 0x00ac, /* U+00AC NOT SIGN */\n XK_hyphen: 0x00ad, /* U+00AD SOFT HYPHEN */\n XK_registered: 0x00ae, /* U+00AE REGISTERED SIGN */\n XK_macron: 0x00af, /* U+00AF MACRON */\n XK_degree: 0x00b0, /* U+00B0 DEGREE SIGN */\n XK_plusminus: 0x00b1, /* U+00B1 PLUS-MINUS SIGN */\n XK_twosuperior: 0x00b2, /* U+00B2 SUPERSCRIPT TWO */\n XK_threesuperior: 0x00b3, /* U+00B3 SUPERSCRIPT THREE */\n XK_acute: 0x00b4, /* U+00B4 ACUTE ACCENT */\n XK_mu: 0x00b5, /* U+00B5 MICRO SIGN */\n XK_paragraph: 0x00b6, /* U+00B6 PILCROW SIGN */\n XK_periodcentered: 0x00b7, /* U+00B7 MIDDLE DOT */\n XK_cedilla: 0x00b8, /* U+00B8 CEDILLA */\n XK_onesuperior: 0x00b9, /* U+00B9 SUPERSCRIPT ONE */\n XK_masculine: 0x00ba, /* U+00BA MASCULINE ORDINAL INDICATOR */\n XK_guillemotright: 0x00bb, /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */\n XK_onequarter: 0x00bc, /* U+00BC VULGAR FRACTION ONE QUARTER */\n XK_onehalf: 0x00bd, /* U+00BD VULGAR FRACTION ONE HALF */\n XK_threequarters: 0x00be, /* U+00BE VULGAR FRACTION THREE QUARTERS */\n XK_questiondown: 0x00bf, /* U+00BF INVERTED QUESTION MARK */\n XK_Agrave: 0x00c0, /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */\n XK_Aacute: 0x00c1, /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */\n XK_Acircumflex: 0x00c2, /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */\n XK_Atilde: 0x00c3, /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */\n XK_Adiaeresis: 0x00c4, /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */\n XK_Aring: 0x00c5, /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */\n XK_AE: 0x00c6, /* U+00C6 LATIN CAPITAL LETTER AE */\n XK_Ccedilla: 0x00c7, /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */\n XK_Egrave: 0x00c8, /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */\n XK_Eacute: 0x00c9, /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */\n XK_Ecircumflex: 0x00ca, /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */\n XK_Ediaeresis: 0x00cb, /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */\n XK_Igrave: 0x00cc, /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */\n XK_Iacute: 0x00cd, /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */\n XK_Icircumflex: 0x00ce, /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */\n XK_Idiaeresis: 0x00cf, /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */\n XK_ETH: 0x00d0, /* U+00D0 LATIN CAPITAL LETTER ETH */\n XK_Eth: 0x00d0, /* deprecated */\n XK_Ntilde: 0x00d1, /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */\n XK_Ograve: 0x00d2, /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */\n XK_Oacute: 0x00d3, /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */\n XK_Ocircumflex: 0x00d4, /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */\n XK_Otilde: 0x00d5, /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */\n XK_Odiaeresis: 0x00d6, /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */\n XK_multiply: 0x00d7, /* U+00D7 MULTIPLICATION SIGN */\n XK_Oslash: 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */\n XK_Ooblique: 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */\n XK_Ugrave: 0x00d9, /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */\n XK_Uacute: 0x00da, /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */\n XK_Ucircumflex: 0x00db, /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */\n XK_Udiaeresis: 0x00dc, /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */\n XK_Yacute: 0x00dd, /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */\n XK_THORN: 0x00de, /* U+00DE LATIN CAPITAL LETTER THORN */\n XK_Thorn: 0x00de, /* deprecated */\n XK_ssharp: 0x00df, /* U+00DF LATIN SMALL LETTER SHARP S */\n XK_agrave: 0x00e0, /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */\n XK_aacute: 0x00e1, /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */\n XK_acircumflex: 0x00e2, /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */\n XK_atilde: 0x00e3, /* U+00E3 LATIN SMALL LETTER A WITH TILDE */\n XK_adiaeresis: 0x00e4, /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */\n XK_aring: 0x00e5, /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */\n XK_ae: 0x00e6, /* U+00E6 LATIN SMALL LETTER AE */\n XK_ccedilla: 0x00e7, /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */\n XK_egrave: 0x00e8, /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */\n XK_eacute: 0x00e9, /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */\n XK_ecircumflex: 0x00ea, /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */\n XK_ediaeresis: 0x00eb, /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */\n XK_igrave: 0x00ec, /* U+00EC LATIN SMALL LETTER I WITH GRAVE */\n XK_iacute: 0x00ed, /* U+00ED LATIN SMALL LETTER I WITH ACUTE */\n XK_icircumflex: 0x00ee, /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */\n XK_idiaeresis: 0x00ef, /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */\n XK_eth: 0x00f0, /* U+00F0 LATIN SMALL LETTER ETH */\n XK_ntilde: 0x00f1, /* U+00F1 LATIN SMALL LETTER N WITH TILDE */\n XK_ograve: 0x00f2, /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */\n XK_oacute: 0x00f3, /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */\n XK_ocircumflex: 0x00f4, /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */\n XK_otilde: 0x00f5, /* U+00F5 LATIN SMALL LETTER O WITH TILDE */\n XK_odiaeresis: 0x00f6, /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */\n XK_division: 0x00f7, /* U+00F7 DIVISION SIGN */\n XK_oslash: 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */\n XK_ooblique: 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */\n XK_ugrave: 0x00f9, /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */\n XK_uacute: 0x00fa, /* U+00FA LATIN SMALL LETTER U WITH ACUTE */\n XK_ucircumflex: 0x00fb, /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */\n XK_udiaeresis: 0x00fc, /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */\n XK_yacute: 0x00fd, /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */\n XK_thorn: 0x00fe, /* U+00FE LATIN SMALL LETTER THORN */\n XK_ydiaeresis: 0x00ff, /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */\n\n /*\n * Korean\n * Byte 3 = 0x0e\n */\n\n XK_Hangul: 0xff31, /* Hangul start/stop(toggle) */\n XK_Hangul_Hanja: 0xff34, /* Start Hangul->Hanja Conversion */\n XK_Hangul_Jeonja: 0xff38, /* Jeonja mode */\n\n /*\n * XFree86 vendor specific keysyms.\n *\n * The XFree86 keysym range is 0x10080001 - 0x1008FFFF.\n */\n\n XF86XK_ModeLock: 0x1008FF01,\n XF86XK_MonBrightnessUp: 0x1008FF02,\n XF86XK_MonBrightnessDown: 0x1008FF03,\n XF86XK_KbdLightOnOff: 0x1008FF04,\n XF86XK_KbdBrightnessUp: 0x1008FF05,\n XF86XK_KbdBrightnessDown: 0x1008FF06,\n XF86XK_Standby: 0x1008FF10,\n XF86XK_AudioLowerVolume: 0x1008FF11,\n XF86XK_AudioMute: 0x1008FF12,\n XF86XK_AudioRaiseVolume: 0x1008FF13,\n XF86XK_AudioPlay: 0x1008FF14,\n XF86XK_AudioStop: 0x1008FF15,\n XF86XK_AudioPrev: 0x1008FF16,\n XF86XK_AudioNext: 0x1008FF17,\n XF86XK_HomePage: 0x1008FF18,\n XF86XK_Mail: 0x1008FF19,\n XF86XK_Start: 0x1008FF1A,\n XF86XK_Search: 0x1008FF1B,\n XF86XK_AudioRecord: 0x1008FF1C,\n XF86XK_Calculator: 0x1008FF1D,\n XF86XK_Memo: 0x1008FF1E,\n XF86XK_ToDoList: 0x1008FF1F,\n XF86XK_Calendar: 0x1008FF20,\n XF86XK_PowerDown: 0x1008FF21,\n XF86XK_ContrastAdjust: 0x1008FF22,\n XF86XK_RockerUp: 0x1008FF23,\n XF86XK_RockerDown: 0x1008FF24,\n XF86XK_RockerEnter: 0x1008FF25,\n XF86XK_Back: 0x1008FF26,\n XF86XK_Forward: 0x1008FF27,\n XF86XK_Stop: 0x1008FF28,\n XF86XK_Refresh: 0x1008FF29,\n XF86XK_PowerOff: 0x1008FF2A,\n XF86XK_WakeUp: 0x1008FF2B,\n XF86XK_Eject: 0x1008FF2C,\n XF86XK_ScreenSaver: 0x1008FF2D,\n XF86XK_WWW: 0x1008FF2E,\n XF86XK_Sleep: 0x1008FF2F,\n XF86XK_Favorites: 0x1008FF30,\n XF86XK_AudioPause: 0x1008FF31,\n XF86XK_AudioMedia: 0x1008FF32,\n XF86XK_MyComputer: 0x1008FF33,\n XF86XK_VendorHome: 0x1008FF34,\n XF86XK_LightBulb: 0x1008FF35,\n XF86XK_Shop: 0x1008FF36,\n XF86XK_History: 0x1008FF37,\n XF86XK_OpenURL: 0x1008FF38,\n XF86XK_AddFavorite: 0x1008FF39,\n XF86XK_HotLinks: 0x1008FF3A,\n XF86XK_BrightnessAdjust: 0x1008FF3B,\n XF86XK_Finance: 0x1008FF3C,\n XF86XK_Community: 0x1008FF3D,\n XF86XK_AudioRewind: 0x1008FF3E,\n XF86XK_BackForward: 0x1008FF3F,\n XF86XK_Launch0: 0x1008FF40,\n XF86XK_Launch1: 0x1008FF41,\n XF86XK_Launch2: 0x1008FF42,\n XF86XK_Launch3: 0x1008FF43,\n XF86XK_Launch4: 0x1008FF44,\n XF86XK_Launch5: 0x1008FF45,\n XF86XK_Launch6: 0x1008FF46,\n XF86XK_Launch7: 0x1008FF47,\n XF86XK_Launch8: 0x1008FF48,\n XF86XK_Launch9: 0x1008FF49,\n XF86XK_LaunchA: 0x1008FF4A,\n XF86XK_LaunchB: 0x1008FF4B,\n XF86XK_LaunchC: 0x1008FF4C,\n XF86XK_LaunchD: 0x1008FF4D,\n XF86XK_LaunchE: 0x1008FF4E,\n XF86XK_LaunchF: 0x1008FF4F,\n XF86XK_ApplicationLeft: 0x1008FF50,\n XF86XK_ApplicationRight: 0x1008FF51,\n XF86XK_Book: 0x1008FF52,\n XF86XK_CD: 0x1008FF53,\n XF86XK_Calculater: 0x1008FF54,\n XF86XK_Clear: 0x1008FF55,\n XF86XK_Close: 0x1008FF56,\n XF86XK_Copy: 0x1008FF57,\n XF86XK_Cut: 0x1008FF58,\n XF86XK_Display: 0x1008FF59,\n XF86XK_DOS: 0x1008FF5A,\n XF86XK_Documents: 0x1008FF5B,\n XF86XK_Excel: 0x1008FF5C,\n XF86XK_Explorer: 0x1008FF5D,\n XF86XK_Game: 0x1008FF5E,\n XF86XK_Go: 0x1008FF5F,\n XF86XK_iTouch: 0x1008FF60,\n XF86XK_LogOff: 0x1008FF61,\n XF86XK_Market: 0x1008FF62,\n XF86XK_Meeting: 0x1008FF63,\n XF86XK_MenuKB: 0x1008FF65,\n XF86XK_MenuPB: 0x1008FF66,\n XF86XK_MySites: 0x1008FF67,\n XF86XK_New: 0x1008FF68,\n XF86XK_News: 0x1008FF69,\n XF86XK_OfficeHome: 0x1008FF6A,\n XF86XK_Open: 0x1008FF6B,\n XF86XK_Option: 0x1008FF6C,\n XF86XK_Paste: 0x1008FF6D,\n XF86XK_Phone: 0x1008FF6E,\n XF86XK_Q: 0x1008FF70,\n XF86XK_Reply: 0x1008FF72,\n XF86XK_Reload: 0x1008FF73,\n XF86XK_RotateWindows: 0x1008FF74,\n XF86XK_RotationPB: 0x1008FF75,\n XF86XK_RotationKB: 0x1008FF76,\n XF86XK_Save: 0x1008FF77,\n XF86XK_ScrollUp: 0x1008FF78,\n XF86XK_ScrollDown: 0x1008FF79,\n XF86XK_ScrollClick: 0x1008FF7A,\n XF86XK_Send: 0x1008FF7B,\n XF86XK_Spell: 0x1008FF7C,\n XF86XK_SplitScreen: 0x1008FF7D,\n XF86XK_Support: 0x1008FF7E,\n XF86XK_TaskPane: 0x1008FF7F,\n XF86XK_Terminal: 0x1008FF80,\n XF86XK_Tools: 0x1008FF81,\n XF86XK_Travel: 0x1008FF82,\n XF86XK_UserPB: 0x1008FF84,\n XF86XK_User1KB: 0x1008FF85,\n XF86XK_User2KB: 0x1008FF86,\n XF86XK_Video: 0x1008FF87,\n XF86XK_WheelButton: 0x1008FF88,\n XF86XK_Word: 0x1008FF89,\n XF86XK_Xfer: 0x1008FF8A,\n XF86XK_ZoomIn: 0x1008FF8B,\n XF86XK_ZoomOut: 0x1008FF8C,\n XF86XK_Away: 0x1008FF8D,\n XF86XK_Messenger: 0x1008FF8E,\n XF86XK_WebCam: 0x1008FF8F,\n XF86XK_MailForward: 0x1008FF90,\n XF86XK_Pictures: 0x1008FF91,\n XF86XK_Music: 0x1008FF92,\n XF86XK_Battery: 0x1008FF93,\n XF86XK_Bluetooth: 0x1008FF94,\n XF86XK_WLAN: 0x1008FF95,\n XF86XK_UWB: 0x1008FF96,\n XF86XK_AudioForward: 0x1008FF97,\n XF86XK_AudioRepeat: 0x1008FF98,\n XF86XK_AudioRandomPlay: 0x1008FF99,\n XF86XK_Subtitle: 0x1008FF9A,\n XF86XK_AudioCycleTrack: 0x1008FF9B,\n XF86XK_CycleAngle: 0x1008FF9C,\n XF86XK_FrameBack: 0x1008FF9D,\n XF86XK_FrameForward: 0x1008FF9E,\n XF86XK_Time: 0x1008FF9F,\n XF86XK_Select: 0x1008FFA0,\n XF86XK_View: 0x1008FFA1,\n XF86XK_TopMenu: 0x1008FFA2,\n XF86XK_Red: 0x1008FFA3,\n XF86XK_Green: 0x1008FFA4,\n XF86XK_Yellow: 0x1008FFA5,\n XF86XK_Blue: 0x1008FFA6,\n XF86XK_Suspend: 0x1008FFA7,\n XF86XK_Hibernate: 0x1008FFA8,\n XF86XK_TouchpadToggle: 0x1008FFA9,\n XF86XK_TouchpadOn: 0x1008FFB0,\n XF86XK_TouchpadOff: 0x1008FFB1,\n XF86XK_AudioMicMute: 0x1008FFB2,\n XF86XK_Switch_VT_1: 0x1008FE01,\n XF86XK_Switch_VT_2: 0x1008FE02,\n XF86XK_Switch_VT_3: 0x1008FE03,\n XF86XK_Switch_VT_4: 0x1008FE04,\n XF86XK_Switch_VT_5: 0x1008FE05,\n XF86XK_Switch_VT_6: 0x1008FE06,\n XF86XK_Switch_VT_7: 0x1008FE07,\n XF86XK_Switch_VT_8: 0x1008FE08,\n XF86XK_Switch_VT_9: 0x1008FE09,\n XF86XK_Switch_VT_10: 0x1008FE0A,\n XF86XK_Switch_VT_11: 0x1008FE0B,\n XF86XK_Switch_VT_12: 0x1008FE0C,\n XF86XK_Ungrab: 0x1008FE20,\n XF86XK_ClearGrab: 0x1008FE21,\n XF86XK_Next_VMode: 0x1008FE22,\n XF86XK_Prev_VMode: 0x1008FE23,\n XF86XK_LogWindowTree: 0x1008FE24,\n XF86XK_LogGrabInfo: 0x1008FE25\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/keysym.js?')},mTgk:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _keysym = __webpack_require__("mHUz");\n\nvar _keysym2 = _interopRequireDefault(_keysym);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\n * Mapping between HTML key values and VNC/X11 keysyms for "special"\n * keys that cannot be handled via their Unicode codepoint.\n *\n * See https://www.w3.org/TR/uievents-key/ for possible values.\n */\n\nvar DOMKeyTable = {}; /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\nfunction addStandard(key, standard) {\n if (standard === undefined) throw new Error("Undefined keysym for key \\"" + key + "\\"");\n if (key in DOMKeyTable) throw new Error("Duplicate entry for key \\"" + key + "\\"");\n DOMKeyTable[key] = [standard, standard, standard, standard];\n}\n\nfunction addLeftRight(key, left, right) {\n if (left === undefined) throw new Error("Undefined keysym for key \\"" + key + "\\"");\n if (right === undefined) throw new Error("Undefined keysym for key \\"" + key + "\\"");\n if (key in DOMKeyTable) throw new Error("Duplicate entry for key \\"" + key + "\\"");\n DOMKeyTable[key] = [left, left, right, left];\n}\n\nfunction addNumpad(key, standard, numpad) {\n if (standard === undefined) throw new Error("Undefined keysym for key \\"" + key + "\\"");\n if (numpad === undefined) throw new Error("Undefined keysym for key \\"" + key + "\\"");\n if (key in DOMKeyTable) throw new Error("Duplicate entry for key \\"" + key + "\\"");\n DOMKeyTable[key] = [standard, standard, standard, numpad];\n}\n\n// 2.2. Modifier Keys\n\naddLeftRight("Alt", _keysym2.default.XK_Alt_L, _keysym2.default.XK_Alt_R);\naddStandard("AltGraph", _keysym2.default.XK_ISO_Level3_Shift);\naddStandard("CapsLock", _keysym2.default.XK_Caps_Lock);\naddLeftRight("Control", _keysym2.default.XK_Control_L, _keysym2.default.XK_Control_R);\n// - Fn\n// - FnLock\naddLeftRight("Hyper", _keysym2.default.XK_Super_L, _keysym2.default.XK_Super_R);\naddLeftRight("Meta", _keysym2.default.XK_Super_L, _keysym2.default.XK_Super_R);\naddStandard("NumLock", _keysym2.default.XK_Num_Lock);\naddStandard("ScrollLock", _keysym2.default.XK_Scroll_Lock);\naddLeftRight("Shift", _keysym2.default.XK_Shift_L, _keysym2.default.XK_Shift_R);\naddLeftRight("Super", _keysym2.default.XK_Super_L, _keysym2.default.XK_Super_R);\n// - Symbol\n// - SymbolLock\n\n// 2.3. Whitespace Keys\n\naddNumpad("Enter", _keysym2.default.XK_Return, _keysym2.default.XK_KP_Enter);\naddStandard("Tab", _keysym2.default.XK_Tab);\naddNumpad(" ", _keysym2.default.XK_space, _keysym2.default.XK_KP_Space);\n\n// 2.4. Navigation Keys\n\naddNumpad("ArrowDown", _keysym2.default.XK_Down, _keysym2.default.XK_KP_Down);\naddNumpad("ArrowUp", _keysym2.default.XK_Up, _keysym2.default.XK_KP_Up);\naddNumpad("ArrowLeft", _keysym2.default.XK_Left, _keysym2.default.XK_KP_Left);\naddNumpad("ArrowRight", _keysym2.default.XK_Right, _keysym2.default.XK_KP_Right);\naddNumpad("End", _keysym2.default.XK_End, _keysym2.default.XK_KP_End);\naddNumpad("Home", _keysym2.default.XK_Home, _keysym2.default.XK_KP_Home);\naddNumpad("PageDown", _keysym2.default.XK_Next, _keysym2.default.XK_KP_Next);\naddNumpad("PageUp", _keysym2.default.XK_Prior, _keysym2.default.XK_KP_Prior);\n\n// 2.5. Editing Keys\n\naddStandard("Backspace", _keysym2.default.XK_BackSpace);\naddNumpad("Clear", _keysym2.default.XK_Clear, _keysym2.default.XK_KP_Begin);\naddStandard("Copy", _keysym2.default.XF86XK_Copy);\n// - CrSel\naddStandard("Cut", _keysym2.default.XF86XK_Cut);\naddNumpad("Delete", _keysym2.default.XK_Delete, _keysym2.default.XK_KP_Delete);\n// - EraseEof\n// - ExSel\naddNumpad("Insert", _keysym2.default.XK_Insert, _keysym2.default.XK_KP_Insert);\naddStandard("Paste", _keysym2.default.XF86XK_Paste);\naddStandard("Redo", _keysym2.default.XK_Redo);\naddStandard("Undo", _keysym2.default.XK_Undo);\n\n// 2.6. UI Keys\n\n// - Accept\n// - Again (could just be XK_Redo)\n// - Attn\naddStandard("Cancel", _keysym2.default.XK_Cancel);\naddStandard("ContextMenu", _keysym2.default.XK_Menu);\naddStandard("Escape", _keysym2.default.XK_Escape);\naddStandard("Execute", _keysym2.default.XK_Execute);\naddStandard("Find", _keysym2.default.XK_Find);\naddStandard("Help", _keysym2.default.XK_Help);\naddStandard("Pause", _keysym2.default.XK_Pause);\n// - Play\n// - Props\naddStandard("Select", _keysym2.default.XK_Select);\naddStandard("ZoomIn", _keysym2.default.XF86XK_ZoomIn);\naddStandard("ZoomOut", _keysym2.default.XF86XK_ZoomOut);\n\n// 2.7. Device Keys\n\naddStandard("BrightnessDown", _keysym2.default.XF86XK_MonBrightnessDown);\naddStandard("BrightnessUp", _keysym2.default.XF86XK_MonBrightnessUp);\naddStandard("Eject", _keysym2.default.XF86XK_Eject);\naddStandard("LogOff", _keysym2.default.XF86XK_LogOff);\naddStandard("Power", _keysym2.default.XF86XK_PowerOff);\naddStandard("PowerOff", _keysym2.default.XF86XK_PowerDown);\naddStandard("PrintScreen", _keysym2.default.XK_Print);\naddStandard("Hibernate", _keysym2.default.XF86XK_Hibernate);\naddStandard("Standby", _keysym2.default.XF86XK_Standby);\naddStandard("WakeUp", _keysym2.default.XF86XK_WakeUp);\n\n// 2.8. IME and Composition Keys\n\naddStandard("AllCandidates", _keysym2.default.XK_MultipleCandidate);\naddStandard("Alphanumeric", _keysym2.default.XK_Eisu_Shift); // could also be _Eisu_Toggle\naddStandard("CodeInput", _keysym2.default.XK_Codeinput);\naddStandard("Compose", _keysym2.default.XK_Multi_key);\naddStandard("Convert", _keysym2.default.XK_Henkan);\n// - Dead\n// - FinalMode\naddStandard("GroupFirst", _keysym2.default.XK_ISO_First_Group);\naddStandard("GroupLast", _keysym2.default.XK_ISO_Last_Group);\naddStandard("GroupNext", _keysym2.default.XK_ISO_Next_Group);\naddStandard("GroupPrevious", _keysym2.default.XK_ISO_Prev_Group);\n// - ModeChange (XK_Mode_switch is often used for AltGr)\n// - NextCandidate\naddStandard("NonConvert", _keysym2.default.XK_Muhenkan);\naddStandard("PreviousCandidate", _keysym2.default.XK_PreviousCandidate);\n// - Process\naddStandard("SingleCandidate", _keysym2.default.XK_SingleCandidate);\naddStandard("HangulMode", _keysym2.default.XK_Hangul);\naddStandard("HanjaMode", _keysym2.default.XK_Hangul_Hanja);\naddStandard("JunjuaMode", _keysym2.default.XK_Hangul_Jeonja);\naddStandard("Eisu", _keysym2.default.XK_Eisu_toggle);\naddStandard("Hankaku", _keysym2.default.XK_Hankaku);\naddStandard("Hiragana", _keysym2.default.XK_Hiragana);\naddStandard("HiraganaKatakana", _keysym2.default.XK_Hiragana_Katakana);\naddStandard("KanaMode", _keysym2.default.XK_Kana_Shift); // could also be _Kana_Lock\naddStandard("KanjiMode", _keysym2.default.XK_Kanji);\naddStandard("Katakana", _keysym2.default.XK_Katakana);\naddStandard("Romaji", _keysym2.default.XK_Romaji);\naddStandard("Zenkaku", _keysym2.default.XK_Zenkaku);\naddStandard("ZenkakuHanaku", _keysym2.default.XK_Zenkaku_Hankaku);\n\n// 2.9. General-Purpose Function Keys\n\naddStandard("F1", _keysym2.default.XK_F1);\naddStandard("F2", _keysym2.default.XK_F2);\naddStandard("F3", _keysym2.default.XK_F3);\naddStandard("F4", _keysym2.default.XK_F4);\naddStandard("F5", _keysym2.default.XK_F5);\naddStandard("F6", _keysym2.default.XK_F6);\naddStandard("F7", _keysym2.default.XK_F7);\naddStandard("F8", _keysym2.default.XK_F8);\naddStandard("F9", _keysym2.default.XK_F9);\naddStandard("F10", _keysym2.default.XK_F10);\naddStandard("F11", _keysym2.default.XK_F11);\naddStandard("F12", _keysym2.default.XK_F12);\naddStandard("F13", _keysym2.default.XK_F13);\naddStandard("F14", _keysym2.default.XK_F14);\naddStandard("F15", _keysym2.default.XK_F15);\naddStandard("F16", _keysym2.default.XK_F16);\naddStandard("F17", _keysym2.default.XK_F17);\naddStandard("F18", _keysym2.default.XK_F18);\naddStandard("F19", _keysym2.default.XK_F19);\naddStandard("F20", _keysym2.default.XK_F20);\naddStandard("F21", _keysym2.default.XK_F21);\naddStandard("F22", _keysym2.default.XK_F22);\naddStandard("F23", _keysym2.default.XK_F23);\naddStandard("F24", _keysym2.default.XK_F24);\naddStandard("F25", _keysym2.default.XK_F25);\naddStandard("F26", _keysym2.default.XK_F26);\naddStandard("F27", _keysym2.default.XK_F27);\naddStandard("F28", _keysym2.default.XK_F28);\naddStandard("F29", _keysym2.default.XK_F29);\naddStandard("F30", _keysym2.default.XK_F30);\naddStandard("F31", _keysym2.default.XK_F31);\naddStandard("F32", _keysym2.default.XK_F32);\naddStandard("F33", _keysym2.default.XK_F33);\naddStandard("F34", _keysym2.default.XK_F34);\naddStandard("F35", _keysym2.default.XK_F35);\n// - Soft1...\n\n// 2.10. Multimedia Keys\n\n// - ChannelDown\n// - ChannelUp\naddStandard("Close", _keysym2.default.XF86XK_Close);\naddStandard("MailForward", _keysym2.default.XF86XK_MailForward);\naddStandard("MailReply", _keysym2.default.XF86XK_Reply);\naddStandard("MainSend", _keysym2.default.XF86XK_Send);\naddStandard("MediaFastForward", _keysym2.default.XF86XK_AudioForward);\naddStandard("MediaPause", _keysym2.default.XF86XK_AudioPause);\naddStandard("MediaPlay", _keysym2.default.XF86XK_AudioPlay);\naddStandard("MediaRecord", _keysym2.default.XF86XK_AudioRecord);\naddStandard("MediaRewind", _keysym2.default.XF86XK_AudioRewind);\naddStandard("MediaStop", _keysym2.default.XF86XK_AudioStop);\naddStandard("MediaTrackNext", _keysym2.default.XF86XK_AudioNext);\naddStandard("MediaTrackPrevious", _keysym2.default.XF86XK_AudioPrev);\naddStandard("New", _keysym2.default.XF86XK_New);\naddStandard("Open", _keysym2.default.XF86XK_Open);\naddStandard("Print", _keysym2.default.XK_Print);\naddStandard("Save", _keysym2.default.XF86XK_Save);\naddStandard("SpellCheck", _keysym2.default.XF86XK_Spell);\n\n// 2.11. Multimedia Numpad Keys\n\n// - Key11\n// - Key12\n\n// 2.12. Audio Keys\n\n// - AudioBalanceLeft\n// - AudioBalanceRight\n// - AudioBassDown\n// - AudioBassBoostDown\n// - AudioBassBoostToggle\n// - AudioBassBoostUp\n// - AudioBassUp\n// - AudioFaderFront\n// - AudioFaderRear\n// - AudioSurroundModeNext\n// - AudioTrebleDown\n// - AudioTrebleUp\naddStandard("AudioVolumeDown", _keysym2.default.XF86XK_AudioLowerVolume);\naddStandard("AudioVolumeUp", _keysym2.default.XF86XK_AudioRaiseVolume);\naddStandard("AudioVolumeMute", _keysym2.default.XF86XK_AudioMute);\n// - MicrophoneToggle\n// - MicrophoneVolumeDown\n// - MicrophoneVolumeUp\naddStandard("MicrophoneVolumeMute", _keysym2.default.XF86XK_AudioMicMute);\n\n// 2.13. Speech Keys\n\n// - SpeechCorrectionList\n// - SpeechInputToggle\n\n// 2.14. Application Keys\n\naddStandard("LaunchCalculator", _keysym2.default.XF86XK_Calculator);\naddStandard("LaunchCalendar", _keysym2.default.XF86XK_Calendar);\naddStandard("LaunchMail", _keysym2.default.XF86XK_Mail);\naddStandard("LaunchMediaPlayer", _keysym2.default.XF86XK_AudioMedia);\naddStandard("LaunchMusicPlayer", _keysym2.default.XF86XK_Music);\naddStandard("LaunchMyComputer", _keysym2.default.XF86XK_MyComputer);\naddStandard("LaunchPhone", _keysym2.default.XF86XK_Phone);\naddStandard("LaunchScreenSaver", _keysym2.default.XF86XK_ScreenSaver);\naddStandard("LaunchSpreadsheet", _keysym2.default.XF86XK_Excel);\naddStandard("LaunchWebBrowser", _keysym2.default.XF86XK_WWW);\naddStandard("LaunchWebCam", _keysym2.default.XF86XK_WebCam);\naddStandard("LaunchWordProcessor", _keysym2.default.XF86XK_Word);\n\n// 2.15. Browser Keys\n\naddStandard("BrowserBack", _keysym2.default.XF86XK_Back);\naddStandard("BrowserFavorites", _keysym2.default.XF86XK_Favorites);\naddStandard("BrowserForward", _keysym2.default.XF86XK_Forward);\naddStandard("BrowserHome", _keysym2.default.XF86XK_HomePage);\naddStandard("BrowserRefresh", _keysym2.default.XF86XK_Refresh);\naddStandard("BrowserSearch", _keysym2.default.XF86XK_Search);\naddStandard("BrowserStop", _keysym2.default.XF86XK_Stop);\n\n// 2.16. Mobile Phone Keys\n\n// - A whole bunch...\n\n// 2.17. TV Keys\n\n// - A whole bunch...\n\n// 2.18. Media Controller Keys\n\n// - A whole bunch...\naddStandard("Dimmer", _keysym2.default.XF86XK_BrightnessAdjust);\naddStandard("MediaAudioTrack", _keysym2.default.XF86XK_AudioCycleTrack);\naddStandard("RandomToggle", _keysym2.default.XF86XK_AudioRandomPlay);\naddStandard("SplitScreenToggle", _keysym2.default.XF86XK_SplitScreen);\naddStandard("Subtitle", _keysym2.default.XF86XK_Subtitle);\naddStandard("VideoModeNext", _keysym2.default.XF86XK_Next_VMode);\n\n// Extra: Numpad\n\naddNumpad("=", _keysym2.default.XK_equal, _keysym2.default.XK_KP_Equal);\naddNumpad("+", _keysym2.default.XK_plus, _keysym2.default.XK_KP_Add);\naddNumpad("-", _keysym2.default.XK_minus, _keysym2.default.XK_KP_Subtract);\naddNumpad("*", _keysym2.default.XK_asterisk, _keysym2.default.XK_KP_Multiply);\naddNumpad("/", _keysym2.default.XK_slash, _keysym2.default.XK_KP_Divide);\naddNumpad(".", _keysym2.default.XK_period, _keysym2.default.XK_KP_Decimal);\naddNumpad(",", _keysym2.default.XK_comma, _keysym2.default.XK_KP_Separator);\naddNumpad("0", _keysym2.default.XK_0, _keysym2.default.XK_KP_0);\naddNumpad("1", _keysym2.default.XK_1, _keysym2.default.XK_KP_1);\naddNumpad("2", _keysym2.default.XK_2, _keysym2.default.XK_KP_2);\naddNumpad("3", _keysym2.default.XK_3, _keysym2.default.XK_KP_3);\naddNumpad("4", _keysym2.default.XK_4, _keysym2.default.XK_KP_4);\naddNumpad("5", _keysym2.default.XK_5, _keysym2.default.XK_KP_5);\naddNumpad("6", _keysym2.default.XK_6, _keysym2.default.XK_KP_6);\naddNumpad("7", _keysym2.default.XK_7, _keysym2.default.XK_KP_7);\naddNumpad("8", _keysym2.default.XK_8, _keysym2.default.XK_KP_8);\naddNumpad("9", _keysym2.default.XK_9, _keysym2.default.XK_KP_9);\n\nexports.default = DOMKeyTable;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/input/domkeytable.js?')},mdZa:function(module,exports,__webpack_require__){"use strict";eval("\n\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\n/* Polyfills to provide new APIs in old browsers */\n\n/* Object.assign() (taken from MDN) */\nif (typeof Object.assign != 'function') {\n // Must be writable: true, enumerable: false, configurable: true\n Object.defineProperty(Object, \"assign\", {\n value: function assign(target, varArgs) {\n // .length of function is 2\n 'use strict';\n\n if (target == null) {\n // TypeError if undefined or null\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var to = Object(target);\n\n for (var index = 1; index < arguments.length; index++) {\n var nextSource = arguments[index];\n\n if (nextSource != null) {\n // Skip over if undefined or null\n for (var nextKey in nextSource) {\n // Avoid bugs when hasOwnProperty is shadowed\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n return to;\n },\n writable: true,\n configurable: true\n });\n}\n\n/* CustomEvent constructor (taken from MDN) */\n(function () {\n function CustomEvent(event, params) {\n params = params || { bubbles: false, cancelable: false, detail: undefined };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n CustomEvent.prototype = window.Event.prototype;\n\n if (typeof window.CustomEvent !== \"function\") {\n window.CustomEvent = CustomEvent;\n }\n})();\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/polyfill.js?")},nWbc:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/left-panel/discuss/discuss-editor/index.less?")},ozfa:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cIOH");\n/* harmony import */ var _style_index_less__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_style_index_less__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("KxFI");\n/* harmony import */ var _index_less__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_index_less__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n//# sourceURL=webpack:///./node_modules/antd/es/tree/style/index.js?')},popq:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/evaluate-result/index.less?")},q7KB:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./node_modules/xterm/css/xterm.css?")},qUwa:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/footer-bar/index.less?")},rwxt:function(module,exports,__webpack_require__){"use strict";eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 or any later version (see LICENSE.txt)\n */\n\nvar _browser = __webpack_require__(\"GdRQ\");\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar useFallback = !_browser.supportsCursorURIs || _browser.isTouchDevice;\n\nvar Cursor = function () {\n function Cursor() {\n _classCallCheck(this, Cursor);\n\n this._target = null;\n\n this._canvas = document.createElement('canvas');\n\n if (useFallback) {\n this._canvas.style.position = 'fixed';\n this._canvas.style.zIndex = '65535';\n this._canvas.style.pointerEvents = 'none';\n // Can't use \"display\" because of Firefox bug #1445997\n this._canvas.style.visibility = 'hidden';\n document.body.appendChild(this._canvas);\n }\n\n this._position = { x: 0, y: 0 };\n this._hotSpot = { x: 0, y: 0 };\n\n this._eventHandlers = {\n 'mouseover': this._handleMouseOver.bind(this),\n 'mouseleave': this._handleMouseLeave.bind(this),\n 'mousemove': this._handleMouseMove.bind(this),\n 'mouseup': this._handleMouseUp.bind(this),\n 'touchstart': this._handleTouchStart.bind(this),\n 'touchmove': this._handleTouchMove.bind(this),\n 'touchend': this._handleTouchEnd.bind(this)\n };\n }\n\n _createClass(Cursor, [{\n key: 'attach',\n value: function attach(target) {\n if (this._target) {\n this.detach();\n }\n\n this._target = target;\n\n if (useFallback) {\n // FIXME: These don't fire properly except for mouse\n /// movement in IE. We want to also capture element\n // movement, size changes, visibility, etc.\n var options = { capture: true, passive: true };\n this._target.addEventListener('mouseover', this._eventHandlers.mouseover, options);\n this._target.addEventListener('mouseleave', this._eventHandlers.mouseleave, options);\n this._target.addEventListener('mousemove', this._eventHandlers.mousemove, options);\n this._target.addEventListener('mouseup', this._eventHandlers.mouseup, options);\n\n // There is no \"touchleave\" so we monitor touchstart globally\n window.addEventListener('touchstart', this._eventHandlers.touchstart, options);\n this._target.addEventListener('touchmove', this._eventHandlers.touchmove, options);\n this._target.addEventListener('touchend', this._eventHandlers.touchend, options);\n }\n\n this.clear();\n }\n }, {\n key: 'detach',\n value: function detach() {\n if (useFallback) {\n var options = { capture: true, passive: true };\n this._target.removeEventListener('mouseover', this._eventHandlers.mouseover, options);\n this._target.removeEventListener('mouseleave', this._eventHandlers.mouseleave, options);\n this._target.removeEventListener('mousemove', this._eventHandlers.mousemove, options);\n this._target.removeEventListener('mouseup', this._eventHandlers.mouseup, options);\n\n window.removeEventListener('touchstart', this._eventHandlers.touchstart, options);\n this._target.removeEventListener('touchmove', this._eventHandlers.touchmove, options);\n this._target.removeEventListener('touchend', this._eventHandlers.touchend, options);\n }\n\n this._target = null;\n }\n }, {\n key: 'change',\n value: function change(rgba, hotx, hoty, w, h) {\n if (w === 0 || h === 0) {\n this.clear();\n return;\n }\n\n this._position.x = this._position.x + this._hotSpot.x - hotx;\n this._position.y = this._position.y + this._hotSpot.y - hoty;\n this._hotSpot.x = hotx;\n this._hotSpot.y = hoty;\n\n var ctx = this._canvas.getContext('2d');\n\n this._canvas.width = w;\n this._canvas.height = h;\n\n var img = void 0;\n try {\n // IE doesn't support this\n img = new ImageData(new Uint8ClampedArray(rgba), w, h);\n } catch (ex) {\n img = ctx.createImageData(w, h);\n img.data.set(new Uint8ClampedArray(rgba));\n }\n ctx.clearRect(0, 0, w, h);\n ctx.putImageData(img, 0, 0);\n\n if (useFallback) {\n this._updatePosition();\n } else {\n var url = this._canvas.toDataURL();\n this._target.style.cursor = 'url(' + url + ')' + hotx + ' ' + hoty + ', default';\n }\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._target.style.cursor = 'none';\n this._canvas.width = 0;\n this._canvas.height = 0;\n this._position.x = this._position.x + this._hotSpot.x;\n this._position.y = this._position.y + this._hotSpot.y;\n this._hotSpot.x = 0;\n this._hotSpot.y = 0;\n }\n }, {\n key: '_handleMouseOver',\n value: function _handleMouseOver(event) {\n // This event could be because we're entering the target, or\n // moving around amongst its sub elements. Let the move handler\n // sort things out.\n this._handleMouseMove(event);\n }\n }, {\n key: '_handleMouseLeave',\n value: function _handleMouseLeave(event) {\n this._hideCursor();\n }\n }, {\n key: '_handleMouseMove',\n value: function _handleMouseMove(event) {\n this._updateVisibility(event.target);\n\n this._position.x = event.clientX - this._hotSpot.x;\n this._position.y = event.clientY - this._hotSpot.y;\n\n this._updatePosition();\n }\n }, {\n key: '_handleMouseUp',\n value: function _handleMouseUp(event) {\n // We might get this event because of a drag operation that\n // moved outside of the target. Check what's under the cursor\n // now and adjust visibility based on that.\n var target = document.elementFromPoint(event.clientX, event.clientY);\n this._updateVisibility(target);\n }\n }, {\n key: '_handleTouchStart',\n value: function _handleTouchStart(event) {\n // Just as for mouseover, we let the move handler deal with it\n this._handleTouchMove(event);\n }\n }, {\n key: '_handleTouchMove',\n value: function _handleTouchMove(event) {\n this._updateVisibility(event.target);\n\n this._position.x = event.changedTouches[0].clientX - this._hotSpot.x;\n this._position.y = event.changedTouches[0].clientY - this._hotSpot.y;\n\n this._updatePosition();\n }\n }, {\n key: '_handleTouchEnd',\n value: function _handleTouchEnd(event) {\n // Same principle as for mouseup\n var target = document.elementFromPoint(event.changedTouches[0].clientX, event.changedTouches[0].clientY);\n this._updateVisibility(target);\n }\n }, {\n key: '_showCursor',\n value: function _showCursor() {\n if (this._canvas.style.visibility === 'hidden') {\n this._canvas.style.visibility = '';\n }\n }\n }, {\n key: '_hideCursor',\n value: function _hideCursor() {\n if (this._canvas.style.visibility !== 'hidden') {\n this._canvas.style.visibility = 'hidden';\n }\n }\n\n // Should we currently display the cursor?\n // (i.e. are we over the target, or a child of the target without a\n // different cursor set)\n\n }, {\n key: '_shouldShowCursor',\n value: function _shouldShowCursor(target) {\n // Easy case\n if (target === this._target) {\n return true;\n }\n // Other part of the DOM?\n if (!this._target.contains(target)) {\n return false;\n }\n // Has the child its own cursor?\n // FIXME: How can we tell that a sub element has an\n // explicit \"cursor: none;\"?\n if (window.getComputedStyle(target).cursor !== 'none') {\n return false;\n }\n return true;\n }\n }, {\n key: '_updateVisibility',\n value: function _updateVisibility(target) {\n if (this._shouldShowCursor(target)) {\n this._showCursor();\n } else {\n this._hideCursor();\n }\n }\n }, {\n key: '_updatePosition',\n value: function _updatePosition() {\n this._canvas.style.left = this._position.x + \"px\";\n this._canvas.style.top = this._position.y + \"px\";\n }\n }]);\n\n return Cursor;\n}();\n\nexports.default = Cursor;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/cursor.js?")},sjKO:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = inflate_fast;\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nfunction inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()\'s initial strm.output */\n var end; /* while out < end, enough space available */\n //#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n //#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n //#ifdef INFLATE_STRICT\n dmax = state.dmax;\n //#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top: do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen: for (;;) {\n // Goto emulation\n op = here >>> 24 /*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = here >>> 16 & 0xff /*here.op*/;\n if (op === 0) {\n /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // "inflate: literal \'%c\'\\n" :\n // "inflate: literal 0x%02x\\n", here.val));\n output[_out++] = here & 0xffff /*here.val*/;\n } else if (op & 16) {\n /* length base */\n len = here & 0xffff /*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & (1 << op) - 1;\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, "inflate: length %u\\n", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist: for (;;) {\n // goto emulation\n op = here >>> 24 /*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = here >>> 16 & 0xff /*here.op*/;\n\n if (op & 16) {\n /* distance base */\n dist = here & 0xffff /*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & (1 << op) - 1;\n //#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = \'invalid distance too far back\';\n state.mode = BAD;\n break top;\n }\n //#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, "inflate: distance %u\\n", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) {\n /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = \'invalid distance too far back\';\n state.mode = BAD;\n break top;\n }\n\n // (!) This block is disabled in zlib defailts,\n // don\'t enable it for binary compatibility\n //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n // if (len <= op - whave) {\n // do {\n // output[_out++] = 0;\n // } while (--len);\n // continue top;\n // }\n // len -= op - whave;\n // do {\n // output[_out++] = 0;\n // } while (--op > whave);\n // if (op === 0) {\n // from = _out - dist;\n // do {\n // output[_out++] = output[from++];\n // } while (--len);\n // continue top;\n // }\n //#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) {\n /* very common case */\n from += wsize - op;\n if (op < len) {\n /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n } else if (wnext < op) {\n /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) {\n /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) {\n /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n } else {\n /* contiguous in window */\n from += wnext - op;\n if (op < len) {\n /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n } else {\n from = _out - dist; /* copy direct from output */\n do {\n /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n } else if ((op & 64) === 0) {\n /* 2nd level distance code */\n here = dcode[(here & 0xffff) + ( /*here.val*/hold & (1 << op) - 1)];\n continue dodist;\n } else {\n strm.msg = \'invalid distance code\';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via "continue"\n }\n } else if ((op & 64) === 0) {\n /* 2nd level length code */\n here = lcode[(here & 0xffff) + ( /*here.val*/hold & (1 << op) - 1)];\n continue dolen;\n } else if (op & 32) {\n /* end-of-block */\n //Tracevv((stderr, "inflate: end of block\\n"));\n state.mode = TYPE;\n break top;\n } else {\n strm.msg = \'invalid literal/length code\';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via "continue"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won\'t go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last);\n strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end);\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/zlib/inffast.js?')},vewr:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.getPointerEvent = getPointerEvent;\nexports.stopEvent = stopEvent;\nexports.setCapture = setCapture;\nexports.releaseCapture = releaseCapture;\n/*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2018 The noVNC Authors\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n */\n\n/*\n * Cross-browser event and position routines\n */\n\nfunction getPointerEvent(e) {\n return e.changedTouches ? e.changedTouches[0] : e.touches ? e.touches[0] : e;\n}\n\nfunction stopEvent(e) {\n e.stopPropagation();\n e.preventDefault();\n}\n\n// Emulate Element.setCapture() when not supported\nvar _captureRecursion = false;\nvar _captureElem = null;\nfunction _captureProxy(e) {\n // Recursion protection as we\'ll see our own event\n if (_captureRecursion) return;\n\n // Clone the event as we cannot dispatch an already dispatched event\n var newEv = new e.constructor(e.type, e);\n\n _captureRecursion = true;\n _captureElem.dispatchEvent(newEv);\n _captureRecursion = false;\n\n // Avoid double events\n e.stopPropagation();\n\n // Respect the wishes of the redirected event handlers\n if (newEv.defaultPrevented) {\n e.preventDefault();\n }\n\n // Implicitly release the capture on button release\n if (e.type === "mouseup") {\n releaseCapture();\n }\n}\n\n// Follow cursor style of target element\nfunction _captureElemChanged() {\n var captureElem = document.getElementById("noVNC_mouse_capture_elem");\n captureElem.style.cursor = window.getComputedStyle(_captureElem).cursor;\n}\n\nvar _captureObserver = new MutationObserver(_captureElemChanged);\n\nvar _captureIndex = 0;\n\nfunction setCapture(elem) {\n if (elem.setCapture) {\n\n elem.setCapture();\n\n // IE releases capture on \'click\' events which might not trigger\n elem.addEventListener(\'mouseup\', releaseCapture);\n } else {\n // Release any existing capture in case this method is\n // called multiple times without coordination\n releaseCapture();\n\n var captureElem = document.getElementById("noVNC_mouse_capture_elem");\n\n if (captureElem === null) {\n captureElem = document.createElement("div");\n captureElem.id = "noVNC_mouse_capture_elem";\n captureElem.style.position = "fixed";\n captureElem.style.top = "0px";\n captureElem.style.left = "0px";\n captureElem.style.width = "100%";\n captureElem.style.height = "100%";\n captureElem.style.zIndex = 10000;\n captureElem.style.display = "none";\n document.body.appendChild(captureElem);\n\n // This is to make sure callers don\'t get confused by having\n // our blocking element as the target\n captureElem.addEventListener(\'contextmenu\', _captureProxy);\n\n captureElem.addEventListener(\'mousemove\', _captureProxy);\n captureElem.addEventListener(\'mouseup\', _captureProxy);\n }\n\n _captureElem = elem;\n _captureIndex++;\n\n // Track cursor and get initial cursor\n _captureObserver.observe(elem, { attributes: true });\n _captureElemChanged();\n\n captureElem.style.display = "";\n\n // We listen to events on window in order to keep tracking if it\n // happens to leave the viewport\n window.addEventListener(\'mousemove\', _captureProxy);\n window.addEventListener(\'mouseup\', _captureProxy);\n }\n}\n\nfunction releaseCapture() {\n if (document.releaseCapture) {\n\n document.releaseCapture();\n } else {\n if (!_captureElem) {\n return;\n }\n\n // There might be events already queued, so we need to wait for\n // them to flush. E.g. contextmenu in Microsoft Edge\n window.setTimeout(function (expected) {\n // Only clear it if it\'s the expected grab (i.e. no one\n // else has initiated a new grab)\n if (_captureIndex === expected) {\n _captureElem = null;\n }\n }, 0, _captureIndex);\n\n _captureObserver.disconnect();\n\n var captureElem = document.getElementById("noVNC_mouse_capture_elem");\n captureElem.style.display = "none";\n\n window.removeEventListener(\'mousemove\', _captureProxy);\n window.removeEventListener(\'mouseup\', _captureProxy);\n }\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/util/events.js?')},xO64:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _tight = __webpack_require__("8K/p");\n\nvar _tight2 = _interopRequireDefault(_tight);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn\'t been initialised - super() hasn\'t been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\n * noVNC: HTML5 VNC client\n * Copyright (C) 2012 Joel Martin\n * Copyright (C) 2018 Samuel Mannehed for Cendio AB\n * Copyright (C) 2018 Pierre Ossman for Cendio AB\n * Licensed under MPL 2.0 (see LICENSE.txt)\n *\n * See README.md for usage and integration instructions.\n *\n */\n\nvar TightPNGDecoder = function (_TightDecoder) {\n _inherits(TightPNGDecoder, _TightDecoder);\n\n function TightPNGDecoder() {\n _classCallCheck(this, TightPNGDecoder);\n\n return _possibleConstructorReturn(this, (TightPNGDecoder.__proto__ || Object.getPrototypeOf(TightPNGDecoder)).apply(this, arguments));\n }\n\n _createClass(TightPNGDecoder, [{\n key: "_pngRect",\n value: function _pngRect(x, y, width, height, sock, display, depth) {\n var data = this._readData(sock);\n if (data === null) {\n return false;\n }\n\n display.imageRect(x, y, "image/png", data);\n\n return true;\n }\n }, {\n key: "_basicRect",\n value: function _basicRect(ctl, x, y, width, height, sock, display, depth) {\n throw new Error("BasicCompression received in TightPNG rect");\n }\n }]);\n\n return TightPNGDecoder;\n}(_tight2.default);\n\nexports.default = TightPNGDecoder;\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/decoders/tightpng.js?')},xlC8:function(module,exports,__webpack_require__){"use strict";eval('\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nexports.default = adler32;\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It doesn\'t worth to make additional optimizationa as in original.\n// Small size is preferable.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = adler & 0xffff | 0,\n s2 = adler >>> 16 & 0xffff | 0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = s1 + buf[pos++] | 0;\n s2 = s2 + s1 | 0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return s1 | s2 << 16 | 0;\n}\n\n//# sourceURL=webpack:///./node_modules/@novnc/novnc/lib/vendor/pako/lib/zlib/adler32.js?')},"yi/R":function(module,__webpack_exports__,__webpack_require__){"use strict";eval('// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/antd/es/drawer/style/index.js\nvar style = __webpack_require__("bbsP");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/drawer/index.js + 4 modules\nvar drawer = __webpack_require__("/wGt");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__("0Owb");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js + 1 modules\nvar objectWithoutProperties = __webpack_require__("PpiC");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/message/style/index.js\nvar message_style = __webpack_require__("miYZ");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/message/index.js\nvar es_message = __webpack_require__("tsqr");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/style/index.js\nvar modal_style = __webpack_require__("2qtc");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/modal/index.js + 10 modules\nvar modal = __webpack_require__("kLXV");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/regenerator/index.js\nvar regenerator = __webpack_require__("WmNS");\nvar regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator);\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\nvar asyncToGenerator = __webpack_require__("9og8");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules\nvar slicedToArray = __webpack_require__("tJVT");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/objectSpread2.js + 1 modules\nvar objectSpread2 = __webpack_require__("k1fw");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/tree/style/index.js\nvar tree_style = __webpack_require__("ozfa");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/tree/index.js + 3 modules\nvar tree = __webpack_require__("MJZm");\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__("q1tI");\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./src/pages/tasks/index.less\nvar tasks = __webpack_require__("H65k");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/header/index.less\nvar header = __webpack_require__("+Axu");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/header/index.jsx\n\n\n/* harmony default export */ var left_panel_header = ((_ref) => {\n var position = _ref.position,\n subject = _ref.subject,\n score = _ref.score,\n onViewAllTask = _ref.onViewAllTask;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "task-header"\n }, /*#__PURE__*/react_default.a.createElement("a", {\n title: "\\u67E5\\u770B\\u5168\\u90E8\\u4EFB\\u52A1",\n onClick: onViewAllTask\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-zhangjie1"\n })), /*#__PURE__*/react_default.a.createElement("h3", null, "\\u7B2C", position, "\\u5173\\uFF1A", subject), /*#__PURE__*/react_default.a.createElement("span", null, score));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/constant.js\nvar constant = __webpack_require__("fXAG");\n\n// EXTERNAL MODULE: ./src/components/RenderHtml/index.tsx + 1 modules\nvar RenderHtml = __webpack_require__("9Bee");\n\n// EXTERNAL MODULE: ./src/components/modal.tsx\nvar components_modal = __webpack_require__("M8RZ");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/index.less\nvar left_panel = __webpack_require__("6lC8");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/service.js\nvar service = __webpack_require__("mCJh");\n\n// EXTERNAL MODULE: ./src/utils/fetch.ts\nvar fetch = __webpack_require__("ErOA");\n\n// CONCATENATED MODULE: ./src/pages/tasks/service/index.js\n\nfunction fetchTaskInfo(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, ".json"));\n}\nfunction fetchTaskList(id) {\n return Object(fetch["c" /* get */])("/myshixuns/".concat(id, "/challenges.json"));\n}\nfunction saveTaskStar(id, shixunId, star) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/star.json?shixun_id=").concat(shixunId, "&star=").concat(star));\n}\nfunction fetchCode(id, params) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/rep_content.json"), params);\n}\nfunction updateCode(id, params) {\n return Object(fetch["d" /* post */])("/myshixuns/".concat(id, "/update_file.json"), params);\n}\nfunction restoreCode(id, params) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/reset_original_code.json"), params);\n}\nfunction resetPassedCode(id, params) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/reset_passed_code.json"), params);\n}\nfunction codeGameBuild(id, params) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/game_build.json"), params);\n}\nfunction getCodeGameStatus(id, params) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/game_status.json"), params);\n}\nfunction evalateChooseGame(id, params) {\n return Object(fetch["d" /* post */])("/tasks/".concat(id, "/choose_build.json"), params);\n}\nfunction fetchPictures(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/picture_display.json"));\n}\nfunction updateCostTime(id, params) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/cost_time.json"), params);\n}\nfunction getNoticeDetail(id, params) {\n return Object(fetch["c" /* get */])("/courses/".concat(id, "/inform_detail.json"), params);\n}\nfunction plusOrCancelPraise(id) {\n return Object(fetch["d" /* post */])("/tasks/".concat(id, "/plus_or_cancel_praise.json"));\n}\nfunction fetchRepos(id) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return Object(fetch["d" /* post */])("/myshixuns/".concat(id, "/repository.json"), params);\n}\nfunction openSSh(id) {\n return Object(fetch["c" /* get */])("/myshixuns/".concat(id, "/open_webssh.json"));\n}\nfunction closeSSh(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/close_webssh.json"));\n}\nfunction resetVnc(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/reset_vnc_link.json"));\n}\nfunction unlockTestCase(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/check_test_sets.json"));\n}\nfunction getAnswerInfo(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/get_answer_info.json"));\n}\nfunction getChooseAnswerInfo(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/get_choose_answer.json"));\n}\nfunction getChooseUnlockAnswer(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/unlock_choose_answer.json"));\n}\nfunction getUnlockAnswer(id, aid) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/unlock_answer.json?answer_id=").concat(aid));\n}\nfunction setUnity3dStatus(id, result) {\n return Object(fetch["d" /* post */])("/tasks/".concat(id, "/set_games_status.json"), {\n result\n });\n}\nfunction addVncTime(id) {\n return Object(fetch["d" /* post */])("/tasks/".concat(id, "/extend_vnc.json"));\n}\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/task-list/index.less\nvar task_list = __webpack_require__("dTJi");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/rate/style/index.js\nvar rate_style = __webpack_require__("pC0b");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/rate/index.js + 4 modules\nvar rate = __webpack_require__("GzdX");\n\n// EXTERNAL MODULE: ./node_modules/@umijs/preset-built-in/node_modules/react-router-dom/esm/react-router-dom.js\nvar react_router_dom = __webpack_require__("uYtH");\n\n// EXTERNAL MODULE: ./node_modules/moment/moment.js\nvar moment = __webpack_require__("wd/R");\nvar moment_default = /*#__PURE__*/__webpack_require__.n(moment);\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/task-list/task-item/index.less\nvar task_item = __webpack_require__("OoWo");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-list/task-item/index.jsx\n\n\n\n\n\n\nvar dtFormat = \'YYYY-MM-DD HH:mm\';\n/* harmony default export */ var task_list_task_item = ((_ref) => {\n var challenge = _ref.challenge,\n position = _ref.position,\n status = _ref.status,\n get_gold = _ref.get_gold,\n get_experience = _ref.get_experience,\n star = _ref.star,\n tag_count = _ref.tag_count,\n finished_time = _ref.finished_time,\n index = _ref.index,\n view_answer_time = _ref.view_answer_time,\n name = _ref.name,\n identifier = _ref.identifier,\n identity = _ref.identity,\n shixun = _ref.shixun,\n taskList = _ref.taskList,\n onSaveTaskStar = _ref.onSaveTaskStar;\n\n function onStarChange(value) {\n onSaveTaskStar(identifier, value, index);\n } //\u5141\u8bb8\u8df3\u5173\n\n\n var isAllow = status === 2 || shixun.status < 2 || taskList[index - 1] && taskList[index - 1].status === 2 || shixun.task_pass || identity <= 5;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "task-item-container ".concat(challenge.position === position ? \'active\' : \'\', " ").concat(status === 2 ? \'finish\' : \'\')\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container space-between"\n }, isAllow ? /*#__PURE__*/react_default.a.createElement(react_router_dom["Link"], {\n to: "/tasks/".concat(identifier)\n }, "".concat(position, ". ").concat(name), " ") : /*#__PURE__*/react_default.a.createElement("span", null, "".concat(position, ". ").concat(name)), /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-wancheng1 ".concat(status === 2 ? \'green\' : \'\')\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement("p", {\n className: status === 2 ? \'green\' : \'\'\n }, /*#__PURE__*/react_default.a.createElement("span", null, "\\u7ECF\\u9A8C\\u503C"), " ", status === 2 && get_experience > 0 ? \'+\' : \'\', \' \', get_experience), /*#__PURE__*/react_default.a.createElement("p", {\n className: status === 2 ? \'green\' : \'\'\n }, /*#__PURE__*/react_default.a.createElement("span", null, "\\u91D1\\u5E01"), " ", status === 2 && get_gold > 0 ? \'+\' : \'\', " ", get_gold), /*#__PURE__*/react_default.a.createElement("p", null, /*#__PURE__*/react_default.a.createElement("span", null, "\\u6280\\u80FD\\u6807\\u7B7E"), " ", tag_count ? tag_count : \'\u65e0\')), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement("p", null, /*#__PURE__*/react_default.a.createElement("span", null, "\\u5B8C\\u6210\\u65F6\\u95F4"), \' \', finished_time ? moment_default()(finished_time).format(dtFormat) : \'--\'), /*#__PURE__*/react_default.a.createElement("p", null, /*#__PURE__*/react_default.a.createElement("span", null, "\\u67E5\\u770B\\u7B54\\u6848\\u65F6\\u95F4"), \' \', view_answer_time ? moment_default()(view_answer_time).format(dtFormat) : \'--\')), shixun.status >= 2 ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "rate-container"\n }, status === 2 && star === 0 ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("span", null, "\\u7ED9\\u4E2A\\u8BC4\\u5206\\u5427\\uFF1A"), /*#__PURE__*/react_default.a.createElement(rate["a" /* default */], {\n defaultValue: 0,\n onChange: onStarChange\n })) : null, status === 2 && star > 0 ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("span", null, "\\u5DF2\\u8BC4\\u5206\\uFF1A"), /*#__PURE__*/react_default.a.createElement(rate["a" /* default */], {\n value: star,\n disabled: true\n }), /*#__PURE__*/react_default.a.createElement("span", {\n className: "highlight"\n }, star, "\\u5206")) : null) : null);\n});\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/task-list/index.jsx\n\n\n\n\n //\u8fd9\u91cc\u672a\u901a\u5173\u7684identifier \u90fd\u662fnull ,\u4e0d\u9002\u5408\u4f5ckey\n\n/* harmony default export */ var left_panel_task_list = ((_ref) => {\n var taskList = _ref.taskList,\n challenge = _ref.challenge,\n shixun = _ref.shixun,\n identity = _ref.identity,\n onSaveTaskStar = _ref.onSaveTaskStar;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "task-list-container"\n }, /*#__PURE__*/react_default.a.createElement("p", {\n className: "task-tip"\n }, /*#__PURE__*/react_default.a.createElement("div", null, \' \', /*#__PURE__*/react_default.a.createElement("span", null, "\\u6E29\\u99A8\\u63D0\\u793A: "), \' \', "\\u82E5\\u67E5\\u770B\\u7B54\\u6848\\u65F6\\u95F4\\u65E9\\u4E8E\\u5173\\u5361\\u4EFB\\u52A1\\u5B8C\\u6210\\u65F6\\u95F4\\uFF0C\\u5C06\\u5F71\\u54CD\\u8BFE\\u5802\\u5B9E\\u8BAD\\u4F5C\\u4E1A\\u7684\\u6210\\u7EE9\\u3002"), \' \'), taskList.map((item, index) => {\n var option = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, item), {}, {\n identity,\n index,\n challenge,\n taskList,\n shixun,\n onSaveTaskStar\n });\n\n return /*#__PURE__*/react_default.a.createElement(task_list_task_item, Object(esm_extends["a" /* default */])({\n key: index\n }, option));\n }));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss/index.jsx + 1 modules\nvar discuss = __webpack_require__("Plam");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/discuss-input-editor/index.less\nvar discuss_input_editor = __webpack_require__("gp9y");\n\n// EXTERNAL MODULE: ./src/components/markdown-editor/index.tsx + 5 modules\nvar markdown_editor = __webpack_require__("Ot1p");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/discuss-input-editor/index.jsx\n\n\n\n\n\n\n/* harmony default export */ var left_panel_discuss_input_editor = ((_ref) => {\n var user_praise = _ref.user_praise,\n praise_count = _ref.praise_count,\n praisePlus = _ref.praisePlus,\n onCreateDiscuss = _ref.onCreateDiscuss;\n\n var _useState = Object(react["useState"])(false),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n showMd = _useState2[0],\n setShowMd = _useState2[1];\n\n var _useState3 = Object(react["useState"])(\'\'),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n value = _useState4[0],\n setValue = _useState4[1];\n\n function onChangeHandler(v) {\n setValue(v);\n }\n\n function onShowMd() {\n setShowMd(true);\n }\n\n function onCancel() {\n setShowMd(false);\n }\n\n function onCommit() {\n return _onCommit.apply(this, arguments);\n }\n\n function _onCommit() {\n _onCommit = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n onCreateDiscuss(value);\n setValue(\'\');\n setShowMd(false);\n\n case 3:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _onCommit.apply(this, arguments);\n }\n\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "comment-input-editor-container ".concat(showMd ? \'active\' : \'\', " ")\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: showMd ? \'text-area hide\' : \'text-area\'\n }, /*#__PURE__*/react_default.a.createElement("input", {\n placeholder: "\\u8BF4\\u70B9\\u4EC0\\u4E48",\n onClick: onShowMd\n }), /*#__PURE__*/react_default.a.createElement("a", {\n className: "c-light-black",\n onClick: praisePlus,\n title: user_praise ? \'\u53d6\u6d88\u70b9\u8d5e\' : \'\u70b9\u8d5e\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "mr3 ".concat(user_praise ? \'iconfont icon-dianzan c-orange\' : \'iconfont icon-dianzan-xian\', " "),\n alt: "\\u8D5E"\n }), praise_count ? /*#__PURE__*/react_default.a.createElement("span", null, praise_count) : \'\')), showMd ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "input-mask",\n onClick: onCancel\n }) : null, /*#__PURE__*/react_default.a.createElement("div", {\n className: showMd ? \'md-container\' : \'md-container hide\'\n }, /*#__PURE__*/react_default.a.createElement(markdown_editor["a" /* default */], {\n id: "discuss-input-editor",\n startInit: showMd,\n miniToolbar: true,\n watch: false,\n noStorage: true,\n defaultValue: value,\n height: 240,\n onChange: onChangeHandler\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "tip-container",\n onClick: onCancel\n }, /*#__PURE__*/react_default.a.createElement("p", null, "\\u8BF7\\u52FF\\u7C98\\u8D34\\u7B54\\u6848\\uFF0C\\u5426\\u5219\\u5C06\\u9020\\u6210\\u8D26\\u53F7\\u7981\\u7528\\u540E\\u679C\\uFF01"), /*#__PURE__*/react_default.a.createElement("a", {\n className: "btn-send",\n onClick: onCommit\n }, "\\u53D1\\u9001"))));\n});\n// EXTERNAL MODULE: ./src/components/mediator.js\nvar mediator = __webpack_require__("dhSg");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/answer-panel/index.less\nvar answer_panel = __webpack_require__("/omn");\n\n// EXTERNAL MODULE: ./src/components/Spinner/index.tsx\nvar Spinner = __webpack_require__("IxHN");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/answer-panel/choose-answer/index.less\nvar choose_answer = __webpack_require__("ARon");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/choose-answer/index.jsx\n\n\n\n/* harmony default export */ var answer_panel_choose_answer = ((_ref) => {\n var data = _ref.data;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, data && data.map(item => /*#__PURE__*/react_default.a.createElement("div", {\n className: "choose-answer-item",\n key: item.position\n }, /*#__PURE__*/react_default.a.createElement("p", null, "\\u7B2C", item.position, "\\u9898"), /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: item.answer\n }))));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/answer-panel/multi-level-answer/index.less\nvar multi_level_answer = __webpack_require__("DVFL");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/multi-level-answer/index.jsx\n\n\n\n\n/* harmony default export */ var answer_panel_multi_level_answer = ((_ref) => {\n var data = _ref.data,\n onShowUnlockAnswerModal = _ref.onShowUnlockAnswerModal;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, data && data.map((item, index) => {\n var answer_id = item.answer_id,\n answer_name = item.answer_name,\n answer_contents = item.answer_contents,\n view_time = item.view_time;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "answer-item-container",\n key: answer_id\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "level"\n }, " \\u7EA7\\u522B", index + 1, "\\uFF1A "), /*#__PURE__*/react_default.a.createElement("span", {\n className: "name"\n }, answer_name), answer_contents ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("span", {\n className: "view-time"\n }, view_time ? moment_default()(view_time).format(\'YYYY-MM-DD HH:mm\') : \'\'), /*#__PURE__*/react_default.a.createElement("span", null, "\\u5DF2\\u89E3\\u9501")) : /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onShowUnlockAnswerModal\n }, "\\u89E3\\u9501")), answer_contents ? /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: answer_contents\n }) : null);\n }));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/index.jsx\n\n\n\n\n //st = 0 \u4ee3\u7801\u9898\n//st = 1 \u9009\u62e9\u9898\n\n/* harmony default export */ var left_panel_answer_panel = ((_ref) => {\n var loading = _ref.loading,\n data = _ref.data,\n onShowTip = _ref.onShowTip,\n st = _ref.st;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "answer-container"\n }, loading ? /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], null) : null, st === 1 ? /*#__PURE__*/react_default.a.createElement(answer_panel_choose_answer, {\n data: data\n }) : /*#__PURE__*/react_default.a.createElement(answer_panel_multi_level_answer, {\n data: data,\n onShowUnlockAnswerModal: onShowTip\n }));\n});\n// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/style/index.js\nvar checkbox_style = __webpack_require__("sRBo");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/checkbox/index.js + 2 modules\nvar es_checkbox = __webpack_require__("kaz8");\n\n// EXTERNAL MODULE: ./src/pages/tasks/left-panel/answer-panel/unlock-answer-list/index.less\nvar unlock_answer_list = __webpack_require__("gflZ");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/answer-panel/unlock-answer-list/index.jsx\n\n\n\n\n/* harmony default export */ var answer_panel_unlock_answer_list = ((_ref) => {\n var data = _ref.data,\n score = _ref.score,\n selected_unlocked_answer_id = _ref.selected_unlocked_answer_id,\n selected_index = _ref.selected_index,\n onSelect = _ref.onSelect;\n\n if (!data) {\n return null;\n }\n\n var list = data.filter((item, index) => {\n if (!item.answer_contents) {\n item.index = index;\n return true;\n }\n\n return false;\n });\n\n function onTriggerAnswer(e) {\n var _e$target = e.target,\n value = _e$target.value,\n checked = _e$target.checked;\n\n if (checked) {\n onSelect(value);\n } else {\n onSelect(null);\n }\n }\n\n return /*#__PURE__*/react_default.a.createElement("table", {\n className: "unlock-answer-list"\n }, /*#__PURE__*/react_default.a.createElement("thead", null, /*#__PURE__*/react_default.a.createElement("tr", null, /*#__PURE__*/react_default.a.createElement("th", null), /*#__PURE__*/react_default.a.createElement("th", null, "\\u7EA7\\u522B"), /*#__PURE__*/react_default.a.createElement("th", null, "\\u540D\\u79F0"), /*#__PURE__*/react_default.a.createElement("th", null, "\\u6263\\u5206\\u5360\\u6BD4"), /*#__PURE__*/react_default.a.createElement("th", null, "\\u6263\\u51CF\\u91D1\\u5E01"))), /*#__PURE__*/react_default.a.createElement("tbody", null, list.map((item, i) => /*#__PURE__*/react_default.a.createElement("tr", {\n key: item.answer_id\n }, /*#__PURE__*/react_default.a.createElement("td", null, /*#__PURE__*/react_default.a.createElement(es_checkbox["a" /* default */], {\n value: item.answer_id,\n onChange: onTriggerAnswer,\n checked: item.answer_id === selected_unlocked_answer_id || selected_unlocked_answer_id && selected_index >= i\n })), /*#__PURE__*/react_default.a.createElement("td", null, item.index + 1), /*#__PURE__*/react_default.a.createElement("td", null, item.answer_name), /*#__PURE__*/react_default.a.createElement("td", null, item.answer_score, "%"), /*#__PURE__*/react_default.a.createElement("td", {\n className: "gold-color"\n }, score * item.answer_score / 100)))));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/unity3d-panel/index.less\nvar unity3d_panel = __webpack_require__("Q7Vx");\n\n// CONCATENATED MODULE: ./src/pages/tasks/unity3d-panel/index.jsx\n\n\n\n\n\n/*\u25cf web\u901a\u4fe1U3D Json\u6570\u636e\u683c\u5f0f\uff1a { "state": "start", "data": "Red"\uff08Blue\uff0cWhite\uff09 }\n\u25cf U3D\u901a\u8bafweb\u7aef Json\u6570\u636e\u683c\u5f0f\uff1a { "GameState":"Fail", "Data":"" } */\n\n/* harmony default export */ var tasks_unity3d_panel = ((_ref) => {\n var unity_3d_routes = _ref.unity_3d_routes,\n onGetUnity3dMessage = _ref.onGetUnity3dMessage,\n onEvaluateCallback = _ref.onEvaluateCallback;\n var el = Object(react["useRef"])();\n\n var _useState = Object(react["useState"])(true),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n Object(react["useEffect"])(() => {\n function onReceiveMessage(e) {\n try {\n var mes = JSON.parse(e.data);\n onGetUnity3dMessage(mes);\n } catch (error) {\n console.log(error, e.data);\n }\n }\n\n window.addEventListener(\'message\', onReceiveMessage);\n var unSub = mediator["a" /* default */].subscribe(\'evaluate-unity3d-result\', value => {\n sendMessage(value);\n\n if (onEvaluateCallback) {\n onEvaluateCallback();\n }\n });\n return () => {\n window.removeEventListener(\'message\', onReceiveMessage);\n unSub();\n };\n }, []);\n\n function sendMessage(data) {\n if (el.current) {\n el.current.contentWindow.postMessage(JSON.stringify(data), \'*\');\n }\n }\n\n function onLoad() {\n setLoading(false);\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, loading ? /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], {\n message: "\\u6B63\\u5728\\u52AA\\u529B\\u52A0\\u8F7D\\u4E2D..."\n }) : null, /*#__PURE__*/react_default.a.createElement("iframe", {\n onLoad: onLoad,\n className: "unity3d-panel",\n ref: el,\n src: unity_3d_routes\n }));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/util.js\nvar util = __webpack_require__("BjJ7");\n\n// CONCATENATED MODULE: ./src/pages/tasks/left-panel/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar initialState = {\n showTaskList: false,\n activeIndex: 0,\n taskList: [],\n enlarge_unity3D: false,\n tab_fixed: false,\n //\u7b54\u6848\u76f8\u5173state\n selected_unlocked_answer_id: null,\n isMultiLevel: false,\n showTip: false,\n data: null,\n loading: false\n};\n\nfunction reducer(state, action) {\n switch (action.type) {\n case constant["y" /* SET_ACTIVE_INDEX */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n activeIndex: action.payload\n });\n\n case constant["Y" /* TRIGGER_ENLARGE_UNITY3D */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n enlarge_unity3D: action.payload\n });\n\n case constant["Z" /* TRIGGER_TAB_FIXED */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n tab_fixed: action.payload\n });\n\n case constant["V" /* SHOW_TASK_LIST */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showTaskList: true\n });\n\n case constant["r" /* HIDE_TASK_LIST */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showTaskList: false\n });\n\n case constant["l" /* GET_TASK_LIST */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["K" /* SET_TASK_STAR */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["M" /* SHOW_ANSWER_LOADING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: true\n });\n\n case constant["W" /* SHOW_TIP_MODAL */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showTip: true\n });\n\n case constant["s" /* HIDE_TIP_MODAL */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showTip: false\n });\n\n case constant["w" /* SELECT_UNLOCK_ANSWER */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n selected_unlocked_answer_id: action.payload\n });\n\n case constant["f" /* FETCH_ANSWER_INFO */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n default:\n throw new Error();\n }\n}\n\n/* harmony default export */ var tasks_left_panel = ((_ref) => {\n var taskId = _ref.taskId,\n minuxUserGrade = _ref.minuxUserGrade,\n discusses_count = _ref.discusses_count,\n is_teacher = _ref.is_teacher,\n has_answer = _ref.has_answer,\n user = _ref.user,\n st = _ref.st,\n game = _ref.game,\n challenge = _ref.challenge,\n myshixun = _ref.myshixun,\n user_praise = _ref.user_praise,\n praise_count = _ref.praise_count,\n unity_3d_routes = _ref.unity_3d_routes,\n with_code_file = _ref.with_code_file,\n onPlusOrCancelPraise = _ref.onPlusOrCancelPraise,\n onEvaluateCallback = _ref.onEvaluateCallback,\n onGetUnity3dMessage = _ref.onGetUnity3dMessage,\n shixun = _ref.shixun;\n\n var _useReducer = Object(react["useReducer"])(reducer, initialState),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var taskList = state.taskList,\n showTaskList = state.showTaskList,\n activeIndex = state.activeIndex,\n enlarge_unity3D = state.enlarge_unity3D,\n tab_fixed = state.tab_fixed,\n data = state.data,\n loading = state.loading,\n showTip = state.showTip,\n isMultiLevel = state.isMultiLevel,\n selected_unlocked_answer_id = state.selected_unlocked_answer_id;\n var selected_index = Object(react["useMemo"])(() => {\n var rs = 0;\n\n if (data && selected_unlocked_answer_id) {\n var unLockList = data.filter(item => !item.answer_contents);\n\n for (var i = 0; i < unLockList.length; i++) {\n if (unLockList[i].answer_id === selected_unlocked_answer_id) {\n rs = i;\n break;\n }\n }\n }\n\n return rs;\n }, [data, selected_unlocked_answer_id]);\n var propaedeutics = shixun ? shixun.propaedeutics : null;\n var contentEl = Object(react["useRef"])();\n var tabs = Object(react["useMemo"])(() => {\n var rs = [{\n index: 0,\n title: \'\u8fc7\u5173\u4efb\u52a1\'\n }];\n\n if (propaedeutics) {\n rs.push({\n index: 1,\n title: \'\u80cc\u666f\u77e5\u8bc6\'\n });\n }\n\n if (has_answer) {\n rs.push({\n index: 2,\n title: \'\u53c2\u8003\u7b54\u6848\'\n });\n }\n\n rs.push({\n index: 3,\n title: \'\u8bc4\u8bba\'\n });\n return rs;\n }, [has_answer, propaedeutics]);\n\n function onSetActiveIndex(e) {\n var id = parseInt(e.currentTarget.id);\n\n if (id === 2) {\n if (game.homework_common_answer_open) {\n es_message["a" /* default */].info(\'\u7981\u6b62\u67e5\u770b\u7b54\u6848\');\n } else {\n initAnswer();\n }\n } else {\n dispatch({\n type: constant["y" /* SET_ACTIVE_INDEX */],\n payload: id\n });\n }\n }\n\n function initAnswer() {\n return _initAnswer.apply(this, arguments);\n }\n\n function _initAnswer() {\n _initAnswer = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var response;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!(st === 0)) {\n _context.next = 5;\n break;\n }\n\n _context.next = 3;\n return fetchAnswerInfo();\n\n case 3:\n _context.next = 9;\n break;\n\n case 5:\n _context.next = 7;\n return getChooseAnswerInfo(game.identifier);\n\n case 7:\n response = _context.sent;\n processChooseAnswer(response);\n\n case 9:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _initAnswer.apply(this, arguments);\n }\n\n function fetchAnswerInfo() {\n return _fetchAnswerInfo.apply(this, arguments);\n }\n\n function _fetchAnswerInfo() {\n _fetchAnswerInfo = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n var response, message, showTip;\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return getAnswerInfo(game.identifier);\n\n case 2:\n response = _context2.sent;\n message = response.message;\n\n if (!(message.length === 0)) {\n _context2.next = 7;\n break;\n }\n\n es_message["a" /* default */].info(\'\u672c\u5173\u5361\u672a\u8bbe\u7f6e\u7b54\u6848\');\n\n return _context2.abrupt("return");\n\n case 7:\n if (message.length) {\n _context2.next = 10;\n break;\n }\n\n dispatch({\n type: constant["f" /* FETCH_ANSWER_INFO */],\n payload: {\n showTip: true,\n isMultiLevel: false,\n selected_unlocked_answer_id: message.answer_id\n }\n });\n return _context2.abrupt("return");\n\n case 10:\n showTip = message.filter(item => item.answer_contents).length === 0;\n dispatch({\n type: constant["f" /* FETCH_ANSWER_INFO */],\n payload: {\n showTip,\n data: message,\n isMultiLevel: message.length > 1,\n activeIndex: !showTip ? 2 : activeIndex\n }\n });\n\n case 12:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _fetchAnswerInfo.apply(this, arguments);\n }\n\n function processChooseAnswer(response) {\n var choose_answers = response.choose_answers,\n message = response.message,\n status = response.status;\n\n if (status === 0) {\n es_message["a" /* default */].info(message);\n\n return;\n }\n\n dispatch({\n type: constant["f" /* FETCH_ANSWER_INFO */],\n payload: {\n showTip: status === 1 ? true : false,\n data: choose_answers,\n loading: false,\n activeIndex: status === 1 ? activeIndex : 2\n }\n });\n }\n\n function onHideTip() {\n dispatch({\n type: constant["s" /* HIDE_TIP_MODAL */]\n });\n }\n\n function onShowTip() {\n dispatch({\n type: constant["W" /* SHOW_TIP_MODAL */]\n });\n }\n\n function onViewAnswer() {\n return _onViewAnswer.apply(this, arguments);\n }\n\n function _onViewAnswer() {\n _onViewAnswer = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {\n var response, respose, status, message, sum;\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(st === 1)) {\n _context3.next = 8;\n break;\n }\n\n _context3.next = 3;\n return getChooseUnlockAnswer(game.identifier);\n\n case 3:\n response = _context3.sent;\n minuxUserGrade(score);\n processChooseAnswer(response);\n _context3.next = 14;\n break;\n\n case 8:\n if (!selected_unlocked_answer_id) {\n _context3.next = 14;\n break;\n }\n\n _context3.next = 11;\n return getUnlockAnswer(game.identifier, selected_unlocked_answer_id);\n\n case 11:\n respose = _context3.sent;\n status = respose.status, message = respose.message;\n\n if (status === -1) {\n es_message["a" /* default */].info(message);\n } else {\n if (isMultiLevel) {\n sum = 0;\n data.forEach((item, index) => {\n if (index <= selected_index) {\n sum += item.answer_score * score / 100;\n }\n });\n minuxUserGrade(sum);\n } else {\n minuxUserGrade(score);\n }\n\n fetchAnswerInfo();\n dispatch({\n type: constant["s" /* HIDE_TIP_MODAL */]\n });\n }\n\n case 14:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _onViewAnswer.apply(this, arguments);\n }\n\n function onSelect(id) {\n dispatch({\n type: constant["w" /* SELECT_UNLOCK_ANSWER */],\n payload: id\n });\n }\n\n function getTaskList() {\n return _getTaskList.apply(this, arguments);\n }\n\n function _getTaskList() {\n _getTaskList = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4() {\n var response;\n return regenerator_default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.prev = 0;\n _context4.next = 3;\n return fetchTaskList(myshixun.identifier);\n\n case 3:\n response = _context4.sent;\n dispatch({\n type: constant["l" /* GET_TASK_LIST */],\n payload: {\n taskList: response,\n showTaskList: true\n }\n });\n _context4.next = 10;\n break;\n\n case 7:\n _context4.prev = 7;\n _context4.t0 = _context4["catch"](0);\n console.log(_context4.t0);\n\n case 10:\n case "end":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[0, 7]]);\n }));\n return _getTaskList.apply(this, arguments);\n }\n\n function onSaveTaskStar(_x, _x2, _x3) {\n return _onSaveTaskStar.apply(this, arguments);\n } //\u5982\u679c\u4e0d\u5b9e\u65f6\u5237\u65b0\uff0c \u9700\u8981\u5904\u7406\u8bc4\u6d4b\uff0c\u67e5\u770b\u7b54\u6848\u65f6\u95f4\u8fd9\u4e9b\u53d8\u52a8\n\n\n function _onSaveTaskStar() {\n _onSaveTaskStar = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5(id, star, index) {\n return regenerator_default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.prev = 0;\n _context5.next = 3;\n return saveTaskStar(id, shixun.id, star);\n\n case 3:\n taskList[index].star = star;\n dispatch({\n type: constant["K" /* SET_TASK_STAR */],\n payload: {\n taskList: [...taskList]\n }\n });\n _context5.next = 10;\n break;\n\n case 7:\n _context5.prev = 7;\n _context5.t0 = _context5["catch"](0);\n console.log(_context5.t0);\n\n case 10:\n case "end":\n return _context5.stop();\n }\n }\n }, _callee5, null, [[0, 7]]);\n }));\n return _onSaveTaskStar.apply(this, arguments);\n }\n\n function onViewAllTask() {\n getTaskList();\n }\n\n function onHideTaskList() {\n dispatch({\n type: constant["r" /* HIDE_TASK_LIST */]\n });\n }\n\n Object(react["useEffect"])(() => {\n return () => {\n dispatch({\n type: constant["r" /* HIDE_TASK_LIST */]\n });\n dispatch({\n type: constant["y" /* SET_ACTIVE_INDEX */],\n payload: 0\n });\n };\n }, [taskId]);\n Object(react["useEffect"])(() => {\n if (with_code_file && unity_3d_routes && contentEl.current) {\n var onScroll = Object(util["b" /* debounce */])(e => {\n var scrollTop = e.target.scrollTop;\n\n if (scrollTop >= 354) {\n dispatch({\n type: constant["Z" /* TRIGGER_TAB_FIXED */],\n payload: true\n });\n } else {\n dispatch({\n type: constant["Z" /* TRIGGER_TAB_FIXED */],\n payload: false\n });\n }\n }, 10);\n contentEl.current.addEventListener(\'scroll\', onScroll);\n var unSub = mediator["a" /* default */].subscribe(\'evaluate-unity3d-finish\', () => {\n contentEl.current.scrollTop = 0;\n });\n return () => {\n contentEl.current.removeEventListener(\'scroll\', onScroll);\n unSub();\n };\n }\n }, [with_code_file, unity_3d_routes, contentEl.current]);\n var position = challenge.position,\n score = challenge.score,\n subject = challenge.subject;\n var headerOption = {\n onViewAllTask,\n position,\n score,\n subject\n };\n\n function onCreateDiscuss(_x4) {\n return _onCreateDiscuss.apply(this, arguments);\n }\n\n function _onCreateDiscuss() {\n _onCreateDiscuss = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6(content) {\n return regenerator_default.a.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Object(service["a" /* createDiscuss */])({\n content,\n container_type: \'Shixun\',\n container_id: shixun.id,\n challenge_id: challenge.id,\n position\n });\n\n case 2:\n dispatch({\n type: constant["y" /* SET_ACTIVE_INDEX */],\n payload: 3\n });\n mediator["a" /* default */].publish(\'create-discuss\');\n\n case 4:\n case "end":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n return _onCreateDiscuss.apply(this, arguments);\n }\n\n function onTriggerUnity3D() {\n dispatch({\n type: constant["Y" /* TRIGGER_ENLARGE_UNITY3D */],\n payload: !enlarge_unity3D\n });\n }\n\n var answerPanelOption = {\n loading,\n data,\n onShowTip,\n st\n };\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement(left_panel_header, headerOption), /*#__PURE__*/react_default.a.createElement("div", {\n className: "content-wrapper",\n ref: contentEl\n }, unity_3d_routes && with_code_file ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "unity-3d-container ".concat(enlarge_unity3D ? \'enlarge\' : \'\')\n }, /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onTriggerUnity3D,\n className: "btn-enlarge ".concat(enlarge_unity3D ? \'enlarge\' : \'\')\n }, \' \', /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont ".concat(enlarge_unity3D ? \'icon-suoxiao1\' : \'icon-kuoda\', " ")\n }), \' \'), /*#__PURE__*/react_default.a.createElement(tasks_unity3d_panel, {\n unity_3d_routes: unity_3d_routes,\n onGetUnity3dMessage: onGetUnity3dMessage,\n onEvaluateCallback: onEvaluateCallback\n })) : null, /*#__PURE__*/react_default.a.createElement("ul", {\n className: "tab-nav ".concat(tab_fixed ? \'tab-fixed\' : \'\')\n }, tabs.map(item => /*#__PURE__*/react_default.a.createElement("li", {\n onClick: onSetActiveIndex,\n id: item.index,\n key: item.title,\n className: activeIndex === item.index ? \'active\' : \'\'\n }, /*#__PURE__*/react_default.a.createElement("a", null, item.title, item.index === 3 && discusses_count ? /*#__PURE__*/react_default.a.createElement("span", null, discusses_count) : null)))), /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n className: activeIndex === 0 ? \'tab-panel-body\' : \'hide\',\n value: challenge.task_pass\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: activeIndex === 1 ? \'tab-panel-body\' : \'hide\'\n }, propaedeutics ? /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: propaedeutics\n }) : null), /*#__PURE__*/react_default.a.createElement("div", {\n className: activeIndex === 2 ? \'tab-panel-body\' : \'hide\',\n style: {\n padding: \'0 0 20px 0\'\n }\n }, /*#__PURE__*/react_default.a.createElement(left_panel_answer_panel, answerPanelOption)), /*#__PURE__*/react_default.a.createElement("div", {\n className: activeIndex === 3 ? \'tab-panel-body\' : \'hide\'\n }, /*#__PURE__*/react_default.a.createElement(discuss["a" /* default */], {\n activeIndex: activeIndex,\n shixunIdentifier: shixun.identifier,\n identity: user.identity,\n user: user\n })), /*#__PURE__*/react_default.a.createElement(left_panel_discuss_input_editor, {\n user_praise: user_praise,\n praise_count: praise_count,\n praisePlus: onPlusOrCancelPraise,\n onCreateDiscuss: onCreateDiscuss\n })), /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, /*#__PURE__*/react_default.a.createElement(drawer["a" /* default */], {\n className: "task-drawer",\n width: 420,\n title: null,\n placement: "left",\n closable: false,\n visible: showTaskList,\n onClose: onHideTaskList\n }, /*#__PURE__*/react_default.a.createElement(left_panel_task_list, {\n taskList: [...taskList],\n challenge: challenge,\n shixun: shixun,\n identity: user.identity,\n onSaveTaskStar: onSaveTaskStar\n })), /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: "\\u63D0\\u793A",\n visible: showTip,\n onOk: onViewAnswer,\n onCancel: onHideTip,\n className: "answer-tip"\n }, is_teacher ? /*#__PURE__*/react_default.a.createElement("p", null, "\\u5DF2\\u7ECF\\u8FC7\\u804C\\u4E1A\\u8BA4\\u8BC1\\u7684\\u6559\\u5E08\\u53EF\\u4EE5\\u514D\\u91D1\\u5E01\\u67E5\\u770B\\u7B54\\u6848\\u54DF~") : /*#__PURE__*/react_default.a.createElement("p", null, "\\u5148\\u67E5\\u770B\\u53C2\\u8003\\u7B54\\u6848\\uFF0C\\u518D\\u901A\\u8FC7\\u8BC4\\u6D4B\\u7684\\u5B66\\u751F\\uFF0C\\u5B9E\\u8BAD\\u4F5C\\u4E1A\\u6709\\u53EF\\u80FD\\u662F\\u96F6\\u5206\\u54E6~"), isMultiLevel ? /*#__PURE__*/react_default.a.createElement(answer_panel_unlock_answer_list, {\n selected_index: selected_index,\n selected_unlocked_answer_id: selected_unlocked_answer_id,\n onSelect: onSelect,\n data: data,\n score: score\n }) : /*#__PURE__*/react_default.a.createElement("p", null, "\\u5C06\\u6263\\u9664".concat(score, "\\u70B9\\u91D1\\u5E01\\uFF0C\\u662F\\u5426\\u786E\\u8BA4\\u67E5\\u770B\\u7B54\\u6848")), is_teacher ? /*#__PURE__*/react_default.a.createElement("a", {\n href: "/account/certification",\n class: "to-certification-link",\n target: "_blank"\n }, "\\u7ACB\\u5373\\u8BA4\\u8BC1") : null)));\n});\n// EXTERNAL MODULE: ./node_modules/antd/es/popconfirm/style/index.js\nvar popconfirm_style = __webpack_require__("P2fV");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/popconfirm/index.js\nvar popconfirm = __webpack_require__("NJEC");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/style/index.less\nvar es_style = __webpack_require__("cIOH");\n\n// EXTERNAL MODULE: ./node_modules/antd/es/icon/style/index.less\nvar icon_style = __webpack_require__("WtSK");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/icon/style/index.js\n\n\n// EXTERNAL MODULE: ./node_modules/antd/es/_util/devWarning.js\nvar devWarning = __webpack_require__("uaoM");\n\n// CONCATENATED MODULE: ./node_modules/antd/es/icon/index.js\n\n\nvar icon_Icon = function Icon() {\n Object(devWarning["a" /* default */])(false, \'Icon\', \'Empty Icon\');\n return null;\n};\n\n/* harmony default export */ var icon = (icon_Icon);\n// EXTERNAL MODULE: ./src/components/useInterval.tsx\nvar useInterval = __webpack_require__("9VGf");\n\n// CONCATENATED MODULE: ./src/components/timer-panel/index.jsx\n\n\n\n\n\nfunction padLeft(s) {\n return s.toString().padStart(2, \'0\');\n}\n\nfunction getTimer(sec) {\n var minuts = Math.floor(sec / 60);\n var second = sec % 60;\n var hour = Math.floor(minuts / 60);\n return "".concat(padLeft(hour), ":").concat(padLeft(minuts - hour * 60), ":").concat(padLeft(second));\n}\n/* harmony default export */ var timer_panel = ((_ref) => {\n var defaultTime = _ref.defaultTime,\n status = _ref.status,\n onUpdateCostTime = _ref.onUpdateCostTime,\n lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime;\n\n var _useState = Object(react["useState"])(defaultTime || 0),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n costTime = _useState2[0],\n setCostTime = _useState2[1];\n\n var lastedTime = Object(react["useRef"])();\n Object(react["useEffect"])(() => {\n if (lastedGetTaskInfoTime) {\n setCostTime(defaultTime);\n lastedTime.current = defaultTime;\n }\n }, [defaultTime, lastedGetTaskInfoTime]);\n Object(react["useEffect"])(() => {\n if (lastedGetTaskInfoTime) {\n var unSub = mediator["a" /* default */].subscribe(\'update-cost-time\', () => {\n if (status !== 2) {\n onUpdateCostTime(lastedTime.current);\n }\n });\n return unSub;\n }\n }, [lastedGetTaskInfoTime]);\n Object(useInterval["a" /* default */])(() => {\n setCostTime(costTime + 1);\n lastedTime.current = lastedTime.current + 1;\n }, status === 2 ? null : 1000);\n return /*#__PURE__*/react_default.a.createElement("span", null, getTimer(costTime));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/header/index.less\nvar tasks_header = __webpack_require__("8Enf");\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/action-bar/index.less\nvar action_bar = __webpack_require__("UlFV");\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/action-bar/notice.gif\nvar notice = __webpack_require__("S+dL");\nvar notice_default = /*#__PURE__*/__webpack_require__.n(notice);\n\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/action-bar/index.jsx\n\n\n\n\n\nfunction NoticeButton(_ref) {\n var onShowNotice = _ref.onShowNotice;\n return /*#__PURE__*/react_default.a.createElement("a", {\n title: "\\u66F4\\u65B0\\u901A\\u77E5",\n onClick: onShowNotice\n }, /*#__PURE__*/react_default.a.createElement("img", {\n src: notice_default.a,\n alt: "notice"\n }));\n}\n/* harmony default export */ var code_repository_action_bar = (function (_ref2) {\n var loading = _ref2.loading,\n lastedUpdateTime = _ref2.lastedUpdateTime,\n moveY = _ref2.moveY,\n code_hidden = _ref2.code_hidden,\n gameStatus = _ref2.gameStatus,\n isEditPath = _ref2.isEditPath,\n isNotice = _ref2.isNotice,\n onResetCode = _ref2.onResetCode,\n onShowCodeSetting = _ref2.onShowCodeSetting,\n onResetPassedCode = _ref2.onResetPassedCode,\n onShowDir = _ref2.onShowDir,\n onResizeCodeArea = _ref2.onResizeCodeArea,\n onShowNotice = _ref2.onShowNotice;\n\n function onResizeHandler() {\n onResizeCodeArea(moveY);\n }\n\n var isResizeLarge = moveY === \'100%\';\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("span", {\n className: "edit-status"\n }, loading ? \'\u4fdd\u5b58\u4e2d...\' : lastedUpdateTime === 0 ? \'\u5df2\u4fdd\u5b58\' : \'\u5df2\u4fee\u6539\', \' \'), /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-bar"\n }, isNotice ? /*#__PURE__*/react_default.a.createElement(NoticeButton, {\n onShowNotice: onShowNotice\n }) : null, code_hidden ? null : /*#__PURE__*/react_default.a.createElement("a", {\n title: "\\u6587\\u4EF6\\u76EE\\u5F55",\n onClick: onShowDir\n }, \' \', /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-wenjian "\n }), \' \'), gameStatus === 2 && isEditPath ? /*#__PURE__*/react_default.a.createElement(popconfirm["a" /* default */], {\n placement: "bottomRight",\n title: "\\u4F60\\u5728\\u672C\\u5173\\u4E2D\\u4FEE\\u6539\\u7684\\u5185\\u5BB9\\u5C06\\u4E22\\u5931\\uFF0C\\u662F\\u5426\\u786E\\u5B9A\\u91CD\\u65B0\\u52A0\\u8F7D\\u4E0A\\u6B21\\u901A\\u8FC7\\u7684\\u4EE3\\u7801?",\n onConfirm: onResetPassedCode\n }, /*#__PURE__*/react_default.a.createElement("a", {\n title: "\\u52A0\\u8F7D\\u4E0A\\u6B21\\u901A\\u8FC7\\u7684\\u4EE3\\u7801"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-fanhuishangcidaima font-20 "\n }))) : null, isEditPath ? /*#__PURE__*/react_default.a.createElement(popconfirm["a" /* default */], {\n placement: "bottomRight",\n title: " \\u4F60\\u5728\\u672C\\u6587\\u4EF6\\u4E2D\\u4FEE\\u6539\\u7684\\u5185\\u5BB9\\u5C06\\u4E22\\u5931\\uFF0C\\u662F\\u5426\\u786E\\u5B9A\\u91CD\\u65B0\\u52A0\\u8F7D\\u521D\\u59CB\\u4EE3\\u7801\\uFF1F ",\n onConfirm: onResetCode\n }, /*#__PURE__*/react_default.a.createElement("a", {\n title: "\\u6062\\u590D\\u521D\\u59CB\\u4EE3\\u7801"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-zhongzhi font-20 "\n }))) : null, /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onShowCodeSetting,\n title: "\\u8BBE\\u7F6E"\n }, \' \', /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-shezhi"\n }), \' \'), /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onResizeHandler,\n title: isResizeLarge ? \'\u6536\u7f29\' : \'\u5c55\u5f00\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: isResizeLarge ? \'iconfont icon-shousuo\' : \'iconfont icon-zhankai\'\n }))));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/ssh-action-bar/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var ssh_action_bar = ((_ref) => {\n var isNotice = _ref.isNotice,\n moveY = _ref.moveY,\n isActive = _ref.isActive,\n tabIndex = _ref.tabIndex,\n webssh = _ref.webssh,\n socketKeys = _ref.socketKeys,\n onCloseSocket = _ref.onCloseSocket,\n onReCreateSocket = _ref.onReCreateSocket,\n onShowNotice = _ref.onShowNotice,\n onResizeCodeArea = _ref.onResizeCodeArea;\n\n function onResizeHandler() {\n onResizeCodeArea(moveY);\n }\n\n var isResizeLarge = moveY === \'100%\';\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-bar"\n }, isNotice ? /*#__PURE__*/react_default.a.createElement(NoticeButton, {\n onShowNotice: onShowNotice\n }) : null, webssh ? /*#__PURE__*/react_default.a.createElement(SSHTimer, {\n tabIndex: tabIndex,\n isActive: isActive,\n socketKeys: socketKeys,\n onReCreateSocket: onReCreateSocket,\n onCloseSocket: onCloseSocket\n }) : null, /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onResizeHandler,\n title: isResizeLarge ? \'\u6536\u7f29\' : \'\u5c55\u5f00\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: isResizeLarge ? \'iconfont icon-shousuo\' : \'iconfont icon-zhankai\'\n })));\n}); //1.\u8003\u8651\u5230\u65f6\u95f4\u5dee\u7684\u95ee\u9898\uff0c\u524d\u7aef20\u5206\u949f\uff0c\u4e2d\u95f4\u5c42\u914d\u7f6ewebssh\u7684\u5b58\u6d3b\u65f6\u95f4\u4e3a21\u5206\u949f\u3002\n// 2.websocket\u65ad\u5f00\u65f6\u7684\u903b\u8f91\n// \uff081\uff09\u91cd\u7f6e\u73af\u5883\u9700\u8981\u8c03\u7528\u5220\u9664\u73af\u5883\u3002\n// \uff082\uff09\u5012\u8ba1\u65f6\u4e3a0\u4e0d\u9700\u8981\u8c03\u7528\u5220\u9664\u73af\u5883\u3002\n// \uff083\uff09\u5728\u8fd0\u884c\u8fc7\u7a0b\u4e2d\uff0cwebsocket\u65ad\u5f00\uff0c\u9700\u8981\u91cd\u8fde\uff0c\u4ee5\u524d\u7684\u903b\u8f91\u662f\uff1a\u5148\u5220\u9664\u73af\u5883\uff0c\u518d\u91cd\u65b0\u83b7\u53d6\u8fde\u63a5\uff0c\u7b49\u4e8e\u662f\u91cd\u7f6e\u4e86\u73af\u5883\uff0c\u53ef\u80fd\u662fpod\u51fa\u9519\u4e86\u53ef\u80fd\u8fde\u4e0d\u4e0a\uff0c\u91cd\u7f6e\u4e00\u6b21\uff0c\u53ef\u4ee5\u4fdd\u8bc1\u8fde\u63a5\u4e0a\u3002\n// \u4f46\u662f\u53ef\u80fd\u662f\u56e0\u4e3a\u7f51\u7edc\u65ad\u5f00\u4e86\u8fde\u63a5\uff0c\u76f4\u63a5\u518d\u8fde\u662f\u53ef\u4ee5\u8fde\u4e0a\u7684\uff0c\u65e0\u9700\u91cd\u7f6e\u73af\u5883\u3002\n// \u8fd9\u70b9\u53ef\u4ee5\u4fdd\u7559\u4ee5\u524d\u7684\u903b\u8f91\uff0c\u4f46\u53ef\u4ee5\u4f18\u5316\u4e3a\uff1a\u5c1d\u8bd5\u8fde\u63a5\u4e00\u6b21\uff0c\u5982\u679c\u4e0d\u6210\u529f\uff0c\u518d\u91cd\u7f6e\u4e00\u6b21\u3002\n\nvar ssh_action_bar_defaultTime = 1200;\nvar FiveMinute = 300;\nfunction SSHTimer(_ref2) {\n var isActive = _ref2.isActive,\n socketKeys = _ref2.socketKeys,\n onCloseSocket = _ref2.onCloseSocket,\n onReCreateSocket = _ref2.onReCreateSocket,\n tabIndex = _ref2.tabIndex;\n\n var _useState = Object(react["useState"])(ssh_action_bar_defaultTime),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n time = _useState2[0],\n setTime = _useState2[1];\n\n var _useState3 = Object(react["useState"])(false),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n isPlusTime = _useState4[0],\n setIsPlusTime = _useState4[1];\n\n Object(useInterval["a" /* default */])(() => {\n setTime(time - 1);\n }, isActive && time > 0 ? 1000 : null); //\u5982\u679c\u6709\u64cd\u4f5c\uff0c\u5219\u628a\u65f6\u95f4\u91cd\u7f6e\u4e3a\u9ed8\u8ba4\u65f6\u95f4\uff0c\u4e2d\u95f4\u5c42\u5728\u6709\u64cd\u4f5c\u65f6\u4f1a\u81ea\u52a8\u5ef6\u957f\u65f6\u95f4\n\n Object(react["useEffect"])(() => {\n var unSub = mediator["a" /* default */].subscribe(\'on-operating-ssh\', () => {\n setTime(ssh_action_bar_defaultTime);\n });\n var unSubReCreateSocket = mediator["a" /* default */].subscribe(\'on-recreate-socket\', () => {\n onReCreateSocket();\n });\n return () => {\n unSub();\n unSubReCreateSocket();\n };\n }, []);\n Object(react["useEffect"])(() => {\n if (time === 0) {\n socketKeys.forEach(key => {\n mediator["a" /* default */].publish(\'close-socket\', key);\n });\n }\n\n if (time === FiveMinute) {\n setIsPlusTime(true);\n }\n }, [time]);\n\n function onCancel() {\n setIsPlusTime(false);\n }\n\n function onShowTip() {\n setIsPlusTime(true);\n }\n\n function onAddTime() {\n setTime(ssh_action_bar_defaultTime);\n mediator["a" /* default */].publish(\'ssh-add-connect-time\');\n setIsPlusTime(false);\n }\n\n function onReCreate() {\n setTime(ssh_action_bar_defaultTime); //\u5148\u5c1d\u8bd5\u91cd\u65b0\u8fde\u63a5socket\n //todo \u5982\u679c\u8d44\u6e90pod\u4e0d\u5b58\u5728\u4e86\uff0c\u5219\u91cd\u65b0\u7533\u8bf7\u8d44\u6e90\n\n mediator["a" /* default */].publish(\'create-socket\', tabIndex);\n }\n\n function onReset() {\n return _onReset.apply(this, arguments);\n }\n\n function _onReset() {\n _onReset = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n socketKeys.forEach(key => {\n mediator["a" /* default */].publish(\'close-socket\', key);\n });\n _context.next = 3;\n return onCloseSocket();\n\n case 3:\n setTime(ssh_action_bar_defaultTime);\n onReCreateSocket();\n\n case 5:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _onReset.apply(this, arguments);\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, time > 0 && time <= FiveMinute ? /*#__PURE__*/react_default.a.createElement(Timer, {\n title: "\\u8D44\\u6E90\\u56DE\\u6536\\u5012\\u8BA1\\u65F6\\uFF0C\\u70B9\\u51FB\\u53EF\\u5EF6\\u957F\\uFF08\\u6216\\u8005\\u64CD\\u4F5C\\u547D\\u4EE4\\u884C\\u81EA\\u52A8\\u5EF6\\u957F\\uFF09",\n className: "c-red",\n time: time,\n callback: onShowTip\n }) : null, time === 0 ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onReCreate\n }, \' \', /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-congshulianjie font-16 "\n }), \' \', /*#__PURE__*/react_default.a.createElement("span", null, "\\u91CD\\u8FDE\\u547D\\u4EE4\\u884C"), \' \') : null, /*#__PURE__*/react_default.a.createElement(popconfirm["a" /* default */], {\n title: /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", null, "\\u5B9E\\u9A8C\\u73AF\\u5883\\u5C06\\u6062\\u590D\\u5230\\u521D\\u59CB\\u72B6\\u6001\\uFF0C"), /*#__PURE__*/react_default.a.createElement("div", null, "\\u662F\\u5426\\u786E\\u8BA4\\u91CD\\u7F6E\\u5B9E\\u9A8C\\u73AF\\u5883?")),\n placement: "bottom",\n onConfirm: onReset\n }, /*#__PURE__*/react_default.a.createElement("a", null, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-zhongzhi2 font-16 "\n }), /*#__PURE__*/react_default.a.createElement("span", null, " \\u91CD\\u7F6E\\u547D\\u4EE4\\u884C"))), /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: "\\u547D\\u4EE4\\u884C\\u8FDE\\u63A5\\u65F6\\u957F\\u63D0\\u9192",\n closable: false,\n visible: isPlusTime && time > 0,\n onOk: onAddTime,\n onCancel: onCancel,\n okText: "\\u7ACB\\u5373\\u5EF6\\u957F",\n cancelText: "\\u4E0D\\u9700\\u8981"\n }, "\\u547D\\u4EE4\\u884C\\u5C06\\u4E8E ", Math.round(time / 60), " \\u5206\\u949F\\u540E\\u4E2D\\u65AD\\uFF0C\\u9700\\u8981\\u5EF6\\u957F\\u4F7F\\u7528\\u65F6\\u95F4\\u5417\\uFF1F")));\n}\nfunction Timer(_ref3) {\n var title = _ref3.title,\n time = _ref3.time,\n _ref3$className = _ref3.className,\n className = _ref3$className === void 0 ? \'\' : _ref3$className,\n callback = _ref3.callback;\n\n function onClick() {\n callback ? callback() : null;\n }\n\n return /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onClick,\n title: title,\n className: className\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-shijian font-16 "\n }), /*#__PURE__*/react_default.a.createElement("span", null, getTimer(time)));\n}\n// EXTERNAL MODULE: ./src/utils/env.ts\nvar env = __webpack_require__("m3rI");\n\n// CONCATENATED MODULE: ./src/pages/tasks/header/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction TipContent() {\n return /*#__PURE__*/react_default.a.createElement("div", {\n style: {\n textAlign: \'center\'\n }\n }, /*#__PURE__*/react_default.a.createElement("div", null, "\\u684C\\u9762\\u7CFB\\u7EDF\\u5C06\\u6062\\u590D\\u5230\\u521D\\u59CB\\u72B6\\u6001\\uFF0C\\u60A8\\u5728\\u7CFB\\u7EDF\\u4E2D\\u521B\\u5EFA\\u7684\\u6570\\u636E\\u53EF\\u80FD\\u4F1A\\u4E22\\u5931"), /*#__PURE__*/react_default.a.createElement("div", null, "\\u8BF7\\u786E\\u4FDD\\u60A8\\u7684\\u6570\\u636E\\u5DF2\\u4FDD\\u5B58\\uFF08\\u5982\\uFF1A\\u7248\\u672C\\u5E93\\u4EE3\\u7801\\u5DF2\\u63A8\\u9001\\u5230\\u670D\\u52A1\\u5668\\uFF09"), /*#__PURE__*/react_default.a.createElement("div", null, "\\u662F\\u5426\\u786E\\u8BA4\\u91CD\\u7F6E\\uFF1F"));\n}\n\n/* harmony default export */ var pages_tasks_header = ((_ref) => {\n var vnc_url = _ref.vnc_url,\n isNotice = _ref.isNotice,\n user = _ref.user,\n game = _ref.game,\n _ref$shixun = _ref.shixun,\n shixun = _ref$shixun === void 0 ? {} : _ref$shixun,\n resetVncLoading = _ref.resetVncLoading,\n onUpdateCostTime = _ref.onUpdateCostTime,\n lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime,\n onShowNotice = _ref.onShowNotice,\n onResetVnc = _ref.onResetVnc,\n onBack = _ref.onBack,\n history = _ref.history,\n onAddVncTime = _ref.onAddVncTime;\n var name = shixun.name,\n identifier = shixun.identifier;\n var cost_time = game.cost_time,\n status = game.status;\n var user_url = user.user_url,\n image_url = user.image_url,\n _user$grade = user.grade,\n grade = _user$grade === void 0 ? 0 : _user$grade;\n\n function toShixun() {\n onBack();\n history.replace("/shixuns/".concat(identifier, "/challenges"));\n }\n\n function onReset() {\n if (resetVncLoading) {\n return;\n }\n\n onResetVnc();\n }\n\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "task-header-container"\n }, /*#__PURE__*/react_default.a.createElement("a", {\n className: "task-user-info",\n href: user_url,\n target: "_blank"\n }, image_url ? /*#__PURE__*/react_default.a.createElement("img", {\n width: "35",\n height: "35",\n src: "".concat(env["a" /* default */].IMG_SERVER, "/images/").concat(image_url)\n }) : null, /*#__PURE__*/react_default.a.createElement("span", null, user.name)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "grade-info"\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "circle-icon"\n }), grade), /*#__PURE__*/react_default.a.createElement("h2", {\n className: "shixun-info"\n }, name, /*#__PURE__*/react_default.a.createElement(timer_panel, {\n lastedGetTaskInfoTime: lastedGetTaskInfoTime,\n status: status,\n defaultTime: cost_time,\n onUpdateCostTime: onUpdateCostTime\n })), isNotice && vnc_url ? /*#__PURE__*/react_default.a.createElement(NoticeButton, {\n onShowNotice: onShowNotice\n }) : null, !vnc_url ? null : /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement(VncTimer, {\n onAddVncTime: onAddVncTime\n }), /*#__PURE__*/react_default.a.createElement(popconfirm["a" /* default */], {\n title: /*#__PURE__*/react_default.a.createElement(TipContent, null),\n placement: "bottom",\n disabled: resetVncLoading,\n onConfirm: onReset\n }, /*#__PURE__*/react_default.a.createElement("a", {\n className: "btn-out"\n }, resetVncLoading ? /*#__PURE__*/react_default.a.createElement(icon, {\n type: "loading",\n style: {\n marginRight: \'8px\'\n }\n }) : /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-zhongzhi2 "\n }), \' \', "\\u91CD\\u7F6E\\u5B9E\\u8BAD"))), /*#__PURE__*/react_default.a.createElement("a", {\n className: "btn-out",\n onClick: toShixun,\n title: "\\u9000\\u51FA\\u5B9E\\u8BAD"\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-kaiguan"\n }), "\\u9000\\u51FA\\u5B9E\\u8BAD"));\n});\nvar header_defaultTime = 1800;\nvar header_FiveMinute = 300;\n\nfunction VncTimer(_ref2) {\n var onAddVncTime = _ref2.onAddVncTime;\n\n var _useState = Object(react["useState"])(header_defaultTime),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n time = _useState2[0],\n setTime = _useState2[1];\n\n var _useState3 = Object(react["useState"])(false),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n isPlusTime = _useState4[0],\n setIsPlusTime = _useState4[1];\n\n Object(useInterval["a" /* default */])(() => {\n setTime(time - 1);\n }, time > 0 ? 1000 : null);\n Object(react["useEffect"])(() => {\n if (time === header_FiveMinute) {\n setIsPlusTime(true);\n }\n }, [time]);\n\n function onCancel() {\n setIsPlusTime(false);\n }\n\n function onAddTime() {\n setTime(header_defaultTime);\n onAddVncTime();\n setIsPlusTime(false);\n }\n\n function callback() {\n if (time < header_FiveMinute) {\n setIsPlusTime(true);\n }\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement(Timer, {\n callback: callback,\n title: "\\u5B9E\\u9A8C\\u73AF\\u5883\\u5012\\u8BA1\\u65F6",\n className: "btn-out ".concat(time < header_FiveMinute ? \'c-red\' : \'\', " "),\n time: time\n }), /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: "\\u5B9E\\u9A8C\\u73AF\\u5883\\u5EF6\\u65F6\\u63D0\\u9192",\n closable: false,\n visible: isPlusTime,\n onOk: onAddTime,\n onCancel: onCancel,\n okText: "\\u7ACB\\u5373\\u5EF6\\u957F",\n cancelText: "\\u4E0D\\u9700\\u8981"\n }, "\\u5F53\\u524D\\u5B9E\\u9A8C\\u73AF\\u5883\\u5C06\\u4E8E ", Math.round(time / 60), \' \', "\\u5206\\u949F\\u540E\\u5173\\u95ED\\uFF0C\\u9700\\u8981\\u5EF6\\u957F\\u4F7F\\u7528\\u65F6\\u95F4\\u5417\\uFF1F")));\n}\n// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/index.less\nvar choose_repository = __webpack_require__("QUgM");\n\n// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/topics/index.less\nvar topics = __webpack_require__("KJ0q");\n\n// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/topic/A.jsx\n\nvar dicts = {\n 0: \'A\',\n 1: \'B\',\n 2: \'C\',\n 3: \'D\',\n 4: \'E\',\n 5: \'F\',\n 6: \'G\',\n 7: \'H\'\n};\n/* harmony default export */ var A = ((_ref) => {\n var category = _ref.category,\n _ref$answer = _ref.answer,\n answer = _ref$answer === void 0 ? \'\' : _ref$answer,\n index = _ref.index,\n option_name = _ref.option_name,\n callback = _ref.callback;\n var value = dicts[index];\n\n function onSetOption() {\n //\u5355\u9009\n if (category === 1) {\n callback(value);\n } else {\n var rs = answer.split(\'\'); //\u590d\u9009\u53d6\u6d88\u6216\u8005\u9009\u4e2d\u903b\u8f91\n\n var i = rs.indexOf(value);\n\n if (i >= 0) {\n rs.splice(i, 1);\n } else {\n rs.push(value);\n }\n\n callback(rs.join(\'\'));\n }\n }\n\n return /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onSetOption\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "".concat(category === 1 ? \'radio\' : \'checkbox\', " ").concat(answer && answer.indexOf(value) >= 0 ? \'active\' : \'\')\n }), "".concat(value, " \\u3001").concat(option_name), \' \');\n});\n// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/topic/index.jsx\n\n\n //(?:class=\\")([^ ]+)[ ]+(?:language-)\\1\n\n/* harmony default export */ var topic = ((_ref) => {\n var id = _ref.id,\n answer = _ref.answer,\n challenge_question = _ref.challenge_question,\n category = _ref.category,\n subject = _ref.subject,\n onSetAnswers = _ref.onSetAnswers;\n\n function callback(value) {\n onSetAnswers(id, value);\n }\n\n return /*#__PURE__*/react_default.a.createElement("li", null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "subject"\n }, /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: "".concat(id + 1, "\\u3001").concat(subject),\n className: "subject-body"\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "option"\n }, challenge_question.map((_ref2, index) => {\n var option_name = _ref2.option_name;\n return /*#__PURE__*/react_default.a.createElement(A, {\n index: index,\n key: option_name,\n option_name: option_name,\n answer: answer,\n category: category,\n callback: callback\n });\n })));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/topics/index.jsx\n\n\n\n/* harmony default export */ var choose_repository_topics = ((_ref) => {\n var chooses = _ref.chooses,\n answers = _ref.answers,\n onSetAnswers = _ref.onSetAnswers;\n return /*#__PURE__*/react_default.a.createElement("ul", {\n className: "choose-container"\n }, chooses.map((_ref2, index) => {\n var subject = _ref2.subject,\n challenge_question = _ref2.challenge_question,\n category = _ref2.category;\n return /*#__PURE__*/react_default.a.createElement(topic, {\n key: index,\n id: index,\n subject: subject,\n challenge_question: challenge_question,\n category: category,\n answer: answers[index],\n onSetAnswers: onSetAnswers\n });\n }));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/index.less\nvar test_cast_list = __webpack_require__("yqJW");\n\n// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/mark.svg\nvar mark = __webpack_require__("cf+g");\nvar mark_default = /*#__PURE__*/__webpack_require__.n(mark);\n\n// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/success.svg\nvar success = __webpack_require__("UbZX");\nvar success_default = /*#__PURE__*/__webpack_require__.n(success);\n\n// EXTERNAL MODULE: ./src/pages/tasks/choose-repository/test-cast-list/failer.svg\nvar failer = __webpack_require__("LYID");\nvar failer_default = /*#__PURE__*/__webpack_require__.n(failer);\n\n// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/test-cast-list/index.jsx\n\n\n\n\n\n\n\n\nvar TestCaseItem = (_ref) => {\n var id = _ref.id,\n isActive = _ref.isActive,\n title = _ref.title,\n onActive = _ref.onActive,\n had_submmit = _ref.had_submmit,\n result = _ref.result,\n actual_output = _ref.actual_output,\n standard_answer = _ref.standard_answer;\n\n function onActiveHandler() {\n onActive(id);\n }\n\n var cls = \'test-case-item\';\n\n if (isActive) {\n cls += \' active\';\n }\n\n if (had_submmit) {\n cls += \' has-result\';\n }\n\n return /*#__PURE__*/react_default.a.createElement("li", {\n className: cls\n }, /*#__PURE__*/react_default.a.createElement("a", {\n className: "case-header",\n onClick: onActiveHandler\n }, /*#__PURE__*/react_default.a.createElement("h2", null, /*#__PURE__*/react_default.a.createElement("div", {\n className: isActive ? \'arrow-down\' : \'arrow-right\'\n }), /*#__PURE__*/react_default.a.createElement("span", {\n className: "test-title"\n }, title)), had_submmit > 0 ? /*#__PURE__*/react_default.a.createElement("img", {\n width: 16,\n src: result ? success_default.a : failer_default.a\n }) : /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-suo1"\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "item-desc ".concat(isActive ? \'show\' : \'hide\', " choose-game-item")\n }, had_submmit ? result ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("p", null, "\\u6B63\\u786E\\u9009\\u9879\\uFF1A", /*#__PURE__*/react_default.a.createElement("b", null, standard_answer)), /*#__PURE__*/react_default.a.createElement("p", null, "\\u4F60\\u7684\\u9009\\u9879\\uFF1A", /*#__PURE__*/react_default.a.createElement("b", {\n className: "c-red"\n }, actual_output))) : /*#__PURE__*/react_default.a.createElement("p", null, "\\u9519\\u8BEF\\uFF0C\\u4E0D\\u652F\\u6301\\u67E5\\u770B") : /*#__PURE__*/react_default.a.createElement("p", null, "\\u5C1A\\u672A\\u63D0\\u4EA4\\uFF0C\\u6682\\u4E0D\\u652F\\u6301\\u67E5\\u770B")));\n}; //moveY = 0.01 \u65f6\uff0c\u8868\u793a\u6d4b\u8bd5\u96c6\u6700\u5927\u5316\n\n\n/* harmony default export */ var choose_repository_test_cast_list = ((_ref2) => {\n var onResizeSetContainer = _ref2.onResizeSetContainer,\n moveY = _ref2.moveY,\n had_submmit = _ref2.had_submmit,\n _ref2$test_sets = _ref2.test_sets,\n test_sets = _ref2$test_sets === void 0 ? [] : _ref2$test_sets,\n challenge_chooses_count = _ref2.challenge_chooses_count,\n choose_correct_num = _ref2.choose_correct_num;\n\n var _useState = Object(react["useState"])(-1),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n index = _useState2[0],\n setIndex = _useState2[1];\n\n function trigger(id) {\n setIndex(id === index ? -1 : id);\n }\n\n var isOk = choose_correct_num === challenge_chooses_count;\n\n function onResizeSet() {\n onResizeSetContainer(moveY);\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "test-header"\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "active"\n }, "\\u6D4B\\u8BD5\\u7ED3\\u679C"), /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onResizeSet\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont ".concat(moveY === 0.01 ? \'icon-shousuo\' : \'icon-zhankai\', " icon-zhankai")\n }))), had_submmit ? /*#__PURE__*/react_default.a.createElement("p", {\n className: "test-result ".concat(isOk ? \'success\' : \'failer\')\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "count"\n }, /*#__PURE__*/react_default.a.createElement("img", {\n width: 16,\n src: isOk ? success_default.a : mark_default.a\n }), choose_correct_num, " / ", challenge_chooses_count, " \\u5171\\u6709", challenge_chooses_count, "\\u9898\\uFF0C"), /*#__PURE__*/react_default.a.createElement("span", null, isOk ? \'\u5168\u90e8\u901a\u8fc7\' : "\\u5176\\u4E2D".concat(challenge_chooses_count - choose_correct_num, "\\u9898\\u76EE\\u7ED3\\u679C\\u4E0D\\u5339\\u914D\\u3002\\u8BE6\\u60C5\\u5982\\u4E0B\\uFF1A"))) : null, /*#__PURE__*/react_default.a.createElement("ul", {\n className: "test-case-list"\n }, test_sets.map((item, i) => /*#__PURE__*/react_default.a.createElement(TestCaseItem, Object(esm_extends["a" /* default */])({\n key: \'item\' + i,\n had_submmit: had_submmit,\n title: "\\u9898\\u76EE".concat(i + 1)\n }, item, {\n isActive: index === i,\n id: i,\n onActive: trigger\n })))));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/footer-bar/index.less\nvar footer_bar = __webpack_require__("qUwa");\n\n// CONCATENATED MODULE: ./src/pages/tasks/footer-bar/index.jsx\n\n\n\n/* harmony default export */ var tasks_footer_bar = ((_ref) => {\n var st = _ref.st,\n prev_game = _ref.prev_game,\n next_game = _ref.next_game,\n time_limit = _ref.time_limit,\n record_onsume_time = _ref.record_onsume_time,\n loading = _ref.loading,\n vnc_url = _ref.vnc_url,\n vnc_evaluate = _ref.vnc_evaluate,\n shixun = _ref.shixun,\n game = _ref.game,\n onRun = _ref.onRun;\n var hasNextGame = next_game && !loading && (game.status === 2 || shixun.status < 2 || shixun.task_pass);\n var isFinishChooseRepository = st === 1 && game.status === 2;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container eval-desc"\n }, time_limit ? /*#__PURE__*/react_default.a.createElement("span", null, "\\u672C\\u5173\\u6700\\u5927\\u6267\\u884C\\u65F6\\u95F4\\uFF1A".concat(time_limit, "\\u79D2")) : null, record_onsume_time ? /*#__PURE__*/react_default.a.createElement("span", null, "\\u672C\\u6B21\\u8BC4\\u6D4B\\u8017\\u65F6(\\u7F16\\u8BD1\\u3001\\u8FD0\\u884C\\u603B\\u65F6\\u95F4)\\uFF1A", record_onsume_time, " \\u79D2") : null), /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container eval-btn-group"\n }, prev_game && !loading ? /*#__PURE__*/react_default.a.createElement(react_router_dom["Link"], {\n to: "/tasks/".concat(prev_game),\n className: "ghost-link"\n }, "\\u4E0A\\u4E00\\u5173") : null, hasNextGame ? /*#__PURE__*/react_default.a.createElement(react_router_dom["Link"], {\n to: "/tasks/".concat(next_game),\n className: "ghost-link"\n }, "\\u4E0B\\u4E00\\u5173") : null, !vnc_url || vnc_evaluate ? /*#__PURE__*/react_default.a.createElement("button", {\n onClick: onRun,\n disabled: loading || isFinishChooseRepository,\n className: "btn-run",\n title: isFinishChooseRepository ? \'\u5df2\u901a\u5173\u7684\u9009\u62e9\u9898\u4efb\u52a1\u65e0\u6cd5\u518d\u6b21\u6d4b\u8bc4\' : \'\u8fd0\u884c\u8bc4\u6d4b\'\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-bofang2"\n }), "\\u8BC4\\u6D4B") : null));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/choose-repository/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction choose_repository_reducer(state, action) {\n switch (action.type) {\n case constant["e" /* EVAL_CHOOSE_START */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: true\n });\n\n case constant["d" /* EVAL_CHOOSE_END */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: false\n });\n\n case constant["z" /* SET_CHOOSE_ANSWERS */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n default:\n throw new Error();\n }\n}\n\n/* harmony default export */ var tasks_choose_repository = ((_ref) => {\n var taskData = _ref.taskData,\n moveY = _ref.moveY,\n onResizeYStart = _ref.onResizeYStart,\n onResizeSetContainer = _ref.onResizeSetContainer,\n onEval = _ref.onEval,\n lastedGetTaskInfoTime = _ref.lastedGetTaskInfoTime;\n var chooses = taskData.chooses,\n choose_test_cases = taskData.choose_test_cases,\n game = taskData.game;\n var test_sets = choose_test_cases.test_sets,\n challenge_chooses_count = choose_test_cases.challenge_chooses_count,\n choose_correct_num = choose_test_cases.choose_correct_num,\n had_submmit = choose_test_cases.had_submmit;\n var getAns = Object(react["useCallback"])(() => {\n var rs = [];\n rs.length = challenge_chooses_count;\n\n if (had_submmit) {\n rs = test_sets.map(item => item.actual_output);\n }\n\n return rs;\n }, [lastedGetTaskInfoTime]);\n\n var _useReducer = Object(react["useReducer"])(choose_repository_reducer, {\n loading: false,\n answers: getAns()\n }),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n Object(react["useEffect"])(() => {\n dispatch({\n type: constant["z" /* SET_CHOOSE_ANSWERS */],\n payload: {\n answers: getAns()\n }\n });\n }, [lastedGetTaskInfoTime]);\n var answers = state.answers,\n loading = state.loading;\n\n function onSetAnswers(index, value) {\n answers[index] = value;\n dispatch({\n type: constant["z" /* SET_CHOOSE_ANSWERS */],\n payload: {\n answers\n }\n });\n }\n\n function verifyAnswer() {\n var isOk = true;\n\n for (var i = 0; i < challenge_chooses_count; i++) {\n if (!answers[i]) {\n es_message["a" /* default */].info("\\u8BF7\\u5148\\u7ED9\\u7B2C".concat(i + 1, "\\u9898\\u9009\\u62E9\\u7B54\\u6848\\uFF01"));\n\n isOk = false;\n break;\n }\n }\n\n return isOk;\n }\n\n function onRun() {\n return _onRun.apply(this, arguments);\n }\n\n function _onRun() {\n _onRun = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var response;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!verifyAnswer()) {\n _context.next = 7;\n break;\n }\n\n dispatch({\n type: constant["e" /* EVAL_CHOOSE_START */]\n });\n _context.next = 4;\n return evalateChooseGame(game.identifier, {\n answer: answers\n });\n\n case 4:\n response = _context.sent;\n onEval(response);\n dispatch({\n type: constant["d" /* EVAL_CHOOSE_END */]\n });\n\n case 7:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _onRun.apply(this, arguments);\n }\n\n var codeAreaHeight = moveY ? "".concat(moveY, "px") : \'70%\';\n var testSetHeight = "calc(100% - 3px - ".concat(codeAreaHeight, ")");\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "code-area-container",\n style: {\n height: codeAreaHeight\n }\n }, /*#__PURE__*/react_default.a.createElement(choose_repository_topics, {\n chooses: chooses,\n answers: answers,\n onSetAnswers: onSetAnswers\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "resize-y-bar",\n onMouseDown: onResizeYStart\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "test-set-container",\n style: {\n height: testSetHeight\n }\n }, /*#__PURE__*/react_default.a.createElement(choose_repository_test_cast_list, {\n had_submmit: had_submmit,\n moveY: moveY,\n onResizeSetContainer: onResizeSetContainer,\n test_sets: test_sets,\n challenge_chooses_count: challenge_chooses_count,\n choose_correct_num: choose_correct_num\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-container"\n }, /*#__PURE__*/react_default.a.createElement(tasks_footer_bar, Object(esm_extends["a" /* default */])({}, taskData, {\n loading: loading,\n onRun: onRun\n }))));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/evaluate-result/index.less\nvar evaluate_result = __webpack_require__("popq");\n\n// EXTERNAL MODULE: ./src/pages/tasks/evaluate-result/passpart.png\nvar passpart = __webpack_require__("362i");\nvar passpart_default = /*#__PURE__*/__webpack_require__.n(passpart);\n\n// EXTERNAL MODULE: ./src/pages/tasks/evaluate-result/passall.png\nvar passall = __webpack_require__("VPUa");\nvar passall_default = /*#__PURE__*/__webpack_require__.n(passall);\n\n// EXTERNAL MODULE: ./src/pages/tasks/evaluate-result/empiricgreen.png\nvar empiricgreen = __webpack_require__("0i5U");\nvar empiricgreen_default = /*#__PURE__*/__webpack_require__.n(empiricgreen);\n\n// CONCATENATED MODULE: ./src/pages/tasks/evaluate-result/index.jsx\n\n\n\n\n\n\n //showViewResult \u5f53\u6e38\u620f\u7c7b\u578b\u662f\u663e\u793a\u63cf\u7ed8\u56fe\u7247\u6216web\u663e\u793a\u6548\u679c \u5e76\u4e14\u7f16\u8bd1\u901a\u8fc7\u65f6\uff0c\u589e\u52a0\u67e5\u770b\u6548\u679c\n\n/* harmony default export */ var tasks_evaluate_result = ((_ref) => {\n var star = _ref.star,\n gold = _ref.gold,\n experience = _ref.experience,\n next_game = _ref.next_game,\n onCloseResult = _ref.onCloseResult,\n isPictureView = _ref.isPictureView,\n webDisplayUrl = _ref.webDisplayUrl,\n onShowPictureView = _ref.onShowPictureView,\n history = _ref.history,\n onStarChange = _ref.onStarChange;\n\n function onNext() {\n onCloseResult();\n history.push("/tasks/".concat(next_game));\n }\n\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "evaluate-result-container"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "evaluate-result-body"\n }, /*#__PURE__*/react_default.a.createElement("a", {\n className: "close-line",\n onClick: onCloseResult\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-roundclose"\n })), /*#__PURE__*/react_default.a.createElement("img", {\n width: 652,\n src: next_game ? passpart_default.a : passall_default.a,\n alt: "\\u901A\\u5173"\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "gold-and-experience"\n }, /*#__PURE__*/react_default.a.createElement("p", {\n className: "flex-container"\n }, \' \', /*#__PURE__*/react_default.a.createElement("span", {\n className: "gold-circle"\n }), " +", gold, \' \'), /*#__PURE__*/react_default.a.createElement("p", {\n className: "flex-container"\n }, \' \', /*#__PURE__*/react_default.a.createElement("img", {\n src: empiricgreen_default.a\n }), " +", experience)), /*#__PURE__*/react_default.a.createElement("footer", null, !star ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("p", {\n className: "star-tip"\n }, "\\u60A8\\u7684\\u8BC4\\u4EF7\\u51B3\\u5B9A\\u8001\\u5E08\\u7684\\u6C5F\\u6E56\\u5730\\u4F4D~"), /*#__PURE__*/react_default.a.createElement(rate["a" /* default */], {\n defaultValue: 0,\n allowClear: false,\n onChange: onStarChange\n })) : null, next_game ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onNext\n }, "\\u4E0B\\u4E00\\u5173") : /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onCloseResult\n }, "\\u5B8C\\u6210"), isPictureView ? /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onShowPictureView\n }, "\\u67E5\\u770B\\u6548\\u679C") : null, webDisplayUrl ? /*#__PURE__*/react_default.a.createElement("a", {\n target: "_blank",\n href: webDisplayUrl\n }, "\\u67E5\\u770B\\u6548\\u679C") : null)));\n});\n// EXTERNAL MODULE: ./src/utils/urlTool.ts\nvar urlTool = __webpack_require__("bCnd");\n\n// EXTERNAL MODULE: ./src/components/monaco-editor/index.jsx\nvar monaco_editor = __webpack_require__("ZW9T");\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/code-area/index.less\nvar code_area = __webpack_require__("XDHc");\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/code-area/notEditablePath.png\nvar notEditablePath = __webpack_require__("Tl6Z");\nvar notEditablePath_default = /*#__PURE__*/__webpack_require__.n(notEditablePath);\n\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/code-area/index.jsx\n\n\n\n\n/* harmony default export */ var code_repository_code_area = ((_ref) => {\n var content = _ref.content,\n language = _ref.language,\n theme = _ref.theme,\n onCodeChange = _ref.onCodeChange,\n monacoOptions = _ref.monacoOptions,\n isEditPath = _ref.isEditPath,\n code_edit_permission = _ref.code_edit_permission,\n forbidCopy = _ref.forbidCopy;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "monaco-editor-container"\n }, isEditPath || code_edit_permission ? null : /*#__PURE__*/react_default.a.createElement("img", {\n className: "only-view",\n src: notEditablePath_default.a,\n alt: "only-view"\n }), /*#__PURE__*/react_default.a.createElement(monaco_editor["a" /* default */], {\n value: content,\n language: language,\n theme: theme,\n onChange: onCodeChange,\n forbidCopy: forbidCopy,\n options: monacoOptions\n })));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/html-code-view/index.jsx\n\n\n\nvar linkRegex = /<link(?:.*?)href=[\\"\\\u2018](.+?)[\\"\\\u2018](?!<)(?:.*)\\>(?:[\\n\\r\\s]*?)(?:<\\/link>)*/im;\nvar scriptRegex = /<script(?:.*?)src=[\\"\\\u2018](.+?)[\\"\\\u2018](?!<)(?:.*)\\>(?:[\\n\\r\\s]*?)(?:<\\/script>)*/im;\nvar cdns = [\'http\', \'com\', \'net\', \'org\', \'cdn\'];\n\nfunction is_cdn_link(link) {\n var result = false;\n\n for (var i = 0; i < cdns.length; i++) {\n if (link.indexOf(cdns[i]) !== -1) {\n result = true;\n break;\n }\n }\n\n return result;\n}\n\nvar TIMETICKET = 3000;\n/* harmony default export */ var html_code_view = ((_ref) => {\n var _ref$code = _ref.code,\n code = _ref$code === void 0 ? \'\' : _ref$code,\n isActive = _ref.isActive,\n myshixunIdentifier = _ref.myshixunIdentifier,\n lastedUpdateTime = _ref.lastedUpdateTime,\n onFinishDisplayHtml = _ref.onFinishDisplayHtml;\n var el = Object(react["useRef"])();\n var param = Object(react["useMemo"])(() => {\n var content = code;\n var css = [];\n var script = [];\n var linkMatches = linkRegex.exec(content);\n var scriptMatches = scriptRegex.exec(content);\n\n while (linkMatches) {\n var $0 = linkMatches[0];\n var $1 = linkMatches[1];\n\n if (is_cdn_link($1)) {\n content = content.replace($0, $0.replace(/link/, \'edulink\'));\n } else {\n content = content.replace(linkRegex, \'EDUCODERCSS\');\n css.push($1);\n }\n\n linkMatches = linkRegex.exec(content);\n }\n\n while (scriptMatches) {\n var _$ = scriptMatches[0];\n var _$2 = scriptMatches[1];\n\n if (is_cdn_link(_$2)) {\n content = content.replace(_$, _$.replace(/script/g, \'w3scrw3ipttag\'));\n } else {\n content = content.replace(scriptRegex, \'EDUCODERCSS\');\n script.push(_$2);\n }\n\n scriptMatches = scriptRegex.exec(content);\n } // html\u90e8\u5206 \u4e3a\u4e86\u9632\u6b62xss\u653b\u51fb\uff0c\u5148\u5c06\u654f\u611f\u5b57\u7b26\u8f6c\u6362\n\n\n content = content.replace(/=/gi, \'w3equalsign\').replace(/script/gi, \'w3scrw3ipttag\');\n return {\n content,\n css,\n script\n };\n }, [code]); //\u6240\u89c1\u5373\u6240\u5f97\n\n Object(useInterval["a" /* default */])(() => {\n var currentTime = new Date().getTime();\n\n if (isActive && el.current && lastedUpdateTime && currentTime > lastedUpdateTime + TIMETICKET) {\n el.current.submit();\n onFinishDisplayHtml();\n }\n }, TIMETICKET);\n Object(react["useEffect"])(() => {\n if (el.current && param) el.current.submit();\n }, [el.current, param]);\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "html-code-view",\n style: {\n display: isActive ? \'block\' : \'none\',\n width: \'100%\',\n height: \'100%\'\n }\n }, /*#__PURE__*/react_default.a.createElement("form", {\n ref: el,\n method: "post",\n target: "my-frame",\n action: "".concat(util["e" /* isProd */] ? \'\' : util["a" /* apiPref */], "/api/myshixuns/").concat(myshixunIdentifier, "/html_content.html")\n }, /*#__PURE__*/react_default.a.createElement("input", {\n type: "hidden",\n name: "contents",\n value: param.content\n }), /*#__PURE__*/react_default.a.createElement("input", {\n type: "hidden",\n name: "educodercss",\n value: param.css\n }), /*#__PURE__*/react_default.a.createElement("input", {\n type: "hidden",\n name: "educoderscript",\n value: param.script\n })), /*#__PURE__*/react_default.a.createElement("iframe", {\n frameBorder: "0",\n name: "my-frame",\n style: {\n background: \'#fff\',\n height: \'100%\',\n width: \'100%\'\n }\n }));\n});\n// EXTERNAL MODULE: ./node_modules/diff-match-patch/index.js\nvar diff_match_patch = __webpack_require__("ZBwS");\nvar diff_match_patch_default = /*#__PURE__*/__webpack_require__.n(diff_match_patch);\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/test-case-list/diffPanel.less\nvar diffPanel = __webpack_require__("TVoq");\n\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/test-case-list/diffPanel.jsx\n\n\n\n\n\nvar dmp = new diff_match_patch_default.a();\ndmp.Diff_EditCost = 8;\nvar diffPanel_initialState = {\n oldStr: \'\',\n newStr: \'\'\n};\n\nfunction diffPanel_reducer(state, action) {\n switch (action.type) {\n case \'init\':\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n default:\n throw new Error();\n }\n}\n\nfunction format(diff, type) {\n var pattern_amp = /&/g;\n var pattern_lt = /</g;\n var pattern_gt = />/g;\n var operation = diff[0],\n data = diff[1] || \'\';\n var text = data.replace(pattern_amp, \'&amp;\').replace(pattern_lt, \'&lt;\').replace(pattern_gt, \'&gt;\');\n var isEmpty = !text.trim();\n\n if (type === \'oldStr\') {\n switch (operation) {\n case diff_match_patch["DIFF_DELETE"]:\n return "<ins class=".concat(isEmpty ? \'empty\' : \'\', ">") + text + \'</ins>\';\n\n case diff_match_patch["DIFF_EQUAL"]:\n return \'<span>\' + text + \'</span>\';\n }\n } else {\n switch (operation) {\n case diff_match_patch["DIFF_INSERT"]:\n return "<del class=".concat(isEmpty ? \'empty\' : \'\', ">") + text + \'</del>\';\n\n case diff_match_patch["DIFF_EQUAL"]:\n return \'<span>\' + text + \'</span>\';\n }\n }\n}\n\n/* harmony default export */ var test_case_list_diffPanel = ((_ref) => {\n var output = _ref.output,\n actual_output = _ref.actual_output;\n\n var _useReducer = Object(react["useReducer"])(diffPanel_reducer, diffPanel_initialState),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n Object(react["useEffect"])(() => {\n var diffs = dmp.diff_main(output || \'\', actual_output || \'\');\n dmp.diff_cleanupEfficiency(diffs);\n var oldStr = diffs.map(diff => {\n return format(diff, \'oldStr\');\n }).join(\'\');\n var newStr = diffs.map(diff => {\n return format(diff, \'newStr\');\n }).join(\'\');\n dispatch({\n type: \'init\',\n payload: {\n oldStr,\n newStr\n }\n });\n }, [output, actual_output]);\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "diff-panel-container"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n dangerouslySetInnerHTML: {\n __html: state.oldStr\n }\n }), /*#__PURE__*/react_default.a.createElement("div", {\n dangerouslySetInnerHTML: {\n __html: state.newStr\n }\n }));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/test-case-list/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction test_case_list_TestCaseItem(_ref) {\n var last_compile_output = _ref.last_compile_output,\n language = _ref.language,\n ts_mem = _ref.ts_mem,\n ts_time = _ref.ts_time,\n input = _ref.input,\n output = _ref.output,\n actual_output = _ref.actual_output,\n is_public = _ref.is_public,\n result = _ref.result,\n compile_success = _ref.compile_success,\n title = _ref.title,\n isActive = _ref.isActive,\n id = _ref.id,\n onActive = _ref.onActive,\n test_sets_view = _ref.test_sets_view,\n allowed_unlock = _ref.allowed_unlock,\n identity = _ref.identity;\n\n function onActiveHandler() {\n if (is_public || test_sets_view || identity <= 5) {\n onActive(id);\n } else {\n if (allowed_unlock) {\n mediator["a" /* default */].publish(\'unlock-test-case\', id);\n } else {\n es_message["a" /* default */].info(\'\u672c\u6d4b\u8bd5\u96c6\u4e0d\u53ef\u89e3\u9501\');\n }\n }\n }\n\n var cls = \'test-case-item\';\n\n if (isActive) {\n cls += \' active\';\n }\n\n if (last_compile_output) {\n cls += \' has-result\';\n }\n\n return /*#__PURE__*/react_default.a.createElement("li", {\n className: cls\n }, /*#__PURE__*/react_default.a.createElement("a", {\n className: "case-header",\n onClick: onActiveHandler\n }, /*#__PURE__*/react_default.a.createElement("h2", null, /*#__PURE__*/react_default.a.createElement("div", {\n className: isActive ? \'arrow-down\' : \'arrow-right\'\n }), /*#__PURE__*/react_default.a.createElement("span", {\n className: "test-title"\n }, title)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "case-info"\n }, !ts_mem ? null : /*#__PURE__*/react_default.a.createElement("span", {\n className: "description"\n }, "\\u6D88\\u8017\\u5185\\u5B58", ts_mem, "MB"), !ts_time ? null : /*#__PURE__*/react_default.a.createElement("span", {\n className: "description"\n }, " \\u4EE3\\u7801\\u6267\\u884C\\u65F6\\u957F\\uFF1A", ts_time, "\\u79D2 "), !is_public ? test_sets_view || identity <= 5 ? /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-jiesuo"\n }) : /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-suo1"\n }) : null, compile_success > 0 ? /*#__PURE__*/react_default.a.createElement("img", {\n width: 16,\n src: result ? success_default.a : failer_default.a\n }) : null)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "item-desc ".concat(isActive ? \'show\' : \'hide\', " choose-game-item")\n }, input ? /*#__PURE__*/react_default.a.createElement("p", null, /*#__PURE__*/react_default.a.createElement("span", null, "\\u6D4B\\u8BD5\\u8F93\\u5165\\uFF1A"), /*#__PURE__*/react_default.a.createElement("span", {\n className: "c-blue"\n }, input)) : null, /*#__PURE__*/react_default.a.createElement("p", {\n className: "output-title-container"\n }, /*#__PURE__*/react_default.a.createElement("span", null, "\\u2014\\u2014 \\u9884\\u671F\\u8F93\\u51FA \\u2014\\u2014"), /*#__PURE__*/react_default.a.createElement("span", {\n className: "output-title"\n }, "\\u2014\\u2014 \\u5B9E\\u9645\\u8F93\\u51FA \\u2014\\u2014")), /*#__PURE__*/react_default.a.createElement(test_case_list_diffPanel, {\n output: output,\n actual_output: actual_output\n })));\n} //moveY = 0.01 \u65f6\uff0c\u8868\u793a\u6d4b\u8bd5\u96c6\u6700\u5927\u5316\n\n\n/* harmony default export */ var test_case_list = ((_ref2) => {\n var onResizeSetContainer = _ref2.onResizeSetContainer,\n moveY = _ref2.moveY,\n isHtml = _ref2.isHtml,\n lastedUpdateTime = _ref2.lastedUpdateTime,\n content = _ref2.content,\n myshixunIdentifier = _ref2.myshixunIdentifier,\n test_sets_view = _ref2.test_sets_view,\n identity = _ref2.identity,\n language = _ref2.language,\n allowed_unlock = _ref2.allowed_unlock,\n _ref2$test_sets = _ref2.test_sets,\n test_sets = _ref2$test_sets === void 0 ? [] : _ref2$test_sets,\n test_sets_count = _ref2.test_sets_count,\n sets_error_count = _ref2.sets_error_count,\n last_compile_output = _ref2.last_compile_output,\n onFinishDisplayHtml = _ref2.onFinishDisplayHtml;\n\n var _useState = Object(react["useState"])(-1),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n index = _useState2[0],\n setIndex = _useState2[1];\n\n var _useState3 = Object(react["useState"])(isHtml ? 0 : 1),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n tabIndex = _useState4[0],\n setTabIndex = _useState4[1];\n\n function trigger(id) {\n setIndex(id === index ? -1 : id);\n }\n\n function onResizeSet() {\n onResizeSetContainer(moveY);\n }\n\n function onChangeTab(e) {\n setTabIndex(parseInt(e.target.id, 10));\n }\n\n var htmlCodeViewOption = {\n code: content,\n isActive: tabIndex === 0 && isHtml,\n myshixunIdentifier,\n onFinishDisplayHtml,\n lastedUpdateTime\n };\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "test-header"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, isHtml ? /*#__PURE__*/react_default.a.createElement("span", {\n id: 0,\n onClick: onChangeTab,\n className: tabIndex === 0 ? \'active\' : \'\'\n }, "\\u6548\\u679C\\u663E\\u793A") : null, /*#__PURE__*/react_default.a.createElement("span", {\n id: 1,\n onClick: onChangeTab,\n className: tabIndex === 1 ? \'active\' : \'\'\n }, "\\u6D4B\\u8BD5\\u7ED3\\u679C")), /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onResizeSet\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont ".concat(moveY === 0.01 ? \'icon-shousuo\' : \'icon-zhankai\', " icon-zhankai")\n }))), /*#__PURE__*/react_default.a.createElement("section", {\n style: {\n display: tabIndex === 1 ? \'block\' : \'none\'\n }\n }, last_compile_output ? /*#__PURE__*/react_default.a.createElement("p", {\n className: "test-result ".concat(sets_error_count === 0 ? \'success\' : \'failer\')\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "count"\n }, /*#__PURE__*/react_default.a.createElement("img", {\n width: 16,\n src: sets_error_count === 0 ? success_default.a : mark_default.a\n }), test_sets_count - sets_error_count, "/", test_sets_count), sets_error_count == 0 ? /*#__PURE__*/react_default.a.createElement("span", {\n className: "count"\n }, "\\u5168\\u90E8\\u901A\\u8FC7") : /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: last_compile_output\n })) : null, /*#__PURE__*/react_default.a.createElement("ul", {\n className: "test-case-list"\n }, test_sets.map((item, i) => /*#__PURE__*/react_default.a.createElement(test_case_list_TestCaseItem, Object(esm_extends["a" /* default */])({\n allowed_unlock: allowed_unlock,\n identity: identity,\n key: \'item\' + i,\n test_sets_view: test_sets_view,\n language: language,\n last_compile_output: last_compile_output,\n title: "\\u6D4B\\u8BD5\\u96C6".concat(i + 1)\n }, item, {\n isActive: index === i,\n id: i,\n onActive: trigger\n }))))), isHtml ? /*#__PURE__*/react_default.a.createElement(html_code_view, htmlCodeViewOption) : null);\n});\nfunction VNCTestList(_ref3) {\n var isLarge = _ref3.isLarge,\n language = _ref3.language,\n _ref3$test_sets = _ref3.test_sets,\n test_sets = _ref3$test_sets === void 0 ? [] : _ref3$test_sets,\n test_sets_count = _ref3.test_sets_count,\n allowed_unlock = _ref3.allowed_unlock,\n sets_error_count = _ref3.sets_error_count,\n last_compile_output = _ref3.last_compile_output,\n test_sets_view = _ref3.test_sets_view,\n identity = _ref3.identity,\n onResizeSet = _ref3.onResizeSet;\n\n var _useState5 = Object(react["useState"])(-1),\n _useState6 = Object(slicedToArray["a" /* default */])(_useState5, 2),\n index = _useState6[0],\n setIndex = _useState6[1];\n\n function trigger(id) {\n setIndex(id === index ? -1 : id);\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "test-header"\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "active"\n }, "\\u6D4B\\u8BD5\\u7ED3\\u679C"), /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onResizeSet\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont ".concat(isLarge ? \'icon-shousuo\' : \'icon-zhankai\', " icon-zhankai")\n }))), last_compile_output ? /*#__PURE__*/react_default.a.createElement("p", {\n className: "test-result ".concat(sets_error_count === 0 ? \'success\' : \'failer\')\n }, /*#__PURE__*/react_default.a.createElement("span", {\n className: "count"\n }, /*#__PURE__*/react_default.a.createElement("img", {\n width: 16,\n src: sets_error_count === 0 ? success_default.a : mark_default.a\n }), test_sets_count - sets_error_count, "/", test_sets_count), sets_error_count == 0 ? /*#__PURE__*/react_default.a.createElement("span", null, "\\u5168\\u90E8\\u901A\\u8FC7") : /*#__PURE__*/react_default.a.createElement(RenderHtml["a" /* default */], {\n value: last_compile_output\n })) : null, /*#__PURE__*/react_default.a.createElement("ul", {\n className: "test-case-list"\n }, test_sets.map((item, i) => /*#__PURE__*/react_default.a.createElement(test_case_list_TestCaseItem, Object(esm_extends["a" /* default */])({\n allowed_unlock: allowed_unlock,\n identity: identity,\n test_sets_view: test_sets_view,\n key: \'item\' + i,\n language: language,\n last_compile_output: last_compile_output,\n title: "\\u6D4B\\u8BD5\\u96C6".concat(i + 1)\n }, item, {\n isActive: index === i,\n id: i,\n onActive: trigger\n })))));\n}\n// EXTERNAL MODULE: ./src/components/tpi-code-setting/index.less\nvar tpi_code_setting = __webpack_require__("lOMy");\n\n// EXTERNAL MODULE: ./src/components/tpi-code-setting/CodeSetting.tsx\nvar CodeSetting = __webpack_require__("ZD9Y");\n\n// CONCATENATED MODULE: ./src/components/tpi-code-setting/index.jsx\n\n\n\n/* harmony default export */ var components_tpi_code_setting = ((_ref) => {\n var onFontSizeChange = _ref.onFontSizeChange,\n cmFontSize = _ref.cmFontSize,\n cmCodeMode = _ref.cmCodeMode,\n onCodeModeChange = _ref.onCodeModeChange,\n shixun = _ref.shixun;\n var task_pass = shixun.task_pass,\n forbid_copy = shixun.forbid_copy,\n test_set_permission = shixun.test_set_permission;\n var opt = {\n onFontSizeChange,\n cmFontSize,\n cmCodeMode,\n onCodeModeChange\n };\n return /*#__PURE__*/react_default.a.createElement(CodeSetting["a" /* default */], opt, /*#__PURE__*/react_default.a.createElement("h3", null, "\\u5173\\u5361\\u914D\\u7F6E\\u4FE1\\u606F"), /*#__PURE__*/react_default.a.createElement("section", null, /*#__PURE__*/react_default.a.createElement("a", {\n className: "file-item",\n title: task_pass ? \'\u5141\u8bb8\u5b66\u5458\u8df3\u5173\u6311\u6218\' : \'\u4e0d\u5141\u8bb8\u5b66\u5458\u8df3\u5173\u6311\u6218\'\n }, /*#__PURE__*/react_default.a.createElement("b", null, "\\u8DF3\\u5173"), /*#__PURE__*/react_default.a.createElement("span", null, task_pass ? \'\u5141\u8bb8\' : \'\u4e0d\u5141\u8bb8\')), /*#__PURE__*/react_default.a.createElement("a", {\n className: "file-item",\n title: test_set_permission ? \'\u5141\u8bb8\u5b66\u5458\u901a\u8fc7\u91d1\u5e01\u89e3\u9501\u67e5\u770b\u6d4b\u8bd5\u96c6\u5185\u5bb9\' : \'\u4e0d\u5141\u8bb8\u5b66\u5458\u901a\u8fc7\u91d1\u5e01\u89e3\u9501\u67e5\u770b\u6d4b\u8bd5\u96c6\u5185\u5bb9\'\n }, /*#__PURE__*/react_default.a.createElement("b", null, "\\u6D4B\\u8BD5\\u96C6\\u89E3\\u9501"), /*#__PURE__*/react_default.a.createElement("span", null, test_set_permission ? \'\u5141\u8bb8\' : \'\u4e0d\u5141\u8bb8\')), /*#__PURE__*/react_default.a.createElement("a", {\n className: "file-item",\n title: forbid_copy ? \'\u4e0d\u5141\u8bb8\u5b66\u5458\u7c98\u8d34\u4ee3\u7801\' : \'\u5141\u8bb8\u5b66\u5458\u7c98\u8d34\u4ee3\u7801\'\n }, /*#__PURE__*/react_default.a.createElement("b", null, "\\u4EE3\\u7801\\u7C98\\u8D34"), /*#__PURE__*/react_default.a.createElement("span", null, !forbid_copy ? \'\u5141\u8bb8\' : \'\u4e0d\u5141\u8bb8\'))));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/index.less\nvar code_repository = __webpack_require__("X9zl");\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/path-list/index.less\nvar path_list = __webpack_require__("XyRZ");\n\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/path-list/index.jsx\n\n\n\nfunction path_list_A(_ref) {\n var callback = _ref.callback,\n file = _ref.file,\n onHidePathList = _ref.onHidePathList;\n\n function onClickHandle() {\n onHidePathList();\n callback(file);\n }\n\n return /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onClickHandle\n }, file);\n}\n\n/* harmony default export */ var code_repository_path_list = ((_ref2) => {\n var paths = _ref2.paths,\n onChangePath = _ref2.onChangePath,\n activePath = _ref2.activePath,\n isVisible = _ref2.isVisible,\n onHidePathList = _ref2.onHidePathList;\n return /*#__PURE__*/react_default.a.createElement("ul", {\n className: "path-container",\n onMouseLeave: onHidePathList,\n style: {\n display: isVisible ? \'block\' : \'none\'\n }\n }, paths.filter(f => !!f).map(f => /*#__PURE__*/react_default.a.createElement("li", {\n className: activePath === f ? \'active\' : \'\',\n key: f\n }, /*#__PURE__*/react_default.a.createElement(path_list_A, {\n callback: onChangePath,\n file: f,\n onHidePathList: onHidePathList\n }))));\n});\n// EXTERNAL MODULE: ./node_modules/@umijs/babel-preset-umi/node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js\nvar createForOfIteratorHelper = __webpack_require__("rAM+");\n\n// EXTERNAL MODULE: ./node_modules/js-base64/base64.js\nvar base64 = __webpack_require__("J66h");\n\n// EXTERNAL MODULE: ./node_modules/xterm/lib/xterm.js\nvar xterm = __webpack_require__("/POA");\n\n// EXTERNAL MODULE: ./node_modules/xterm/css/xterm.css\nvar css_xterm = __webpack_require__("q7KB");\n\n// EXTERNAL MODULE: ./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js\nvar ResizeObserver_es = __webpack_require__("bdgK");\n\n// CONCATENATED MODULE: ./src/pages/tasks/xterm-panel/index.jsx\n\n\n\n\n\n\n\n\n\n\nfunction getColsAndRows(width, height, term) {\n var w = term._core._renderService.dimensions.actualCellWidth || 9.5;\n var h = term._core._renderService.dimensions.actualCellHeight || 18;\n var rows = Math.floor(height / h);\n var cols = Math.floor(width / w);\n return [cols, rows];\n}\n\nfunction onLayout(term, el) {\n var ro = new ResizeObserver_es["default"](entries => {\n var _iterator = Object(createForOfIteratorHelper["a" /* default */])(entries),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var entry = _step.value;\n\n if (entry.target.offsetHeight > 0 || entry.target.offsetWidth > 0) {\n var _getColsAndRows = getColsAndRows(entry.target.offsetWidth, entry.target.offsetHeight, term),\n _getColsAndRows2 = Object(slicedToArray["a" /* default */])(_getColsAndRows, 2),\n cols = _getColsAndRows2[0],\n rows = _getColsAndRows2[1];\n\n term.resize(cols, rows);\n mediator["a" /* default */].publish(\'ssh-xterm-resize\', {\n columns: cols,\n rows: rows,\n width: entry.target.offsetWidth,\n height: entry.target.offsetHeight\n });\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n });\n ro.observe(el);\n return ro;\n}\n\nvar TimeTicket = 30000; //\u5efa\u7acb websockt \u6765\u4ea4\u4e92\n//\u6839\u636e\u5bb9\u5668\u5927\u5c0f\u8ba1\u7b97\u884c\u6570\u548c\u5217\u6570\u5e76\u505a\u5230\u81ea\u9002\u5e94\n//socket \u4e0e term \u9700\u8981\u5206\u5f00\u521d\u59cb\u5316 \u56e0\u4e3asocket \u53ef\u80fd\u91cd\u7f6e\u8fde\u63a5\n//mediator \u76d1\u542c\u6d88\u606f\uff0c\u5982\u679c\u548cid\u5339\u914d\uff0c\u5219\u5efa\u7acb\u8fde\u63a5\uff0c\u91cd\u7f6e\uff0c\u6216\u5173\u95ed\u8fde\u63a5\n\n/* harmony default export */ var xterm_panel = ((_ref) => {\n var sshConfigData = _ref.sshConfigData,\n sid = _ref.sid;\n\n var _useState = Object(react["useState"])(null),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n term = _useState2[0],\n setTerm = _useState2[1];\n\n var ws_url = sshConfigData.ws_url,\n password = sshConfigData.password,\n port = sshConfigData.port;\n var el = Object(react["useRef"])();\n var socket = Object(react["useRef"])();\n var isFirstConnected = Object(react["useRef"])(false); //term init\n\n Object(react["useEffect"])(() => {\n if (el.current && ws_url) {\n var _term = new xterm["Terminal"]({\n fontSize: 16\n });\n\n _term.open(el.current);\n\n _term.onData(data => {\n if (socket.current) {\n if (socket.current.readyState === 1) {\n socket.current.send(JSON.stringify({\n tp: \'client\',\n data: data\n }));\n mediator["a" /* default */].publish(\'on-operating-ssh\'); //\u6709\u64cd\u4f5c\u5219\u81ea\u52a8\u5ef6\u65f6\n } else {//\u65ad\u5f00\u8fde\u63a5\u540e\u91cd\u8fde\n // socket.current = null\n // mediator.publish(\'create-socket\', sid)\n }\n }\n });\n\n _term.write(\'Connecting...\');\n\n setTerm(_term);\n var ro = onLayout(_term, el.current);\n return () => {\n _term.dispose();\n\n ro.unobserve(el.current);\n };\n }\n }, [ws_url, el.current]);\n Object(react["useEffect"])(() => {\n if (term && ws_url) {\n function createSocket() {\n var socketInstance = new WebSocket(ws_url);\n socket.current = socketInstance;\n\n socketInstance.onopen = () => {\n var container = term.element.parentElement;\n\n if (container) {\n var width = container.offsetWidth;\n var height = container.offsetHeight;\n console.log(width, height);\n socketInstance.send(JSON.stringify({\n tp: \'init\',\n data: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, sshConfigData), {}, {\n secret: password,\n width,\n height,\n rows: term.rows,\n columns: term.cols\n })\n }));\n }\n\n term.focus();\n };\n\n socketInstance.onerror = error => {\n console.log(\'------in socket error----\', error, socketInstance, ws_url); //\u8fde\u63a5\u62a5\u9519\u540e\uff0c\u91cd\u65b0\u8bf7\u6c42\u8d44\u6e90\n // mediator.publish(\'on-recreate-socket\')\n };\n\n socketInstance.onmessage = event => {\n if (!isFirstConnected.current) {\n term.write(\'\\r\'); // term.focus()\n\n setTimeout(() => {\n term.clear();\n }, 1000);\n }\n\n isFirstConnected.current = true;\n var data = base64["Base64"].decode(event.data.toString());\n term.write(data);\n };\n\n socketInstance.onclose = evt => {\n if (tid) {\n clearInterval(tid);\n }\n\n term.write(\'\\r\\nconnection closed\');\n };\n }\n\n var tid = setInterval(() => {\n if (socket.current) {\n socket.current.send(JSON.stringify({\n tp: \'h\'\n }));\n }\n }, TimeTicket);\n var unSubCreate = mediator["a" /* default */].subscribe(\'create-socket\', id => {\n if (sid === id) {\n if (socket.current && socket.current.readyState === 1) {\n term.focus();\n } else {\n createSocket();\n }\n\n term.focus();\n }\n });\n var unSubClose = mediator["a" /* default */].subscribe(\'close-socket\', id => {\n if (sid === id) {\n if (socket.current) {\n socket.current.close();\n isFirstConnected.current = false;\n term.clear();\n }\n\n socket.current = null;\n }\n });\n var unSubResize = mediator["a" /* default */].subscribe(\'ssh-xterm-resize\', option => {\n if (socket.current && socket.current.readyState === 1) {\n socket.current.send(JSON.stringify({\n tp: \'resize\',\n data: Object(objectSpread2["a" /* default */])({}, option)\n }));\n }\n });\n var unSubAddTime = mediator["a" /* default */].subscribe(\'ssh-add-connect-time\', () => {\n if (socket.current && socket.current.readyState === 1) {\n socket.current.send(JSON.stringify({\n tp: \'overtime\'\n }));\n }\n });\n return () => {\n unSubClose();\n unSubCreate();\n unSubResize();\n unSubAddTime();\n\n if (socket.current) {\n socket.current.close();\n isFirstConnected.current = false;\n }\n };\n }\n }, [term, ws_url, port]);\n return /*#__PURE__*/react_default.a.createElement("div", {\n ref: el,\n className: "xterm-panel"\n }, !ws_url ? /*#__PURE__*/react_default.a.createElement("p", {\n style: {\n color: \'#fff\'\n }\n }, "\\u6B63\\u5728\\u8FDE\\u63A5\\u547D\\u4EE4\\u884C\\u670D\\u52A1...") : null);\n});\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar code_repository_initialState = {\n theme: Object(urlTool["a" /* fromStore */])(\'cmCodeMode\', \'vs-dark\'),\n fontSize: Object(urlTool["a" /* fromStore */])(\'cmFontSize\', 16),\n showEditorSetting: false,\n showPathList: false,\n tabIndex: 0,\n sshConfigData: null,\n sshTabs: []\n};\n\nfunction code_repository_reducer(state, action) {\n switch (action.type) {\n case constant["B" /* SET_EDITOR_SETTING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showEditorSetting: action.payload\n });\n\n case constant["C" /* SET_EDITOR_THEME */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n theme: action.payload\n });\n\n case constant["A" /* SET_EDITOR_FONTSIZE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n fontSize: action.payload\n });\n\n case constant["J" /* SET_TAB_INDEX */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n tabIndex: action.payload\n });\n\n case constant["H" /* SET_SSH_CONFIGDATA */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n sshConfigData: action.payload\n });\n\n case constant["I" /* SET_SSH_TABS */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n sshTabs: [...action.payload]\n });\n\n case constant["R" /* SHOW_PATH_LIST */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showPathList: true\n });\n\n case constant["p" /* HIDE_PATH_LIST */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showPathList: false\n });\n\n default:\n throw new Error();\n }\n}\n\nvar code_repository_TIMETICKET = 30000;\n/* harmony default export */ var tasks_code_repository = ((_ref) => {\n var taskData = _ref.taskData,\n moveY = _ref.moveY,\n isHtml = _ref.isHtml,\n isNotice = _ref.isNotice,\n onResizeYStart = _ref.onResizeYStart,\n codeRepData = _ref.codeRepData,\n isEditPath = _ref.isEditPath,\n onEditRepCode = _ref.onEditRepCode,\n onUpdateCode = _ref.onUpdateCode,\n onResizeSetContainer = _ref.onResizeSetContainer,\n onEval = _ref.onEval,\n evaluateLoading = _ref.evaluateLoading,\n evaluateMessage = _ref.evaluateMessage,\n onResizeCodeArea = _ref.onResizeCodeArea,\n onShowDir = _ref.onShowDir,\n onChangePath = _ref.onChangePath,\n onShowNotice = _ref.onShowNotice,\n onResetCode = _ref.onResetCode,\n onResetPassedCode = _ref.onResetPassedCode,\n onFinishDisplayHtml = _ref.onFinishDisplayHtml;\n\n var _useReducer = Object(react["useReducer"])(code_repository_reducer, code_repository_initialState),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var loading = codeRepData.loading,\n content = codeRepData.content,\n language = codeRepData.language,\n lastedUpdateTime = codeRepData.lastedUpdateTime,\n paths = codeRepData.paths,\n currentPath = codeRepData.currentPath;\n var fontSize = state.fontSize,\n theme = state.theme,\n showEditorSetting = state.showEditorSetting,\n showPathList = state.showPathList,\n tabIndex = state.tabIndex,\n sshTabs = state.sshTabs,\n sshConfigData = state.sshConfigData;\n var shixun = taskData.shixun,\n test_sets = taskData.test_sets,\n test_sets_count = taskData.test_sets_count,\n sets_error_count = taskData.sets_error_count,\n last_compile_output = taskData.last_compile_output,\n game = taskData.game,\n myshixun = taskData.myshixun,\n user = taskData.user,\n allowed_unlock = taskData.allowed_unlock;\n var webssh = shixun.webssh,\n multi_webssh = shixun.multi_webssh,\n hide_code = shixun.hide_code;\n var testCaseListOption = {\n onFinishDisplayHtml,\n allowed_unlock,\n onResizeSetContainer,\n moveY,\n language,\n content,\n isHtml,\n myshixunIdentifier: myshixun.identifier,\n test_sets_view: game.test_sets_view,\n identity: user.identity,\n lastedUpdateTime,\n test_sets,\n test_sets_count,\n sets_error_count,\n last_compile_output\n };\n Object(useInterval["a" /* default */])(() => {\n var currentTime = new Date().getTime();\n\n if (isEditPath && lastedUpdateTime && !hide_code && currentTime > lastedUpdateTime + code_repository_TIMETICKET) {\n onUpdateCode();\n }\n }, code_repository_TIMETICKET);\n\n function onCodeChange(value) {\n onEditRepCode(value);\n }\n\n function onShowCodeSetting() {\n dispatch({\n type: constant["B" /* SET_EDITOR_SETTING */],\n payload: true\n });\n }\n\n function onHideCodeSetting() {\n dispatch({\n type: constant["B" /* SET_EDITOR_SETTING */],\n payload: false\n });\n }\n\n function onFontSizeChange(value) {\n dispatch({\n type: constant["A" /* SET_EDITOR_FONTSIZE */],\n payload: value\n });\n Object(urlTool["b" /* toStore */])(\'cmFontSize\', value);\n }\n\n function onCodeModeChange(value) {\n dispatch({\n type: constant["C" /* SET_EDITOR_THEME */],\n payload: value\n });\n Object(urlTool["b" /* toStore */])(\'cmCodeMode\', value);\n }\n\n function onShowPathList() {\n dispatch({\n type: constant["R" /* SHOW_PATH_LIST */]\n });\n }\n\n function onHidePathList() {\n dispatch({\n type: constant["p" /* HIDE_PATH_LIST */]\n });\n }\n\n function onTabChange(e) {\n dispatch({\n type: constant["J" /* SET_TAB_INDEX */],\n payload: parseInt(e.target.id, 10)\n });\n }\n\n function onAddsshTab() {\n var length = sshTabs.length;\n sshTabs.push(length + 2);\n dispatch({\n type: constant["I" /* SET_SSH_TABS */],\n payload: sshTabs\n });\n }\n\n function onRemoveSshTab(e) {\n e.stopPropagation();\n e.preventDefault();\n var index = parseInt(e.target.id, 10);\n sshTabs.splice(index, 1);\n dispatch({\n type: constant["I" /* SET_SSH_TABS */],\n payload: sshTabs\n });\n var tabPos = 1;\n\n if (sshTabs.length > 0) {\n tabPos = sshTabs[0];\n }\n\n dispatch({\n type: constant["J" /* SET_TAB_INDEX */],\n payload: tabPos\n });\n }\n\n function onCloseSocket() {\n return closeSSh(game.identifier);\n }\n\n function onReCreateSocket() {\n dispatch({\n type: constant["H" /* SET_SSH_CONFIGDATA */],\n payload: null\n });\n }\n\n Object(react["useEffect"])(() => {\n dispatch({\n type: constant["J" /* SET_TAB_INDEX */],\n payload: hide_code ? 1 : 0\n });\n }, [hide_code]);\n Object(react["useEffect"])(() => {\n if (!sshConfigData && tabIndex >= 1) {\n function init() {\n return _init.apply(this, arguments);\n }\n\n function _init() {\n _init = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var response;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return openSSh(myshixun.identifier);\n\n case 2:\n response = _context.sent;\n dispatch({\n type: constant["H" /* SET_SSH_CONFIGDATA */],\n payload: response\n });\n\n case 4:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _init.apply(this, arguments);\n }\n\n init();\n }\n\n if (sshConfigData && tabIndex >= 1) {\n setTimeout(() => {\n mediator["a" /* default */].publish(\'create-socket\', tabIndex);\n }, 0);\n }\n }, [sshConfigData, tabIndex]);\n var codeAreaHeight = moveY ? moveY !== \'100%\' ? "".concat(moveY, "px") : moveY : \'70%\';\n var testSetHeight = moveY === \'100%\' ? 0 : "calc(100% - 3px - ".concat(codeAreaHeight, ")");\n var socketKeys = [];\n\n if (webssh) {\n socketKeys.push(1);\n }\n\n if (multi_webssh) {\n socketKeys.concat(sshTabs);\n }\n\n var codeAreaOption = {\n content,\n language,\n onCodeChange,\n theme,\n forbidCopy: shixun.forbid_copy,\n isEditPath,\n code_edit_permission: shixun.code_edit_permission,\n monacoOptions: {\n fontSize,\n readOnly: !isEditPath && !shixun.code_edit_permission\n }\n };\n var actionBarOption = {\n loading,\n lastedUpdateTime,\n moveY,\n code_hidden: shixun.code_hidden,\n gameStatus: game.status,\n isEditPath,\n isNotice,\n onResetCode,\n onShowCodeSetting,\n onResetPassedCode,\n onShowNotice,\n onShowDir,\n onResizeCodeArea\n };\n var sshActionBarOption = {\n isNotice,\n moveY,\n tabIndex,\n onShowNotice,\n onResizeCodeArea,\n webssh,\n socketKeys,\n onCloseSocket,\n isActive: tabIndex >= 1,\n onReCreateSocket\n };\n var tpiCodeSettingOption = {\n onFontSizeChange,\n cmFontSize: fontSize,\n cmCodeMode: theme,\n onCodeModeChange,\n shixun\n };\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "code-area-container",\n style: {\n height: codeAreaHeight\n }\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "navs"\n }, /*#__PURE__*/react_default.a.createElement("ul", null, !hide_code ? /*#__PURE__*/react_default.a.createElement("li", {\n className: "flex-container"\n }, /*#__PURE__*/react_default.a.createElement("a", {\n id: 0,\n className: tabIndex === 0 ? \'active first\' : \'first\',\n onClick: onTabChange\n }, "\\u4EE3\\u7801\\u6587\\u4EF6"), paths.length >= 1 ? /*#__PURE__*/react_default.a.createElement("span", {\n onMouseOver: onShowPathList,\n className: showPathList ? \'arrow-down\' : \'arrow-right\'\n }) : null) : null, !webssh ? /*#__PURE__*/react_default.a.createElement("li", null) : /*#__PURE__*/react_default.a.createElement("li", null, /*#__PURE__*/react_default.a.createElement("a", {\n className: tabIndex === 1 ? \'active\' : \'\',\n onClick: onTabChange,\n id: 1\n }, "\\u547D\\u4EE4\\u884C")), multi_webssh ? sshTabs.map((item, index) => /*#__PURE__*/react_default.a.createElement("li", {\n key: item\n }, /*#__PURE__*/react_default.a.createElement("a", {\n id: item,\n className: tabIndex === item ? \'active\' : \'\',\n onClick: onTabChange\n }, "\\u547D\\u4EE4\\u884C", item - 1, /*#__PURE__*/react_default.a.createElement("i", {\n title: "\\u5173\\u95ED\\u547D\\u4EE4\\u884C\\u7A97\\u53E3",\n id: index,\n className: "iconfont icon-shanchu_moren",\n onClick: onRemoveSshTab\n })))) : null, multi_webssh && sshTabs.length < 2 ? /*#__PURE__*/react_default.a.createElement("li", null, /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onAddsshTab,\n title: "\\u65B0\\u5F00\\u547D\\u4EE4\\u884C\\u7A97\\u53E3"\n }, "\\uFF0B")) : null), /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-bar-container",\n style: {\n display: tabIndex === 0 ? \'flex\' : \'none\'\n }\n }, /*#__PURE__*/react_default.a.createElement(code_repository_action_bar, actionBarOption)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-bar-container",\n style: {\n display: tabIndex >= 1 ? \'flex\' : \'none\'\n }\n }, /*#__PURE__*/react_default.a.createElement(ssh_action_bar, sshActionBarOption))), /*#__PURE__*/react_default.a.createElement("section", {\n style: {\n display: tabIndex === 0 ? \'block\' : \'none\'\n }\n }, /*#__PURE__*/react_default.a.createElement(code_repository_code_area, codeAreaOption)), !webssh ? null : /*#__PURE__*/react_default.a.createElement("section", {\n style: {\n display: tabIndex === 1 ? \'block\' : \'none\'\n }\n }, /*#__PURE__*/react_default.a.createElement(xterm_panel, {\n sshConfigData: sshConfigData || {},\n sid: 1\n })), multi_webssh ? sshTabs.map(item => /*#__PURE__*/react_default.a.createElement("section", {\n key: "ssh".concat(item),\n style: {\n display: tabIndex === item ? \'block\' : \'none\'\n }\n }, \' \', /*#__PURE__*/react_default.a.createElement(xterm_panel, {\n sshConfigData: sshConfigData || {},\n sid: item\n }))) : null, /*#__PURE__*/react_default.a.createElement(code_repository_path_list, {\n isVisible: showPathList,\n onHidePathList: onHidePathList,\n paths: paths,\n activePath: currentPath,\n onChangePath: onChangePath\n })), /*#__PURE__*/react_default.a.createElement("div", {\n className: "resize-y-bar",\n onMouseDown: onResizeYStart\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "test-set-container",\n style: {\n height: testSetHeight\n }\n }, evaluateLoading ? /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], {\n message: evaluateMessage,\n style: {\n color: \'#4CACFF\'\n }\n }) : /*#__PURE__*/react_default.a.createElement(test_case_list, testCaseListOption)), /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-container"\n }, /*#__PURE__*/react_default.a.createElement(tasks_footer_bar, Object(esm_extends["a" /* default */])({}, taskData, {\n loading: evaluateLoading,\n onRun: onEval\n }))), /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, /*#__PURE__*/react_default.a.createElement(drawer["a" /* default */], {\n className: "setting-drawer",\n title: null,\n placement: "right",\n closable: false,\n visible: showEditorSetting,\n onClose: onHideCodeSetting\n }, /*#__PURE__*/react_default.a.createElement(components_tpi_code_setting, tpiCodeSettingOption))));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/picture-panel/index.less\nvar picture_panel = __webpack_require__("zkdm");\n\n// EXTERNAL MODULE: ./src/pages/tasks/code-repository/picture-panel/nothing.png\nvar nothing = __webpack_require__("Sa5k");\nvar nothing_default = /*#__PURE__*/__webpack_require__.n(nothing);\n\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/picture-panel/img-list.jsx\n\n\n\n/* harmony default export */ var img_list = ((_ref) => {\n var list = _ref.list,\n title = _ref.title;\n var len = list.length;\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "img-list"\n }, /*#__PURE__*/react_default.a.createElement("h4", null, title), /*#__PURE__*/react_default.a.createElement("div", {\n className: "list-body"\n }, len > 0 ? list.map(item => /*#__PURE__*/react_default.a.createElement("img", {\n className: len === 1 ? \'singal\' : \'\',\n src: "".concat(util["a" /* apiPref */]).concat(item.pic_url),\n key: item.pic_url,\n alt: title\n })) : /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("img", {\n alt: "\\u7A7A",\n className: "nothing",\n src: nothing_default.a\n }), /*#__PURE__*/react_default.a.createElement("img", {\n alt: "\\u7A7A",\n className: "nothing",\n src: nothing_default.a\n }))));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/code-repository/picture-panel/index.jsx\n\n\n\n\n\n\n\n\n\nfunction getDocHeight(doc) {\n var html = doc.documentElement;\n var body = doc.body;\n var height = Math.max(html.clientHeight, html.scrollHeight, html.offsetHeight, body ? body.clientHeight : 0, body ? body.scrollHeight : 0, 500);\n return height;\n}\n\nfunction setIframeHeight(ifrm) {\n var doc = ifrm.contentDocument ? ifrm.contentDocument : ifrm.contentWindow.document;\n ifrm.style.visibility = \'hidden\';\n ifrm.style.height = \'10px\'; // reset to minimal height ...\n // IE opt. for bing/msn needs a bit added or scrollbar appears\n\n ifrm.style.height = getDocHeight(doc) + 4 + \'px\';\n ifrm.style.visibility = \'visible\';\n}\n\n/* harmony default export */ var code_repository_picture_panel = ((_ref) => {\n var taskId = _ref.taskId,\n onHidePictureView = _ref.onHidePictureView;\n\n var _useState = Object(react["useState"])({}),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n data = _useState2[0],\n setData = _useState2[1];\n\n var iframeEl = Object(react["useRef"])();\n Object(react["useEffect"])(() => {\n var type = data.type,\n iframe_src = data.iframe_src;\n\n if (type === \'html\' && iframe_src && iframeEl.current) {\n iframeEl.current.contentWindow.document.write(iframe_src);\n iframeEl.current.contentWindow.document.close();\n setTimeout(() => {\n setIframeHeight(iframeEl.current);\n }, 100);\n }\n }, [data, iframeEl.current]);\n Object(react["useEffect"])(() => {\n function init() {\n return _init.apply(this, arguments);\n }\n\n function _init() {\n _init = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var response;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return fetchPictures(taskId);\n\n case 3:\n response = _context.sent;\n setData(response);\n _context.next = 10;\n break;\n\n case 7:\n _context.prev = 7;\n _context.t0 = _context["catch"](0);\n console.log(_context.t0);\n\n case 10:\n case "end":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 7]]);\n }));\n return _init.apply(this, arguments);\n }\n\n init();\n }, [taskId]);\n var type = data.type,\n orignal_picture = data.orignal_picture,\n user_picture = data.user_picture,\n answer_picture = data.answer_picture,\n contents = data.contents,\n iframe_src = data.iframe_src,\n message = data.message;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, !type ? /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], {\n message: message || \'\u52a0\u8f7d\u4e2d...\'\n }) : null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "eval-picture-panel"\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "picture-body"\n }, /*#__PURE__*/react_default.a.createElement("h3", null, "\\u67E5\\u770B\\u6548\\u679C", /*#__PURE__*/react_default.a.createElement("a", {\n onClick: onHidePictureView\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont icon-shanchu2"\n }))), type === \'image\' ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "flex-container"\n }, orignal_picture.length > 0 ? /*#__PURE__*/react_default.a.createElement(img_list, {\n list: orignal_picture,\n title: "\\u539F\\u59CB\\u56FE\\u7247"\n }) : null, user_picture.length > 0 ? /*#__PURE__*/react_default.a.createElement(img_list, {\n list: user_picture,\n title: "\\u5B9E\\u9645\\u8F93\\u51FA"\n }) : null, answer_picture.length > 0 ? /*#__PURE__*/react_default.a.createElement(img_list, {\n list: answer_picture,\n title: "\\u9884\\u671F\\u8F93\\u51FA"\n }) : null) : /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("h2", null, "\\u5B9E\\u9645\\u8F93\\u51FA"), /*#__PURE__*/react_default.a.createElement("div", {\n className: "output-txt ".concat(type === \'html\' ? \'html\' : \'\')\n }, type === \'html\' ? /*#__PURE__*/react_default.a.createElement("iframe", {\n ref: iframeEl,\n style: {\n width: \'100%\',\n height: \'100%\',\n border: \'1px solid #ccc\'\n }\n }) : contents)))));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/notice/service.js\n\nfunction updateSystemTip(id, myshixunId) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/system_update.json?myshixun_id=").concat(myshixunId));\n}\nfunction syncCode(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/sync_codes.json"));\n}\nfunction syncModifiedTime(id) {\n return Object(fetch["c" /* get */])("/tasks/".concat(id, "/sync_modify_time"));\n}\n// CONCATENATED MODULE: ./src/pages/tasks/notice/index.jsx\n\n\n\n\n\n\n\n\n\n/* harmony default export */ var tasks_notice = ((_ref) => {\n var showNotice = _ref.showNotice,\n tpm_cases_modified = _ref.tpm_cases_modified,\n tpm_modified = _ref.tpm_modified,\n tpm_script_modified = _ref.tpm_script_modified,\n st = _ref.st,\n taskId = _ref.taskId,\n myshixunId = _ref.myshixunId,\n onNextCallback = _ref.onNextCallback,\n onUpdateCallback = _ref.onUpdateCallback,\n onUpdateFailure = _ref.onUpdateFailure;\n var isUpdateScript = (tpm_modified || tpm_script_modified) && st === 0;\n\n var _useState = Object(react["useState"])(false),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n\n function onUpdateNow() {\n return _onUpdateNow.apply(this, arguments);\n }\n\n function _onUpdateNow() {\n _onUpdateNow = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var response, path, status, mes;\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!loading) {\n _context.next = 2;\n break;\n }\n\n return _context.abrupt("return");\n\n case 2:\n setLoading(true);\n\n if (!isUpdateScript) {\n _context.next = 21;\n break;\n }\n\n _context.next = 6;\n return syncCode(taskId);\n\n case 6:\n response = _context.sent;\n path = response.path, status = response.status;\n mes = response.message;\n\n if (!(status === -1)) {\n _context.next = 14;\n break;\n }\n\n es_message["a" /* default */].info(mes || \'\u66f4\u65b0\u5931\u8d25\uff0c\u670d\u52a1\u7aef\u9519\u8bef\');\n\n onUpdateFailure();\n _context.next = 19;\n break;\n\n case 14:\n es_message["a" /* default */].info(\'\u66f4\u65b0\u6210\u529f\uff0c\u6b63\u5728\u4e3a\u60a8\u91cd\u65b0\u52a0\u8f7d\u4ee3\u7801...\');\n\n if (!tpm_cases_modified) {\n _context.next = 18;\n break;\n }\n\n _context.next = 18;\n return syncModifiedTime(taskId);\n\n case 18:\n onUpdateCallback(path, new Date().getTime());\n\n case 19:\n _context.next = 25;\n break;\n\n case 21:\n _context.next = 23;\n return syncModifiedTime(taskId);\n\n case 23:\n es_message["a" /* default */].info(\'\u66f4\u65b0\u72b6\u6001\u5df2\u540c\u6b65\u3002\');\n\n onNextCallback();\n\n case 25:\n setLoading(false);\n\n case 26:\n case "end":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _onUpdateNow.apply(this, arguments);\n }\n\n function onNextUpdate() {\n return _onNextUpdate.apply(this, arguments);\n }\n\n function _onNextUpdate() {\n _onNextUpdate = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!loading) {\n _context2.next = 2;\n break;\n }\n\n return _context2.abrupt("return");\n\n case 2:\n setLoading(true);\n\n if (!isUpdateScript) {\n _context2.next = 11;\n break;\n }\n\n _context2.next = 6;\n return updateSystemTip(taskId, myshixunId);\n\n case 6:\n if (!tpm_cases_modified) {\n _context2.next = 9;\n break;\n }\n\n _context2.next = 9;\n return syncModifiedTime(taskId);\n\n case 9:\n _context2.next = 13;\n break;\n\n case 11:\n _context2.next = 13;\n return syncModifiedTime(taskId);\n\n case 13:\n setLoading(false);\n onNextCallback();\n\n case 15:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _onNextUpdate.apply(this, arguments);\n }\n\n return /*#__PURE__*/react_default.a.createElement(modal["a" /* default */], {\n centered: true,\n title: "\\u66F4\\u65B0\\u901A\\u77E5",\n closable: false,\n confirmLoading: loading,\n visible: showNotice,\n onOk: onUpdateNow,\n onCancel: onNextUpdate,\n okText: isUpdateScript ? \'\u7acb\u5373\u66f4\u65b0\' : \'\u77e5\u9053\u4e86\',\n cancelText: "\\u7A0D\\u540E\\u518D\\u8BF4"\n }, tpm_cases_modified && isUpdateScript ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("p", null, " \\u5173\\u5361\\u4EFB\\u52A1\\u7684\\u4EE3\\u7801\\u6587\\u4EF6\\u548C\\u6D4B\\u8BD5\\u96C6\\u6709\\u66F4\\u65B0\\u5566~"), /*#__PURE__*/react_default.a.createElement("p", null, "\\u66F4\\u65B0\\u64CD\\u4F5C\\u5C06\\u4FDD\\u7559\\u5DF2\\u5B8C\\u6210\\u7684\\u8BC4\\u6D4B\\u8BB0\\u5F55\\u548C\\u6210\\u7EE9\\u3002"), /*#__PURE__*/react_default.a.createElement("p", null, "\\u8FD8\\u672A\\u5B8C\\u6210\\u8BC4\\u6D4B\\u7684\\u4EFB\\u52A1\\u4EE3\\u7801\\uFF0C\\u8BF7\\u81EA\\u884C\\u4FDD\\u5B58\\uFF01")) : tpm_cases_modified ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("p", null, "\\u672C\\u5173", st === 0 ? \'\u6d4b\u8bd5\u96c6\' : \'\u7b54\u6848\', "\\u5DF2\\u66F4\\u65B0\\uFF0C\\u60A8\\u53EF\\u4EE5\\u91CD\\u65B0\\u8BC4\\u6D4B\\u3002"), /*#__PURE__*/react_default.a.createElement("p", null, "\\u672C\\u6B21\\u66F4\\u65B0\\u4E0D\\u5F71\\u54CD\\u5DF2\\u83B7\\u5F97\\u7684\\u7ECF\\u9A8C\\u503C\\u3002")) : /*#__PURE__*/react_default.a.createElement("p", null, \' \', "\\u5173\\u5361\\u4EFB\\u52A1\\u7684\\u4EE3\\u7801\\u6587\\u4EF6\\u6709\\u66F4\\u65B0\\u5566~", /*#__PURE__*/react_default.a.createElement("br", null), " \\u66F4\\u65B0\\u64CD\\u4F5C\\u5C06\\u4FDD\\u7559\\u5DF2\\u5B8C\\u6210\\u7684\\u8BC4\\u6D4B\\u8BB0\\u5F55\\u548C\\u6210\\u7EE9\\u3002", /*#__PURE__*/react_default.a.createElement("br", null), "\\u8FD8\\u672A\\u5B8C\\u6210\\u8BC4\\u6D4B\\u7684\\u4EFB\\u52A1\\u4EE3\\u7801\\uFF0C\\u8BF7\\u81EA\\u884C\\u4FDD\\u5B58\\uFF01", \' \'));\n});\n// EXTERNAL MODULE: ./src/pages/tasks/vnc-view/index.less\nvar vnc_view = __webpack_require__("Lmeb");\n\n// EXTERNAL MODULE: ./node_modules/@novnc/novnc/lib/rfb.js\nvar lib_rfb = __webpack_require__("1dTM");\nvar rfb_default = /*#__PURE__*/__webpack_require__.n(lib_rfb);\n\n// CONCATENATED MODULE: ./src/pages/tasks/vnc-view/vnc-panel/index.jsx\n\n\n\nfunction getJsonFromUrl(url) {\n if (!url) url = window.location.search;\n var query = url.substr(1);\n var result = {};\n query.split(\'&\').forEach(function (part) {\n var item = part.split(\'=\');\n result[item[0]] = decodeURIComponent(item[1]);\n });\n return result;\n}\n\n/* harmony default export */ var vnc_panel = ((_ref) => {\n var vnc_url = _ref.vnc_url;\n var el = Object(react["useRef"])();\n Object(react["useEffect"])(() => {\n if (vnc_url && el.current) {\n var params = getJsonFromUrl();\n var urlParser = new URL(vnc_url); //no IE11 support\n\n var protocol = urlParser.protocol,\n searchParams = urlParser.searchParams,\n host = urlParser.host;\n var socketUrl = "".concat(protocol === \'https:\' ? \'wss\' : \'ws\', "://").concat(host, "/").concat(params.path || \'websockify\');\n var rfb = new rfb_default.a(el.current, socketUrl, {\n credentials: {\n password: searchParams.get(\'password\')\n },\n wsProtocols: [\'binary\']\n });\n rfb.viewOnly = params.view_only || false;\n rfb.scaleViewport = params.scale || false;\n rfb.resizeSession = true;\n }\n }, [vnc_url, el.current]);\n return /*#__PURE__*/react_default.a.createElement("div", {\n ref: el,\n className: "vnc-panel"\n }, !vnc_url ? /*#__PURE__*/react_default.a.createElement("p", null, "\\u6B63\\u5728\\u52AA\\u529B\\u52A0\\u8F7D\\u4E2D...") : null);\n});\n// CONCATENATED MODULE: ./src/pages/tasks/vnc-view/index.jsx\n\n\n\n\n\n\n\n\n/* harmony default export */ var tasks_vnc_view = ((_ref) => {\n var taskData = _ref.taskData,\n evaluateLoading = _ref.evaluateLoading,\n evaluateMessage = _ref.evaluateMessage,\n language = _ref.language,\n onEval = _ref.onEval;\n var vnc_url = taskData.vnc_url,\n test_sets = taskData.test_sets,\n test_sets_count = taskData.test_sets_count,\n sets_error_count = taskData.sets_error_count,\n last_compile_output = taskData.last_compile_output,\n game = taskData.game,\n allowed_unlock = taskData.allowed_unlock,\n user = taskData.user;\n\n var _useState = Object(react["useState"])(false),\n _useState2 = Object(slicedToArray["a" /* default */])(_useState, 2),\n isLarge = _useState2[0],\n setIsLarge = _useState2[1];\n\n var _useState3 = Object(react["useState"])(false),\n _useState4 = Object(slicedToArray["a" /* default */])(_useState3, 2),\n isPop = _useState4[0],\n setIsPop = _useState4[1];\n\n function onResizeSet() {\n setIsLarge(!isLarge);\n }\n\n function onPop() {\n setIsPop(!isPop);\n }\n\n var testCaseListOption = {\n isLarge,\n language,\n test_sets,\n test_sets_count,\n sets_error_count,\n last_compile_output,\n allowed_unlock,\n test_sets_view: game.test_sets_view,\n identity: user.identity,\n onResizeSet\n };\n\n function evalCode() {\n setIsPop(true);\n onEval();\n }\n\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement(vnc_panel, {\n vnc_url: vnc_url\n }), isPop ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "vnc-mask"\n }) : null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "vnc-test-list ".concat(isLarge ? \'large\' : isPop ? \'pop\' : \'\')\n }, /*#__PURE__*/react_default.a.createElement("div", {\n className: "vnc-test-list-body"\n }, !isLarge ? /*#__PURE__*/react_default.a.createElement("span", {\n className: "arrow-container",\n onClick: onPop\n }, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont ".concat(isPop ? \'icon-xiajiantou\' : \'icon-shangjiantou\', " ")\n })) : null, evaluateLoading ? /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], {\n message: evaluateMessage,\n style: {\n color: \'#4CACFF\'\n }\n }) : /*#__PURE__*/react_default.a.createElement(VNCTestList, testCaseListOption))), /*#__PURE__*/react_default.a.createElement("div", {\n className: "action-container"\n }, /*#__PURE__*/react_default.a.createElement(tasks_footer_bar, Object(esm_extends["a" /* default */])({}, taskData, {\n loading: evaluateLoading,\n onRun: evalCode\n }))));\n});\n// CONCATENATED MODULE: ./src/pages/tasks/unity3d-panel/nav.jsx\n\n\n/* harmony default export */ var nav = ((_ref) => {\n var prev_game = _ref.prev_game,\n next_game = _ref.next_game,\n shixun = _ref.shixun,\n game = _ref.game;\n var hasNextGame = next_game && (game.status === 2 || shixun.status < 2 || shixun.task_pass);\n return /*#__PURE__*/react_default.a.createElement("div", {\n className: "unity-3d-nav"\n }, prev_game ? /*#__PURE__*/react_default.a.createElement(react_router_dom["Link"], {\n to: "/tasks/".concat(prev_game),\n className: "ghost-link"\n }, "\\u4E0A\\u4E00\\u5173") : null, hasNextGame ? /*#__PURE__*/react_default.a.createElement(react_router_dom["Link"], {\n to: "/tasks/".concat(next_game),\n className: "ghost-link"\n }, "\\u4E0B\\u4E00\\u5173") : null);\n});\n// CONCATENATED MODULE: ./src/pages/tasks/index.jsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar DirectoryTree = tree["a" /* default */].DirectoryTree;\nvar BADSUFS = [\'jpg\', \'png\', \'gif\', \'jpeg\', \'jar\', \'doc\', \'pdf\', \'xsl\', \'ppt\'];\nvar tasks_initialState = {\n moveX: \'40%\',\n moveY: 0,\n loading: true,\n isError: false,\n taskData: {\n game: {}\n },\n evalData: null,\n lastedGetTaskInfoTime: 0,\n codeRepData: {\n content: \'\',\n language: \'c\',\n currentPath: \'\',\n paths: [],\n lastedUpdateTime: 0,\n loading: false\n },\n showEvalResult: false,\n showPictureView: false,\n isPictureView: false,\n webDisplayUrl: \'\',\n evaluateLoading: false,\n resetVncLoading: false,\n evaluateMessage: \'\',\n showNotice: false,\n timestamp: \'\',\n showDocuments: false,\n repos: null\n};\n\nfunction tasks_reducer(state, action) {\n switch (action.type) {\n case constant["t" /* MOVE_X */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n moveX: action.payload\n });\n\n case constant["u" /* MOVE_Y */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n moveY: action.payload\n });\n\n case constant["T" /* SHOW_REP_LOADING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n codeRepData: action.payload\n });\n\n case constant["g" /* FETCH_REP_CONTENT */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n codeRepData: action.payload\n });\n\n case constant["c" /* EDIT_REP_CODE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n codeRepData: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state.codeRepData), action.payload)\n });\n\n case constant["P" /* SHOW_EVALUATE_RESULT */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showEvalResult: true\n });\n\n case constant["n" /* HIDE_EVALUATE_RESULT */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showEvalResult: false\n });\n\n case constant["i" /* FETCH_TASK_START */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: true\n });\n\n case constant["ab" /* UPDATE_TASK_DATA */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["h" /* FETCH_TASK_FAILURE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n loading: false,\n isError: true\n });\n\n case constant["j" /* FETCH_TASK_SUCCESS */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["O" /* SHOW_EVALUATE_LOADING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n evaluateLoading: true\n });\n\n case constant["m" /* HIDE_EVALUATE_LOADING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n evaluateLoading: false\n });\n\n case constant["D" /* SET_EVALUATE_MESSAGE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n evaluateMessage: action.payload\n });\n\n case constant["G" /* SET_SHOW_DIR */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showDocuments: action.payload\n });\n\n case constant["E" /* SET_REPOS */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), action.payload);\n\n case constant["Q" /* SHOW_NOTICE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showNotice: true\n });\n\n case constant["o" /* HIDE_NOTICE */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showNotice: false\n });\n\n case constant["q" /* HIDE_PICTURE_VIEW */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showPictureView: false\n });\n\n case constant["S" /* SHOW_PICTURE_VIEW */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n showPictureView: true\n });\n\n case constant["L" /* SET_VNC_LOADING */]:\n return Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, state), {}, {\n resetVncLoading: action.payload\n });\n\n default:\n throw new Error();\n }\n} //\u5207\u6362\u5173\u5361\u6216\u8005\u7528\u6237\u5173\u95ed\u9875\u9762\u65f6\u9700\u8981\u4fdd\u5b58\u7528\u6237\u8ba1\u65f6\u4e0e\u4ee3\u7801\n//\u8bc4\u6d4b\u65f6\uff0c\u5237\u65b0\u6d4b\u8bd5\u96c6\uff0c\u7528\u6237\u91d1\u5e01\u4e0e\u5173\u5361\u4efb\u52a1\u4fe1\u606f\n//react \u7f3a\u5c11keep-alive \u673a\u5236\uff0c\u6240\u4ee5\u6587\u4ef6\u76ee\u5f55\u6811\u4e5f\u9700\u8981\u653e\u5728\u9876\u5c42\uff0c\u5728code-repository \u4e2d\u7ba1\u7406\uff0c\u4f1a\u56e0\u4e3areact\u7684\u7ec4\u4ef6\u5378\u8f7d\u5bfc\u81f4\u72b6\u6001\u4e22\u5931\u3002\n\n\n/* harmony default export */ var pages_tasks = __webpack_exports__["default"] = ((_ref) => {\n var match = _ref.match,\n history = _ref.history;\n var taskId = match.params.taskId;\n\n var _useReducer = Object(react["useReducer"])(tasks_reducer, tasks_initialState),\n _useReducer2 = Object(slicedToArray["a" /* default */])(_useReducer, 2),\n state = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var resizeXFlag = Object(react["useRef"])();\n var resizeYFlag = Object(react["useRef"])();\n var location = history.location;\n var moveX = state.moveX,\n taskData = state.taskData,\n moveY = state.moveY,\n evalData = state.evalData,\n showEvalResult = state.showEvalResult,\n codeRepData = state.codeRepData,\n loading = state.loading,\n evaluateLoading = state.evaluateLoading,\n evaluateMessage = state.evaluateMessage,\n showDocuments = state.showDocuments,\n repos = state.repos,\n showPictureView = state.showPictureView,\n showNotice = state.showNotice,\n webDisplayUrl = state.webDisplayUrl,\n isPictureView = state.isPictureView,\n resetVncLoading = state.resetVncLoading,\n timestamp = state.timestamp,\n lastedGetTaskInfoTime = state.lastedGetTaskInfoTime;\n var st = taskData.st,\n challenge = taskData.challenge,\n shixun = taskData.shixun,\n is_teacher = taskData.is_teacher,\n game = taskData.game,\n has_answer = taskData.has_answer,\n vnc_url = taskData.vnc_url,\n user = taskData.user,\n myshixun = taskData.myshixun,\n discusses_count = taskData.discusses_count,\n user_praise = taskData.user_praise,\n praise_count = taskData.praise_count,\n tpm_cases_modified = taskData.tpm_cases_modified,\n tpm_modified = taskData.tpm_modified,\n tpm_script_modified = taskData.tpm_script_modified,\n mirror_name = taskData.mirror_name,\n tomcat_url = taskData.tomcat_url,\n unity_3d_routes = taskData.unity_3d_routes,\n with_code_file = taskData.with_code_file,\n next_game = taskData.next_game,\n prev_game = taskData.prev_game;\n var currentPath = codeRepData.currentPath,\n paths = codeRepData.paths,\n content = codeRepData.content,\n language = codeRepData.language,\n lastedUpdateTime = codeRepData.lastedUpdateTime;\n var isUpdateScript = (tpm_modified || tpm_script_modified) && st === 0;\n var isNotice = (tpm_cases_modified || isUpdateScript) && myshixun.system_tip === true;\n var isHtml = (mirror_name || []).indexOf(\'Html\') !== -1;\n var isEditPath = Object(react["useMemo"])(() => {\n if (currentPath && paths) {\n return paths.indexOf(currentPath) >= 0;\n }\n\n return false;\n }, [currentPath, paths]);\n Object(react["useEffect"])(() => {\n var didCancel = false;\n\n function init() {\n return _init.apply(this, arguments);\n }\n\n function _init() {\n _init = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee() {\n var response, status, _st, path, payload, _paths;\n\n return regenerator_default.a.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.prev = 0;\n _context.next = 3;\n return fetchTaskInfo(taskId);\n\n case 3:\n response = _context.sent;\n status = response.status;\n\n if (!(status === 401)) {\n _context.next = 9;\n break;\n }\n\n return _context.abrupt("return");\n\n case 9:\n if (!(status === 403)) {\n _context.next = 13;\n break;\n }\n\n history.replace(\'/403\');\n _context.next = 22;\n break;\n\n case 13:\n if (!(status === 404)) {\n _context.next = 18;\n break;\n }\n\n history.replace(\'/404\');\n return _context.abrupt("return");\n\n case 18:\n _st = response.st, path = response.challenge.path;\n payload = {\n loading: false,\n isError: false,\n taskData: response,\n lastedGetTaskInfoTime: new Date().getTime(),\n codeRepData\n };\n\n if (_st === 0 && path) {\n _paths = path.split(\'\uff1b\').filter(item => !!item);\n payload[\'codeRepData\'].currentPath = _paths[0];\n payload[\'codeRepData\'].paths = _paths;\n }\n\n dispatch({\n type: constant["j" /* FETCH_TASK_SUCCESS */],\n payload\n });\n\n case 22:\n _context.next = 28;\n break;\n\n case 24:\n _context.prev = 24;\n _context.t0 = _context["catch"](0);\n console.log(_context.t0);\n\n if (!didCancel) {\n dispatch({\n type: constant["h" /* FETCH_TASK_FAILURE */]\n });\n }\n\n case 28:\n case "end":\n return _context.stop();\n }\n }\n }, _callee, null, [[0, 24]]);\n }));\n return _init.apply(this, arguments);\n }\n\n init();\n return () => {\n didCancel = true;\n };\n }, [dispatch, taskId]); //\u4fdd\u5b58\u4e0a\u4e0b\u6587\n\n var onSaveContent = Object(react["useCallback"])(() => {\n if (game) {\n if (game.status !== 2) {\n mediator["a" /* default */].publish(\'update-cost-time\');\n }\n }\n\n onUpdateCode();\n }, [st, lastedUpdateTime, game.status]); //\u5207\u6362\u5173\u5361\n\n Object(react["useEffect"])(() => {\n onSaveContent();\n }, [location]); //\u9000\u51fa\u5b9e\u8bad\n\n function onBack() {\n onSaveContent();\n } //\u89e3\u9501\u6d4b\u8bd5\u96c6\n\n\n Object(react["useEffect"])(() => {\n var unSub = mediator["a" /* default */].subscribe(\'unlock-test-case\', () => {\n modal["a" /* default */].confirm({\n centered: true,\n okText: \'\u786e\u5b9a\',\n cancelText: \'\u53d6\u6d88\',\n title: \'\u63d0\u793a\',\n content: /*#__PURE__*/react_default.a.createElement(UnLockTestTip, {\n score: challenge.score,\n is_teacher: is_teacher\n }),\n centered: true,\n onOk: onUnlockTestCase\n });\n });\n return unSub;\n }, [onUnlockTestCase, challenge, is_teacher]);\n var onUnlockTestCase = Object(react["useCallback"])( /*#__PURE__*/Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee2() {\n var response, test_sets, message, grade;\n return regenerator_default.a.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return unlockTestCase(game.identifier);\n\n case 2:\n response = _context2.sent;\n test_sets = response.test_sets, message = response.message;\n\n if (!(test_sets === -1)) {\n _context2.next = 7;\n break;\n }\n\n es_message["a" /* default */].info(message);\n\n return _context2.abrupt("return");\n\n case 7:\n grade = taskData[\'user\'].grade;\n taskData[\'user\'].grade = grade - challenge.score;\n taskData[\'test_sets\'] = test_sets;\n taskData[\'game\'][\'test_sets_view\'] = true;\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData\n }\n });\n\n case 12:\n case "end":\n return _context2.stop();\n }\n }\n }, _callee2);\n })), [game, challenge, dispatch]);\n Object(react["useEffect"])(() => {\n if (!(unity_3d_routes && !with_code_file)) {\n function onMove(e) {\n if (resizeXFlag.current) {\n dispatch({\n type: constant["t" /* MOVE_X */],\n payload: e.pageX\n });\n }\n\n if (resizeYFlag.current) {\n dispatch({\n type: constant["u" /* MOVE_Y */],\n payload: e.pageY\n });\n }\n }\n\n function onMouseUp() {\n resizeXFlag.current = false;\n resizeYFlag.current = false;\n }\n\n window.addEventListener(\'mousemove\', onMove);\n window.addEventListener(\'mouseup\', onMouseUp);\n return () => {\n window.removeEventListener(\'mousemove\', onMove);\n window.removeEventListener(\'mouseup\', onMouseUp);\n };\n }\n }, [resizeYFlag.current, resizeXFlag.current, with_code_file, unity_3d_routes, dispatch]);\n\n function minuxUserGrade(value) {\n var grade = taskData[\'user\'].grade;\n taskData[\'user\'].grade = grade - value;\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData\n }\n });\n }\n\n function onResizeStart() {\n if (unity_3d_routes && !with_code_file) {\n dispatch({\n type: constant["t" /* MOVE_X */],\n payload: moveX !== 0.01 ? 0.01 : \'40%\'\n });\n } else {\n resizeXFlag.current = true;\n }\n }\n\n function onResizeYStart() {\n resizeYFlag.current = true;\n }\n\n function onResizeSetContainer(value) {\n if (value === 0.01) {\n dispatch({\n type: constant["u" /* MOVE_Y */],\n payload: 0\n });\n } else {\n dispatch({\n type: constant["u" /* MOVE_Y */],\n payload: 0.01\n });\n }\n }\n\n function onResizeCodeArea(value) {\n if (value === 0) {\n dispatch({\n type: constant["u" /* MOVE_Y */],\n payload: \'100%\'\n });\n } else {\n dispatch({\n type: constant["u" /* MOVE_Y */],\n payload: 0\n });\n }\n }\n\n Object(react["useEffect"])(() => {\n window.addEventListener(\'beforeunload\', onSaveContent);\n return () => {\n window.removeEventListener(\'beforeunload\', onSaveContent);\n };\n }, [onSaveContent]);\n\n function onUpdateCode() {\n return _onUpdateCode.apply(this, arguments);\n }\n\n function _onUpdateCode() {\n _onUpdateCode = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee5() {\n var evaluate,\n response,\n _args5 = arguments;\n return regenerator_default.a.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n evaluate = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : 0;\n\n if (!(st === 0 && lastedUpdateTime > 0 || evaluate)) {\n _context5.next = 7;\n break;\n }\n\n _context5.next = 4;\n return updateCode(myshixun.identifier, {\n path: currentPath,\n evaluate,\n content,\n game_id: game.id\n });\n\n case 4:\n response = _context5.sent;\n dispatch({\n type: constant["c" /* EDIT_REP_CODE */],\n payload: {\n lastedUpdateTime: 0\n }\n });\n return _context5.abrupt("return", response);\n\n case 7:\n case "end":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n return _onUpdateCode.apply(this, arguments);\n }\n\n function onFinishDisplayHtml() {\n onUpdateCode();\n }\n\n function onResetCode() {\n return _onResetCode.apply(this, arguments);\n }\n\n function _onResetCode() {\n _onResetCode = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee6() {\n var response, content, language;\n return regenerator_default.a.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return restoreCode(taskId, {\n path: currentPath\n });\n\n case 2:\n response = _context6.sent;\n content = response.content, language = response.language;\n dispatch({\n type: constant["g" /* FETCH_REP_CONTENT */],\n payload: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, codeRepData), {}, {\n content: content,\n language: language,\n lastedUpdateTime: 0,\n loading: false\n })\n });\n\n case 5:\n case "end":\n return _context6.stop();\n }\n }\n }, _callee6);\n }));\n return _onResetCode.apply(this, arguments);\n }\n\n function onResetPassedCode() {\n return _onResetPassedCode.apply(this, arguments);\n }\n\n function _onResetPassedCode() {\n _onResetPassedCode = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee7() {\n var response, content, language;\n return regenerator_default.a.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return resetPassedCode(taskId, {\n path: currentPath\n });\n\n case 2:\n response = _context7.sent;\n content = response.content, language = response.language;\n dispatch({\n type: constant["g" /* FETCH_REP_CONTENT */],\n payload: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, codeRepData), {}, {\n content: content,\n language: language,\n lastedUpdateTime: 0,\n loading: false\n })\n });\n\n case 5:\n case "end":\n return _context7.stop();\n }\n }\n }, _callee7);\n }));\n return _onResetPassedCode.apply(this, arguments);\n }\n\n Object(react["useEffect"])(() => {\n if (st === 0 && challenge && challenge.path) {\n var _paths2 = challenge.path.split(\'\uff1b\').filter(item => !!item);\n\n dispatch({\n type: constant["c" /* EDIT_REP_CODE */],\n payload: {\n currentPath: _paths2[0],\n paths: _paths2\n }\n });\n }\n }, [challenge, st]);\n Object(react["useEffect"])(() => {\n if (shixun) {\n document.title = shixun.name;\n }\n }, [shixun]);\n Object(react["useEffect"])(() => {\n function init() {\n return _init2.apply(this, arguments);\n }\n\n function _init2() {\n _init2 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee3() {\n var data;\n return regenerator_default.a.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n dispatch({\n type: constant["T" /* SHOW_REP_LOADING */],\n payload: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, codeRepData), {}, {\n loading: true\n })\n });\n _context3.next = 3;\n return fetchCode(taskId, {\n path: currentPath\n });\n\n case 3:\n data = _context3.sent;\n\n if (data.status === 0) {\n es_message["a" /* default */].info(data.message);\n\n dispatch({\n type: constant["g" /* FETCH_REP_CONTENT */],\n payload: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, codeRepData), {}, {\n loading: false\n })\n });\n } else {\n dispatch({\n type: constant["g" /* FETCH_REP_CONTENT */],\n payload: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, codeRepData), {}, {\n content: data.content,\n language: data.language,\n loading: false\n })\n });\n }\n\n case 5:\n case "end":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _init2.apply(this, arguments);\n }\n\n if (st === 0 && currentPath && !shixun.hide_code) {\n init();\n }\n }, [st, currentPath, timestamp]);\n\n function onPlusOrCancelPraise() {\n return _onPlusOrCancelPraise.apply(this, arguments);\n }\n\n function _onPlusOrCancelPraise() {\n _onPlusOrCancelPraise = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee8() {\n var response, praise_count, praise;\n return regenerator_default.a.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return plusOrCancelPraise(taskId);\n\n case 2:\n response = _context8.sent;\n praise_count = response.praise_count, praise = response.praise;\n taskData.praise_count = praise_count;\n taskData[\'user_praise\'] = praise;\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData\n }\n });\n\n case 7:\n case "end":\n return _context8.stop();\n }\n }\n }, _callee8);\n }));\n return _onPlusOrCancelPraise.apply(this, arguments);\n }\n\n var onUpdateCostTime = Object(react["useCallback"])(time => {\n function init(_x) {\n return _init3.apply(this, arguments);\n }\n\n function _init3() {\n _init3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee4(time) {\n return regenerator_default.a.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return updateCostTime(taskId, {\n time\n });\n\n case 2:\n case "end":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _init3.apply(this, arguments);\n }\n\n init(time);\n }, [taskId]);\n\n function onSaveTaskStar(_x2) {\n return _onSaveTaskStar.apply(this, arguments);\n }\n\n function _onSaveTaskStar() {\n _onSaveTaskStar = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee9(value) {\n return regenerator_default.a.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return saveTaskStar(taskId, shixun.id, value);\n\n case 2:\n taskData[\'game\'][\'star\'] = value;\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData\n }\n });\n\n case 4:\n case "end":\n return _context9.stop();\n }\n }\n }, _callee9);\n }));\n return _onSaveTaskStar.apply(this, arguments);\n }\n\n function onShowDir() {\n return _onShowDir.apply(this, arguments);\n }\n\n function _onShowDir() {\n _onShowDir = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee10() {\n var response, trees;\n return regenerator_default.a.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n if (repos) {\n _context10.next = 8;\n break;\n }\n\n _context10.next = 3;\n return fetchRepos(myshixun.identifier);\n\n case 3:\n response = _context10.sent;\n trees = response.trees;\n dispatch({\n type: constant["E" /* SET_REPOS */],\n payload: {\n showDocuments: true,\n repos: Object(util["c" /* getTreeData */])(trees)\n }\n });\n _context10.next = 9;\n break;\n\n case 8:\n dispatch({\n type: constant["G" /* SET_SHOW_DIR */],\n payload: true\n });\n\n case 9:\n case "end":\n return _context10.stop();\n }\n }\n }, _callee10);\n }));\n return _onShowDir.apply(this, arguments);\n }\n\n function onLoadTreeData(_x3) {\n return _onLoadTreeData.apply(this, arguments);\n }\n\n function _onLoadTreeData() {\n _onLoadTreeData = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee12(node) {\n var _node$props, children, eventKey;\n\n return regenerator_default.a.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n _node$props = node.props, children = _node$props.children, eventKey = _node$props.eventKey;\n return _context12.abrupt("return", new Promise( /*#__PURE__*/function () {\n var _ref3 = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee11(resolve) {\n var response, trees, newRepos;\n return regenerator_default.a.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (children && children.length > 0) {\n resolve();\n }\n\n _context11.next = 3;\n return fetchRepos(myshixun.identifier, {\n path: eventKey\n });\n\n case 3:\n response = _context11.sent;\n trees = response.trees;\n newRepos = Object(util["f" /* processTreeData */])(repos, eventKey, Object(util["c" /* getTreeData */])(trees, eventKey));\n dispatch({\n type: constant["E" /* SET_REPOS */],\n payload: {\n repos: [...newRepos]\n }\n });\n resolve();\n\n case 8:\n case "end":\n return _context11.stop();\n }\n }\n }, _callee11);\n }));\n\n return function (_x8) {\n return _ref3.apply(this, arguments);\n };\n }()));\n\n case 2:\n case "end":\n return _context12.stop();\n }\n }\n }, _callee12);\n }));\n return _onLoadTreeData.apply(this, arguments);\n }\n\n function onHideDocuments() {\n dispatch({\n type: constant["G" /* SET_SHOW_DIR */],\n payload: false\n });\n }\n\n function onEvalChoose(value) {\n var gold = value.gold,\n experience = value.experience,\n next_game = value.next_game,\n rest = Object(objectWithoutProperties["a" /* default */])(value, ["gold", "experience", "next_game"]);\n\n var isOk = rest.challenge_chooses_count === rest.choose_correct_num;\n var new_test_cases = {\n had_submmit: true,\n test_sets: rest.test_sets,\n challenge_chooses_count: rest.challenge_chooses_count,\n choose_correct_num: rest.choose_correct_num\n };\n taskData[\'choose_test_cases\'] = new_test_cases;\n\n if (isOk) {\n taskData[\'game\'].status = 2;\n taskData[\'user\'][\'grade\'] += gold;\n }\n\n if (isOk && game.status !== 2) {\n mediator["a" /* default */].publish(\'update-cost-time\');\n }\n\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData,\n evalData: {\n gold,\n experience,\n next_game\n },\n showEvalResult: isOk\n }\n });\n }\n\n function onEvalCode() {\n return _onEvalCode.apply(this, arguments);\n }\n\n function _onEvalCode() {\n _onEvalCode = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee14() {\n var response, resubmit, sec_key, content_modified, params, rs, count, intervalTime, time_out, getGameStatus, _getGameStatus, timerId;\n\n return regenerator_default.a.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.prev = 0;\n dispatch({\n type: constant["O" /* SHOW_EVALUATE_LOADING */]\n });\n _context14.next = 4;\n return onUpdateCode(1);\n\n case 4:\n response = _context14.sent;\n resubmit = response.resubmit, sec_key = response.sec_key, content_modified = response.content_modified;\n params = {\n sec_key,\n resubmit,\n first: 1,\n content_modified\n };\n _context14.next = 9;\n return codeGameBuild(taskId, params);\n\n case 9:\n rs = _context14.sent;\n\n if (rs.status === 1) {\n _getGameStatus = function _getGameStatus3() {\n _getGameStatus = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee13(intervalTime, finalTime, count, timerId) {\n var excuteTime, source, ds, status, running_code_message, port, web_route, playUrl, isWeb, isOk, isPicture, isShowEvalResult, payload;\n return regenerator_default.a.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n excuteTime = count++ * intervalTime;\n\n if (excuteTime / 1000 > finalTime + 1) {\n time_out = true;\n }\n\n _context13.next = 4;\n return getCodeGameStatus(taskId, {\n resubmit,\n time_out,\n port: rs.port,\n sec_key\n });\n\n case 4:\n source = _context13.sent;\n ds = source;\n status = ds.status, running_code_message = ds.running_code_message, port = ds.port, web_route = ds.web_route;\n dispatch({\n type: constant["D" /* SET_EVALUATE_MESSAGE */],\n payload: running_code_message\n });\n\n if (+status > -1 || excuteTime / 1000 > finalTime + 1) {\n clearInterval(timerId);\n timerId = null; //\u7b2c\u4e00\u6b21\u901a\u5173\n\n if (game.status !== 2 && status === 2) {\n taskData[\'game\'].status = 2;\n taskData[\'user\'][\'grade\'] += ds.gold;\n mediator["a" /* default */].publish(\'update-cost-time\');\n }\n\n taskData[\'test_sets\'] = ds.test_sets || [];\n taskData[\'last_compile_output\'] = ds.last_compile_output;\n taskData[\'test_sets_count\'] = ds.test_sets_count;\n taskData[\'sets_error_count\'] = ds.sets_error_count;\n taskData[\'next_game\'] = ds.next_game;\n taskData[\'prev_game\'] = ds.prev_game;\n playUrl = \'\';\n isWeb = mirror_name.indexOf(\'Web\') !== -1 || mirror_name.indexOf(\'JFinal\') !== -1;\n\n if (isWeb && port != -1 && web_route) {\n playUrl = "".concat(tomcat_url, ":").concat(port, "/").concat(web_route);\n }\n\n isOk = Object(util["d" /* isCompileOk */])(ds.test_sets);\n isPicture = ds.picture > 0 && isOk;\n isShowEvalResult = status === 2 && !time_out;\n\n if (time_out) {\n es_message["a" /* default */].info(\'\u672c\u6b21\u8bc4\u6d4b\u8d85\u65f6\');\n } else {\n if (!isShowEvalResult) {\n es_message["a" /* default */].info(\'\u8bc4\u6d4b\u672a\u901a\u8fc7\uff0c\u8be6\u60c5\u53c2\u89c1\u201c\u6d4b\u8bd5\u7ed3\u679c\u201d\');\n }\n }\n\n payload = {\n taskData,\n evalData: {\n gold: ds.gold,\n experience: ds.experience,\n next_game: ds.next_game\n },\n evaluateLoading: false,\n evaluateMessage: \'\',\n webDisplayUrl: playUrl,\n showPictureView: isPicture,\n isPictureView: isPicture\n };\n\n if (unity_3d_routes && with_code_file) {\n mediator["a" /* default */].publish(\'evaluate-unity3d-finish\');\n\n if (isOk) {\n mediator["a" /* default */].publish(\'evaluate-unity3d-result\', ds.unity_3d_result);\n }\n } else {\n payload[\'showEvalResult\'] = isShowEvalResult;\n }\n\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload\n });\n }\n\n case 9:\n case "end":\n return _context13.stop();\n }\n }\n }, _callee13);\n }));\n return _getGameStatus.apply(this, arguments);\n };\n\n getGameStatus = function _getGameStatus2(_x9, _x10, _x11, _x12) {\n return _getGameStatus.apply(this, arguments);\n };\n\n count = 1;\n intervalTime = 1000;\n time_out = false;\n timerId = setInterval(() => {\n getGameStatus(intervalTime, challenge.exec_time, count++, timerId);\n }, intervalTime);\n }\n\n _context14.next = 16;\n break;\n\n case 13:\n _context14.prev = 13;\n _context14.t0 = _context14["catch"](0);\n console.log(\'-------eval code\', _context14.t0);\n\n case 16:\n case "end":\n return _context14.stop();\n }\n }\n }, _callee14, null, [[0, 13]]);\n }));\n return _onEvalCode.apply(this, arguments);\n }\n\n function onEditRepCode(value) {\n dispatch({\n type: constant["c" /* EDIT_REP_CODE */],\n payload: {\n content: value,\n lastedUpdateTime: new Date().getTime()\n }\n });\n }\n\n function onCloseResult() {\n dispatch({\n type: constant["n" /* HIDE_EVALUATE_RESULT */]\n });\n }\n\n function onHidePictureView() {\n dispatch({\n type: constant["q" /* HIDE_PICTURE_VIEW */]\n });\n }\n\n function onShowPictureView() {\n dispatch({\n type: constant["S" /* SHOW_PICTURE_VIEW */]\n });\n }\n\n function onShowNotice() {\n dispatch({\n type: constant["Q" /* SHOW_NOTICE */]\n });\n }\n\n function onSelectRepo(_x4, _x5) {\n return _onSelectRepo.apply(this, arguments);\n }\n\n function _onSelectRepo() {\n _onSelectRepo = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee15(selectedKeys, event) {\n var node, path, suf;\n return regenerator_default.a.wrap(function _callee15$(_context15) {\n while (1) {\n switch (_context15.prev = _context15.next) {\n case 0:\n node = event.node;\n\n if (!node.isLeaf) {\n _context15.next = 12;\n break;\n }\n\n path = selectedKeys[0];\n suf = path.split(\'.\').pop().toLowerCase();\n\n if (!(BADSUFS.indexOf(suf) >= 0)) {\n _context15.next = 9;\n break;\n }\n\n es_message["a" /* default */].info("\\u4E0D\\u652F\\u6301\\u52A0\\u8F7D".concat(suf, "\\u7C7B\\u578B\\u7684\\u6587\\u4EF6\\u3002"));\n\n return _context15.abrupt("return");\n\n case 9:\n _context15.next = 11;\n return onUpdateCode();\n\n case 11:\n dispatch({\n type: constant["c" /* EDIT_REP_CODE */],\n payload: {\n currentPath: path\n }\n });\n\n case 12:\n case "end":\n return _context15.stop();\n }\n }\n }, _callee15);\n }));\n return _onSelectRepo.apply(this, arguments);\n }\n\n function onChangePath(_x6) {\n return _onChangePath.apply(this, arguments);\n }\n\n function _onChangePath() {\n _onChangePath = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee16(value) {\n return regenerator_default.a.wrap(function _callee16$(_context16) {\n while (1) {\n switch (_context16.prev = _context16.next) {\n case 0:\n _context16.next = 2;\n return onUpdateCode();\n\n case 2:\n dispatch({\n type: constant["c" /* EDIT_REP_CODE */],\n payload: {\n currentPath: value\n }\n });\n\n case 3:\n case "end":\n return _context16.stop();\n }\n }\n }, _callee16);\n }));\n return _onChangePath.apply(this, arguments);\n }\n\n function onNextCallback() {\n taskData[\'myshixun\'].system_tip = true;\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData,\n showNotice: false\n }\n });\n }\n\n function onUpdateCallback(newPath, timestamp) {\n taskData[\'challenge\'].path = newPath;\n taskData[\'myshixun\'].system_tip = false;\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData: Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, taskData), {}, {\n tpm_cases_modified: false,\n tpm_modified: false,\n tpm_script_modified: false\n }),\n showNotice: false,\n timestamp\n }\n });\n }\n\n function onUpdateFailure() {\n dispatch({\n type: constant["o" /* HIDE_NOTICE */]\n });\n }\n\n function onResetVnc() {\n return _onResetVnc.apply(this, arguments);\n }\n\n function _onResetVnc() {\n _onResetVnc = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee17() {\n var response, new_vnc_url;\n return regenerator_default.a.wrap(function _callee17$(_context17) {\n while (1) {\n switch (_context17.prev = _context17.next) {\n case 0:\n _context17.prev = 0;\n dispatch({\n type: constant["L" /* SET_VNC_LOADING */],\n payload: true\n });\n _context17.next = 4;\n return resetVnc(game.identifier);\n\n case 4:\n response = _context17.sent;\n new_vnc_url = response.data.vnc_url;\n taskData[\'vnc_url\'] = new_vnc_url + \'&timestamp=\' + new Date().getTime();\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData,\n resetVncLoading: false\n }\n });\n _context17.next = 13;\n break;\n\n case 10:\n _context17.prev = 10;\n _context17.t0 = _context17["catch"](0);\n console.log(_context17.t0);\n\n case 13:\n case "end":\n return _context17.stop();\n }\n }\n }, _callee17, null, [[0, 10]]);\n }));\n return _onResetVnc.apply(this, arguments);\n }\n\n function onGetUnity3dMessage(_x7) {\n return _onGetUnity3dMessage.apply(this, arguments);\n } //\u4ee3\u7801\u8bc4\u6d4b\u540e\u56de\u8c03\n\n\n function _onGetUnity3dMessage() {\n _onGetUnity3dMessage = Object(asyncToGenerator["a" /* default */])( /*#__PURE__*/regenerator_default.a.mark(function _callee18(mes) {\n var GameState, response, status, data;\n return regenerator_default.a.wrap(function _callee18$(_context18) {\n while (1) {\n switch (_context18.prev = _context18.next) {\n case 0:\n GameState = mes.GameState;\n\n if (!(GameState === \'Success\')) {\n _context18.next = 11;\n break;\n }\n\n if (with_code_file) {\n _context18.next = 10;\n break;\n }\n\n _context18.next = 5;\n return setUnity3dStatus(taskId, base64["Base64"].encode(taskId + new Date().getTime()));\n\n case 5:\n response = _context18.sent;\n status = response.status, data = response.data;\n\n if (status == 0) {\n if (game.status !== 2) {\n taskData[\'game\'].status = 2;\n taskData[\'user\'][\'grade\'] += data.gold;\n mediator["a" /* default */].publish(\'update-cost-time\');\n }\n\n dispatch({\n type: constant["ab" /* UPDATE_TASK_DATA */],\n payload: {\n taskData,\n evalData: {\n gold: data.gold,\n experience: data.experience,\n next_game: data.next_game\n },\n showEvalResult: true\n }\n });\n }\n\n _context18.next = 11;\n break;\n\n case 10:\n dispatch({\n type: constant["P" /* SHOW_EVALUATE_RESULT */]\n });\n\n case 11:\n case "end":\n return _context18.stop();\n }\n }\n }, _callee18);\n }));\n return _onGetUnity3dMessage.apply(this, arguments);\n }\n\n function onEvaluateCallback() {}\n\n function onAddVncTime() {\n addVncTime(taskId);\n }\n\n var leftPanelWidth = typeof moveX === \'number\' && moveX !== 0.01 ? "".concat(moveX, "px") : \'40%\';\n var rightPanelWidth = "calc(100% - 4px - ".concat(leftPanelWidth, ")");\n var leftPanelOption = {\n game,\n taskId,\n user_praise,\n praise_count,\n st,\n challenge,\n shixun,\n is_teacher,\n has_answer,\n unity_3d_routes,\n with_code_file,\n onEvaluateCallback,\n onGetUnity3dMessage,\n taskId,\n myshixun,\n user,\n discusses_count,\n onPlusOrCancelPraise,\n minuxUserGrade\n };\n var noticeOption = {\n showNotice: showNotice || (tpm_cases_modified || isUpdateScript) && myshixun.system_tip === false,\n tpm_cases_modified,\n tpm_modified,\n tpm_script_modified,\n st,\n taskId,\n myshixunId: (myshixun || {}).id,\n onNextCallback,\n onUpdateCallback,\n onUpdateFailure\n };\n\n var evaluateResultOption = Object(objectSpread2["a" /* default */])(Object(objectSpread2["a" /* default */])({}, evalData), {}, {\n isPictureView,\n history,\n webDisplayUrl,\n onShowPictureView,\n star: game && game.star,\n onStarChange: onSaveTaskStar,\n onCloseResult\n });\n\n var repositoryOption = {\n lastedGetTaskInfoTime,\n isEditPath,\n taskData,\n codeRepData,\n moveY,\n evaluateMessage,\n evaluateLoading,\n isNotice,\n isHtml,\n onChangePath,\n onResizeSetContainer,\n onEditRepCode,\n onUpdateCode,\n onResizeYStart,\n onShowDir,\n onResetCode,\n onResizeCodeArea,\n onResetPassedCode,\n onFinishDisplayHtml,\n onShowNotice\n };\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, !loading ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", {\n className: "task-wrapper"\n }, /*#__PURE__*/react_default.a.createElement(pages_tasks_header, {\n history: history,\n shixun: shixun,\n lastedGetTaskInfoTime: lastedGetTaskInfoTime,\n onAddVncTime: onAddVncTime,\n taskId: taskId,\n onBack: onBack,\n isNotice: isNotice,\n resetVncLoading: resetVncLoading,\n onResetVnc: onResetVnc,\n vnc_url: vnc_url,\n onShowNotice: onShowNotice,\n game: game,\n user: user,\n onUpdateCostTime: onUpdateCostTime\n }), /*#__PURE__*/react_default.a.createElement("div", {\n className: "tasks-body"\n }, /*#__PURE__*/react_default.a.createElement("section", {\n className: "left-panel ".concat(unity_3d_routes && with_code_file ? \'has-unity-3d\' : \'\'),\n style: {\n width: leftPanelWidth,\n display: moveX === 0.01 ? \'none\' : \'\'\n }\n }, /*#__PURE__*/react_default.a.createElement(tasks_left_panel, leftPanelOption)), /*#__PURE__*/react_default.a.createElement("section", {\n className: "resize-x-bar ".concat(!with_code_file && unity_3d_routes ? \'has-unity-3d\' : \'\'),\n onMouseDown: onResizeStart\n }, /*#__PURE__*/react_default.a.createElement(ResizeIcon, {\n with_code_file: with_code_file,\n unity_3d_routes: unity_3d_routes,\n moveX: moveX\n })), /*#__PURE__*/react_default.a.createElement("section", {\n className: "right-panel ".concat(vnc_url ? \'vnc\' : \'\'),\n style: {\n width: rightPanelWidth\n }\n }, unity_3d_routes && !with_code_file ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "unity-3d-container"\n }, /*#__PURE__*/react_default.a.createElement(tasks_unity3d_panel, {\n unity_3d_routes: unity_3d_routes,\n onGetUnity3dMessage: onGetUnity3dMessage\n }), /*#__PURE__*/react_default.a.createElement(nav, {\n next_game: next_game,\n prev_game: prev_game,\n shixun: shixun,\n game: game\n })) : /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, vnc_url ? /*#__PURE__*/react_default.a.createElement(tasks_vnc_view, {\n taskData: taskData,\n evaluateMessage: evaluateMessage,\n language: language,\n evaluateLoading: evaluateLoading,\n onEval: onEvalCode\n }) : st === 1 ? /*#__PURE__*/react_default.a.createElement(tasks_choose_repository, Object(esm_extends["a" /* default */])({\n onEval: onEvalChoose\n }, repositoryOption)) : /*#__PURE__*/react_default.a.createElement(tasks_code_repository, Object(esm_extends["a" /* default */])({}, repositoryOption, {\n onEval: onEvalCode\n })))))), /*#__PURE__*/react_default.a.createElement(components_modal["a" /* default */], null, showEvalResult ? /*#__PURE__*/react_default.a.createElement(tasks_evaluate_result, evaluateResultOption) : null, /*#__PURE__*/react_default.a.createElement(drawer["a" /* default */], {\n className: "setting-drawer",\n title: null,\n placement: "right",\n width: 400,\n closable: false,\n visible: showDocuments,\n onClose: onHideDocuments\n }, /*#__PURE__*/react_default.a.createElement(DirectoryTree, {\n className: "dir-tree",\n selectedKeys: ["".concat(currentPath)],\n treeData: repos,\n onSelect: onSelectRepo,\n loadData: onLoadTreeData\n })), showPictureView ? /*#__PURE__*/react_default.a.createElement(code_repository_picture_panel, {\n taskId: taskId,\n onHidePictureView: onHidePictureView\n }) : null, /*#__PURE__*/react_default.a.createElement(tasks_notice, noticeOption))) : /*#__PURE__*/react_default.a.createElement(Spinner["a" /* default */], {\n message: "\\u52AA\\u529B\\u8BF7\\u6C42\\u6570\\u636E\\u4E2D..",\n className: "tpi-spin"\n }));\n});\n\nfunction UnLockTestTip(_ref4) {\n var is_teacher = _ref4.is_teacher,\n score = _ref4.score;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, is_teacher ? /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, /*#__PURE__*/react_default.a.createElement("div", null, "\\u5DF2\\u7ECF\\u8FC7\\u804C\\u4E1A\\u8BA4\\u8BC1\\u7684\\u6559\\u5E08\\u53EF\\u4EE5\\u514D\\u91D1\\u5E01\\u67E5\\u770B\\u9690\\u85CF\\u6D4B\\u8BD5\\u96C6\\u3002"), /*#__PURE__*/react_default.a.createElement("div", null, "\\u89E3\\u9501\\u672C\\u5173\\u6240\\u6709\\u6D4B\\u8BD5\\u96C6\\u9700\\u8981\\u6263\\u9664".concat(score * 5, "\\u91D1\\u5E01\\uFF0C\\u786E\\u5B9A\\u8981\\u89E3\\u9501\\u5417\\uFF1F")), /*#__PURE__*/react_default.a.createElement("a", {\n href: "/account/certification",\n class: "to-certification-link",\n target: "_blank"\n }, "\\u7ACB\\u5373\\u8BA4\\u8BC1")) : /*#__PURE__*/react_default.a.createElement("div", null, "\\u89E3\\u9501\\u672C\\u5173\\u6240\\u6709\\u6D4B\\u8BD5\\u96C6\\u9700\\u8981\\u6263\\u9664".concat(score * 5, "\\u91D1\\u5E01\\uFF0C\\u786E\\u5B9A\\u8981\\u89E3\\u9501\\u5417\\uFF1F")));\n}\n\nfunction ResizeIcon(_ref5) {\n var with_code_file = _ref5.with_code_file,\n unity_3d_routes = _ref5.unity_3d_routes,\n moveX = _ref5.moveX;\n return /*#__PURE__*/react_default.a.createElement(react["Fragment"], null, unity_3d_routes && !with_code_file ? /*#__PURE__*/react_default.a.createElement("div", {\n className: "trapezoid"\n }, /*#__PURE__*/react_default.a.createElement("a", null, /*#__PURE__*/react_default.a.createElement("i", {\n className: "iconfont ".concat(moveX === 0.01 ? \'icon-youjiantou\' : \'icon-zuojiantou\', " ")\n }))) : /*#__PURE__*/react_default.a.createElement("a", {\n className: "btn-resize"\n }, /*#__PURE__*/react_default.a.createElement("svg", {\n width: "16",\n height: "13",\n viewBox: "0 0 16 13"\n }, /*#__PURE__*/react_default.a.createElement("path", {\n d: "M12.245 7.53H5.647v1.882h6.598v2.823L16 8.471l-3.755-3.765V7.53zM10.353 4.706H3.755v2.823L0 3.765 3.755 0v2.824h6.598v1.882z"\n }))));\n}\n\n//# sourceURL=webpack:///./src/pages/tasks/index.jsx_+_39_modules?')},yqJW:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/choose-repository/test-cast-list/index.less?")},zkdm:function(module,exports,__webpack_require__){eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./src/pages/tasks/code-repository/picture-panel/index.less?")}}]);