=x;_--)if(A(_,Number.MAX_VALUE,L))return;if(i.wrap!=!1){for(_=w,x=h.row;_>=x;_--)if(A(_,Number.MAX_VALUE,L))return}}};else var v=function(_){var k=h.row;if(!A(k,h.column,_)){for(k=k+1;k<=w;k++)if(A(k,0,_))return;if(i.wrap!=!1){for(k=x,w=h.row;k<=w;k++)if(A(k,0,_))return}}};if(i.$isMultiLine)var p=n.length,A=function(L,_,k){var C=e?L-p+1:L;if(!(C<0||C+p>t.getLength())){var m=t.getLine(C),$=m.search(n[0]);if(!(!e&&$<_||$===-1)){for(var g=1;g_)&&k(C,$,C+p-1,S))return!0}}};else if(e)var A=function(_,k,C){var m=t.getLine(_),$=[],g,S=0;for(n.lastIndex=0;g=n.exec(m);){var M=g[0].length;if(S=g.index,!M){if(S>=m.length)break;n.lastIndex=S+=u.skipEmptyMatch(m,S,a)}if(g.index+M>k)break;$.push(g.index,M)}for(var T=$.length-1;T>=0;T-=2){var R=$[T-1],M=$[T];if(C(_,R,_,R+M))return!0}};else var A=function(_,k,C){var m=t.getLine(_),$,g;for(n.lastIndex=k;g=n.exec(m);){var S=g[0].length;if($=g.index,C(_,$,_,$+S))return!0;if(!S&&(n.lastIndex=$+=u.skipEmptyMatch(m,$,a),$>=m.length))return!1}};return{forEach:v}},r}();function l(r,t){var i=u.supportsLookbehind();function n(c,h){h===void 0&&(h=!0);var x=i&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return x.test(c)||t.regExp?i&&t.$supportsUnicodeFlag?h?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var e=Array.from(r),o=e[0],a=e[e.length-1];return n(o)+r+n(a,!1)}b.Search=s}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(y,b,E){var u=this&&this.__extends||function(){var i=function(n,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,a){o.__proto__=a}||function(o,a){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(o[c]=a[c])},i(n,e)};return function(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");i(n,e);function o(){this.constructor=n}n.prototype=e===null?Object.create(e):(o.prototype=e.prototype,new o)}}(),d=y("../lib/keys"),f=y("../lib/useragent"),s=d.KEY_MODS,l=function(){function i(n,e){this.$init(n,e,!1)}return i.prototype.$init=function(n,e,o){this.platform=e||(f.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(n),this.$singleCommand=o},i.prototype.addCommand=function(n){this.commands[n.name]&&this.removeCommand(n),this.commands[n.name]=n,n.bindKey&&this._buildKeyHash(n)},i.prototype.removeCommand=function(n,e){var o=n&&(typeof n=="string"?n:n.name);n=this.commands[o],e||delete this.commands[o];var a=this.commandKeyBinding;for(var c in a){var h=a[c];if(h==n)delete a[c];else if(Array.isArray(h)){var x=h.indexOf(n);x!=-1&&(h.splice(x,1),h.length==1&&(a[c]=h[0]))}}},i.prototype.bindKey=function(n,e,o){if(typeof n=="object"&&n&&(o==null&&(o=n.position),n=n[this.platform]),!!n){if(typeof e=="function")return this.addCommand({exec:e,bindKey:n,name:e.name||n});n.split("|").forEach(function(a){var c="";if(a.indexOf(" ")!=-1){var h=a.split(/\s+/);a=h.pop(),h.forEach(function(v){var p=this.parseKeys(v),A=s[p.hashId]+p.key;c+=(c?" ":"")+A,this._addCommandToBinding(c,"chainKeys")},this),c+=" "}var x=this.parseKeys(a),w=s[x.hashId]+x.key;this._addCommandToBinding(c+w,e,o)},this)}},i.prototype._addCommandToBinding=function(n,e,o){var a=this.commandKeyBinding,c;if(!e)delete a[n];else if(!a[n]||this.$singleCommand)a[n]=e;else{Array.isArray(a[n])?(c=a[n].indexOf(e))!=-1&&a[n].splice(c,1):a[n]=[a[n]],typeof o!="number"&&(o=r(e));var h=a[n];for(c=0;co)break}h.splice(c,0,e)}},i.prototype.addCommands=function(n){n&&Object.keys(n).forEach(function(e){var o=n[e];if(o){if(typeof o=="string")return this.bindKey(o,e);typeof o=="function"&&(o={exec:o}),typeof o=="object"&&(o.name||(o.name=e),this.addCommand(o))}},this)},i.prototype.removeCommands=function(n){Object.keys(n).forEach(function(e){this.removeCommand(n[e])},this)},i.prototype.bindKeys=function(n){Object.keys(n).forEach(function(e){this.bindKey(e,n[e])},this)},i.prototype._buildKeyHash=function(n){this.bindKey(n.bindKey,n)},i.prototype.parseKeys=function(n){var e=n.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(w){return w}),o=e.pop(),a=d[o];if(d.FUNCTION_KEYS[a])o=d.FUNCTION_KEYS[a].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:o.toUpperCase(),hashId:-1}}else return{key:o,hashId:-1};for(var c=0,h=e.length;h--;){var x=d.KEY_MODS[e[h]];if(x==null)return typeof console<"u"&&console.error("invalid modifier "+e[h]+" in "+n),!1;c|=x}return{key:o,hashId:c}},i.prototype.findKeyCommand=function(n,e){var o=s[n]+e;return this.commandKeyBinding[o]},i.prototype.handleKeyboard=function(n,e,o,a){if(!(a<0)){var c=s[e]+o,h=this.commandKeyBinding[c];return n.$keyChain&&(n.$keyChain+=" "+c,h=this.commandKeyBinding[n.$keyChain]||h),h&&(h=="chainKeys"||h[h.length-1]=="chainKeys")?(n.$keyChain=n.$keyChain||c,{command:"null"}):(n.$keyChain&&((!e||e==4)&&o.length==1?n.$keyChain=n.$keyChain.slice(0,-c.length-1):(e==-1||a>0)&&(n.$keyChain="")),{command:h})}},i.prototype.getStatusText=function(n,e){return e.$keyChain||""},i}();function r(i){return typeof i=="object"&&i.bindKey&&i.bindKey.position||(i.isDefault?-100:0)}var t=function(i){u(n,i);function n(e,o){var a=i.call(this,e,o)||this;return a.$singleCommand=!0,a}return n}(l);t.call=function(i,n,e){l.prototype.$init.call(i,n,e,!0)},l.call=function(i,n,e){l.prototype.$init.call(i,n,e,!1)},b.HashHandler=t,b.MultiHashHandler=l}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(y,b,E){var u=this&&this.__extends||function(){var r=function(t,i){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,e){n.__proto__=e}||function(n,e){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o])},r(t,i)};return function(t,i){if(typeof i!="function"&&i!==null)throw new TypeError("Class extends value "+String(i)+" is not a constructor or null");r(t,i);function n(){this.constructor=t}t.prototype=i===null?Object.create(i):(n.prototype=i.prototype,new n)}}(),d=y("../lib/oop"),f=y("../keyboard/hash_handler").MultiHashHandler,s=y("../lib/event_emitter").EventEmitter,l=function(r){u(t,r);function t(i,n){var e=r.call(this,n,i)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(o){return o.args?o.command.exec(o.editor,o.args,o.event,!1):o.command.exec(o.editor,{},o.event,!0)}),e}return t.prototype.exec=function(i,n,e){if(Array.isArray(i)){for(var o=i.length;o--;)if(this.exec(i[o],n,e))return!0;return!1}if(typeof i=="string"&&(i=this.commands[i]),!this.canExecute(i,n))return!1;var a={editor:n,command:i,args:e};return a.returnValue=this._emit("exec",a),this._signal("afterExec",a),a.returnValue!==!1},t.prototype.canExecute=function(i,n){return typeof i=="string"&&(i=this.commands[i]),!(!i||n&&n.$readOnly&&!i.readOnly||this.$checkCommandState!=!1&&i.isAvailable&&!i.isAvailable(n))},t.prototype.toggleRecording=function(i){if(!this.$inReplay)return i&&i._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(n){this.macro.push([n.command,n.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},t.prototype.replay=function(i){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(i);try{this.$inReplay=!0,this.macro.forEach(function(n){typeof n=="string"?this.exec(n,i):this.exec(n[0],i,n[1])},this)}finally{this.$inReplay=!1}}},t.prototype.trimMacro=function(i){return i.map(function(n){return typeof n[0]!="string"&&(n[0]=n[0].name),n[1]||(n=n[0]),n})},t}(f);d.implement(l.prototype,s),b.CommandManager=l}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(y,b,E){var u=y("../lib/lang"),d=y("../config"),f=y("../range").Range;function s(r,t){return{win:r,mac:t}}b.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:s("Ctrl-,","Command-,"),exec:function(r){d.loadModule("ace/ext/settings_menu",function(t){t.init(r),r.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:s("Alt-E","F4"),exec:function(r){d.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(r,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:s("Alt-Shift-E","Shift-F4"),exec:function(r){d.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(r,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:s("Ctrl-A","Command-A"),exec:function(r){r.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:s(null,"Ctrl-L"),exec:function(r){r.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:s("Ctrl-L","Command-L"),exec:function(r,t){typeof t=="number"&&!isNaN(t)&&r.gotoLine(t),r.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:s("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(r){r.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:s("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(r){r.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:s("F2","F2"),exec:function(r){r.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:s("Alt-F2","Alt-F2"),exec:function(r){r.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:s(null,"Ctrl-Command-Option-0"),exec:function(r){r.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:s("Alt-0","Command-Option-0"),exec:function(r){r.session.foldAll(),r.session.unfold(r.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:s("Alt-Shift-0","Command-Option-Shift-0"),exec:function(r){r.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:s("Ctrl-K","Command-G"),exec:function(r){r.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:s("Ctrl-Shift-K","Command-Shift-G"),exec:function(r){r.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:s("Alt-K","Ctrl-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:s("Alt-Shift-K","Ctrl-Shift-G"),exec:function(r){r.selection.isEmpty()?r.selection.selectWord():r.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:s("Ctrl-F","Command-F"),exec:function(r){d.loadModule("ace/ext/searchbox",function(t){t.Search(r)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(r){r.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:s("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(r){r.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:s("Ctrl-Home","Command-Home|Command-Up"),exec:function(r){r.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:s("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(r){r.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:s("Up","Up|Ctrl-P"),exec:function(r,t){r.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:s("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(r){r.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:s("Ctrl-End","Command-End|Command-Down"),exec:function(r){r.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:s("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(r){r.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:s("Down","Down|Ctrl-N"),exec:function(r,t){r.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:s("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(r){r.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:s("Ctrl-Left","Option-Left"),exec:function(r){r.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:s("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:s("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(r){r.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:s("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(r){r.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:s("Left","Left|Ctrl-B"),exec:function(r,t){r.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:s("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(r){r.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:s("Ctrl-Right","Option-Right"),exec:function(r){r.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:s("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:s("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(r){r.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:s("Shift-Right","Shift-Right"),exec:function(r){r.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:s("Right","Right|Ctrl-F"),exec:function(r,t){r.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(r){r.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:s(null,"Option-PageDown"),exec:function(r){r.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:s("PageDown","PageDown|Ctrl-V"),exec:function(r){r.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(r){r.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:s(null,"Option-PageUp"),exec:function(r){r.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(r){r.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:s("Ctrl-Up",null),exec:function(r){r.renderer.scrollBy(0,-2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:s("Ctrl-Down",null),exec:function(r){r.renderer.scrollBy(0,2*r.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(r){r.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(r){r.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:s("Ctrl-Alt-E","Command-Option-E"),exec:function(r){r.commands.toggleRecording(r)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:s("Ctrl-Shift-E","Command-Shift-E"),exec:function(r){r.commands.replay(r)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:s("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(r){r.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:s("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(r){r.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:s("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(r){r.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:s(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(r){},readOnly:!0},{name:"cut",description:"Cut",exec:function(r){var t=r.$copyWithEmptySelection&&r.selection.isEmpty(),i=t?r.selection.getLineRange():r.selection.getRange();r._emit("cut",i),i.isEmpty()||r.session.remove(i),r.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(r,t){r.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:s("Ctrl-D","Command-D"),exec:function(r){r.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:s("Ctrl-Shift-D","Command-Shift-D"),exec:function(r){r.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:s("Ctrl-Alt-S","Command-Alt-S"),exec:function(r){r.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:s("Ctrl-/","Command-/"),exec:function(r){r.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:s("Ctrl-Shift-/","Command-Shift-/"),exec:function(r){r.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:s("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(r){r.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:s("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(r){r.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:s("Ctrl-H","Command-Option-F"),exec:function(r){d.loadModule("ace/ext/searchbox",function(t){t.Search(r,!0)})}},{name:"undo",description:"Undo",bindKey:s("Ctrl-Z","Command-Z"),exec:function(r){r.undo()}},{name:"redo",description:"Redo",bindKey:s("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(r){r.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:s("Alt-Shift-Up","Command-Option-Up"),exec:function(r){r.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:s("Alt-Up","Option-Up"),exec:function(r){r.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:s("Alt-Shift-Down","Command-Option-Down"),exec:function(r){r.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:s("Alt-Down","Option-Down"),exec:function(r){r.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:s("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(r){r.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:s("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(r){r.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:s("Shift-Delete",null),exec:function(r){if(r.selection.isEmpty())r.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:s("Alt-Backspace","Command-Backspace"),exec:function(r){r.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:s("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(r){r.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:s("Ctrl-Shift-Backspace",null),exec:function(r){var t=r.selection.getRange();t.start.column=0,r.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:s("Ctrl-Shift-Delete",null),exec:function(r){var t=r.selection.getRange();t.end.column=Number.MAX_VALUE,r.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:s("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(r){r.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:s("Ctrl-Delete","Alt-Delete"),exec:function(r){r.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:s("Shift-Tab","Shift-Tab"),exec:function(r){r.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:s("Tab","Tab"),exec:function(r){r.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:s("Ctrl-[","Ctrl-["),exec:function(r){r.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:s("Ctrl-]","Ctrl-]"),exec:function(r){r.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(r,t){r.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(r,t){r.insert(u.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:s(null,"Ctrl-O"),exec:function(r){r.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:s("Alt-Shift-X","Ctrl-T"),exec:function(r){r.transposeLetters()},multiSelectAction:function(r){r.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:s("Ctrl-U","Ctrl-U"),exec:function(r){r.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:s("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(r){r.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:s(null,null),exec:function(r){r.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:s("Ctrl-Shift-L","Command-Shift-L"),exec:function(r){var t=r.selection.getRange();t.start.column=t.end.column=0,t.end.row++,r.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:s("Ctrl+F3","F3"),exec:function(r){r.openLink()}},{name:"joinlines",description:"Join lines",bindKey:s(null,null),exec:function(r){for(var t=r.selection.isBackwards(),i=t?r.selection.getSelectionLead():r.selection.getSelectionAnchor(),n=t?r.selection.getSelectionAnchor():r.selection.getSelectionLead(),e=r.session.doc.getLine(i.row).length,o=r.session.doc.getTextRange(r.selection.getRange()),a=o.replace(/\n\s*/," ").length,c=r.session.doc.getLine(i.row),h=i.row+1;h<=n.row+1;h++){var x=u.stringTrimLeft(u.stringTrimRight(r.session.doc.getLine(h)));x.length!==0&&(x=" "+x),c+=x}n.row+10?(r.selection.moveCursorTo(i.row,i.column),r.selection.selectTo(i.row,i.column+a)):(e=r.session.doc.getLine(i.row).length>e?e+1:e,r.selection.moveCursorTo(i.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:s(null,null),exec:function(r){var t=r.session.doc.getLength()-1,i=r.session.doc.getLine(t).length,n=r.selection.rangeList.ranges,e=[];n.length<1&&(n=[r.selection.getRange()]);for(var o=0;ol[r].column&&r++,n.unshift(r,0),l.splice.apply(l,n),this.$updateRows()}}},f.prototype.$updateRows=function(){var s=this.session.lineWidgets;if(s){var l=!0;s.forEach(function(r,t){if(r)for(l=!1,r.row=t;r.$oldWidget;)r.$oldWidget.row=t,r=r.$oldWidget}),l&&(this.session.lineWidgets=null)}},f.prototype.$registerLineWidget=function(s){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var l=this.session.lineWidgets[s.row];return l&&(s.$oldWidget=l,l.el&&l.el.parentNode&&(l.el.parentNode.removeChild(l.el),l._inDocument=!1)),this.session.lineWidgets[s.row]=s,s},f.prototype.addLineWidget=function(s){if(this.$registerLineWidget(s),s.session=this.session,!this.editor)return s;var l=this.editor.renderer;s.html&&!s.el&&(s.el=u.createElement("div"),s.el.innerHTML=s.html),s.text&&!s.el&&(s.el=u.createElement("div"),s.el.textContent=s.text),s.el&&(u.addCssClass(s.el,"ace_lineWidgetContainer"),s.className&&u.addCssClass(s.el,s.className),s.el.style.position="absolute",s.el.style.zIndex="5",l.container.appendChild(s.el),s._inDocument=!0,s.coverGutter||(s.el.style.zIndex="3"),s.pixelHeight==null&&(s.pixelHeight=s.el.offsetHeight)),s.rowCount==null&&(s.rowCount=s.pixelHeight/l.layerConfig.lineHeight);var r=this.session.getFoldAt(s.row,0);if(s.$fold=r,r){var t=this.session.lineWidgets;s.row==r.end.row&&!t[r.start.row]?t[r.start.row]=s:s.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows(),this.renderWidgets(null,l),this.onWidgetChanged(s),s},f.prototype.removeLineWidget=function(s){if(s._inDocument=!1,s.session=null,s.el&&s.el.parentNode&&s.el.parentNode.removeChild(s.el),s.editor&&s.editor.destroy)try{s.editor.destroy()}catch{}if(this.session.lineWidgets){var l=this.session.lineWidgets[s.row];if(l==s)this.session.lineWidgets[s.row]=s.$oldWidget,s.$oldWidget&&this.onWidgetChanged(s.$oldWidget);else for(;l;){if(l.$oldWidget==s){l.$oldWidget=s.$oldWidget;break}l=l.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:s.row}}}),this.$updateRows()},f.prototype.getWidgetsAtRow=function(s){for(var l=this.session.lineWidgets,r=l&&l[s],t=[];r;)t.push(r),r=r.$oldWidget;return t},f.prototype.onWidgetChanged=function(s){this.session._changedWidgets.push(s),this.editor&&this.editor.renderer.updateFull()},f.prototype.measureWidgets=function(s,l){var r=this.session._changedWidgets,t=l.layerConfig;if(!(!r||!r.length)){for(var i=1/0,n=0;n0&&!t[i];)i--;this.firstRow=r.firstRow,this.lastRow=r.lastRow,l.$cursorLayer.config=r;for(var e=i;e<=n;e++){var o=t[e];if(!(!o||!o.el)){if(o.hidden){o.el.style.top=-100-(o.pixelHeight||0)+"px";continue}o._inDocument||(o._inDocument=!0,l.container.appendChild(o.el));var a=l.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;o.coverLine||(a+=r.lineHeight*this.session.getRowLineCount(o.row)),o.el.style.top=a-r.offset+"px";var c=o.coverGutter?0:l.gutterWidth;o.fixedWidth||(c-=l.scrollLeft),o.el.style.left=c+"px",o.fullWidth&&o.screenWidth&&(o.el.style.minWidth=r.width+2*r.padding+"px"),o.fixedWidth?o.el.style.right=l.scrollBar.getWidth()+"px":o.el.style.right=""}}}},f}();b.LineWidgets=d}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(y,b,E){var u=y("../lib/keys"),d=y("../mouse/default_gutter_handler").GutterTooltip,f=function(){function l(r){this.editor=r,this.gutterLayer=r.renderer.$gutterLayer,this.element=r.renderer.$gutter,this.lines=r.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new d(this.editor)}return l.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},l.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},l.prototype.$onGutterKeyDown=function(r){if(this.annotationTooltip.isOpen){r.preventDefault(),r.keyCode===u.escape&&this.annotationTooltip.hideTooltip();return}if(r.target===this.element){if(r.keyCode!=u.enter)return;r.preventDefault();var t=this.editor.getCursorPosition().row;this.editor.isRowVisible(t)||this.editor.scrollToLine(t,!0,!0),setTimeout((function(){var i=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),n=this.$findNearestFoldWidget(i),e=this.$findNearestAnnotation(i);if(!(n===null&&e===null)){if(n===null&&e!==null){this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(n!==null&&e===null){this.activeRowIndex=n,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(e-i)0||r+t=0&&this.$isFoldWidgetVisible(r-t))return r-t;if(r+t<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(r+t))return r+t}return null},l.prototype.$findNearestAnnotation=function(r){if(this.$isAnnotationVisible(r))return r;for(var t=0;r-t>0||r+t=0&&this.$isAnnotationVisible(r-t))return r-t;if(r+t<=this.lines.getLength()-1&&this.$isAnnotationVisible(r+t))return r+t}return null},l.prototype.$focusFoldWidget=function(r){if(r!=null){var t=this.$getFoldWidget(r);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},l.prototype.$focusAnnotation=function(r){if(r!=null){var t=this.$getAnnotation(r);t.classList.add(this.editor.renderer.keyboardFocusClassName),t.focus()}},l.prototype.$blurFoldWidget=function(r){var t=this.$getFoldWidget(r);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},l.prototype.$blurAnnotation=function(r){var t=this.$getAnnotation(r);t.classList.remove(this.editor.renderer.keyboardFocusClassName),t.blur()},l.prototype.$moveFoldWidgetUp=function(){for(var r=this.activeRowIndex;r>0;)if(r--,this.$isFoldWidgetVisible(r)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=r,this.$focusFoldWidget(this.activeRowIndex);return}},l.prototype.$moveFoldWidgetDown=function(){for(var r=this.activeRowIndex;r0;)if(r--,this.$isAnnotationVisible(r)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$focusAnnotation(this.activeRowIndex);return}},l.prototype.$moveAnnotationDown=function(){for(var r=this.activeRowIndex;r=$.length&&($=void 0),{value:$&&$[M++],done:!$}}};throw new TypeError(g?"Object is not iterable.":"Symbol.iterator is not defined.")},d=y("./lib/oop"),f=y("./lib/dom"),s=y("./lib/lang"),l=y("./lib/useragent"),r=y("./keyboard/textinput").TextInput,t=y("./mouse/mouse_handler").MouseHandler,i=y("./mouse/fold_handler").FoldHandler,n=y("./keyboard/keybinding").KeyBinding,e=y("./edit_session").EditSession,o=y("./search").Search,a=y("./range").Range,c=y("./lib/event_emitter").EventEmitter,h=y("./commands/command_manager").CommandManager,x=y("./commands/default_commands").commands,w=y("./config"),v=y("./token_iterator").TokenIterator,p=y("./line_widgets").LineWidgets,A=y("./keyboard/gutter_handler").GutterKeyboardHandler,L=y("./config").nls,_=y("./clipboard"),k=y("./lib/keys"),C=function(){function $(g,S,M){this.session,this.$toDestroy=[];var T=g.getContainerElement();this.container=T,this.renderer=g,this.id="editor"+ ++$.$uid,this.commands=new h(l.isMac?"mac":"win",x),typeof document=="object"&&(this.textInput=new r(g.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new t(this),new i(this)),this.keyBinding=new n(this),this.$search=new o().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=s.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(R,D){D._$emitInputEvent.schedule(31)}),this.setSession(S||M&&M.session||new e("")),w.resetOptions(this),M&&this.setOptions(M),w._signal("editor",this)}return $.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=s.delayedCall(this.endOperation.bind(this,!0)),this.on("change",(function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.docChanged=!0}).bind(this),!0),this.on("changeSelection",(function(){this.curOp||(this.startOperation(),this.curOp.selectionBefore=this.$lastSel),this.curOp.selectionChanged=!0}).bind(this),!0)},$.prototype.startOperation=function(g){if(this.curOp){if(!g||this.curOp.command)return;this.prevOp=this.curOp}g||(this.previousCommand=null,g={}),this.$opResetTimer.schedule(),this.curOp=this.session.curOp={command:g.command||{},args:g.args,scrollTop:this.renderer.scrollTop},this.curOp.selectionBefore=this.selection.toJSON()},$.prototype.endOperation=function(g){if(this.curOp&&this.session){if(g&&g.returnValue===!1||!this.session)return this.curOp=null;if(g==!0&&this.curOp.command&&this.curOp.command.name=="mouse"||(this._signal("beforeEndOperation"),!this.curOp))return;var S=this.curOp.command,M=S&&S.scrollIntoView;if(M){switch(M){case"center-animate":M="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var T=this.selection.getRange(),R=this.renderer.layerConfig;(T.start.row>=R.lastRow||T.end.row<=R.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}M=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}var D=this.selection.toJSON();this.curOp.selectionAfter=D,this.$lastSel=this.selection.toJSON(),this.session.getUndoManager().addSelection(D),this.prevOp=this.curOp,this.curOp=null}},$.prototype.$historyTracker=function(g){if(this.$mergeUndoDeltas){var S=this.prevOp,M=this.$mergeableCommands,T=S.command&&g.command.name==S.command.name;if(g.command.name=="insertstring"){var R=g.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),T=T&&this.mergeNextCommand&&(!/\s/.test(R)||/\s/.test(S.args)),this.mergeNextCommand=!0}else T=T&&M.indexOf(g.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(T=!1),T?this.session.mergeUndoDeltas=!0:M.indexOf(g.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},$.prototype.setKeyboardHandler=function(g,S){if(g&&typeof g=="string"&&g!="ace"){this.$keybindingId=g;var M=this;w.loadModule(["keybinding",g],function(T){M.$keybindingId==g&&M.keyBinding.setKeyboardHandler(T&&T.handler),S&&S()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(g),S&&S()},$.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},$.prototype.setSession=function(g){if(this.session!=g){this.curOp&&this.endOperation(),this.curOp={};var S=this.session;if(S){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange);var M=this.session.getSelection();M.off("changeCursor",this.$onCursorChange),M.off("changeSelection",this.$onSelectionChange)}this.session=g,g?(this.$onDocumentChange=this.onDocumentChange.bind(this),g.on("change",this.$onDocumentChange),this.renderer.setSession(g),this.$onChangeMode=this.onChangeMode.bind(this),g.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),g.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),g.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),g.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),g.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),g.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=g.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(g)),this._signal("changeSession",{session:g,oldSession:S}),this.curOp=null,S&&S._signal("changeEditor",{oldEditor:this}),g&&g._signal("changeEditor",{editor:this}),g&&!g.destroyed&&g.bgTokenizer.scheduleStart()}},$.prototype.getSession=function(){return this.session},$.prototype.setValue=function(g,S){return this.session.doc.setValue(g),S?S==1?this.navigateFileEnd():S==-1&&this.navigateFileStart():this.selectAll(),g},$.prototype.getValue=function(){return this.session.getValue()},$.prototype.getSelection=function(){return this.selection},$.prototype.resize=function(g){this.renderer.onResize(g)},$.prototype.setTheme=function(g,S){this.renderer.setTheme(g,S)},$.prototype.getTheme=function(){return this.renderer.getTheme()},$.prototype.setStyle=function(g){this.renderer.setStyle(g)},$.prototype.unsetStyle=function(g){this.renderer.unsetStyle(g)},$.prototype.getFontSize=function(){return this.getOption("fontSize")||f.computedStyle(this.container).fontSize},$.prototype.setFontSize=function(g){this.setOption("fontSize",g)},$.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var g=this;this.$highlightPending=!0,setTimeout(function(){g.$highlightPending=!1;var S=g.session;if(!(!S||S.destroyed)){S.$bracketHighlight&&(S.$bracketHighlight.markerIds.forEach(function(W){S.removeMarker(W)}),S.$bracketHighlight=null);var M=g.getCursorPosition(),T=g.getKeyboardHandler(),R=T&&T.$getDirectionForHighlight&&T.$getDirectionForHighlight(g),D=S.getMatchingBracketRanges(M,R);if(!D){var N=new v(S,M.row,M.column),P=N.getCurrentToken();if(P&&/\b(?:tag-open|tag-name)/.test(P.type)){var j=S.getMatchingTags(M);j&&(D=[j.openTagName.isEmpty()?j.openTag:j.openTagName,j.closeTagName.isEmpty()?j.closeTag:j.closeTagName])}}if(!D&&S.$mode.getMatching&&(D=S.$mode.getMatching(g.session)),!D){g.getHighlightIndentGuides()&&g.renderer.$textLayer.$highlightIndentGuide();return}var H="ace_bracket";Array.isArray(D)?D.length==1&&(H="ace_error_bracket"):D=[D],D.length==2&&(a.comparePoints(D[0].end,D[1].start)==0?D=[a.fromPoints(D[0].start,D[1].end)]:a.comparePoints(D[0].start,D[1].end)==0&&(D=[a.fromPoints(D[1].start,D[0].end)])),S.$bracketHighlight={ranges:D,markerIds:D.map(function(W){return S.addMarker(W,H,"text")})},g.getHighlightIndentGuides()&&g.renderer.$textLayer.$highlightIndentGuide()}},50)}},$.prototype.focus=function(){this.textInput.focus()},$.prototype.isFocused=function(){return this.textInput.isFocused()},$.prototype.blur=function(){this.textInput.blur()},$.prototype.onFocus=function(g){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",g))},$.prototype.onBlur=function(g){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",g))},$.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},$.prototype.onDocumentChange=function(g){var S=this.session.$useWrapMode,M=g.start.row==g.end.row?g.end.row:1/0;this.renderer.updateLines(g.start.row,M,S),this._signal("change",g),this.$cursorChange()},$.prototype.onTokenizerUpdate=function(g){var S=g.data;this.renderer.updateLines(S.first,S.last)},$.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},$.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},$.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},$.prototype.$updateHighlightActiveLine=function(){var g=this.getSession(),S;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(S=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(S=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(S=!1)),g.$highlightLineMarker&&!S)g.removeMarker(g.$highlightLineMarker.id),g.$highlightLineMarker=null;else if(!g.$highlightLineMarker&&S){var M=new a(S.row,S.column,S.row,1/0);M.id=g.addMarker(M,"ace_active-line","screenLine"),g.$highlightLineMarker=M}else S&&(g.$highlightLineMarker.start.row=S.row,g.$highlightLineMarker.end.row=S.row,g.$highlightLineMarker.start.column=S.column,g._signal("changeBackMarker"))},$.prototype.onSelectionChange=function(g){var S=this.session;if(S.$selectionMarker&&S.removeMarker(S.$selectionMarker),S.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var M=this.selection.getRange(),T=this.getSelectionStyle();S.$selectionMarker=S.addMarker(M,"ace_selection",T)}var R=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(R),this._signal("changeSelection")},$.prototype.$getSelectionHighLightRegexp=function(){var g=this.session,S=this.getSelectionRange();if(!(S.isEmpty()||S.isMultiLine())){var M=S.start.column,T=S.end.column,R=g.getLine(S.start.row),D=R.substring(M,T);if(!(D.length>5e3||!/[\w\d]/.test(D))){var N=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:D}),P=R.substring(M-1,T+1);if(N.test(P))return N}}},$.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},$.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},$.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},$.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},$.prototype.onChangeMode=function(g){this.renderer.updateText(),this._emit("changeMode",g)},$.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},$.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},$.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},$.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},$.prototype.getCopyText=function(){var g=this.getSelectedText(),S=this.session.doc.getNewLineCharacter(),M=!1;if(!g&&this.$copyWithEmptySelection){M=!0;for(var T=this.selection.getAllRanges(),R=0;RW.search(/\S|$/)){var P=W.substr(R.column).search(/\S|$/);M.doc.removeInLine(R.row,R.column,R.column+P)}}this.clearSelection();var j=R.column,H=M.getState(R.row),W=M.getLine(R.row),B=T.checkOutdent(H,W,g);if(M.insert(R,g),D&&D.selection&&(D.selection.length==2?this.selection.setSelectionRange(new a(R.row,j+D.selection[0],R.row,j+D.selection[1])):this.selection.setSelectionRange(new a(R.row+D.selection[0],D.selection[1],R.row+D.selection[2],D.selection[3]))),this.$enableAutoIndent){if(M.getDocument().isNewLine(g)){var U=T.getNextLineIndent(H,W.slice(0,R.column),M.getTabString());M.insert({row:R.row+1,column:0},U)}B&&T.autoOutdent(H,M,R.row)}},$.prototype.autoIndent=function(){for(var g=this.session,S=g.getMode(),M=this.selection.isEmpty()?[new a(0,0,g.doc.getLength()-1,0)]:this.selection.getAllRanges(),T="",R="",D="",N=g.getTabString(),P=0;P0&&(T=g.getState(W-1),R=g.getLine(W-1),D=S.getNextLineIndent(T,R,N));var B=g.getLine(W),U=S.$getIndent(B);if(D!==U){if(U.length>0){var K=new a(W,0,W,U.length);g.remove(K)}D.length>0&&g.insert({row:W,column:0},D)}S.autoOutdent(T,g,W)}},$.prototype.onTextInput=function(g,S){if(!S)return this.keyBinding.onTextInput(g);this.startOperation({command:{name:"insertstring"}});var M=this.applyComposition.bind(this,g,S);this.selection.rangeCount?this.forEachSelection(M):M(),this.endOperation()},$.prototype.applyComposition=function(g,S){if(S.extendLeft||S.extendRight){var M=this.selection.getRange();M.start.column-=S.extendLeft,M.end.column+=S.extendRight,M.start.column<0&&(M.start.row--,M.start.column+=this.session.getLine(M.start.row).length+1),this.selection.setRange(M),!g&&!M.isEmpty()&&this.remove()}if((g||!this.selection.isEmpty())&&this.insert(g,!0),S.restoreStart||S.restoreEnd){var M=this.selection.getRange();M.start.column-=S.restoreStart,M.end.column-=S.restoreEnd,this.selection.setRange(M)}},$.prototype.onCommandKey=function(g,S,M){return this.keyBinding.onCommandKey(g,S,M)},$.prototype.setOverwrite=function(g){this.session.setOverwrite(g)},$.prototype.getOverwrite=function(){return this.session.getOverwrite()},$.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},$.prototype.setScrollSpeed=function(g){this.setOption("scrollSpeed",g)},$.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},$.prototype.setDragDelay=function(g){this.setOption("dragDelay",g)},$.prototype.getDragDelay=function(){return this.getOption("dragDelay")},$.prototype.setSelectionStyle=function(g){this.setOption("selectionStyle",g)},$.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},$.prototype.setHighlightActiveLine=function(g){this.setOption("highlightActiveLine",g)},$.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},$.prototype.setHighlightGutterLine=function(g){this.setOption("highlightGutterLine",g)},$.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},$.prototype.setHighlightSelectedWord=function(g){this.setOption("highlightSelectedWord",g)},$.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},$.prototype.setAnimatedScroll=function(g){this.renderer.setAnimatedScroll(g)},$.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},$.prototype.setShowInvisibles=function(g){this.renderer.setShowInvisibles(g)},$.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},$.prototype.setDisplayIndentGuides=function(g){this.renderer.setDisplayIndentGuides(g)},$.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},$.prototype.setHighlightIndentGuides=function(g){this.renderer.setHighlightIndentGuides(g)},$.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},$.prototype.setShowPrintMargin=function(g){this.renderer.setShowPrintMargin(g)},$.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},$.prototype.setPrintMarginColumn=function(g){this.renderer.setPrintMarginColumn(g)},$.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},$.prototype.setReadOnly=function(g){this.setOption("readOnly",g)},$.prototype.getReadOnly=function(){return this.getOption("readOnly")},$.prototype.setBehavioursEnabled=function(g){this.setOption("behavioursEnabled",g)},$.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},$.prototype.setWrapBehavioursEnabled=function(g){this.setOption("wrapBehavioursEnabled",g)},$.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},$.prototype.setShowFoldWidgets=function(g){this.setOption("showFoldWidgets",g)},$.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},$.prototype.setFadeFoldWidgets=function(g){this.setOption("fadeFoldWidgets",g)},$.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},$.prototype.remove=function(g){this.selection.isEmpty()&&(g=="left"?this.selection.selectLeft():this.selection.selectRight());var S=this.getSelectionRange();if(this.getBehavioursEnabled()){var M=this.session,T=M.getState(S.start.row),R=M.getMode().transformAction(T,"deletion",this,M,S);if(S.end.column===0){var D=M.getTextRange(S);if(D[D.length-1]==`
+`){var N=M.getLine(S.end.row);/^\s+$/.test(N)&&(S.end.column=N.length)}}R&&(S=R)}this.session.remove(S),this.clearSelection()},$.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},$.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},$.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},$.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var g=this.getSelectionRange();g.start.column==g.end.column&&g.start.row==g.end.row&&(g.end.column=0,g.end.row++),this.session.remove(g),this.clearSelection()},$.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var g=this.getCursorPosition();this.insert(`
+`),this.moveCursorToPosition(g)},$.prototype.setGhostText=function(g,S){this.session.widgetManager||(this.session.widgetManager=new p(this.session),this.session.widgetManager.attach(this)),this.renderer.setGhostText(g,S)},$.prototype.removeGhostText=function(){this.session.widgetManager&&this.renderer.removeGhostText()},$.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var g=this.getCursorPosition(),S=g.column;if(S!==0){var M=this.session.getLine(g.row),T,R;SP.toLowerCase()?1:0});for(var R=new a(0,0,0,0),T=g.first;T<=g.last;T++){var D=S.getLine(T);R.start.row=T,R.end.row=T,R.end.column=D.length,S.replace(R,M[T-g.first])}},$.prototype.toggleCommentLines=function(){var g=this.session.getState(this.getCursorPosition().row),S=this.$getSelectedRows();this.session.getMode().toggleCommentLines(g,this.session,S.first,S.last)},$.prototype.toggleBlockComment=function(){var g=this.getCursorPosition(),S=this.session.getState(g.row),M=this.getSelectionRange();this.session.getMode().toggleBlockComment(S,this.session,M,g)},$.prototype.getNumberAt=function(g,S){var M=/[\-]?[0-9]+(?:\.[0-9]+)?/g;M.lastIndex=0;for(var T=this.session.getLine(g);M.lastIndex=S){var D={value:R[0],start:R.index,end:R.index+R[0].length};return D}}return null},$.prototype.modifyNumber=function(g){var S=this.selection.getCursor().row,M=this.selection.getCursor().column,T=new a(S,M-1,S,M),R=this.session.getTextRange(T);if(!isNaN(parseFloat(R))&&isFinite(R)){var D=this.getNumberAt(S,M);if(D){var N=D.value.indexOf(".")>=0?D.start+D.value.indexOf(".")+1:D.end,P=D.start+D.value.length-N,j=parseFloat(D.value);j*=Math.pow(10,P),N!==D.end&&M=N&&D<=P&&(M=ne,j.selection.clearSelection(),j.moveCursorTo(g,N+T),j.selection.selectTo(g,P+T)),N=P});for(var H=this.$toggleWordPairs,W,B=0;B=P&&N<=j&&U.match(/((?:https?|ftp):\/\/[\S]+)/)){H=U.replace(/[\s:.,'";}\]]+$/,"");break}P=j}}catch(K){M={error:K}}finally{try{B&&!B.done&&(T=W.return)&&T.call(W)}finally{if(M)throw M.error}}return H},$.prototype.openLink=function(){var g=this.selection.getCursor(),S=this.findLinkAt(g.row,g.column);return S&&window.open(S,"_blank"),S!=null},$.prototype.removeLines=function(){var g=this.$getSelectedRows();this.session.removeFullLines(g.first,g.last),this.clearSelection()},$.prototype.duplicateSelection=function(){var g=this.selection,S=this.session,M=g.getRange(),T=g.isBackwards();if(M.isEmpty()){var R=M.start.row;S.duplicateLines(R,R)}else{var D=T?M.start:M.end,N=S.insert(D,S.getTextRange(M));M.start=D,M.end=N,g.setSelectionRange(M,T)}},$.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},$.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},$.prototype.moveText=function(g,S,M){return this.session.moveText(g,S,M)},$.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},$.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},$.prototype.$moveLines=function(g,S){var M,T,R=this.selection;if(!R.inMultiSelectMode||this.inVirtualSelectionMode){var D=R.toOrientedRange();M=this.$getSelectedRows(D),T=this.session.$moveLines(M.first,M.last,S?0:g),S&&g==-1&&(T=0),D.moveBy(T,0),R.fromOrientedRange(D)}else{var N=R.rangeList.ranges;R.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var P=0,j=0,H=N.length,W=0;WK+1)break;K=Y.last}for(W--,P=this.session.$moveLines(U,K,S?0:g),S&&g==-1&&(B=W+1);B<=W;)N[B].moveBy(P,0),B++;S||(P=0),j+=P}R.fromOrientedRange(R.ranges[0]),R.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},$.prototype.$getSelectedRows=function(g){return g=(g||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(g.start.row),last:this.session.getRowFoldEnd(g.end.row)}},$.prototype.onCompositionStart=function(g){this.renderer.showComposition(g)},$.prototype.onCompositionUpdate=function(g){this.renderer.setCompositionText(g)},$.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},$.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},$.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},$.prototype.isRowVisible=function(g){return g>=this.getFirstVisibleRow()&&g<=this.getLastVisibleRow()},$.prototype.isRowFullyVisible=function(g){return g>=this.renderer.getFirstFullyVisibleRow()&&g<=this.renderer.getLastFullyVisibleRow()},$.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},$.prototype.$moveByPage=function(g,S){var M=this.renderer,T=this.renderer.layerConfig,R=g*Math.floor(T.height/T.lineHeight);S===!0?this.selection.$moveSelection(function(){this.moveCursorBy(R,0)}):S===!1&&(this.selection.moveCursorBy(R,0),this.selection.clearSelection());var D=M.scrollTop;M.scrollBy(0,R*T.lineHeight),S!=null&&M.scrollCursorIntoView(null,.5),M.animateScrolling(D)},$.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},$.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},$.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},$.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},$.prototype.scrollPageDown=function(){this.$moveByPage(1)},$.prototype.scrollPageUp=function(){this.$moveByPage(-1)},$.prototype.scrollToRow=function(g){this.renderer.scrollToRow(g)},$.prototype.scrollToLine=function(g,S,M,T){this.renderer.scrollToLine(g,S,M,T)},$.prototype.centerSelection=function(){var g=this.getSelectionRange(),S={row:Math.floor(g.start.row+(g.end.row-g.start.row)/2),column:Math.floor(g.start.column+(g.end.column-g.start.column)/2)};this.renderer.alignCursor(S,.5)},$.prototype.getCursorPosition=function(){return this.selection.getCursor()},$.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},$.prototype.getSelectionRange=function(){return this.selection.getRange()},$.prototype.selectAll=function(){this.selection.selectAll()},$.prototype.clearSelection=function(){this.selection.clearSelection()},$.prototype.moveCursorTo=function(g,S){this.selection.moveCursorTo(g,S)},$.prototype.moveCursorToPosition=function(g){this.selection.moveCursorToPosition(g)},$.prototype.jumpToMatching=function(g,S){var M=this.getCursorPosition(),T=new v(this.session,M.row,M.column),R=T.getCurrentToken(),D=0;R&&R.type.indexOf("tag-name")!==-1&&(R=T.stepBackward());var N=R||T.stepForward();if(N){var P,j=!1,H={},W=M.column-N.start,B,U={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(N.value.match(/[{}()\[\]]/g)){for(;W1?H[N.value]++:R.value===""&&H[N.value]--,H[N.value]===-1&&(P="tag",j=!0));j||(R=N,D++,N=T.stepForward(),W=0)}while(N&&!j);if(P){var K,Y;if(P==="bracket")K=this.session.getBracketRange(M),K||(K=new a(T.getCurrentTokenRow(),T.getCurrentTokenColumn()+W-1,T.getCurrentTokenRow(),T.getCurrentTokenColumn()+W-1),Y=K.start,(S||Y.row===M.row&&Math.abs(Y.column-M.column)<2)&&(K=this.session.getBracketRange(Y)));else if(P==="tag"){if(!N||N.type.indexOf("tag-name")===-1)return;if(K=new a(T.getCurrentTokenRow(),T.getCurrentTokenColumn()-2,T.getCurrentTokenRow(),T.getCurrentTokenColumn()-2),K.compare(M.row,M.column)===0){var Q=this.session.getMatchingTags(M);Q&&(Q.openTag.contains(M.row,M.column)?(K=Q.closeTag,Y=K.start):(K=Q.openTag,Q.closeTag.start.row===M.row&&Q.closeTag.start.column===M.column?Y=K.end:Y=K.start))}Y=Y||K.start}Y=K&&K.cursor||Y,Y&&(g?K&&S?this.selection.setRange(K):K&&K.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(Y.row,Y.column):this.selection.moveTo(Y.row,Y.column))}}},$.prototype.gotoLine=function(g,S,M){this.selection.clearSelection(),this.session.unfold({row:g-1,column:S||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(g-1,S||0),this.isRowFullyVisible(g-1)||this.scrollToLine(g-1,!0,M)},$.prototype.navigateTo=function(g,S){this.selection.moveTo(g,S)},$.prototype.navigateUp=function(g){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(-g||-1,0)},$.prototype.navigateDown=function(g){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(g||1,0)},$.prototype.navigateLeft=function(g){if(this.selection.isEmpty())for(g=g||1;g--;)this.selection.moveCursorLeft();else{var S=this.getSelectionRange().start;this.moveCursorToPosition(S)}this.clearSelection()},$.prototype.navigateRight=function(g){if(this.selection.isEmpty())for(g=g||1;g--;)this.selection.moveCursorRight();else{var S=this.getSelectionRange().end;this.moveCursorToPosition(S)}this.clearSelection()},$.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},$.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},$.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},$.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},$.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},$.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},$.prototype.replace=function(g,S){S&&this.$search.set(S);var M=this.$search.find(this.session),T=0;return M&&(this.$tryReplace(M,g)&&(T=1),this.selection.setSelectionRange(M),this.renderer.scrollSelectionIntoView(M.start,M.end)),T},$.prototype.replaceAll=function(g,S){S&&this.$search.set(S);var M=this.$search.findAll(this.session),T=0;if(!M.length)return T;var R=this.getSelectionRange();this.selection.moveTo(0,0);for(var D=M.length-1;D>=0;--D)this.$tryReplace(M[D],g)&&T++;return this.selection.setSelectionRange(R),T},$.prototype.$tryReplace=function(g,S){var M=this.session.getTextRange(g);return S=this.$search.replace(M,S),S!==null?(g.end=this.session.replace(g,S),g):null},$.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},$.prototype.find=function(g,S,M){S||(S={}),typeof g=="string"||g instanceof RegExp?S.needle=g:typeof g=="object"&&d.mixin(S,g);var T=this.selection.getRange();S.needle==null&&(g=this.session.getTextRange(T)||this.$search.$options.needle,g||(T=this.session.getWordRange(T.start.row,T.start.column),g=this.session.getTextRange(T)),this.$search.set({needle:g})),this.$search.set(S),S.start||this.$search.set({start:T});var R=this.$search.find(this.session);if(S.preventScroll)return R;if(R)return this.revealRange(R,M),R;S.backwards?T.start=T.end:T.end=T.start,this.selection.setRange(T)},$.prototype.findNext=function(g,S){this.find({skipCurrent:!0,backwards:!1},g,S)},$.prototype.findPrevious=function(g,S){this.find(g,{skipCurrent:!0,backwards:!0},S)},$.prototype.revealRange=function(g,S){this.session.unfold(g),this.selection.setSelectionRange(g);var M=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(g.start,g.end,.5),S!==!1&&this.renderer.animateScrolling(M)},$.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},$.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},$.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(g){g.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},$.prototype.setAutoScrollEditorIntoView=function(g){if(g){var S,M=this,T=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var R=this.$scrollAnchor;R.style.cssText="position:absolute",this.container.insertBefore(R,this.container.firstChild);var D=this.on("changeSelection",function(){T=!0}),N=this.renderer.on("beforeRender",function(){T&&(S=M.renderer.container.getBoundingClientRect())}),P=this.renderer.on("afterRender",function(){if(T&&S&&(M.isFocused()||M.searchBox&&M.searchBox.isFocused())){var j=M.renderer,H=j.$cursorLayer.$pixelPos,W=j.layerConfig,B=H.top-W.offset;H.top>=0&&B+S.top<0?T=!0:H.topwindow.innerHeight?T=!1:T=null,T!=null&&(R.style.top=B+"px",R.style.left=H.left+"px",R.style.height=W.lineHeight+"px",R.scrollIntoView(T)),T=S=null}});this.setAutoScrollEditorIntoView=function(j){j||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",D),this.renderer.off("afterRender",P),this.renderer.off("beforeRender",N))}}},$.prototype.$resetCursorStyle=function(){var g=this.$cursorStyle||"ace",S=this.renderer.$cursorLayer;S&&(S.setSmoothBlinking(/smooth/.test(g)),S.isBlinking=!this.$readOnly&&g!="wide",f.setCssClass(S.element,"ace_slim-cursors",/slim/.test(g)))},$.prototype.prompt=function(g,S,M){var T=this;w.loadModule("ace/ext/prompt",function(R){R.prompt(T,g,S,M)})},$}();C.$uid=0,C.prototype.curOp=null,C.prototype.prevOp={},C.prototype.$mergeableCommands=["backspace","del","insertstring"],C.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],d.implement(C.prototype,c),w.defineOptions(C.prototype,"editor",{selectionStyle:{set:function($){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:$})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function($){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function($){this.textInput.setReadOnly($),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function($){this.textInput.setCopyWithEmptySelection($)},initialValue:!1},cursorStyle:{set:function($){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function($){this.setAutoScrollEditorIntoView($)}},keyboardHandler:{set:function($){this.setKeyboardHandler($)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function($){this.session.setValue($)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function($){this.setSession($)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function($){this.renderer.$gutterLayer.setShowLineNumbers($),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),$&&this.$relativeLineNumbers?m.attach(this):m.detach(this)},initialValue:!0},relativeLineNumbers:{set:function($){this.$showLineNumbers&&$?m.attach(this):m.detach(this)}},placeholder:{set:function($){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var g=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(g&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),f.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!g&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),f.addCssClass(this.container,"ace_hasPlaceholder");var S=f.createElement("div");S.className="ace_placeholder",S.textContent=this.$placeholder||"",this.renderer.placeholderNode=S,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!g&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function($){var g={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(T){T.blur(),T.renderer.scroller.focus()},readOnly:!0},S=function(T){if(T.target==this.renderer.scroller&&T.keyCode===k.enter){T.preventDefault();var R=this.getCursorPosition().row;this.isRowVisible(R)||this.scrollToLine(R,!0,!0),this.focus()}},M;$?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(l.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",L("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",L("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",S.bind(this)),this.commands.addCommand(g),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",L("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",L("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),M||(M=new A(this)),M.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",S.bind(this)),this.commands.removeCommand(g),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),M&&M.removeListener())},initialValue:!1},textInputAriaLabel:{set:function($){this.$textInputAriaLabel=$},initialValue:""},enableMobileMenu:{set:function($){this.$enableMobileMenu=$},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var m={getText:function($,g){return(Math.abs($.selection.lead.row-g)||g+1+(g<9?"·":""))+""},getWidth:function($,g,S){return Math.max(g.toString().length,(S.lastRow+1).toString().length,2)*S.characterWidth},update:function($,g){g.renderer.$loop.schedule(g.renderer.CHANGE_GUTTER)},attach:function($){$.renderer.$gutterLayer.$renderer=this,$.on("changeSelection",this.update),this.update(null,$)},detach:function($){$.renderer.$gutterLayer.$renderer==this&&($.renderer.$gutterLayer.$renderer=null),$.off("changeSelection",this.update),this.update(null,$)}};b.Editor=C}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(y,b,E){var u=y("../lib/dom"),d=function(){function f(s,l){this.element=s,this.canvasHeight=l||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return f.prototype.moveContainer=function(s){u.translate(this.element,0,-(s.firstRowScreen*s.lineHeight%this.canvasHeight)-s.offset*this.$offsetCoefficient)},f.prototype.pageChanged=function(s,l){return Math.floor(s.firstRowScreen*s.lineHeight/this.canvasHeight)!==Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)},f.prototype.computeLineTop=function(s,l,r){var t=l.firstRowScreen*l.lineHeight,i=Math.floor(t/this.canvasHeight),n=r.documentToScreenRow(s,0)*l.lineHeight;return n-i*this.canvasHeight},f.prototype.computeLineHeight=function(s,l,r){return l.lineHeight*r.getRowLineCount(s)},f.prototype.getLength=function(){return this.cells.length},f.prototype.get=function(s){return this.cells[s]},f.prototype.shift=function(){this.$cacheCell(this.cells.shift())},f.prototype.pop=function(){this.$cacheCell(this.cells.pop())},f.prototype.push=function(s){if(Array.isArray(s)){this.cells.push.apply(this.cells,s);for(var l=u.createFragment(this.element),r=0;rx&&(p=h.end.row+1,h=o.getNextFoldLine(p,h),x=h?h.start.row:1/0),p>c){for(;this.$lines.getLength()>v+1;)this.$lines.pop();break}w=this.$lines.get(++v),w?w.row=p:(w=this.$lines.createCell(p,e,this.session,i),this.$lines.push(w)),this.$renderCell(w,e,h,p),p++}this._signal("afterRender"),this.$updateGutterWidth(e)},n.prototype.$updateGutterWidth=function(e){var o=this.session,a=o.gutterRenderer||this.$renderer,c=o.$firstLineNumber,h=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||o.$useWrapMode)&&(h=o.getLength()+c-1);var x=a?a.getWidth(o,h,e):h.toString().length*e.characterWidth,w=this.$padding||this.$computePadding();x+=w.left+w.right,x!==this.gutterWidth&&!isNaN(x)&&(this.gutterWidth=x,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",x))},n.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},n.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var o=this.$lines.cells;this.$cursorCell=null;for(var a=0;a=this.$cursorRow){if(c.row>this.$cursorRow){var h=this.session.getFoldLine(this.$cursorRow);if(a>0&&h&&h.start.row==o[a-1].row)c=o[a-1];else break}c.element.className="ace_gutter-active-line "+c.element.className,this.$cursorCell=c;break}}}}},n.prototype.scrollLines=function(e){var o=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(o,e))return this.update(e);this.$lines.moveContainer(e);var a=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),c=this.oldLastRow;if(this.oldLastRow=a,!o||c0;h--)this.$lines.shift();if(c>a)for(var h=this.session.getFoldedRowCount(a+1,c);h>0;h--)this.$lines.pop();e.firstRowc&&this.$lines.push(this.$renderLines(e,c+1,a)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},n.prototype.$renderLines=function(e,o,a){for(var c=[],h=o,x=this.session.getNextFoldLine(h),w=x?x.start.row:1/0;h>w&&(h=x.end.row+1,x=this.session.getNextFoldLine(h,x),w=x?x.start.row:1/0),!(h>a);){var v=this.$lines.createCell(h,e,this.session,i);this.$renderCell(v,e,x,h),c.push(v),h++}return c},n.prototype.$renderCell=function(e,o,a,c){var h=e.element,x=this.session,w=h.childNodes[0],v=h.childNodes[1],p=h.childNodes[2],A=p.firstChild,L=x.$firstLineNumber,_=x.$breakpoints,k=x.$decorations,C=x.gutterRenderer||this.$renderer,m=this.$showFoldWidgets&&x.foldWidgets,$=a?a.start.row:Number.MAX_VALUE,g=o.lineHeight+"px",S=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",M=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=(C?C.getText(x,c):c+L).toString();if(this.$highlightGutterLine&&(c==this.$cursorRow||a&&c=$&&this.$cursorRow<=a.end.row)&&(S+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),_[c]&&(S+=_[c]),k[c]&&(S+=k[c]),this.$annotations[c]&&c!==$&&(S+=this.$annotations[c].className),m){var R=m[c];R==null&&(R=m[c]=x.getFoldWidget(c))}if(R){var D="ace_fold-widget ace_"+R,N=R=="start"&&c==$&&ca.right-o.right)return"foldWidgets"},n}();t.prototype.$fixedWidth=!1,t.prototype.$highlightGutterLine=!0,t.prototype.$renderer="",t.prototype.$showLineNumbers=!0,t.prototype.$showFoldWidgets=!0,d.implement(t.prototype,s);function i(n){var e=document.createTextNode("");n.appendChild(e);var o=u.createElement("span");n.appendChild(o);var a=u.createElement("span");n.appendChild(a);var c=u.createElement("span");return a.appendChild(c),n}b.Gutter=t}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(y,b,E){var u=y("../range").Range,d=y("../lib/dom"),f=function(){function l(r){this.element=d.createElement("div"),this.element.className="ace_layer ace_marker-layer",r.appendChild(this.element)}return l.prototype.setPadding=function(r){this.$padding=r},l.prototype.setSession=function(r){this.session=r},l.prototype.setMarkers=function(r){this.markers=r},l.prototype.elt=function(r,t){var i=this.i!=-1&&this.element.childNodes[this.i];i?this.i++:(i=document.createElement("div"),this.element.appendChild(i),this.i=-1),i.style.cssText=t,i.className=r},l.prototype.update=function(r){if(r){this.config=r,this.i=0;var t;for(var i in this.markers){var n=this.markers[i];if(!n.range){n.update(t,this,this.session,r);continue}var e=n.range.clipRows(r.firstRow,r.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),n.renderer){var o=this.$getTop(e.start.row,r),a=this.$padding+e.start.column*r.characterWidth;n.renderer(t,e,a,o,r)}else n.type=="fullLine"?this.drawFullLineMarker(t,e,n.clazz,r):n.type=="screenLine"?this.drawScreenLineMarker(t,e,n.clazz,r):e.isMultiLine()?n.type=="text"?this.drawTextMarker(t,e,n.clazz,r):this.drawMultiLineMarker(t,e,n.clazz,r):this.drawSingleLineMarker(t,e,n.clazz+" ace_start ace_br15",r)}if(this.i!=-1)for(;this.iv,h==c),n,h==c?0:1,e)},l.prototype.drawMultiLineMarker=function(r,t,i,n,e){var o=this.$padding,a=n.lineHeight,c=this.$getTop(t.start.row,n),h=o+t.start.column*n.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(t.start.row)){var x=t.clone();x.end.row=x.start.row,x.end.column=this.session.getLine(x.start.row).length,this.drawBidiSingleLineMarker(r,x,i+" ace_br1 ace_start",n,null,e)}else this.elt(i+" ace_br1 ace_start","height:"+a+"px;right:"+o+"px;top:"+c+"px;left:"+h+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(t.end.row)){var x=t.clone();x.start.row=x.end.row,x.start.column=0,this.drawBidiSingleLineMarker(r,x,i+" ace_br12",n,null,e)}else{c=this.$getTop(t.end.row,n);var w=t.end.column*n.characterWidth;this.elt(i+" ace_br12","height:"+a+"px;width:"+w+"px;top:"+c+"px;left:"+o+"px;"+(e||""))}if(a=(t.end.row-t.start.row-1)*n.lineHeight,!(a<=0)){c=this.$getTop(t.start.row+1,n);var v=(t.start.column?1:0)|(t.end.column?0:8);this.elt(i+(v?" ace_br"+v:""),"height:"+a+"px;right:"+o+"px;top:"+c+"px;left:"+o+"px;"+(e||""))}},l.prototype.drawSingleLineMarker=function(r,t,i,n,e,o){if(this.session.$bidiHandler.isBidiRow(t.start.row))return this.drawBidiSingleLineMarker(r,t,i,n,e,o);var a=n.lineHeight,c=(t.end.column+(e||0)-t.start.column)*n.characterWidth,h=this.$getTop(t.start.row,n),x=this.$padding+t.start.column*n.characterWidth;this.elt(i,"height:"+a+"px;width:"+c+"px;top:"+h+"px;left:"+x+"px;"+(o||""))},l.prototype.drawBidiSingleLineMarker=function(r,t,i,n,e,o){var a=n.lineHeight,c=this.$getTop(t.start.row,n),h=this.$padding,x=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);x.forEach(function(w){this.elt(i,"height:"+a+"px;width:"+(w.width+(e||0))+"px;top:"+c+"px;left:"+(h+w.left)+"px;"+(o||""))},this)},l.prototype.drawFullLineMarker=function(r,t,i,n,e){var o=this.$getTop(t.start.row,n),a=n.lineHeight;t.start.row!=t.end.row&&(a+=this.$getTop(t.end.row,n)-o),this.elt(i,"height:"+a+"px;top:"+o+"px;left:0;right:0;"+(e||""))},l.prototype.drawScreenLineMarker=function(r,t,i,n,e){var o=this.$getTop(t.start.row,n),a=n.lineHeight;this.elt(i,"height:"+a+"px;top:"+o+"px;left:0;right:0;"+(e||""))},l}();f.prototype.$padding=0;function s(l,r,t,i){return(l?1:0)|(r?2:0)|(t?4:0)|(i?8:0)}b.Marker=f}),ace.define("ace/layer/text_util",["require","exports","module"],function(y,b,E){var u=new Set(["text","rparen","lparen"]);b.isTextToken=function(d){return u.has(d)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(y,b,E){var u=y("../lib/oop"),d=y("../lib/dom"),f=y("../lib/lang"),s=y("./lines").Lines,l=y("../lib/event_emitter").EventEmitter,r=y("../config").nls,t=y("./text_util").isTextToken,i=function(){function n(e){this.dom=d,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new s(this.element)}return n.prototype.$updateEolChar=function(){var e=this.session.doc,o=e.getNewLineCharacter()==`
+`&&e.getNewLineMode()!="windows",a=o?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=a)return this.EOL_CHAR=a,!0},n.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},n.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},n.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},n.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",(function(o){this._signal("changeCharacterSize",o)}).bind(this)),this.$pollSizeChanges()},n.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},n.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},n.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},n.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},n.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},n.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},n.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var o=this.$tabStrings=[0],a=1;aL&&(p=A.end.row+1,A=this.session.getNextFoldLine(p,A),L=A?A.start.row:1/0),!(p>h);){var _=x[w++];if(_){this.dom.removeChildren(_),this.$renderLine(_,p,p==L?A:!1),v&&(_.style.top=this.$lines.computeLineTop(p,e,this.session)+"px");var k=e.lineHeight*this.session.getRowLength(p)+"px";_.style.height!=k&&(v=!0,_.style.height=k)}p++}if(v)for(;w0;h--)this.$lines.shift();if(o.lastRow>e.lastRow)for(var h=this.session.getFoldedRowCount(e.lastRow+1,o.lastRow);h>0;h--)this.$lines.pop();e.firstRowo.lastRow&&this.$lines.push(this.$renderLinesFragment(e,o.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},n.prototype.$renderLinesFragment=function(e,o,a){for(var c=[],h=o,x=this.session.getNextFoldLine(h),w=x?x.start.row:1/0;h>w&&(h=x.end.row+1,x=this.session.getNextFoldLine(h,x),w=x?x.start.row:1/0),!(h>a);){var v=this.$lines.createCell(h,e,this.session),p=v.element;this.dom.removeChildren(p),d.setStyle(p.style,"height",this.$lines.computeLineHeight(h,e,this.session)+"px"),d.setStyle(p.style,"top",this.$lines.computeLineTop(h,e,this.session)+"px"),this.$renderLine(p,h,h==w?x:!1),this.$useLineGroups()?p.className="ace_line_group":p.className="ace_line",c.push(v),h++}return c},n.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var o=e.firstRow,a=e.lastRow,c=this.$lines;c.getLength();)c.pop();c.push(this.$renderLinesFragment(e,o,a))},n.prototype.$renderToken=function(e,o,a,c){for(var h=this,x=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,w=this.dom.createFragment(this.element),v,p=0;v=x.exec(c);){var A=v[1],L=v[2],_=v[3],k=v[4],C=v[5];if(!(!h.showSpaces&&L)){var m=p!=v.index?c.slice(p,v.index):"";if(p=v.index+v[0].length,m&&w.appendChild(this.dom.createTextNode(m,this.element)),A){var $=h.session.getScreenTabSize(o+v.index);w.appendChild(h.$tabStrings[$].cloneNode(!0)),o+=$-1}else if(L)if(h.showSpaces){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space",g.textContent=f.stringRepeat(h.SPACE_CHAR,L.length),w.appendChild(g)}else w.appendChild(this.dom.createTextNode(L,this.element));else if(_){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_space ace_invalid",g.textContent=f.stringRepeat(h.SPACE_CHAR,_.length),w.appendChild(g)}else if(k){o+=1;var g=this.dom.createElement("span");g.style.width=h.config.characterWidth*2+"px",g.className=h.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",g.textContent=h.showSpaces?h.SPACE_CHAR:k,w.appendChild(g)}else if(C){o+=1;var g=this.dom.createElement("span");g.style.width=h.config.characterWidth*2+"px",g.className="ace_cjk",g.textContent=C,w.appendChild(g)}}}if(w.appendChild(this.dom.createTextNode(p?c.slice(p):c,this.element)),t(a.type))e.appendChild(w);else{var S="ace_"+a.type.replace(/\./g," ace_"),g=this.dom.createElement("span");a.type=="fold"&&(g.style.width=a.value.length*this.config.characterWidth+"px",g.setAttribute("title",r("inline-fold.closed.title","Unfold code"))),g.className=S,g.appendChild(w),e.appendChild(g)}return o+c.length},n.prototype.renderIndentGuide=function(e,o,a){var c=o.search(this.$indentGuideRe);if(c<=0||c>=a)return o;if(o[0]==" "){c-=c%this.tabSize;for(var h=c/this.tabSize,x=0;xx[w].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[o.row]!==""&&o.column===e[o.row].length){this.$highlightIndentGuideMarker.dir=1;for(var w=o.row+1;w0){for(var h=0;h=this.$highlightIndentGuideMarker.start+1){if(c.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(c,o)}}else for(var a=e.length-1;a>=0;a--){var c=e[a];if(this.$highlightIndentGuideMarker.end&&c.row=x;)w=this.$renderToken(v,w,A,L.substring(0,x-c)),L=L.substring(x-c),c=x,v=this.$createLineElement(),e.appendChild(v),v.appendChild(this.dom.createTextNode(f.stringRepeat(" ",a.indent),this.element)),h++,w=0,x=a[h]||Number.MAX_VALUE;L.length!=0&&(c+=L.length,w=this.$renderToken(v,w,A,L))}}a[a.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(v,w,null,"",!0)},n.prototype.$renderSimpleLine=function(e,o){for(var a=0,c=0;cthis.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,a,h,x);a=this.$renderToken(e,a,h,x)}}},n.prototype.$renderOverflowMessage=function(e,o,a,c,h){a&&this.$renderToken(e,o,a,c.slice(0,this.MAX_LINE_LENGTH-o));var x=this.dom.createElement("span");x.className="ace_inline_button ace_keyword ace_toggle_wrap",x.textContent=h?"":"",e.appendChild(x)},n.prototype.$renderLine=function(e,o,a){if(!a&&a!=!1&&(a=this.session.getFoldLine(o)),a)var c=this.$getFoldLineTokens(o,a);else var c=this.session.getTokens(o);var h=e;if(c.length){var x=this.session.getRowSplitData(o);if(x&&x.length){this.$renderWrappedLine(e,c,x);var h=e.lastChild}else{var h=e;this.$useLineGroups()&&(h=this.$createLineElement(),e.appendChild(h)),this.$renderSimpleLine(h,c)}}else this.$useLineGroups()&&(h=this.$createLineElement(),e.appendChild(h));if(this.showEOL&&h){a&&(o=a.end.row);var w=this.dom.createElement("span");w.className="ace_invisible ace_invisible_eol",w.textContent=o==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,h.appendChild(w)}},n.prototype.$getFoldLineTokens=function(e,o){var a=this.session,c=[];function h(w,v,p){for(var A=0,L=0;L+w[A].value.lengthp-v&&(_=_.substring(0,p-v)),c.push({type:w[A].type,value:_}),L=v+_.length,A+=1}for(;Lp?c.push({type:w[A].type,value:_.substring(0,p-L)}):c.push(w[A]),L+=_.length,A+=1}}var x=a.getTokens(e);return o.walk(function(w,v,p,A,L){w!=null?c.push({type:"fold",value:w}):(L&&(x=a.getTokens(v)),x.length&&h(x,A,p))},o.end.row,this.session.getLine(o.end.row).length),c},n.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},n}();i.prototype.EOF_CHAR="¶",i.prototype.EOL_CHAR_LF="¬",i.prototype.EOL_CHAR_CRLF="¤",i.prototype.EOL_CHAR=i.prototype.EOL_CHAR_LF,i.prototype.TAB_CHAR="—",i.prototype.SPACE_CHAR="·",i.prototype.$padding=0,i.prototype.MAX_LINE_LENGTH=1e4,i.prototype.showInvisibles=!1,i.prototype.showSpaces=!1,i.prototype.showTabs=!1,i.prototype.showEOL=!1,i.prototype.displayIndentGuides=!0,i.prototype.$highlightIndentGuides=!0,i.prototype.$tabStrings=[],i.prototype.destroy={},i.prototype.onChangeTabSize=i.prototype.$computeTabString,u.implement(i.prototype,l),b.Text=i}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(y,b,E){var u=y("../lib/dom"),d=function(){function f(s){this.element=u.createElement("div"),this.element.className="ace_layer ace_cursor-layer",s.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),u.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return f.prototype.$updateOpacity=function(s){for(var l=this.cursors,r=l.length;r--;)u.setStyle(l[r].style,"opacity",s?"":"0")},f.prototype.$startCssAnimation=function(){for(var s=this.cursors,l=s.length;l--;)s[l].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&u.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},f.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,u.removeCssClass(this.element,"ace_animate-blinking")},f.prototype.setPadding=function(s){this.$padding=s},f.prototype.setSession=function(s){this.session=s},f.prototype.setBlinking=function(s){s!=this.isBlinking&&(this.isBlinking=s,this.restartTimer())},f.prototype.setBlinkInterval=function(s){s!=this.blinkInterval&&(this.blinkInterval=s,this.restartTimer())},f.prototype.setSmoothBlinking=function(s){s!=this.smoothBlinking&&(this.smoothBlinking=s,u.setCssClass(this.element,"ace_smooth-blinking",s),this.$updateCursors(!0),this.restartTimer())},f.prototype.addCursor=function(){var s=u.createElement("div");return s.className="ace_cursor",this.element.appendChild(s),this.cursors.push(s),s},f.prototype.removeCursor=function(){if(this.cursors.length>1){var s=this.cursors.pop();return s.parentNode.removeChild(s),s}},f.prototype.hideCursor=function(){this.isVisible=!1,u.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},f.prototype.showCursor=function(){this.isVisible=!0,u.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},f.prototype.restartTimer=function(){var s=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,u.removeCssClass(this.element,"ace_smooth-blinking")),s(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&u.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),u.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var l=(function(){this.timeoutId=setTimeout(function(){s(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){s(!0),l()},this.blinkInterval),l()}},f.prototype.getPixelPosition=function(s,l){if(!this.config||!this.session)return{left:0,top:0};s||(s=this.session.selection.getCursor());var r=this.session.documentToScreenPosition(s),t=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,s.row)?this.session.$bidiHandler.getPosLeft(r.column):r.column*this.config.characterWidth),i=(r.row-(l?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:t,top:i}},f.prototype.isCursorInView=function(s,l){return s.top>=0&&s.tops.height+s.offset||n.top<0)&&r>1)){var e=this.cursors[t++]||this.addCursor(),o=e.style;this.drawCursor?this.drawCursor(e,n,s,l[r],this.session):this.isCursorInView(n,s)?(u.setStyle(o,"display","block"),u.translate(e,n.left,n.top),u.setStyle(o,"width",Math.round(s.characterWidth)+"px"),u.setStyle(o,"height",s.lineHeight+"px")):u.setStyle(o,"display","none")}}for(;this.cursors.length>t;)this.removeCursor();var a=this.session.getOverwrite();this.$setOverwrite(a),this.$pixelPos=n,this.restartTimer()},f.prototype.$setOverwrite=function(s){s!=this.overwrite&&(this.overwrite=s,s?u.addCssClass(this.element,"ace_overwrite-cursors"):u.removeCssClass(this.element,"ace_overwrite-cursors"))},f.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},f}();d.prototype.$padding=0,d.prototype.drawCursor=null,b.Cursor=d}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(y,b,E){var u=this&&this.__extends||function(){var e=function(o,a){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(c,h){c.__proto__=h}||function(c,h){for(var x in h)Object.prototype.hasOwnProperty.call(h,x)&&(c[x]=h[x])},e(o,a)};return function(o,a){if(typeof a!="function"&&a!==null)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");e(o,a);function c(){this.constructor=o}o.prototype=a===null?Object.create(a):(c.prototype=a.prototype,new c)}}(),d=y("./lib/oop"),f=y("./lib/dom"),s=y("./lib/event"),l=y("./lib/event_emitter").EventEmitter,r=32768,t=function(){function e(o,a){this.element=f.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+a,this.inner=f.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),o.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addListener(this.element,"scroll",this.onScroll.bind(this)),s.addListener(this.element,"mousedown",s.preventDefault)}return e.prototype.setVisible=function(o){this.element.style.display=o?"":"none",this.isVisible=o,this.coeff=1},e}();d.implement(t.prototype,l);var i=function(e){u(o,e);function o(a,c){var h=e.call(this,a,"-v")||this;return h.scrollTop=0,h.scrollHeight=0,c.$scrollbarWidth=h.width=f.scrollbarWidth(a.ownerDocument),h.inner.style.width=h.element.style.width=(h.width||15)+5+"px",h.$minWidth=0,h}return o.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var a=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-a)/(this.coeff-a)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},o.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},o.prototype.setHeight=function(a){this.element.style.height=a+"px"},o.prototype.setScrollHeight=function(a){this.scrollHeight=a,a>r?(this.coeff=r/a,a=r):this.coeff!=1&&(this.coeff=1),this.inner.style.height=a+"px"},o.prototype.setScrollTop=function(a){this.scrollTop!=a&&(this.skipEvent=!0,this.scrollTop=a,this.element.scrollTop=a*this.coeff)},o}(t);i.prototype.setInnerHeight=i.prototype.setScrollHeight;var n=function(e){u(o,e);function o(a,c){var h=e.call(this,a,"-h")||this;return h.scrollLeft=0,h.height=c.$scrollbarWidth,h.inner.style.height=h.element.style.height=(h.height||15)+5+"px",h}return o.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},o.prototype.getHeight=function(){return this.isVisible?this.height:0},o.prototype.setWidth=function(a){this.element.style.width=a+"px"},o.prototype.setInnerWidth=function(a){this.inner.style.width=a+"px"},o.prototype.setScrollWidth=function(a){this.inner.style.width=a+"px"},o.prototype.setScrollLeft=function(a){this.scrollLeft!=a&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=a)},o}(t);b.ScrollBar=i,b.ScrollBarV=i,b.ScrollBarH=n,b.VScrollBar=i,b.HScrollBar=n}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(y,b,E){var u=this&&this.__extends||function(){var n=function(e,o){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(a,c){a.__proto__=c}||function(a,c){for(var h in c)Object.prototype.hasOwnProperty.call(c,h)&&(a[h]=c[h])},n(e,o)};return function(e,o){if(typeof o!="function"&&o!==null)throw new TypeError("Class extends value "+String(o)+" is not a constructor or null");n(e,o);function a(){this.constructor=e}e.prototype=o===null?Object.create(o):(a.prototype=o.prototype,new a)}}(),d=y("./lib/oop"),f=y("./lib/dom"),s=y("./lib/event"),l=y("./lib/event_emitter").EventEmitter;f.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
+ position: absolute;
+ background: rgba(128, 128, 128, 0.6);
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ border: 1px solid #bbb;
+ border-radius: 2px;
+ z-index: 8;
+}
+.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
+ position: absolute;
+ z-index: 6;
+ background: none;
+ overflow: hidden!important;
+}
+.ace_editor>.ace_sb-v {
+ z-index: 6;
+ right: 0;
+ top: 0;
+ width: 12px;
+}
+.ace_editor>.ace_sb-v div {
+ z-index: 8;
+ right: 0;
+ width: 100%;
+}
+.ace_editor>.ace_sb-h {
+ bottom: 0;
+ left: 0;
+ height: 12px;
+}
+.ace_editor>.ace_sb-h div {
+ bottom: 0;
+ height: 100%;
+}
+.ace_editor>.ace_sb_grabbed {
+ z-index: 8;
+ background: #000;
+}`,"ace_scrollbar.css",!1);var r=function(){function n(e,o){this.element=f.createElement("div"),this.element.className="ace_sb"+o,this.inner=f.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,s.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return n.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},n}();d.implement(r.prototype,l);var t=function(n){u(e,n);function e(o,a){var c=n.call(this,o,"-v")||this;return c.scrollTop=0,c.scrollHeight=0,c.parent=o,c.width=c.VScrollWidth,c.renderer=a,c.inner.style.width=c.element.style.width=(c.width||15)+"px",c.$minWidth=0,c}return e.prototype.onMouseDown=function(o,a){if(o==="mousedown"&&!(s.getButton(a)!==0||a.detail===2)){if(a.target===this.inner){var c=this,h=a.clientY,x=function(k){h=k.clientY},w=function(){clearInterval(L)},v=a.clientY,p=this.thumbTop,A=function(){if(h!==void 0){var k=c.scrollTopFromThumbTop(p+h-v);k!==c.scrollTop&&c._emit("scroll",{data:k})}};s.capture(this.inner,x,w);var L=setInterval(A,20);return s.preventDefault(a)}var _=a.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop(_)}),s.preventDefault(a)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(o){var a=o*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return a=a>>0,a<0?a=0:a>this.pageHeight-this.viewHeight&&(a=this.pageHeight-this.viewHeight),a},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(o){this.height=Math.max(0,o),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(o,a){this.pageHeight===o&&!a||(this.pageHeight=o,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(o){this.scrollTop=o,o<0&&(o=0),this.thumbTop=o*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(r);t.prototype.setInnerHeight=t.prototype.setScrollHeight;var i=function(n){u(e,n);function e(o,a){var c=n.call(this,o,"-h")||this;return c.scrollLeft=0,c.scrollWidth=0,c.height=c.HScrollHeight,c.inner.style.height=c.element.style.height=(c.height||12)+"px",c.renderer=a,c}return e.prototype.onMouseDown=function(o,a){if(o==="mousedown"&&!(s.getButton(a)!==0||a.detail===2)){if(a.target===this.inner){var c=this,h=a.clientX,x=function(k){h=k.clientX},w=function(){clearInterval(L)},v=a.clientX,p=this.thumbLeft,A=function(){if(h!==void 0){var k=c.scrollLeftFromThumbLeft(p+h-v);k!==c.scrollLeft&&c._emit("scroll",{data:k})}};s.capture(this.inner,x,w);var L=setInterval(A,20);return s.preventDefault(a)}var _=a.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft(_)}),s.preventDefault(a)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(o){var a=o*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return a=a>>0,a<0?a=0:a>this.pageWidth-this.viewWidth&&(a=this.pageWidth-this.viewWidth),a},e.prototype.setWidth=function(o){this.width=Math.max(0,o),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(o,a){this.pageWidth===o&&!a||(this.pageWidth=o,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(o){this.scrollLeft=o,o<0&&(o=0),this.thumbLeft=o*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(r);i.prototype.setInnerWidth=i.prototype.setScrollWidth,b.ScrollBar=t,b.ScrollBarV=t,b.ScrollBarH=i,b.VScrollBar=t,b.HScrollBar=i}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(y,b,E){var u=y("./lib/event"),d=function(){function f(s,l){this.onRender=s,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=l||window;var r=this;this._flush=function(t){r.pending=!1;var i=r.changes;if(i&&(u.blockIdle(100),r.changes=0,r.onRender(i)),r.changes){if(r.$recursionLimit--<0)return;r.schedule()}else r.$recursionLimit=2}}return f.prototype.schedule=function(s){this.changes=this.changes|s,this.changes&&!this.pending&&(u.nextFrame(this._flush),this.pending=!0)},f.prototype.clear=function(s){var l=this.changes;return this.changes=0,l},f}();b.RenderLoop=d}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(y,b,E){var u=y("../lib/oop"),d=y("../lib/dom"),f=y("../lib/lang"),s=y("../lib/event"),l=y("../lib/useragent"),r=y("../lib/event_emitter").EventEmitter,t=512,i=typeof ResizeObserver=="function",n=200,e=function(){function o(a){this.el=d.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=d.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=d.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),a.appendChild(this.el),this.$measureNode.textContent=f.stringRepeat("X",t),this.$characterSize={width:0,height:0},i?this.$addObserver():this.checkForSizeChanges()}return o.prototype.$setMeasureNodeStyles=function(a,c){a.width=a.height="auto",a.left=a.top="0px",a.visibility="hidden",a.position="absolute",a.whiteSpace="pre",l.isIE<8?a["font-family"]="inherit":a.font="inherit",a.overflow=c?"hidden":"visible"},o.prototype.checkForSizeChanges=function(a){if(a===void 0&&(a=this.$measureSizes()),a&&(this.$characterSize.width!==a.width||this.$characterSize.height!==a.height)){this.$measureNode.style.fontWeight="bold";var c=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=a,this.charSizes=Object.create(null),this.allowBoldFonts=c&&c.width===a.width&&c.height===a.height,this._emit("changeCharacterSize",{data:a})}},o.prototype.$addObserver=function(){var a=this;this.$observer=new window.ResizeObserver(function(c){a.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},o.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var a=this;return this.$pollSizeChangesTimer=s.onIdle(function c(){a.checkForSizeChanges(),s.onIdle(c,500)},500)},o.prototype.setPolling=function(a){a?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},o.prototype.$measureSizes=function(a){var c={height:(a||this.$measureNode).clientHeight,width:(a||this.$measureNode).clientWidth/t};return c.width===0||c.height===0?null:c},o.prototype.$measureCharWidth=function(a){this.$main.textContent=f.stringRepeat(a,t);var c=this.$main.getBoundingClientRect();return c.width/t},o.prototype.getCharacterWidth=function(a){var c=this.charSizes[a];return c===void 0&&(c=this.charSizes[a]=this.$measureCharWidth(a)/this.$characterSize.width),c},o.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},o.prototype.$getZoom=function(a){return!a||!a.parentElement?1:(Number(window.getComputedStyle(a).zoom)||1)*this.$getZoom(a.parentElement)},o.prototype.$initTransformMeasureNodes=function(){var a=function(c,h){return["div",{style:"position: absolute;top:"+c+"px;left:"+h+"px;"}]};this.els=d.buildDom([a(0,0),a(n,0),a(0,n),a(n,n)],this.el)},o.prototype.transformCoordinates=function(a,c){if(a){var h=this.$getZoom(this.el);a=p(1/h,a)}function x(N,P,j){var H=N[1]*P[0]-N[0]*P[1];return[(-P[1]*j[0]+P[0]*j[1])/H,(+N[1]*j[0]-N[0]*j[1])/H]}function w(N,P){return[N[0]-P[0],N[1]-P[1]]}function v(N,P){return[N[0]+P[0],N[1]+P[1]]}function p(N,P){return[N*P[0],N*P[1]]}this.els||this.$initTransformMeasureNodes();function A(N){var P=N.getBoundingClientRect();return[P.left,P.top]}var L=A(this.els[0]),_=A(this.els[1]),k=A(this.els[2]),C=A(this.els[3]),m=x(w(C,_),w(C,k),w(v(_,k),v(C,L))),$=p(1+m[0],w(_,L)),g=p(1+m[1],w(k,L));if(c){var S=c,M=m[0]*S[0]/n+m[1]*S[1]/n+1,T=v(p(S[0],$),p(S[1],g));return v(p(1/M/n,T),L)}var R=w(a,L),D=x(w($,p(m[0],R)),w(g,p(m[1],R)),R);return p(n,D)},o}();e.prototype.$characterSize={width:0,height:0},u.implement(e.prototype,r),b.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(y,b,E){E.exports=`
+.ace_br1 {border-top-left-radius : 3px;}
+.ace_br2 {border-top-right-radius : 3px;}
+.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
+.ace_br4 {border-bottom-right-radius: 3px;}
+.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
+.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
+.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
+.ace_br8 {border-bottom-left-radius : 3px;}
+.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
+.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
+.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
+.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
+.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
+.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
+.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
+
+
+.ace_editor {
+ position: relative;
+ overflow: hidden;
+ padding: 0;
+ font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
+ direction: ltr;
+ text-align: left;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+ forced-color-adjust: none;
+}
+
+.ace_scroller {
+ position: absolute;
+ overflow: hidden;
+ top: 0;
+ bottom: 0;
+ background-color: inherit;
+ -ms-user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ user-select: none;
+ cursor: text;
+}
+
+.ace_content {
+ position: absolute;
+ box-sizing: border-box;
+ min-width: 100%;
+ contain: style size layout;
+ font-variant-ligatures: no-common-ligatures;
+}
+
+.ace_keyboard-focus:focus {
+ box-shadow: inset 0 0 0 2px #5E9ED6;
+ outline: none;
+}
+
+.ace_dragging .ace_scroller:before{
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ content: '';
+ background: rgba(250, 250, 250, 0.01);
+ z-index: 1000;
+}
+.ace_dragging.ace_dark .ace_scroller:before{
+ background: rgba(0, 0, 0, 0.01);
+}
+
+.ace_gutter {
+ position: absolute;
+ overflow : hidden;
+ width: auto;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ cursor: default;
+ z-index: 4;
+ -ms-user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ user-select: none;
+ contain: style size layout;
+}
+
+.ace_gutter-active-line {
+ position: absolute;
+ left: 0;
+ right: 0;
+}
+
+.ace_scroller.ace_scroll-left:after {
+ content: "";
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
+ pointer-events: none;
+}
+
+.ace_gutter-cell, .ace_gutter-cell_svg-icons {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ padding-left: 19px;
+ padding-right: 6px;
+ background-repeat: no-repeat;
+}
+
+.ace_gutter-cell_svg-icons .ace_gutter_annotation {
+ margin-left: -14px;
+ float: left;
+}
+
+.ace_gutter-cell .ace_gutter_annotation {
+ margin-left: -19px;
+ float: left;
+}
+
+.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
+ background-repeat: no-repeat;
+ background-position: 2px center;
+}
+
+.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
+ background-repeat: no-repeat;
+ background-position: 2px center;
+}
+
+.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
+ background-repeat: no-repeat;
+ background-position: 2px center;
+}
+
+.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
+}
+
+.ace_icon_svg.ace_error {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
+ background-color: crimson;
+}
+.ace_icon_svg.ace_security {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
+ background-color: crimson;
+}
+.ace_icon_svg.ace_warning {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
+ background-color: darkorange;
+}
+.ace_icon_svg.ace_info {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
+ background-color: royalblue;
+}
+.ace_icon_svg.ace_hint {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
+ background-color: silver;
+}
+
+.ace_icon_svg.ace_error_fold {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
+ background-color: crimson;
+}
+.ace_icon_svg.ace_security_fold {
+ -webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
+ background-color: crimson;
+}
+.ace_icon_svg.ace_warning_fold {
+ -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
+ background-color: darkorange;
+}
+
+.ace_scrollbar {
+ contain: strict;
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ z-index: 6;
+}
+
+.ace_scrollbar-inner {
+ position: absolute;
+ cursor: text;
+ left: 0;
+ top: 0;
+}
+
+.ace_scrollbar-v{
+ overflow-x: hidden;
+ overflow-y: scroll;
+ top: 0;
+}
+
+.ace_scrollbar-h {
+ overflow-x: scroll;
+ overflow-y: hidden;
+ left: 0;
+}
+
+.ace_print-margin {
+ position: absolute;
+ height: 100%;
+}
+
+.ace_text-input {
+ position: absolute;
+ z-index: 0;
+ width: 0.5em;
+ height: 1em;
+ opacity: 0;
+ background: transparent;
+ -moz-appearance: none;
+ appearance: none;
+ border: none;
+ resize: none;
+ outline: none;
+ overflow: hidden;
+ font: inherit;
+ padding: 0 1px;
+ margin: 0 -1px;
+ contain: strict;
+ -ms-user-select: text;
+ -moz-user-select: text;
+ -webkit-user-select: text;
+ user-select: text;
+ /*with \`pre-line\` chrome inserts instead of space*/
+ white-space: pre!important;
+}
+.ace_text-input.ace_composition {
+ background: transparent;
+ color: inherit;
+ z-index: 1000;
+ opacity: 1;
+}
+.ace_composition_placeholder { color: transparent }
+.ace_composition_marker {
+ border-bottom: 1px solid;
+ position: absolute;
+ border-radius: 0;
+ margin-top: 1px;
+}
+
+[ace_nocontext=true] {
+ transform: none!important;
+ filter: none!important;
+ clip-path: none!important;
+ mask : none!important;
+ contain: none!important;
+ perspective: none!important;
+ mix-blend-mode: initial!important;
+ z-index: auto;
+}
+
+.ace_layer {
+ z-index: 1;
+ position: absolute;
+ overflow: hidden;
+ /* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
+ word-wrap: normal;
+ white-space: pre;
+ height: 100%;
+ width: 100%;
+ box-sizing: border-box;
+ /* setting pointer-events: auto; on node under the mouse, which changes
+ during scroll, will break mouse wheel scrolling in Safari */
+ pointer-events: none;
+}
+
+.ace_gutter-layer {
+ position: relative;
+ width: auto;
+ text-align: right;
+ pointer-events: auto;
+ height: 1000000px;
+ contain: style size layout;
+}
+
+.ace_text-layer {
+ font: inherit !important;
+ position: absolute;
+ height: 1000000px;
+ width: 1000000px;
+ contain: style size layout;
+}
+
+.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
+ contain: style size layout;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+}
+
+.ace_hidpi .ace_text-layer,
+.ace_hidpi .ace_gutter-layer,
+.ace_hidpi .ace_content,
+.ace_hidpi .ace_gutter {
+ contain: strict;
+}
+.ace_hidpi .ace_text-layer > .ace_line,
+.ace_hidpi .ace_text-layer > .ace_line_group {
+ contain: strict;
+}
+
+.ace_cjk {
+ display: inline-block;
+ text-align: center;
+}
+
+.ace_cursor-layer {
+ z-index: 4;
+}
+
+.ace_cursor {
+ z-index: 4;
+ position: absolute;
+ box-sizing: border-box;
+ border-left: 2px solid;
+ /* workaround for smooth cursor repaintng whole screen in chrome */
+ transform: translatez(0);
+}
+
+.ace_multiselect .ace_cursor {
+ border-left-width: 1px;
+}
+
+.ace_slim-cursors .ace_cursor {
+ border-left-width: 1px;
+}
+
+.ace_overwrite-cursors .ace_cursor {
+ border-left-width: 0;
+ border-bottom: 1px solid;
+}
+
+.ace_hidden-cursors .ace_cursor {
+ opacity: 0.2;
+}
+
+.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
+ opacity: 0;
+}
+
+.ace_smooth-blinking .ace_cursor {
+ transition: opacity 0.18s;
+}
+
+.ace_animate-blinking .ace_cursor {
+ animation-duration: 1000ms;
+ animation-timing-function: step-end;
+ animation-name: blink-ace-animate;
+ animation-iteration-count: infinite;
+}
+
+.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
+ animation-duration: 1000ms;
+ animation-timing-function: ease-in-out;
+ animation-name: blink-ace-animate-smooth;
+}
+
+@keyframes blink-ace-animate {
+ from, to { opacity: 1; }
+ 60% { opacity: 0; }
+}
+
+@keyframes blink-ace-animate-smooth {
+ from, to { opacity: 1; }
+ 45% { opacity: 1; }
+ 60% { opacity: 0; }
+ 85% { opacity: 0; }
+}
+
+.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
+ position: absolute;
+ z-index: 3;
+}
+
+.ace_marker-layer .ace_selection {
+ position: absolute;
+ z-index: 5;
+}
+
+.ace_marker-layer .ace_bracket {
+ position: absolute;
+ z-index: 6;
+}
+
+.ace_marker-layer .ace_error_bracket {
+ position: absolute;
+ border-bottom: 1px solid #DE5555;
+ border-radius: 0;
+}
+
+.ace_marker-layer .ace_active-line {
+ position: absolute;
+ z-index: 2;
+}
+
+.ace_marker-layer .ace_selected-word {
+ position: absolute;
+ z-index: 4;
+ box-sizing: border-box;
+}
+
+.ace_line .ace_fold {
+ box-sizing: border-box;
+
+ display: inline-block;
+ height: 11px;
+ margin-top: -2px;
+ vertical-align: middle;
+
+ background-image:
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
+ background-repeat: no-repeat, repeat-x;
+ background-position: center center, top left;
+ color: transparent;
+
+ border: 1px solid black;
+ border-radius: 2px;
+
+ cursor: pointer;
+ pointer-events: auto;
+}
+
+.ace_dark .ace_fold {
+}
+
+.ace_fold:hover{
+ background-image:
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
+ url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
+}
+
+.ace_tooltip {
+ background-color: #f5f5f5;
+ border: 1px solid gray;
+ border-radius: 1px;
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
+ color: black;
+ max-width: 100%;
+ padding: 3px 4px;
+ position: fixed;
+ z-index: 999999;
+ box-sizing: border-box;
+ cursor: default;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ line-height: normal;
+ font-style: normal;
+ font-weight: normal;
+ letter-spacing: normal;
+ pointer-events: none;
+ overflow: auto;
+ max-width: min(60em, 66vw);
+ overscroll-behavior: contain;
+}
+.ace_tooltip pre {
+ white-space: pre-wrap;
+}
+
+.ace_tooltip.ace_dark {
+ background-color: #636363;
+ color: #fff;
+}
+
+.ace_tooltip:focus {
+ outline: 1px solid #5E9ED6;
+}
+
+.ace_icon {
+ display: inline-block;
+ width: 18px;
+ vertical-align: top;
+}
+
+.ace_icon_svg {
+ display: inline-block;
+ width: 12px;
+ vertical-align: top;
+ -webkit-mask-repeat: no-repeat;
+ -webkit-mask-size: 12px;
+ -webkit-mask-position: center;
+}
+
+.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
+ padding-right: 13px;
+}
+
+.ace_fold-widget {
+ box-sizing: border-box;
+
+ margin: 0 -12px 0 1px;
+ display: none;
+ width: 11px;
+ vertical-align: top;
+
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
+ background-repeat: no-repeat;
+ background-position: center;
+
+ border-radius: 3px;
+
+ border: 1px solid transparent;
+ cursor: pointer;
+}
+
+.ace_folding-enabled .ace_fold-widget {
+ display: inline-block;
+}
+
+.ace_fold-widget.ace_end {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
+}
+
+.ace_fold-widget.ace_closed {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
+}
+
+.ace_fold-widget:hover {
+ border: 1px solid rgba(0, 0, 0, 0.3);
+ background-color: rgba(255, 255, 255, 0.2);
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
+}
+
+.ace_fold-widget:active {
+ border: 1px solid rgba(0, 0, 0, 0.4);
+ background-color: rgba(0, 0, 0, 0.05);
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
+}
+/**
+ * Dark version for fold widgets
+ */
+.ace_dark .ace_fold-widget {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
+}
+.ace_dark .ace_fold-widget.ace_end {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
+}
+.ace_dark .ace_fold-widget.ace_closed {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
+}
+.ace_dark .ace_fold-widget:hover {
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
+ background-color: rgba(255, 255, 255, 0.1);
+}
+.ace_dark .ace_fold-widget:active {
+ box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
+}
+
+.ace_inline_button {
+ border: 1px solid lightgray;
+ display: inline-block;
+ margin: -1px 8px;
+ padding: 0 5px;
+ pointer-events: auto;
+ cursor: pointer;
+}
+.ace_inline_button:hover {
+ border-color: gray;
+ background: rgba(200,200,200,0.2);
+ display: inline-block;
+ pointer-events: auto;
+}
+
+.ace_fold-widget.ace_invalid {
+ background-color: #FFB4B4;
+ border-color: #DE5555;
+}
+
+.ace_fade-fold-widgets .ace_fold-widget {
+ transition: opacity 0.4s ease 0.05s;
+ opacity: 0;
+}
+
+.ace_fade-fold-widgets:hover .ace_fold-widget {
+ transition: opacity 0.05s ease 0.05s;
+ opacity:1;
+}
+
+.ace_underline {
+ text-decoration: underline;
+}
+
+.ace_bold {
+ font-weight: bold;
+}
+
+.ace_nobold .ace_bold {
+ font-weight: normal;
+}
+
+.ace_italic {
+ font-style: italic;
+}
+
+
+.ace_error-marker {
+ background-color: rgba(255, 0, 0,0.2);
+ position: absolute;
+ z-index: 9;
+}
+
+.ace_highlight-marker {
+ background-color: rgba(255, 255, 0,0.2);
+ position: absolute;
+ z-index: 8;
+}
+
+.ace_mobile-menu {
+ position: absolute;
+ line-height: 1.5;
+ border-radius: 4px;
+ -ms-user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ user-select: none;
+ background: white;
+ box-shadow: 1px 3px 2px grey;
+ border: 1px solid #dcdcdc;
+ color: black;
+}
+.ace_dark > .ace_mobile-menu {
+ background: #333;
+ color: #ccc;
+ box-shadow: 1px 3px 2px grey;
+ border: 1px solid #444;
+
+}
+.ace_mobile-button {
+ padding: 2px;
+ cursor: pointer;
+ overflow: hidden;
+}
+.ace_mobile-button:hover {
+ background-color: #eee;
+ opacity:1;
+}
+.ace_mobile-button:active {
+ background-color: #ddd;
+}
+
+.ace_placeholder {
+ position: relative;
+ font-family: arial;
+ transform: scale(0.9);
+ transform-origin: left;
+ white-space: pre;
+ opacity: 0.7;
+ margin: 0 10px;
+ z-index: 1;
+}
+
+.ace_ghost_text {
+ opacity: 0.5;
+ font-style: italic;
+}
+
+.ace_ghost_text_container > div {
+ white-space: pre;
+}
+
+.ghost_text_line_wrapped::after {
+ content: "↩";
+ position: absolute;
+}
+
+.ace_lineWidgetContainer.ace_ghost_text {
+ margin: 0px 4px
+}
+
+.ace_screenreader-only {
+ position:absolute;
+ left:-10000px;
+ top:auto;
+ width:1px;
+ height:1px;
+ overflow:hidden;
+}
+
+.ace_hidden_token {
+ display: none;
+}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(y,b,E){var u=y("../lib/dom"),d=y("../lib/oop"),f=y("../lib/event_emitter").EventEmitter,s=function(){function l(r,t){this.canvas=u.createElement("canvas"),this.renderer=t,this.pixelRatio=1,this.maxHeight=t.layerConfig.maxHeight,this.lineHeight=t.layerConfig.lineHeight,this.canvasHeight=r.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=r.width,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},r.element.appendChild(this.canvas)}return l.prototype.$updateDecorators=function(r){var t=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(r){this.maxHeight=r.maxHeight,this.lineHeight=r.lineHeight,this.canvasHeight=r.height;var i=(r.lastRow+1)*this.lineHeight;im.priority?1:0}var o=this.renderer.session.$annotations;if(n.clearRect(0,0,this.canvas.width,this.canvas.height),o){var a={info:1,warning:2,error:3};o.forEach(function(C){C.priority=a[C.type]||null}),o=o.sort(e);for(var c=this.renderer.session.$foldData,h=0;hthis.canvasHeight&&(_=this.canvasHeight-this.halfMinDecorationHeight),p=Math.round(_-this.halfMinDecorationHeight),A=Math.round(_+this.halfMinDecorationHeight)}n.fillStyle=t[o[h].type]||null,n.fillRect(0,v,this.canvasWidth,A-p)}}var k=this.renderer.session.selection.getCursor();if(k){var w=this.compensateFoldRows(k.row,c),v=Math.round((k.row-w)*this.lineHeight*this.heightRatio);n.fillStyle="rgba(0, 0, 0, 0.5)",n.fillRect(0,v,this.canvasWidth,2)}},l.prototype.compensateFoldRows=function(r,t){var i=0;if(t&&t.length>0)for(var n=0;nt[n].start.row&&r=t[n].end.row&&(i+=t[n].end.row-t[n].start.row);return i},l}();d.implement(s.prototype,f),b.Decorator=s}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(y,b,E){var u=y("./lib/oop"),d=y("./lib/dom"),f=y("./lib/lang"),s=y("./config"),l=y("./layer/gutter").Gutter,r=y("./layer/marker").Marker,t=y("./layer/text").Text,i=y("./layer/cursor").Cursor,n=y("./scrollbar").HScrollBar,e=y("./scrollbar").VScrollBar,o=y("./scrollbar_custom").HScrollBar,a=y("./scrollbar_custom").VScrollBar,c=y("./renderloop").RenderLoop,h=y("./layer/font_metrics").FontMetrics,x=y("./lib/event_emitter").EventEmitter,w=y("./css/editor-css"),v=y("./layer/decorators").Decorator,p=y("./lib/useragent"),A=y("./layer/text_util").isTextToken;d.importCssString(w,"ace_editor.css",!1);var L=function(){function _(k,C){var m=this;this.container=k||d.createElement("div"),d.addCssClass(this.container,"ace_editor"),d.HI_DPI&&d.addCssClass(this.container,"ace_hidpi"),this.setTheme(C),s.get("useStrictCSP")==null&&s.set("useStrictCSP",!1),this.$gutter=d.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=d.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=d.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new l(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new r(this.content);var $=this.$textLayer=new t(this.content);this.canvas=$.element,this.$markerFront=new r(this.content),this.$cursorLayer=new i(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new n(this.container,this),this.scrollBarV.on("scroll",function(g){m.$scrollAnimation||m.session.setScrollTop(g.data-m.scrollMargin.top)}),this.scrollBarH.on("scroll",function(g){m.$scrollAnimation||m.session.setScrollLeft(g.data-m.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new h(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(g){m.updateCharacterSize(),m.onResize(!0,m.gutterWidth,m.$size.width,m.$size.height),m._signal("changeCharacterSize",g)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!p.isIOS,this.$loop=new c(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),s.resetOptions(this),s._signal("renderer",this)}return _.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),d.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},_.prototype.setSession=function(k){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=k,k&&this.scrollMargin.top&&k.getScrollTop()<=0&&k.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(k),this.$markerBack.setSession(k),this.$markerFront.setSession(k),this.$gutterLayer.setSession(k),this.$textLayer.setSession(k),k&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},_.prototype.updateLines=function(k,C,m){if(C===void 0&&(C=1/0),this.$changedLines?(this.$changedLines.firstRow>k&&(this.$changedLines.firstRow=k),this.$changedLines.lastRowthis.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},_.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},_.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},_.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},_.prototype.updateFull=function(k){k?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},_.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},_.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},_.prototype.onResize=function(k,C,m,$){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=k?1:0;var g=this.container;$||($=g.clientHeight||g.scrollHeight),!$&&this.$maxLines&&this.lineHeight>1&&(!g.style.height||g.style.height=="0px")&&(g.style.height="1px",$=g.clientHeight||g.scrollHeight),m||(m=g.clientWidth||g.scrollWidth);var S=this.$updateCachedSize(k,C,m,$);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!m&&!$)return this.resizing=0;k&&(this.$gutterLayer.$padding=null),k?this.$renderChanges(S|this.$changes,!0):this.$loop.schedule(S|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},_.prototype.$updateCachedSize=function(k,C,m,$){$-=this.$extraHeight||0;var g=0,S=this.$size,M={width:S.width,height:S.height,scrollerHeight:S.scrollerHeight,scrollerWidth:S.scrollerWidth};if($&&(k||S.height!=$)&&(S.height=$,g|=this.CHANGE_SIZE,S.scrollerHeight=S.height,this.$horizScroll&&(S.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(S.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",g=g|this.CHANGE_SCROLL),m&&(k||S.width!=m)){g|=this.CHANGE_SIZE,S.width=m,C==null&&(C=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=C,d.setStyle(this.scrollBarH.element.style,"left",C+"px"),d.setStyle(this.scroller.style,"left",C+this.margin.left+"px"),S.scrollerWidth=Math.max(0,m-C-this.scrollBarV.getWidth()-this.margin.h),d.setStyle(this.$gutter.style,"left",this.margin.left+"px");var T=this.scrollBarV.getWidth()+"px";d.setStyle(this.scrollBarH.element.style,"right",T),d.setStyle(this.scroller.style,"right",T),d.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(S.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||k)&&(g|=this.CHANGE_FULL)}return S.$dirty=!m||!$,g&&this._signal("resize",M),g},_.prototype.onGutterResize=function(k){var C=this.$showGutter?k:0;C!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,C,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},_.prototype.adjustWrapLimit=function(){var k=this.$size.scrollerWidth-this.$padding*2,C=Math.floor(k/this.characterWidth);return this.session.adjustWrapLimit(C,this.$showPrintMargin&&this.$printMarginColumn)},_.prototype.setAnimatedScroll=function(k){this.setOption("animatedScroll",k)},_.prototype.getAnimatedScroll=function(){return this.$animatedScroll},_.prototype.setShowInvisibles=function(k){this.setOption("showInvisibles",k),this.session.$bidiHandler.setShowInvisibles(k)},_.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},_.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},_.prototype.setDisplayIndentGuides=function(k){this.setOption("displayIndentGuides",k)},_.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},_.prototype.setHighlightIndentGuides=function(k){this.setOption("highlightIndentGuides",k)},_.prototype.setShowPrintMargin=function(k){this.setOption("showPrintMargin",k)},_.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},_.prototype.setPrintMarginColumn=function(k){this.setOption("printMarginColumn",k)},_.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},_.prototype.getShowGutter=function(){return this.getOption("showGutter")},_.prototype.setShowGutter=function(k){return this.setOption("showGutter",k)},_.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},_.prototype.setFadeFoldWidgets=function(k){this.setOption("fadeFoldWidgets",k)},_.prototype.setHighlightGutterLine=function(k){this.setOption("highlightGutterLine",k)},_.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},_.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var k=d.createElement("div");k.className="ace_layer ace_print-margin-layer",this.$printMarginEl=d.createElement("div"),this.$printMarginEl.className="ace_print-margin",k.appendChild(this.$printMarginEl),this.content.insertBefore(k,this.content.firstChild)}var C=this.$printMarginEl.style;C.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",C.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},_.prototype.getContainerElement=function(){return this.container},_.prototype.getMouseEventTarget=function(){return this.scroller},_.prototype.getTextAreaContainer=function(){return this.container},_.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var k=this.textarea.style,C=this.$composition;if(!this.$keepTextAreaAtCursor&&!C){d.translate(this.textarea,-100,0);return}var m=this.$cursorLayer.$pixelPos;if(m){C&&C.markerRange&&(m=this.$cursorLayer.getPixelPosition(C.markerRange.start,!0));var $=this.layerConfig,g=m.top,S=m.left;g-=$.offset;var M=C&&C.useTextareaForIME||p.isMobile?this.lineHeight:1;if(g<0||g>$.height-M){d.translate(this.textarea,0,0);return}var T=1,R=this.$size.height-M;if(!C)g+=this.lineHeight;else if(C.useTextareaForIME){var D=this.textarea.value;T=this.characterWidth*this.session.$getStringScreenWidth(D)[0]}else g+=this.lineHeight+2;S-=this.scrollLeft,S>this.$size.scrollerWidth-T&&(S=this.$size.scrollerWidth-T),S+=this.gutterWidth+this.margin.left,d.setStyle(k,"height",M+"px"),d.setStyle(k,"width",T+"px"),d.translate(this.textarea,Math.min(S,this.$size.scrollerWidth-T),Math.min(g,R))}}},_.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},_.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},_.prototype.getLastFullyVisibleRow=function(){var k=this.layerConfig,C=k.lastRow,m=this.session.documentToScreenRow(C,0)*k.lineHeight;return m-this.session.getScrollTop()>k.height-k.lineHeight?C-1:C},_.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},_.prototype.setPadding=function(k){this.$padding=k,this.$textLayer.setPadding(k),this.$cursorLayer.setPadding(k),this.$markerFront.setPadding(k),this.$markerBack.setPadding(k),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},_.prototype.setScrollMargin=function(k,C,m,$){var g=this.scrollMargin;g.top=k|0,g.bottom=C|0,g.right=$|0,g.left=m|0,g.v=g.top+g.bottom,g.h=g.left+g.right,g.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-g.top),this.updateFull()},_.prototype.setMargin=function(k,C,m,$){var g=this.margin;g.top=k|0,g.bottom=C|0,g.right=$|0,g.left=m|0,g.v=g.top+g.bottom,g.h=g.left+g.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},_.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},_.prototype.setHScrollBarAlwaysVisible=function(k){this.setOption("hScrollBarAlwaysVisible",k)},_.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},_.prototype.setVScrollBarAlwaysVisible=function(k){this.setOption("vScrollBarAlwaysVisible",k)},_.prototype.$updateScrollBarV=function(){var k=this.layerConfig.maxHeight,C=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(k-=(C-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>k-C&&(k=this.scrollTop+C,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(k+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},_.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},_.prototype.freeze=function(){this.$frozen=!0},_.prototype.unfreeze=function(){this.$frozen=!1},_.prototype.$renderChanges=function(k,C){if(this.$changes&&(k|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!k&&!C){this.$changes|=k;return}if(this.$size.$dirty)return this.$changes|=k,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",k),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var m=this.layerConfig;if(k&this.CHANGE_FULL||k&this.CHANGE_SIZE||k&this.CHANGE_TEXT||k&this.CHANGE_LINES||k&this.CHANGE_SCROLL||k&this.CHANGE_H_SCROLL){if(k|=this.$computeLayerConfig()|this.$loop.clear(),m.firstRow!=this.layerConfig.firstRow&&m.firstRowScreen==this.layerConfig.firstRowScreen){var $=this.scrollTop+(m.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;$>0&&(this.scrollTop=$,k=k|this.CHANGE_SCROLL,k|=this.$computeLayerConfig()|this.$loop.clear())}m=this.layerConfig,this.$updateScrollBarV(),k&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),d.translate(this.content,-this.scrollLeft,-m.offset);var g=m.width+2*this.$padding+"px",S=m.minHeight+"px";d.setStyle(this.content.style,"width",g),d.setStyle(this.content.style,"height",S)}if(k&this.CHANGE_H_SCROLL&&(d.translate(this.content,-this.scrollLeft,-m.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),k&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(m),this.$showGutter&&this.$gutterLayer.update(m),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(m),this.$markerBack.update(m),this.$markerFront.update(m),this.$cursorLayer.update(m),this.$moveTextAreaToCursor(),this._signal("afterRender",k);return}if(k&this.CHANGE_SCROLL){this.$changedLines=null,k&this.CHANGE_TEXT||k&this.CHANGE_LINES?this.$textLayer.update(m):this.$textLayer.scrollLines(m),this.$showGutter&&(k&this.CHANGE_GUTTER||k&this.CHANGE_LINES?this.$gutterLayer.update(m):this.$gutterLayer.scrollLines(m)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(m),this.$markerBack.update(m),this.$markerFront.update(m),this.$cursorLayer.update(m),this.$moveTextAreaToCursor(),this._signal("afterRender",k);return}k&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(m),this.$showGutter&&this.$gutterLayer.update(m),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(m)):k&this.CHANGE_LINES?((this.$updateLines()||k&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(m),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(m)):k&this.CHANGE_TEXT||k&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(m),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(m)):k&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(m),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(m)),k&this.CHANGE_CURSOR&&(this.$cursorLayer.update(m),this.$moveTextAreaToCursor()),k&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(m),k&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(m),this._signal("afterRender",k)},_.prototype.$autosize=function(){var k=this.session.getScreenLength()*this.lineHeight,C=this.$maxLines*this.lineHeight,m=Math.min(C,Math.max((this.$minLines||1)*this.lineHeight,k))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(m+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&m>this.$maxPixelHeight&&(m=this.$maxPixelHeight);var $=m<=2*this.lineHeight,g=!$&&k>C;if(m!=this.desiredHeight||this.$size.height!=this.desiredHeight||g!=this.$vScroll){g!=this.$vScroll&&(this.$vScroll=g,this.scrollBarV.setVisible(g));var S=this.container.clientWidth;this.container.style.height=m+"px",this.$updateCachedSize(!0,this.$gutterWidth,S,m),this.desiredHeight=m,this._signal("autosize")}},_.prototype.$computeLayerConfig=function(){var k=this.session,C=this.$size,m=C.height<=2*this.lineHeight,$=this.session.getScreenLength(),g=$*this.lineHeight,S=this.$getLongestLine(),M=!m&&(this.$hScrollBarAlwaysVisible||C.scrollerWidth-S-2*this.$padding<0),T=this.$horizScroll!==M;T&&(this.$horizScroll=M,this.scrollBarH.setVisible(M));var R=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var D=C.scrollerHeight+this.lineHeight,N=!this.$maxLines&&this.$scrollPastEnd?(C.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;g+=N;var P=this.scrollMargin;this.session.setScrollTop(Math.max(-P.top,Math.min(this.scrollTop,g-C.scrollerHeight+P.bottom))),this.session.setScrollLeft(Math.max(-P.left,Math.min(this.scrollLeft,S+2*this.$padding-C.scrollerWidth+P.right)));var j=!m&&(this.$vScrollBarAlwaysVisible||C.scrollerHeight-g+N<0||this.scrollTop>P.top),H=R!==j;H&&(this.$vScroll=j,this.scrollBarV.setVisible(j));var W=this.scrollTop%this.lineHeight,B=Math.ceil(D/this.lineHeight)-1,U=Math.max(0,Math.round((this.scrollTop-W)/this.lineHeight)),K=U+B,Y,Q,X=this.lineHeight;U=k.screenToDocumentRow(U,0);var ne=k.getFoldLine(U);ne&&(U=ne.start.row),Y=k.documentToScreenRow(U,0),Q=k.getRowLength(U)*X,K=Math.min(k.screenToDocumentRow(K,0),k.getLength()-1),D=C.scrollerHeight+k.getRowLength(K)*X+Q,W=this.scrollTop-Y*X;var se=0;return(this.layerConfig.width!=S||T)&&(se=this.CHANGE_H_SCROLL),(T||H)&&(se|=this.$updateCachedSize(!0,this.gutterWidth,C.width,C.height),this._signal("scrollbarVisibilityChanged"),H&&(S=this.$getLongestLine())),this.layerConfig={width:S,padding:this.$padding,firstRow:U,firstRowScreen:Y,lastRow:K,lineHeight:X,characterWidth:this.characterWidth,minHeight:D,maxHeight:g,offset:W,gutterOffset:X?Math.max(0,Math.ceil((W+C.height-C.scrollerHeight)/X)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(S-this.$padding),se},_.prototype.$updateLines=function(){if(this.$changedLines){var k=this.$changedLines.firstRow,C=this.$changedLines.lastRow;this.$changedLines=null;var m=this.layerConfig;if(!(k>m.lastRow+1)&&!(Cthis.$textLayer.MAX_LINE_LENGTH&&(k=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(k*this.characterWidth))},_.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},_.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},_.prototype.addGutterDecoration=function(k,C){this.$gutterLayer.addGutterDecoration(k,C)},_.prototype.removeGutterDecoration=function(k,C){this.$gutterLayer.removeGutterDecoration(k,C)},_.prototype.updateBreakpoints=function(k){this._rows=k,this.$loop.schedule(this.CHANGE_GUTTER)},_.prototype.setAnnotations=function(k){this.$gutterLayer.setAnnotations(k),this.$loop.schedule(this.CHANGE_GUTTER)},_.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},_.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},_.prototype.showCursor=function(){this.$cursorLayer.showCursor()},_.prototype.scrollSelectionIntoView=function(k,C,m){this.scrollCursorIntoView(k,m),this.scrollCursorIntoView(C,m)},_.prototype.scrollCursorIntoView=function(k,C,m){if(this.$size.scrollerHeight!==0){var $=this.$cursorLayer.getPixelPosition(k),g=$.left,S=$.top,M=m&&m.top||0,T=m&&m.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var R=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;R+M>S?(C&&R+M>S+this.lineHeight&&(S-=C*this.$size.scrollerHeight),S===0&&(S=-this.scrollMargin.top),this.session.setScrollTop(S)):R+this.$size.scrollerHeight-T=1-this.scrollMargin.top||C>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||k<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||k>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},_.prototype.pixelToScreenCoordinates=function(k,C){var m;if(this.$hasCssTransforms){m={top:0,left:0};var $=this.$fontMetrics.transformCoordinates([k,C]);k=$[1]-this.gutterWidth-this.margin.left,C=$[0]}else m=this.scroller.getBoundingClientRect();var g=k+this.scrollLeft-m.left-this.$padding,S=g/this.characterWidth,M=Math.floor((C+this.scrollTop-m.top)/this.lineHeight),T=this.$blockCursor?Math.floor(S):Math.round(S);return{row:M,column:T,side:S-T>0?1:-1,offsetX:g}},_.prototype.screenToTextCoordinates=function(k,C){var m;if(this.$hasCssTransforms){m={top:0,left:0};var $=this.$fontMetrics.transformCoordinates([k,C]);k=$[1]-this.gutterWidth-this.margin.left,C=$[0]}else m=this.scroller.getBoundingClientRect();var g=k+this.scrollLeft-m.left-this.$padding,S=g/this.characterWidth,M=this.$blockCursor?Math.floor(S):Math.round(S),T=Math.floor((C+this.scrollTop-m.top)/this.lineHeight);return this.session.screenToDocumentPosition(T,Math.max(M,0),g)},_.prototype.textToScreenCoordinates=function(k,C){var m=this.scroller.getBoundingClientRect(),$=this.session.documentToScreenPosition(k,C),g=this.$padding+(this.session.$bidiHandler.isBidiRow($.row,k)?this.session.$bidiHandler.getPosLeft($.column):Math.round($.column*this.characterWidth)),S=$.row*this.lineHeight;return{pageX:m.left+g-this.scrollLeft,pageY:m.top+S-this.scrollTop}},_.prototype.visualizeFocus=function(){d.addCssClass(this.container,"ace_focus")},_.prototype.visualizeBlur=function(){d.removeCssClass(this.container,"ace_focus")},_.prototype.showComposition=function(k){this.$composition=k,k.cssText||(k.cssText=this.textarea.style.cssText),k.useTextareaForIME==null&&(k.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(d.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):k.markerId=this.session.addMarker(k.markerRange,"ace_composition_marker","text")},_.prototype.setCompositionText=function(k){var C=this.session.selection.cursor;this.addToken(k,"composition_placeholder",C.row,C.column),this.$moveTextAreaToCursor()},_.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),d.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var k=this.session.selection.cursor;this.removeExtraToken(k.row,k.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},_.prototype.setGhostText=function(k,C){var m=this.session.selection.cursor,$=C||{row:m.row,column:m.column};this.removeGhostText();var g=this.$calculateWrappedTextChunks(k,$);this.addToken(g[0].text,"ghost_text",$.row,$.column),this.$ghostText={text:k,position:{row:$.row,column:$.column}};var S=d.createElement("div");if(g.length>1){var M=this.hideTokensAfterPosition($.row,$.column),T;g.slice(1).forEach(function(H){var W=d.createElement("div"),B=d.createElement("span");B.className="ace_ghost_text",H.wrapped&&(W.className="ghost_text_line_wrapped"),H.text.length===0&&(H.text=" "),B.appendChild(d.createTextNode(H.text)),W.appendChild(B),S.appendChild(W),T=W}),M.forEach(function(H){var W=d.createElement("span");A(H.type)||(W.className="ace_"+H.type.replace(/\./g," ace_")),W.appendChild(d.createTextNode(H.value)),T.appendChild(W)}),this.$ghostTextWidget={el:S,row:$.row,column:$.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var R=this.$cursorLayer.getPixelPosition($,!0),D=this.container,N=D.getBoundingClientRect().height,P=g.length*this.lineHeight,j=P0){var D=0;R.push(g[M].length);for(var N=0;N1||Math.abs(k.$size.height-$)>1?k.$resizeTimer.delay():k.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},_}();L.prototype.CHANGE_CURSOR=1,L.prototype.CHANGE_MARKER=2,L.prototype.CHANGE_GUTTER=4,L.prototype.CHANGE_SCROLL=8,L.prototype.CHANGE_LINES=16,L.prototype.CHANGE_TEXT=32,L.prototype.CHANGE_SIZE=64,L.prototype.CHANGE_MARKER_BACK=128,L.prototype.CHANGE_MARKER_FRONT=256,L.prototype.CHANGE_FULL=512,L.prototype.CHANGE_H_SCROLL=1024,L.prototype.$changes=0,L.prototype.$padding=null,L.prototype.$frozen=!1,L.prototype.STEPS=8,u.implement(L.prototype,x),s.defineOptions(L.prototype,"renderer",{useResizeObserver:{set:function(_){!_&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):_&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function(_){this.$textLayer.setShowInvisibles(_)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(_){typeof _=="number"&&(this.$printMarginColumn=_),this.$showPrintMargin=!!_,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(_){this.$gutter.style.display=_?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function(_){this.$gutterLayer.$useSvgGutterIcons=_},initialValue:!1},showFoldedAnnotations:{set:function(_){this.$gutterLayer.$showFoldedAnnotations=_},initialValue:!1},fadeFoldWidgets:{set:function(_){d.setCssClass(this.$gutter,"ace_fade-fold-widgets",_)},initialValue:!1},showFoldWidgets:{set:function(_){this.$gutterLayer.setShowFoldWidgets(_),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(_){this.$textLayer.setDisplayIndentGuides(_)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function(_){this.$textLayer.setHighlightIndentGuides(_)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function(_){this.$gutterLayer.setHighlightGutterLine(_),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function(_){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(_){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(_){typeof _=="number"&&(_=_+"px"),this.container.style.fontSize=_,this.updateFontSize()},initialValue:12},fontFamily:{set:function(_){this.container.style.fontFamily=_,this.updateFontSize()}},maxLines:{set:function(_){this.updateFull()}},minLines:{set:function(_){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function(_){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(_){_=+_||0,this.$scrollPastEnd!=_&&(this.$scrollPastEnd=_,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(_){this.$gutterLayer.$fixedWidth=!!_,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function(_){this.$updateCustomScrollbar(_)},initialValue:!1},theme:{set:function(_){this.setTheme(_)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!p.isMobile&&!p.isIE}}),b.VirtualRenderer=L}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(y,b,E){var u=y("../lib/oop"),d=y("../lib/net"),f=y("../lib/event_emitter").EventEmitter,s=y("../config");function l(n){var e="importScripts('"+d.qualifyURL(n)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,a=new o;return a.append(e),a.getBlob("application/javascript")}}function r(n){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(s.get("loadWorkerFromBlob")){var e=l(n),o=window.URL||window.webkitURL,a=o.createObjectURL(e);return new Worker(a)}return new Worker(n)}var t=function(n){n.postMessage||(n=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=n,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){u.implement(this,f),this.$createWorkerFromOldConfig=function(n,e,o,a,c){if(y.nameToUrl&&!y.toUrl&&(y.toUrl=y.nameToUrl),s.get("packaged")||!y.toUrl)a=a||s.moduleUrl(e,"worker");else{var h=this.$normalizePath;a=a||h(y.toUrl("ace/worker/worker.js",null,"_"));var x={};n.forEach(function(w){x[w]=h(y.toUrl(w,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=r(a),c&&this.send("importScripts",c),this.$worker.postMessage({init:!0,tlns:x,module:e,classname:o}),this.$worker},this.onMessage=function(n){var e=n.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var o=this.callbacks[e.id];o&&(o(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(n){window.console&&console.error&&console.error(n)},this.$normalizePath=function(n){return d.qualifyURL(n)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(n){n.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(n,e){this.$worker.postMessage({command:n,args:e})},this.call=function(n,e,o){if(o){var a=this.callbackId++;this.callbacks[a]=o,e.push(a)}this.send(n,e)},this.emit=function(n,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:n,data:{data:e.data}})}catch(o){console.error(o.stack)}},this.attachToDocument=function(n){this.$doc&&this.terminate(),this.$doc=n,this.call("setValue",[n.getValue()]),n.on("change",this.changeListener,!0)},this.changeListener=function(n){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),n.action=="insert"?this.deltaQueue.push(n.start,n.lines):this.deltaQueue.push(n.start,n.end)},this.$sendDeltaQueue=function(){var n=this.deltaQueue;n&&(this.deltaQueue=null,n.length>50&&n.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:n}))}}).call(t.prototype);var i=function(n,e,o){var a=null,c=!1,h=Object.create(f),x=[],w=new t({messageBuffer:x,terminate:function(){},postMessage:function(p){x.push(p),a&&(c?setTimeout(v):v())}});w.setEmitSync=function(p){c=p};var v=function(){var p=x.shift();p.command?a[p.command].apply(a,p.args):p.event&&h._signal(p.event,p.data)};return h.postMessage=function(p){w.onMessage({data:p})},h.callback=function(p,A){this.postMessage({type:"call",id:A,data:p})},h.emit=function(p,A){this.postMessage({type:"event",name:p,data:A})},s.loadModule(["worker",e],function(p){for(a=new p[o](h);x.length;)v()}),w};b.UIWorkerClient=i,b.WorkerClient=t,b.createWorker=r}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(y,b,E){var u=y("./range").Range,d=y("./lib/event_emitter").EventEmitter,f=y("./lib/oop"),s=function(){function l(r,t,i,n,e,o){var a=this;this.length=t,this.session=r,this.doc=r.getDocument(),this.mainClass=e,this.othersClass=o,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){a.onCursorChange()})},this.$pos=i;var c=r.getUndoManager().$undoStack||r.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=c.length,this.setup(),r.selection.on("changeCursor",this.$onCursorChange)}return l.prototype.setup=function(){var r=this,t=this.doc,i=this.session;this.selectionBefore=i.selection.toJSON(),i.selection.inMultiSelectMode&&i.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var n=this.pos;n.$insertRight=!0,n.detach(),n.markerId=i.addMarker(new u(n.row,n.column,n.row,n.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var o=t.createAnchor(e.row,e.column);o.$insertRight=!0,o.detach(),r.others.push(o)}),i.setUndoSelect(!1)},l.prototype.showOtherMarkers=function(){if(!this.othersActive){var r=this.session,t=this;this.othersActive=!0,this.others.forEach(function(i){i.markerId=r.addMarker(new u(i.row,i.column,i.row,i.column+t.length),t.othersClass,null,!1)})}},l.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var r=0;r=this.pos.column&&t.start.column<=this.pos.column+this.length+1,e=t.start.column-this.pos.column;if(this.updateAnchors(r),n&&(this.length+=i),n&&!this.session.$fromUndo){if(r.action==="insert")for(var o=this.others.length-1;o>=0;o--){var a=this.others[o],c={row:a.row,column:a.column+e};this.doc.insertMergedLines(c,r.lines)}else if(r.action==="remove")for(var o=this.others.length-1;o>=0;o--){var a=this.others[o],c={row:a.row,column:a.column+e};this.doc.remove(new u(c.row,c.column,c.row,c.column-i))}}this.$updating=!1,this.updateMarkers()}},l.prototype.updateAnchors=function(r){this.pos.onChange(r);for(var t=this.others.length;t--;)this.others[t].onChange(r);this.updateMarkers()},l.prototype.updateMarkers=function(){if(!this.$updating){var r=this,t=this.session,i=function(e,o){t.removeMarker(e.markerId),e.markerId=t.addMarker(new u(e.row,e.column,e.row,e.column+r.length),o,null,!1)};i(this.pos,this.mainClass);for(var n=this.others.length;n--;)i(this.others[n],this.othersClass)}},l.prototype.onCursorChange=function(r){if(!(this.$updating||!this.session)){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",r)):(this.hideOtherMarkers(),this._emit("cursorLeave",r))}},l.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},l.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var r=this.session.getUndoManager(),t=(r.$undoStack||r.$undostack).length-this.$undoStackDepth,i=0;i1?d.multiSelect.joinSelections():d.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(d){d.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(d){d.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(d){d.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],b.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(d){d.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(d){return d&&d.inMultiSelectMode}}];var u=y("../keyboard/hash_handler").HashHandler;b.keyboardHandler=new u(b.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(y,b,E){var u=y("./range_list").RangeList,d=y("./range").Range,f=y("./selection").Selection,s=y("./mouse/multi_select_handler").onMouseDown,l=y("./lib/event"),r=y("./lib/lang"),t=y("./commands/multi_select_commands");b.commands=t.defaultCommands.concat(t.multiSelectCommands);var i=y("./search").Search,n=new i;function e(w,v,p){return n.$options.wrap=!0,n.$options.needle=v,n.$options.backwards=p==-1,n.find(w)}var o=y("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(o.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(w,v){if(w){if(!this.inMultiSelectMode&&this.rangeCount===0){var p=this.toOrientedRange();if(this.rangeList.add(p),this.rangeList.add(w),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),v||this.fromOrientedRange(w);this.rangeList.removeAll(),this.rangeList.add(p),this.$onAddRange(p)}w.cursor||(w.cursor=w.end);var A=this.rangeList.add(w);return this.$onAddRange(w),A.length&&this.$onRemoveRange(A),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),v||this.fromOrientedRange(w)}},this.toSingleRange=function(w){w=w||this.ranges[0];var v=this.rangeList.removeAll();v.length&&this.$onRemoveRange(v),w&&this.fromOrientedRange(w)},this.substractPoint=function(w){var v=this.rangeList.substractPoint(w);if(v)return this.$onRemoveRange(v),v[0]},this.mergeOverlappingRanges=function(){var w=this.rangeList.merge();w.length&&this.$onRemoveRange(w)},this.$onAddRange=function(w){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(w),this._signal("addRange",{range:w})},this.$onRemoveRange=function(w){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var v=this.rangeList.ranges.pop();w.push(v),this.rangeCount=0}for(var p=w.length;p--;){var A=this.ranges.indexOf(w[p]);this.ranges.splice(A,1)}this._signal("removeRange",{ranges:w}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),v=v||this.ranges[0],v&&!v.isEqual(this.getRange())&&this.fromOrientedRange(v)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new u,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var w=this.ranges.length?this.ranges:[this.getRange()],v=[],p=0;p1){var w=this.rangeList.ranges,v=w[w.length-1],p=d.fromPoints(w[0].start,v.end);this.toSingleRange(),this.setSelectionRange(p,v.cursor==v.start)}else{var A=this.session.documentToScreenPosition(this.cursor),L=this.session.documentToScreenPosition(this.anchor),_=this.rectangularRangeBlock(A,L);_.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(w,v,p){var A=[],L=w.column0;)D--;if(D>0)for(var N=0;A[N].isEmpty();)N++;for(var P=D;P>=N;P--)A[P].isEmpty()&&A.splice(P,1)}return A}}).call(f.prototype);var a=y("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(w){w.cursor||(w.cursor=w.end);var v=this.getSelectionStyle();return w.marker=this.session.addMarker(w,"ace_selection",v),this.session.$selectionMarkers.push(w),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,w},this.removeSelectionMarker=function(w){if(w.marker){this.session.removeMarker(w.marker);var v=this.session.$selectionMarkers.indexOf(w);v!=-1&&this.session.$selectionMarkers.splice(v,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(w){for(var v=this.session.$selectionMarkers,p=w.length;p--;){var A=w[p];if(A.marker){this.session.removeMarker(A.marker);var L=v.indexOf(A);L!=-1&&v.splice(L,1)}}this.session.selectionMarkerCount=v.length},this.$onAddRange=function(w){this.addSelectionMarker(w.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(w){this.removeSelectionMarkers(w.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(w){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(t.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(w){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(t.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(w){var v=w.command,p=w.editor;if(p.multiSelect){if(v.multiSelectAction)v.multiSelectAction=="forEach"?A=p.forEachSelection(v,w.args):v.multiSelectAction=="forEachLine"?A=p.forEachSelection(v,w.args,!0):v.multiSelectAction=="single"?(p.exitMultiSelectMode(),A=v.exec(p,w.args||{})):A=v.multiSelectAction(p,w.args||{});else{var A=v.exec(p,w.args||{});p.multiSelect.addRange(p.multiSelect.toOrientedRange()),p.multiSelect.mergeOverlappingRanges()}return A}},this.forEachSelection=function(w,v,p){if(!this.inVirtualSelectionMode){var A=p&&p.keepOrder,L=p==!0||p&&p.$byLines,_=this.session,k=this.selection,C=k.rangeList,m=(A?k:C).ranges,$;if(!m.length)return w.exec?w.exec(this,v||{}):w(this,v||{});var g=k._eventRegistry;k._eventRegistry={};var S=new f(_);this.inVirtualSelectionMode=!0;for(var M=m.length;M--;){if(L)for(;M>0&&m[M].start.row==m[M-1].end.row;)M--;S.fromOrientedRange(m[M]),S.index=M,this.selection=_.selection=S;var T=w.exec?w.exec(this,v||{}):w(this,v||{});!$&&T!==void 0&&($=T),S.toOrientedRange(m[M])}S.detach(),this.selection=_.selection=k,this.inVirtualSelectionMode=!1,k._eventRegistry=g,k.mergeOverlappingRanges(),k.ranges[0]&&k.fromOrientedRange(k.ranges[0]);var R=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),R&&R.from==R.to&&this.renderer.animateScrolling(R.from),$}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var w="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var v=this.multiSelect.rangeList.ranges,p=[],A=0;A0);k<0&&(k=0),C>=$&&(C=$-1)}var S=this.session.removeFullLines(k,C);S=this.$reAlignText(S,m),this.session.insert({row:k,column:0},S.join(`
+`)+`
+`),m||(_.start.column=0,_.end.column=S[S.length-1].length),this.selection.setRange(_)}else{L.forEach(function(D){v.substractPoint(D.cursor)});var M=0,T=1/0,R=p.map(function(D){var N=D.cursor,P=w.getLine(N.row),j=P.substr(N.column).search(/\S/g);return j==-1&&(j=0),N.column>M&&(M=N.column),jH?w.insert(P,r.stringRepeat(" ",j-H)):w.remove(new d(P.row,P.column,P.row,P.column-j+H)),D.start.column=D.end.column=M,D.start.row=D.end.row=P.row,D.cursor=D.end}),v.fromOrientedRange(p[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(w,v){var p=!0,A=!0,L,_,k;return w.map(function(S){var M=S.match(/(\s*)(.*?)(\s*)([=:].*)/);return M?L==null?(L=M[1].length,_=M[2].length,k=M[3].length,M):(L+_+k!=M[1].length+M[2].length+M[3].length&&(A=!1),L!=M[1].length&&(p=!1),L>M[1].length&&(L=M[1].length),_M[3].length&&(k=M[3].length),M):[S]}).map(v?m:p?A?$:m:g);function C(S){return r.stringRepeat(" ",S)}function m(S){return S[2]?C(L)+S[2]+C(_-S[2].length+k)+S[4].replace(/^([=:])\s+/,"$1 "):S[0]}function $(S){return S[2]?C(L+_-S[2].length)+S[2]+C(k)+S[4].replace(/^([=:])\s+/,"$1 "):S[0]}function g(S){return S[2]?C(L)+S[2]+C(k)+S[4].replace(/^([=:])\s+/,"$1 "):S[0]}}}).call(a.prototype);function c(w,v){return w.row==v.row&&w.column==v.column}b.onSessionChange=function(w){var v=w.session;v&&!v.multiSelect&&(v.$selectionMarkers=[],v.selection.$initRangeList(),v.multiSelect=v.selection),this.multiSelect=v&&v.multiSelect;var p=w.oldSession;p&&(p.multiSelect.off("addRange",this.$onAddRange),p.multiSelect.off("removeRange",this.$onRemoveRange),p.multiSelect.off("multiSelect",this.$onMultiSelect),p.multiSelect.off("singleSelect",this.$onSingleSelect),p.multiSelect.lead.off("change",this.$checkMultiselectChange),p.multiSelect.anchor.off("change",this.$checkMultiselectChange)),v&&(v.multiSelect.on("addRange",this.$onAddRange),v.multiSelect.on("removeRange",this.$onRemoveRange),v.multiSelect.on("multiSelect",this.$onMultiSelect),v.multiSelect.on("singleSelect",this.$onSingleSelect),v.multiSelect.lead.on("change",this.$checkMultiselectChange),v.multiSelect.anchor.on("change",this.$checkMultiselectChange)),v&&this.inMultiSelectMode!=v.selection.inMultiSelectMode&&(v.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function h(w){w.$multiselectOnSessionChange||(w.$onAddRange=w.$onAddRange.bind(w),w.$onRemoveRange=w.$onRemoveRange.bind(w),w.$onMultiSelect=w.$onMultiSelect.bind(w),w.$onSingleSelect=w.$onSingleSelect.bind(w),w.$multiselectOnSessionChange=b.onSessionChange.bind(w),w.$checkMultiselectChange=w.$checkMultiselectChange.bind(w),w.$multiselectOnSessionChange(w),w.on("changeSession",w.$multiselectOnSessionChange),w.on("mousedown",s),w.commands.addCommands(t.defaultCommands),x(w))}function x(w){if(!w.textInput)return;var v=w.textInput.getElement(),p=!1;l.addListener(v,"keydown",function(L){var _=L.keyCode==18&&!(L.ctrlKey||L.shiftKey||L.metaKey);w.$blockSelectEnabled&&_?p||(w.renderer.setMouseCursor("crosshair"),p=!0):p&&A()},w),l.addListener(v,"keyup",A,w),l.addListener(v,"blur",A,w);function A(L){p&&(w.renderer.setMouseCursor(""),p=!1)}}b.MultiSelect=h,y("./config").defineOptions(a.prototype,"editor",{enableMultiselect:{set:function(w){h(this),w?this.on("mousedown",s):this.off("mousedown",s)},value:!0},enableBlockSelect:{set:function(w){this.$blockSelectEnabled=w},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(y,b,E){var u=y("../../range").Range,d=b.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(f,s,l){var r=f.getLine(l);return this.foldingStartMarker.test(r)?"start":s=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?"end":""},this.getFoldWidgetRange=function(f,s,l){return null},this.indentationBlock=function(f,s,l){var r=/\S/,t=f.getLine(s),i=t.search(r);if(i!=-1){for(var n=l||t.length,e=f.getLength(),o=s,a=s;++so){var x=f.getLine(a).length;return new u(o,n,a,x)}}},this.openingBracketBlock=function(f,s,l,r,t){var i={row:l,column:r+1},n=f.$findClosingBracket(s,i,t);if(n){var e=f.foldWidgets[n.row];return e==null&&(e=f.getFoldWidget(n.row)),e=="start"&&n.row>i.row&&(n.row--,n.column=f.getLine(n.row).length),u.fromPoints(i,n)}},this.closingBracketBlock=function(f,s,l,r,t){var i={row:l,column:r},n=f.$findOpeningBracket(s,i);if(n)return n.column++,i.column--,u.fromPoints(n,i)}}).call(d.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range","ace/config"],function(y,b,E){var u=y("../line_widgets").LineWidgets,d=y("../lib/dom"),f=y("../range").Range,s=y("../config").nls;function l(t,i,n){for(var e=0,o=t.length-1;e<=o;){var a=e+o>>1,c=n(i,t[a]);if(c>0)e=a+1;else if(c<0)o=a-1;else return a}return-(e+1)}function r(t,i,n){var e=t.getAnnotations().sort(f.comparePoints);if(e.length){var o=l(e,{row:i,column:-1},f.comparePoints);o<0&&(o=-o-1),o>=e.length?o=n>0?0:e.length-1:o===0&&n<0&&(o=e.length-1);var a=e[o];if(!(!a||!n)){if(a.row===i){do a=e[o+=n];while(a&&a.row===i);if(!a)return e.slice()}var c=[];i=a.row;do c[n<0?"unshift":"push"](a),a=e[o+=n];while(a&&a.row==i);return c.length&&c}}}b.showErrorMarker=function(t,i){var n=t.session;n.widgetManager||(n.widgetManager=new u(n),n.widgetManager.attach(t));var e=t.getCursorPosition(),o=e.row,a=n.widgetManager.getWidgetsAtRow(o).filter(function(_){return _.type=="errorMarker"})[0];a?a.destroy():o-=i;var c=r(n,o,i),h;if(c){var x=c[0];e.column=(x.pos&&typeof x.column!="number"?x.pos.sc:x.column)||0,e.row=x.row,h=t.renderer.$gutterLayer.$annotations[e.row]}else{if(a)return;h={displayText:[s("error-marker.good-state","Looks good!")],className:"ace_ok"}}t.session.unfold(e.row),t.selection.moveToPosition(e);var w={row:e.row,fixedWidth:!0,coverGutter:!0,el:d.createElement("div"),type:"errorMarker"},v=w.el.appendChild(d.createElement("div")),p=w.el.appendChild(d.createElement("div"));p.className="error_widget_arrow "+h.className;var A=t.renderer.$cursorLayer.getPixelPosition(e).left;p.style.left=A+t.renderer.gutterWidth-5+"px",w.el.className="error_widget_wrapper",v.className="error_widget "+h.className,h.displayText.forEach(function(_,k){v.appendChild(d.createTextNode(_)),k-1}function jn(O,z){var G=this.__data__,J=ut(G,O);return J<0?(++this.size,G.push([O,z])):G[J][1]=z,this}Re.prototype.clear=Bn,Re.prototype.delete=Hn,Re.prototype.get=Pn,Re.prototype.has=zn,Re.prototype.set=jn;function ze(O){var z=-1,G=O==null?0:O.length;for(this.clear();++zwe))return!1;var pe=ie.get(O);if(pe&&ie.get(z))return pe==z;var Ae=-1,_e=!0,xe=G&u?new ht:void 0;for(ie.set(O,z),ie.set(z,O);++Ae-1&&O%1==0&&O-1&&O%1==0&&O<=d}function Jt(O){var z=typeof O;return O!=null&&(z=="object"||z=="function")}function ot(O){return O!=null&&typeof O=="object"}var qt=ve?qe(ve):si;function bi(O){return yi(O)?ni(O):ai(O)}function $i(){return[]}function Si(){return!1}F.exports=wi})(yt,yt.exports);var pn=yt.exports,Le={};Object.defineProperty(Le,"__esModule",{value:!0});Le.getAceInstance=Le.debounce=Le.editorEvents=Le.editorOptions=void 0;var Ii=["minLines","maxLines","readOnly","highlightActiveLine","tabSize","enableBasicAutocompletion","enableLiveAutocompletion","enableSnippets"];Le.editorOptions=Ii;var Di=["onChange","onFocus","onInput","onBlur","onCopy","onPaste","onSelectionChange","onCursorChange","onScroll","handleOptions","updateRef"];Le.editorEvents=Di;var Oi=function(){var F;return typeof window>"u"?(ye.window={},F=vt,delete ye.window):window.ace?(F=window.ace,F.acequire=window.ace.require||window.ace.acequire):F=vt,F};Le.getAceInstance=Oi;var Ni=function(F,I){var y=null;return function(){var b=this,E=arguments;clearTimeout(y),y=setTimeout(function(){F.apply(b,E)},I)}};Le.debounce=Ni;var Fi=ye&&ye.__extends||function(){var F=function(I,y){return F=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(b,E){b.__proto__=E}||function(b,E){for(var u in E)Object.prototype.hasOwnProperty.call(E,u)&&(b[u]=E[u])},F(I,y)};return function(I,y){if(typeof y!="function"&&y!==null)throw new TypeError("Class extends value "+String(y)+" is not a constructor or null");F(I,y);function b(){this.constructor=I}I.prototype=y===null?Object.create(y):(b.prototype=y.prototype,new b)}}(),Dt=ye&&ye.__assign||function(){return Dt=Object.assign||function(F){for(var I,y=1,b=arguments.length;y0&&this.handleMarkers(A);var C=this.editor.$options;Xe.editorOptions.forEach(function(m){C.hasOwnProperty(m)?y.editor.setOption(m,y.props[m]):y.props[m]&&console.warn("ReactAce: editor option ".concat(m," was activated but not found. Did you need to import a related tool or did you possibly mispell the option?"))}),this.handleOptions(this.props),Array.isArray(v)&&v.forEach(function(m){typeof m.exec=="string"?y.editor.commands.bindKey(m.bindKey,m.exec):y.editor.commands.addCommand(m)}),x&&this.editor.setKeyboardHandler("ace/keyboard/"+x),E&&(this.refEditor.className+=" "+E),w&&w(this.editor),this.editor.resize(),s&&this.editor.focus()},I.prototype.componentDidUpdate=function(y){for(var b=y,E=this.props,u=0;u 0!";if(t!=this.$splits){if(t>this.$splits){for(;this.$splitst;)i=this.$editors[this.$splits-1],this.$container.removeChild(i.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(t){return this.$editors[t]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(t){this.$editors.forEach(function(i){i.setTheme(t)})},this.setKeyboardHandler=function(t){this.$editors.forEach(function(i){i.setKeyboardHandler(t)})},this.forEach=function(t,i){this.$editors.forEach(t,i)},this.$fontSize="",this.setFontSize=function(t){this.$fontSize=t,this.forEach(function(i){i.setFontSize(t)})},this.$cloneSession=function(t){var i=new l(t.getDocument(),t.getMode()),n=t.getUndoManager();return i.setUndoManager(n),i.setTabSize(t.getTabSize()),i.setUseSoftTabs(t.getUseSoftTabs()),i.setOverwrite(t.getOverwrite()),i.setBreakpoints(t.getBreakpoints()),i.setUseWrapMode(t.getUseWrapMode()),i.setUseWorker(t.getUseWorker()),i.setWrapLimitRange(t.$wrapLimitRange.min,t.$wrapLimitRange.max),i.$foldData=t.$cloneFoldData(),i},this.setSession=function(t,i){var n;i==null?n=this.$cEditor:n=this.$editors[i];var e=this.$editors.some(function(o){return o.session===t});return e&&(t=this.$cloneSession(t)),n.setSession(t),t},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(t){this.$orientation!=t&&(this.$orientation=t,this.resize())},this.resize=function(){var t=this.$container.clientWidth,i=this.$container.clientHeight,n;if(this.$orientation==this.BESIDE)for(var e=t/this.$splits,o=0;o-1}function mr(F,I){var y=this.__data__,b=bt(y,F);return b<0?y.push([F,I]):y[b][1]=I,this}Je.prototype.clear=dr;Je.prototype.delete=fr;Je.prototype.get=gr;Je.prototype.has=pr;Je.prototype.set=mr;function Ke(F){var I=-1,y=F?F.length:0;for(this.clear();++I0&&y.handleMarkers(R,m);for(var g=0;g"u"&&(this.Diff_Timeout<=0?s=Number.MAX_VALUE:s=new Date().getTime()+this.Diff_Timeout*1e3);var l=s;if(u==null||d==null)throw new Error("Null input. (diff_main)");if(u==d)return u?[new I.Diff(E,u)]:[];typeof f>"u"&&(f=!0);var r=f,t=this.diff_commonPrefix(u,d),i=u.substring(0,t);u=u.substring(t),d=d.substring(t),t=this.diff_commonSuffix(u,d);var n=u.substring(u.length-t);u=u.substring(0,u.length-t),d=d.substring(0,d.length-t);var e=this.diff_compute_(u,d,r,l);return i&&e.unshift(new I.Diff(E,i)),n&&e.push(new I.Diff(E,n)),this.diff_cleanupMerge(e),e},I.prototype.diff_compute_=function(u,d,f,s){var l;if(!u)return[new I.Diff(b,d)];if(!d)return[new I.Diff(y,u)];var r=u.length>d.length?u:d,t=u.length>d.length?d:u,i=r.indexOf(t);if(i!=-1)return l=[new I.Diff(b,r.substring(0,i)),new I.Diff(E,t),new I.Diff(b,r.substring(i+t.length))],u.length>d.length&&(l[0][0]=l[2][0]=y),l;if(t.length==1)return[new I.Diff(y,u),new I.Diff(b,d)];var n=this.diff_halfMatch_(u,d);if(n){var e=n[0],o=n[1],a=n[2],c=n[3],h=n[4],x=this.diff_main(e,a,f,s),w=this.diff_main(o,c,f,s);return x.concat([new I.Diff(E,h)],w)}return f&&u.length>100&&d.length>100?this.diff_lineMode_(u,d,s):this.diff_bisect_(u,d,s)},I.prototype.diff_lineMode_=function(u,d,f){var s=this.diff_linesToChars_(u,d);u=s.chars1,d=s.chars2;var l=s.lineArray,r=this.diff_main(u,d,!1,f);this.diff_charsToLines_(r,l),this.diff_cleanupSemantic(r),r.push(new I.Diff(E,""));for(var t=0,i=0,n=0,e="",o="";t=1&&n>=1){r.splice(t-i-n,i+n),t=t-i-n;for(var a=this.diff_main(e,o,!1,f),c=a.length-1;c>=0;c--)r.splice(t,0,a[c]);t=t+a.length}n=0,i=0,e="",o="";break}t++}return r.pop(),r},I.prototype.diff_bisect_=function(u,d,f){for(var s=u.length,l=d.length,r=Math.ceil((s+l)/2),t=r,i=2*r,n=new Array(i),e=new Array(i),o=0;of);p++){for(var A=-p+h;A<=p-x;A+=2){var L=t+A,_;A==-p||A!=p&&n[L-1]s)x+=2;else if(k>l)h+=2;else if(c){var C=t+a-A;if(C>=0&&C=m)return this.diff_bisectSplit_(u,d,_,k,f)}}}for(var $=-p+w;$<=p-v;$+=2){var C=t+$,m;$==-p||$!=p&&e[C-1]s)v+=2;else if(g>l)w+=2;else if(!c){var L=t+a-$;if(L>=0&&L=m)return this.diff_bisectSplit_(u,d,_,k,f)}}}}return[new I.Diff(y,u),new I.Diff(b,d)]},I.prototype.diff_bisectSplit_=function(u,d,f,s,l){var r=u.substring(0,f),t=d.substring(0,s),i=u.substring(f),n=d.substring(s),e=this.diff_main(r,t,!1,l),o=this.diff_main(i,n,!1,l);return e.concat(o)},I.prototype.diff_linesToChars_=function(u,d){var f=[],s={};f[0]="";function l(n){for(var e="",o=0,a=-1,c=f.length;as?u=u.substring(f-s):fd.length?u:d,s=u.length>d.length?d:u;if(f.length<4||s.length*2=x.length?[_,k,C,m,L]:null}var t=r(f,s,Math.ceil(f.length/4)),i=r(f,s,Math.ceil(f.length/2)),n;if(!t&&!i)return null;i?t?n=t[4].length>i[4].length?t:i:n=i:n=t;var e,o,a,c;u.length>d.length?(e=n[0],o=n[1],a=n[2],c=n[3]):(a=n[0],c=n[1],e=n[2],o=n[3]);var h=n[4];return[e,o,a,c,h]},I.prototype.diff_cleanupSemantic=function(u){for(var d=!1,f=[],s=0,l=null,r=0,t=0,i=0,n=0,e=0;r0?f[s-1]:-1,t=0,i=0,n=0,e=0,l=null,d=!0)),r++;for(d&&this.diff_cleanupMerge(u),this.diff_cleanupSemanticLossless(u),r=1;r=h?(c>=o.length/2||c>=a.length/2)&&(u.splice(r,0,new I.Diff(E,a.substring(0,c))),u[r-1][1]=o.substring(0,o.length-c),u[r+1][1]=a.substring(c),r++):(h>=o.length/2||h>=a.length/2)&&(u.splice(r,0,new I.Diff(E,o.substring(0,h))),u[r-1][0]=b,u[r-1][1]=a.substring(0,a.length-h),u[r+1][0]=y,u[r+1][1]=o.substring(h),r++),r++}r++}},I.prototype.diff_cleanupSemanticLossless=function(u){function d(h,x){if(!h||!x)return 6;var w=h.charAt(h.length-1),v=x.charAt(0),p=w.match(I.nonAlphaNumericRegex_),A=v.match(I.nonAlphaNumericRegex_),L=p&&w.match(I.whitespaceRegex_),_=A&&v.match(I.whitespaceRegex_),k=L&&w.match(I.linebreakRegex_),C=_&&v.match(I.linebreakRegex_),m=k&&h.match(I.blanklineEndRegex_),$=C&&x.match(I.blanklineStartRegex_);return m||$?5:k||C?4:p&&!L&&_?3:L||_?2:p||A?1:0}for(var f=1;f=a&&(a=c,n=s,e=l,o=r)}u[f-1][1]!=n&&(n?u[f-1][1]=n:(u.splice(f-1,1),f--),u[f][1]=e,o?u[f+1][1]=o:(u.splice(f+1,1),f--))}f++}},I.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,I.whitespaceRegex_=/\s/,I.linebreakRegex_=/[\r\n]/,I.blanklineEndRegex_=/\n\r?\n$/,I.blanklineStartRegex_=/^\r?\n\r?\n/,I.prototype.diff_cleanupEfficiency=function(u){for(var d=!1,f=[],s=0,l=null,r=0,t=!1,i=!1,n=!1,e=!1;r0?f[s-1]:-1,n=e=!1),d=!0)),r++;d&&this.diff_cleanupMerge(u)},I.prototype.diff_cleanupMerge=function(u){u.push(new I.Diff(E,""));for(var d=0,f=0,s=0,l="",r="",t;d1?(f!==0&&s!==0&&(t=this.diff_commonPrefix(r,l),t!==0&&(d-f-s>0&&u[d-f-s-1][0]==E?u[d-f-s-1][1]+=r.substring(0,t):(u.splice(0,0,new I.Diff(E,r.substring(0,t))),d++),r=r.substring(t),l=l.substring(t)),t=this.diff_commonSuffix(r,l),t!==0&&(u[d][1]=r.substring(r.length-t)+u[d][1],r=r.substring(0,r.length-t),l=l.substring(0,l.length-t))),d-=f+s,u.splice(d,f+s),l.length&&(u.splice(d,0,new I.Diff(y,l)),d++),r.length&&(u.splice(d,0,new I.Diff(b,r)),d++),d++):d!==0&&u[d-1][0]==E?(u[d-1][1]+=u[d][1],u.splice(d,1)):d++,s=0,f=0,l="",r="";break}u[u.length-1][1]===""&&u.pop();var i=!1;for(d=1;dd));t++)l=f,r=s;return u.length!=t&&u[t][0]===y?r:r+(d-l)},I.prototype.diff_prettyHtml=function(u){for(var d=[],f=/&/g,s=//g,r=/\n/g,t=0;t");switch(i){case b:d[t]=''+e+"";break;case y:d[t]=''+e+"";break;case E:d[t]=""+e+"";break}}return d.join("")},I.prototype.diff_text1=function(u){for(var d=[],f=0;fthis.Match_MaxBits)throw new Error("Pattern too long for this browser.");var s=this.match_alphabet_(d),l=this;function r(_,k){var C=_/d.length,m=Math.abs(f-k);return l.Match_Distance?C+m/l.Match_Distance:m?1:C}var t=this.Match_Threshold,i=u.indexOf(d,f);i!=-1&&(t=Math.min(r(0,i),t),i=u.lastIndexOf(d,f+d.length),i!=-1&&(t=Math.min(r(0,i),t)));var n=1<=x;p--){var A=s[u.charAt(p-1)];if(h===0?v[p]=(v[p+1]<<1|1)&A:v[p]=(v[p+1]<<1|1)&A|((c[p+1]|c[p])<<1|1)|c[p+1],v[p]&n){var L=r(h,p-1);if(L<=t)if(t=L,i=p-1,i>f)x=Math.max(1,2*f-i);else break}}if(r(h+1,f)>t)break;c=v}return i},I.prototype.match_alphabet_=function(u){for(var d={},f=0;f"u")s=u,l=this.diff_main(s,d,!0),l.length>2&&(this.diff_cleanupSemantic(l),this.diff_cleanupEfficiency(l));else if(u&&typeof u=="object"&&typeof d>"u"&&typeof f>"u")l=u,s=this.diff_text1(l);else if(typeof u=="string"&&d&&typeof d=="object"&&typeof f>"u")s=u,l=d;else if(typeof u=="string"&&typeof d=="string"&&f&&typeof f=="object")s=u,l=f;else throw new Error("Unknown call format to patch_make.");if(l.length===0)return[];for(var r=[],t=new I.patch_obj,i=0,n=0,e=0,o=s,a=s,c=0;c=2*this.Patch_Margin&&i&&(this.patch_addContext_(t,o),r.push(t),t=new I.patch_obj,i=0,o=a,n=e);break}h!==b&&(n+=x.length),h!==y&&(e+=x.length)}return i&&(this.patch_addContext_(t,o),r.push(t)),r},I.prototype.patch_deepCopy=function(u){for(var d=[],f=0;fthis.Match_MaxBits?(n=this.match_main(d,i.substring(0,this.Match_MaxBits),t),n!=-1&&(e=this.match_main(d,i.substring(i.length-this.Match_MaxBits),t+i.length-this.Match_MaxBits),(e==-1||n>=e)&&(n=-1))):n=this.match_main(d,i,t),n==-1)l[r]=!1,s-=u[r].length2-u[r].length1;else{l[r]=!0,s=n-t;var o;if(e==-1?o=d.substring(n,n+i.length):o=d.substring(n,e+this.Match_MaxBits),i==o)d=d.substring(0,n)+this.diff_text2(u[r].diffs)+d.substring(n+i.length);else{var a=this.diff_main(i,o,!1);if(i.length>this.Match_MaxBits&&this.diff_levenshtein(a)/i.length>this.Patch_DeleteThreshold)l[r]=!1;else{this.diff_cleanupSemanticLossless(a);for(var c=0,h,x=0;xr[0][1].length){var t=d-r[0][1].length;r[0][1]=f.substring(r[0][1].length)+r[0][1],l.start1-=t,l.start2-=t,l.length1+=t,l.length2+=t}if(l=u[u.length-1],r=l.diffs,r.length==0||r[r.length-1][0]!=E)r.push(new I.Diff(E,f)),l.length1+=d,l.length2+=d;else if(d>r[r.length-1][1].length){var t=d-r[r.length-1][1].length;r[r.length-1][1]+=f.substring(0,t),l.length1+=t,l.length2+=t}return f},I.prototype.patch_splitMax=function(u){for(var d=this.Match_MaxBits,f=0;f2*d?(i.length1+=o.length,l+=o.length,n=!1,i.diffs.push(new I.Diff(e,o)),s.diffs.shift()):(o=o.substring(0,d-i.length1-this.Patch_Margin),i.length1+=o.length,l+=o.length,e===E?(i.length2+=o.length,r+=o.length):n=!1,i.diffs.push(new I.Diff(e,o)),o==s.diffs[0][1]?s.diffs.shift():s.diffs[0][1]=s.diffs[0][1].substring(o.length))}t=this.diff_text2(i.diffs),t=t.substring(t.length-this.Patch_Margin);var a=this.diff_text1(s.diffs).substring(0,this.Patch_Margin);a!==""&&(i.length1+=a.length,i.length2+=a.length,i.diffs.length!==0&&i.diffs[i.diffs.length-1][0]===E?i.diffs[i.diffs.length-1][1]+=a:i.diffs.push(new I.Diff(E,a))),n||u.splice(++f,0,i)}}},I.prototype.patch_toText=function(u){for(var d=[],f=0;f>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:["keyword","text","entity.name.function"],regex:"(def|class)(\\s+)([\\u00BF-\\u1FFF\\u2C00-\\uD7FF\\w]+)"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:C},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:C},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:C},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:C},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:C},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:C},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:C},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:C},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'[^']*'"},{token:"string",regex:'"[^"]*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+k+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:k},{token:"constant.numeric",regex:w+"[lL]\\b"},{token:"constant.numeric",regex:w+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:t,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};u.inherits(f,d),b.PythonHighlightRules=f}),ace.define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(y,b,E){var u=y("../../lib/oop"),d=y("./fold_mode").FoldMode,f=b.FoldMode=function(s){this.foldingStartMarker=new RegExp("([\\[{])(?:\\s*)$|("+s+")(?:\\s*)(?:#.*)?$")};u.inherits(f,d),(function(){this.getFoldWidgetRange=function(s,l,r){var t=s.getLine(r),i=t.match(this.foldingStartMarker);if(i)return i[1]?this.openingBracketBlock(s,i[1],r,i.index):i[2]?this.indentationBlock(s,r,i.index+i[2].length):this.indentationBlock(s,r)}}).call(f.prototype)}),ace.define("ace/mode/python",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/python_highlight_rules","ace/mode/folding/pythonic","ace/range"],function(y,b,E){var u=y("../lib/oop"),d=y("./text").Mode,f=y("./python_highlight_rules").PythonHighlightRules,s=y("./folding/pythonic").FoldMode,l=y("../range").Range,r=function(){this.HighlightRules=f,this.foldingRules=new s("\\:"),this.$behaviour=this.$defaultBehaviour};u.inherits(r,d),(function(){this.lineCommentStart="#",this.$pairQuotesAfter={"'":/[ruf]/i,'"':/[ruf]/i},this.getNextLineIndent=function(i,n,e){var o=this.$getIndent(n),a=this.getTokenizer().getLineTokens(n,i),c=a.tokens;if(c.length&&c[c.length-1].type=="comment")return o;if(i=="start"){var h=n.match(/^.*[\{\(\[:]\s*$/);h&&(o+=e)}return o};var t={pass:1,return:1,raise:1,break:1,continue:1};this.checkOutdent=function(i,n,e){if(e!==`\r
+`&&e!=="\r"&&e!==`
+`)return!1;var o=this.getTokenizer().getLineTokens(n.trim(),i).tokens;if(!o)return!1;do var a=o.pop();while(a&&(a.type=="comment"||a.type=="text"&&a.value.match(/^\s+$/)));return a?a.type=="keyword"&&t[a.value]:!1},this.autoOutdent=function(i,n,e){e+=1;var o=this.$getIndent(n.getLine(e)),a=n.getTabString();o.slice(-a.length)==a&&n.remove(new l(e,o.length-a.length,e,o.length))},this.$id="ace/mode/python",this.snippetFileId="ace/snippets/python"}).call(r.prototype),b.Mode=r}),function(){ace.require(["ace/mode/python"],function(y){F&&(F.exports=y)})}()})(Zr);var Jr={exports:{}};(function(F,I){ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(y,b,E){var u=y("../lib/oop"),d=y("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},f.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};u.inherits(f,d),f.getTagRule=function(s){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},f.getStartRule=function(s){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:s}},f.getEndRule=function(s){return{token:"comment.doc",regex:"\\*\\/",next:s}},b.JsDocCommentHighlightRules=f}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(y,b,E){var u=y("../lib/oop"),d=y("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,f=y("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",l=function(i){var n={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},e=this.createKeywordMapper(n,"identifier"),o="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",a="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",c="(function)(\\s*)(\\*?)",h={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(n).join("|")+"\\b)"+s+")(\\s*)(\\()"};this.$rules={no_regex:[d.getStartRule("doc-start"),t("no_regex"),h,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+o+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:e,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[d.getStartRule("doc-start"),t("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[t("function_arguments"),{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:a},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:a},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!i||!i.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(x,w,v){if(this.next=x=="{"?this.nextState:"",x=="{"&&v.length)v.unshift("start",w);else if(x=="}"&&v.length&&(v.shift(),this.next=v.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return x=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:a},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+s+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!i||i.jsx!=!1)&&r.call(this)),this.embedRules(d,"doc-",[d.getEndRule("no_regex")]),this.normalizeRules()};u.inherits(l,f);function r(){var i=s.replace("\\d","\\d\\-"),n={onMatch:function(o,a,c){var h=o.charAt(1)=="/"?2:1;return h==1?(a!=this.nextState?c.unshift(this.next,this.nextState,0):c.unshift(this.next),c[2]++):h==2&&a==this.nextState&&(c[1]--,(!c[1]||c[1]<0)&&(c.shift(),c.shift())),[{type:"meta.tag.punctuation."+(h==1?"":"end-")+"tag-open.xml",value:o.slice(0,h)},{type:"meta.tag.tag-name.xml",value:o.substr(h)}]},regex:"?(?:"+i+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(n);var e={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[e,n,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(o,a,c){return a==c[0]&&c.shift(),o.length==2&&(c[0]==this.nextState&&c[1]--,(!c[1]||c[1]<0)&&c.splice(0,2)),this.next=c[0]||"start",[{type:this.token,value:o}]},nextState:"jsx"},e,t("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:i},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},n],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:[0-9]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function t(i){return[{token:"comment",regex:/\/\*/,next:[d.getTagRule(),{token:"comment",regex:"\\*\\/",next:i||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[d.getTagRule(),{token:"comment",regex:"$|^",next:i||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}b.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(y,b,E){var u=y("../range").Range,d=function(){};(function(){this.checkOutdent=function(f,s){return/^\s+$/.test(f)?/^\s*\}/.test(s):!1},this.autoOutdent=function(f,s){var l=f.getLine(s),r=l.match(/^(\s*\})/);if(!r)return 0;var t=r[1].length,i=f.findMatchingBracket({row:s,column:t});if(!i||i.row==s)return 0;var n=this.$getIndent(f.getLine(i.row));f.replace(new u(s,0,s,t-1),n)},this.$getIndent=function(f){return f.match(/^\s*/)[0]}}).call(d.prototype),b.MatchingBraceOutdent=d}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(y,b,E){var u=y("../../lib/oop"),d=y("../behaviour").Behaviour,f=y("../../token_iterator").TokenIterator;function s(r,t){return r&&r.type.lastIndexOf(t+".xml")>-1}var l=function(){this.add("string_dquotes","insertion",function(r,t,i,n,e){if(e=='"'||e=="'"){var o=e,a=n.doc.getTextRange(i.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&i.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var c=i.getCursorPosition(),h=n.doc.getLine(c.row),x=h.substring(c.column,c.column+1),w=new f(n,c.row,c.column),v=w.getCurrentToken();if(x==o&&(s(v,"attribute-value")||s(v,"string")))return{text:"",selection:[1,1]};if(v||(v=w.stepBackward()),!v)return;for(;s(v,"tag-whitespace")||s(v,"whitespace");)v=w.stepBackward();var p=!x||x.match(/\s/);if(s(v,"attribute-equals")&&(p||x==">")||s(v,"decl-attribute-equals")&&(p||x=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(r,t,i,n,e){var o=n.doc.getTextRange(e);if(!e.isMultiLine()&&(o=='"'||o=="'")){var a=n.doc.getLine(e.start.row),c=a.substring(e.start.column+1,e.start.column+2);if(c==o)return e.end.column++,e}}),this.add("autoclosing","insertion",function(r,t,i,n,e){if(e==">"){var o=i.getSelectionRange().start,a=new f(n,o.row,o.column),c=a.getCurrentToken()||a.stepBackward();if(!c||!(s(c,"tag-name")||s(c,"tag-whitespace")||s(c,"attribute-name")||s(c,"attribute-equals")||s(c,"attribute-value"))||s(c,"reference.attribute-value"))return;if(s(c,"attribute-value")){var h=a.getCurrentTokenColumn()+c.value.length;if(o.column/.test(n.getLine(o.row).slice(o.column)))return;for(;!s(c,"tag-name");)if(c=a.stepBackward(),c.value=="<"){c=a.stepForward();break}var w=a.getCurrentTokenRow(),v=a.getCurrentTokenColumn();if(s(a.stepBackward(),"end-tag-open"))return;var p=c.value;return w==o.row&&(p=p.substring(0,o.column-v)),this.voidElements&&this.voidElements.hasOwnProperty(p.toLowerCase())?void 0:{text:">"+p+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(r,t,i,n,e){if(e==`
+`){var o=i.getCursorPosition(),a=n.getLine(o.row),c=new f(n,o.row,o.column),h=c.getCurrentToken();if(s(h,"")&&h.type.indexOf("tag-close")!==-1){if(h.value=="/>")return;for(;h&&h.type.indexOf("tag-name")===-1;)h=c.stepBackward();if(!h)return;var x=h.value,w=c.getCurrentTokenRow();if(h=c.stepBackward(),!h||h.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[x]||!this.voidElements){var v=n.getTokenAt(o.row,o.column+1),a=n.getLine(w),p=this.$getIndent(a),A=p+n.getTabString();return v&&v.value===""?{text:`
+`+A+`
+`+p,selection:[1,A.length,1,A.length]}:{text:`
+`+A}}}}})};u.inherits(l,d),b.XmlBehaviour=l}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(y,b,E){var u=y("../../lib/oop"),d=y("../../token_iterator").TokenIterator,f=y("../behaviour/cstyle").CstyleBehaviour,s=y("../behaviour/xml").XmlBehaviour,l=function(){var r=new s({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(r),this.inherit(f),this.add("autoclosing-fragment","insertion",function(t,i,n,e,o){if(o==">"){var a=n.getSelectionRange().start,c=new d(e,a.row,a.column),h=c.getCurrentToken()||c.stepBackward();if(!h)return;if(h.value=="<")return{text:">>",selection:[1,1]}}})};u.inherits(l,f),b.JavaScriptBehaviour=l}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(y,b,E){var u=y("../../lib/oop"),d=y("../../range").Range,f=y("./fold_mode").FoldMode,s=b.FoldMode=function(t,i){f.call(this),this.voidElements=t||{},this.optionalEndTags=u.mixin({},this.voidElements),i&&u.mixin(this.optionalEndTags,i)};u.inherits(s,f);var l=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function r(t,i){return t.type.lastIndexOf(i+".xml")>-1}(function(){this.getFoldWidget=function(t,i,n){var e=this._getFirstTagInLine(t,n);return e?e.closing||!e.tagName&&e.selfClosing?i==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(t,n,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(t,n)},this.getCommentFoldWidget=function(t,i){return/comment/.test(t.getState(i))&&/";break}return e}else if(r(a,"tag-close"))return e.selfClosing=a.value=="/>",e;e.start.column+=a.value.length}return null},this._findEndTagInLine=function(t,i,n,e){for(var o=t.getTokens(i),a=0,c=0;cc)break;var h=this.getFoldWidgetRange(l,"all",r);if(h){if(h.start.row<=n)break;if(h.isMultiLine())r=h.end.row;else if(i==c)break}o=r}}return new d(n,e,o,l.getLine(o).length)},this.getCommentRegionBlock=function(l,r,t){for(var i=r.search(/\s*$/),n=l.getLength(),e=t,o=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;++te)return new d(e,i,h,r.length)}}).call(s.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(y,b,E){var u=y("../../lib/oop"),d=y("./xml").FoldMode,f=y("./cstyle").FoldMode,s=b.FoldMode=function(l){l&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+l.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+l.end))),this.xmlFoldMode=new d};u.inherits(s,f),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(l,r,t){var i=this.getFoldWidgetBase(l,r,t);return i||this.xmlFoldMode.getFoldWidget(l,r,t)},this.getFoldWidgetRange=function(l,r,t,i){var n=this.getFoldWidgetRangeBase(l,r,t,i);return n||this.xmlFoldMode.getFoldWidgetRange(l,r,t)}}).call(s.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(y,b,E){var u=y("../lib/oop"),d=y("./text").Mode,f=y("./javascript_highlight_rules").JavaScriptHighlightRules,s=y("./matching_brace_outdent").MatchingBraceOutdent,l=y("../worker/worker_client").WorkerClient,r=y("./behaviour/javascript").JavaScriptBehaviour,t=y("./folding/javascript").FoldMode,i=function(){this.HighlightRules=f,this.$outdent=new s,this.$behaviour=new r,this.foldingRules=new t};u.inherits(i,d),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(n,e,o){var a=this.$getIndent(e),c=this.getTokenizer().getLineTokens(e,n),h=c.tokens,x=c.state;if(h.length&&h[h.length-1].type=="comment")return a;if(n=="start"||n=="no_regex"){var w=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);w&&(a+=o)}else if(n=="doc-start"&&(x=="start"||x=="no_regex"))return"";return a},this.checkOutdent=function(n,e,o){return this.$outdent.checkOutdent(e,o)},this.autoOutdent=function(n,e,o){this.$outdent.autoOutdent(e,o)},this.createWorker=function(n){var e=new l(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(n.getDocument()),e.on("annotate",function(o){n.setAnnotations(o.data)}),e.on("terminate",function(){n.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(i.prototype),b.Mode=i}),ace.define("ace/mode/typescript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules"],function(y,b,E){var u=y("../lib/oop"),d=y("./javascript_highlight_rules").JavaScriptHighlightRules,f=function(s){var l=[{token:["storage.type","text","entity.name.function.ts"],regex:"(function)(\\s+)([a-zA-Z0-9$_¡-][a-zA-Z0-9d$_¡-]*)"},{token:"keyword",regex:"(?:\\b(constructor|declare|interface|as|AS|public|private|extends|export|super|readonly|module|namespace|abstract|implements)\\b)"},{token:["keyword","storage.type.variable.ts"],regex:"(class|type)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*)"},{token:"keyword",regex:"\\b(?:super|export|import|keyof|infer)\\b"},{token:["storage.type.variable.ts"],regex:"(?:\\b(this\\.|string\\b|bool\\b|boolean\\b|number\\b|true\\b|false\\b|undefined\\b|any\\b|null\\b|(?:unique )?symbol\\b|object\\b|never\\b|enum\\b))"}],r=new d({jsx:(s&&s.jsx)==!0}).getRules();r.no_regex=l.concat(r.no_regex),this.$rules=r};u.inherits(f,d),b.TypeScriptHighlightRules=f}),ace.define("ace/mode/typescript",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/typescript_highlight_rules","ace/mode/folding/cstyle","ace/mode/matching_brace_outdent"],function(y,b,E){var u=y("../lib/oop"),d=y("./javascript").Mode,f=y("./typescript_highlight_rules").TypeScriptHighlightRules,s=y("./folding/cstyle").FoldMode,l=y("./matching_brace_outdent").MatchingBraceOutdent,r=function(){this.HighlightRules=f,this.$outdent=new l,this.$behaviour=this.$defaultBehaviour,this.foldingRules=new s};u.inherits(r,d),(function(){this.createWorker=function(t){return null},this.$id="ace/mode/typescript"}).call(r.prototype),b.Mode=r}),function(){ace.require(["ace/mode/typescript"],function(y){F&&(F.exports=y)})}()})(Jr);var qr={exports:{}};(function(F,I){ace.define("ace/mode/jsdoc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(y,b,E){var u=y("../lib/oop"),d=y("./text_highlight_rules").TextHighlightRules,f=function(){this.$rules={start:[{token:["comment.doc.tag","comment.doc.text","lparen.doc"],regex:"(@(?:param|member|typedef|property|namespace|var|const|callback))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:["rparen.doc","text.doc","variable.parameter.doc","lparen.doc","variable.parameter.doc","rparen.doc"],regex:/(})(\s*)(?:([\w=:\/\.]+)|(?:(\[)([\w=:\/\.\-\'\" ]+)(\])))/,next:"pop"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","lparen.doc"],regex:"(@(?:returns?|yields|type|this|suppress|public|protected|private|package|modifies|implements|external|exception|throws|enum|define|extends))(\\s*)({)",push:[{token:"lparen.doc",regex:"{",push:[{include:"doc-syntax"},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"}]},{token:"rparen.doc",regex:"}|(?=$)",next:"pop"},{include:"doc-syntax"},{defaultToken:"text.doc"}]},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:'(@(?:alias|memberof|instance|module|name|lends|namespace|external|this|template|requires|param|implements|function|extends|typedef|mixes|constructor|var|memberof\\!|event|listens|exports|class|constructs|interface|emits|fires|throws|const|callback|borrows|augments))(\\s+)(\\w[\\w#.:/~"\\-]*)?'},{token:["comment.doc.tag","text.doc","variable.parameter.doc"],regex:"(@method)(\\s+)(\\w[\\w.\\(\\)]*)"},{token:"comment.doc.tag",regex:"@access\\s+(?:private|public|protected)"},{token:"comment.doc.tag",regex:"@kind\\s+(?:class|constant|event|external|file|function|member|mixin|module|namespace|typedef)"},{token:"comment.doc.tag",regex:"@\\w+(?=\\s|$)"},f.getTagRule(),{defaultToken:"comment.doc.body",caseInsensitive:!0}],"doc-syntax":[{token:"operator.doc",regex:/[|:]/},{token:"paren.doc",regex:/[\[\]]/}]},this.normalizeRules()};u.inherits(f,d),f.getTagRule=function(s){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},f.getStartRule=function(s){return{token:"comment.doc",regex:/\/\*\*(?!\/)/,next:s}},f.getEndRule=function(s){return{token:"comment.doc",regex:"\\*\\/",next:s}},b.JsDocCommentHighlightRules=f}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/jsdoc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(y,b,E){var u=y("../lib/oop"),d=y("./jsdoc_comment_highlight_rules").JsDocCommentHighlightRules,f=y("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-][a-zA-Z\\d\\$_¡-]*",l=function(i){var n={"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Symbol|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static|constructor","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},e=this.createKeywordMapper(n,"identifier"),o="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",a="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)",c="(function)(\\s*)(\\*?)",h={token:["identifier","text","paren.lparen"],regex:"(\\b(?!"+Object.values(n).join("|")+"\\b)"+s+")(\\s*)(\\()"};this.$rules={no_regex:[d.getStartRule("doc-start"),t("no_regex"),h,{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)"+c+"(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:`from(?=\\s*('|"))`},{token:"keyword",regex:"(?:"+o+")\\b",next:"start"},{token:"support.constant",regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|debug|time|trace|timeEnd|assert)\b/},{token:e,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:"keyword.operator",regex:/=/},{token:["storage.type","text","storage.type","text","paren.lparen"],regex:c+"(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","storage.type","text","text","entity.name.function","text","paren.lparen"],regex:"(function)(?:(?:(\\s*)(\\*)(\\s*))|(\\s+))(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:"prototype"},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|lter|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward|rEach)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[d.getStartRule("doc-start"),t("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],default_parameter:[{token:"string",regex:"'(?=.)",push:[{token:"string",regex:"'|$",next:"pop"},{include:"qstring"}]},{token:"string",regex:'"(?=.)',push:[{token:"string",regex:'"|$',next:"pop"},{include:"qqstring"}]},{token:"constant.language",regex:"null|Infinity|NaN|undefined"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:"punctuation.operator",regex:",",next:"function_arguments"},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],function_arguments:[t("function_arguments"),{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:","},{token:"text",regex:"\\s+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:a},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:a},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},(!i||!i.noES6)&&(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(x,w,v){if(this.next=x=="{"?this.nextState:"",x=="{"&&v.length)v.unshift("start",w);else if(x=="}"&&v.length&&(v.shift(),this.next=v.shift(),this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1))return"paren.quasi.end";return x=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:a},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]},{token:["variable.parameter","text"],regex:"("+s+")(\\s*)(?=\\=>)"},{token:"paren.lparen",regex:"(\\()(?=[^\\(]+\\s*=>)",next:"function_arguments"},{token:"variable.language",regex:"(?:(?:(?:Weak)?(?:Set|Map))|Promise)\\b"}),this.$rules.function_arguments.unshift({token:"keyword.operator",regex:"=",next:"default_parameter"},{token:"keyword.operator",regex:"\\.{3}"}),this.$rules.property.unshift({token:"support.function",regex:"(findIndex|repeat|startsWith|endsWith|includes|isSafeInteger|trunc|cbrt|log2|log10|sign|then|catch|finally|resolve|reject|race|any|all|allSettled|keys|entries|isInteger)\\b(?=\\()"},{token:"constant.language",regex:"(?:MAX_SAFE_INTEGER|MIN_SAFE_INTEGER|EPSILON)\\b"}),(!i||i.jsx!=!1)&&r.call(this)),this.embedRules(d,"doc-",[d.getEndRule("no_regex")]),this.normalizeRules()};u.inherits(l,f);function r(){var i=s.replace("\\d","\\d\\-"),n={onMatch:function(o,a,c){var h=o.charAt(1)=="/"?2:1;return h==1?(a!=this.nextState?c.unshift(this.next,this.nextState,0):c.unshift(this.next),c[2]++):h==2&&a==this.nextState&&(c[1]--,(!c[1]||c[1]<0)&&(c.shift(),c.shift())),[{type:"meta.tag.punctuation."+(h==1?"":"end-")+"tag-open.xml",value:o.slice(0,h)},{type:"meta.tag.tag-name.xml",value:o.substr(h)}]},regex:"?(?:"+i+"|(?=>))",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(n);var e={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[e,n,{include:"reference"},{defaultToken:"string.xml"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(o,a,c){return a==c[0]&&c.shift(),o.length==2&&(c[0]==this.nextState&&c[1]--,(!c[1]||c[1]<0)&&c.splice(0,2)),this.next=c[0]||"start",[{type:this.token,value:o}]},nextState:"jsx"},e,t("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:i},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},n],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:[0-9]+;)|(?:[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function t(i){return[{token:"comment",regex:/\/\*/,next:[d.getTagRule(),{token:"comment",regex:"\\*\\/",next:i||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[d.getTagRule(),{token:"comment",regex:"$|^",next:i||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}b.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(y,b,E){var u=y("../range").Range,d=function(){};(function(){this.checkOutdent=function(f,s){return/^\s+$/.test(f)?/^\s*\}/.test(s):!1},this.autoOutdent=function(f,s){var l=f.getLine(s),r=l.match(/^(\s*\})/);if(!r)return 0;var t=r[1].length,i=f.findMatchingBracket({row:s,column:t});if(!i||i.row==s)return 0;var n=this.$getIndent(f.getLine(i.row));f.replace(new u(s,0,s,t-1),n)},this.$getIndent=function(f){return f.match(/^\s*/)[0]}}).call(d.prototype),b.MatchingBraceOutdent=d}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator"],function(y,b,E){var u=y("../../lib/oop"),d=y("../behaviour").Behaviour,f=y("../../token_iterator").TokenIterator;function s(r,t){return r&&r.type.lastIndexOf(t+".xml")>-1}var l=function(){this.add("string_dquotes","insertion",function(r,t,i,n,e){if(e=='"'||e=="'"){var o=e,a=n.doc.getTextRange(i.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&i.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var c=i.getCursorPosition(),h=n.doc.getLine(c.row),x=h.substring(c.column,c.column+1),w=new f(n,c.row,c.column),v=w.getCurrentToken();if(x==o&&(s(v,"attribute-value")||s(v,"string")))return{text:"",selection:[1,1]};if(v||(v=w.stepBackward()),!v)return;for(;s(v,"tag-whitespace")||s(v,"whitespace");)v=w.stepBackward();var p=!x||x.match(/\s/);if(s(v,"attribute-equals")&&(p||x==">")||s(v,"decl-attribute-equals")&&(p||x=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(r,t,i,n,e){var o=n.doc.getTextRange(e);if(!e.isMultiLine()&&(o=='"'||o=="'")){var a=n.doc.getLine(e.start.row),c=a.substring(e.start.column+1,e.start.column+2);if(c==o)return e.end.column++,e}}),this.add("autoclosing","insertion",function(r,t,i,n,e){if(e==">"){var o=i.getSelectionRange().start,a=new f(n,o.row,o.column),c=a.getCurrentToken()||a.stepBackward();if(!c||!(s(c,"tag-name")||s(c,"tag-whitespace")||s(c,"attribute-name")||s(c,"attribute-equals")||s(c,"attribute-value"))||s(c,"reference.attribute-value"))return;if(s(c,"attribute-value")){var h=a.getCurrentTokenColumn()+c.value.length;if(o.column/.test(n.getLine(o.row).slice(o.column)))return;for(;!s(c,"tag-name");)if(c=a.stepBackward(),c.value=="<"){c=a.stepForward();break}var w=a.getCurrentTokenRow(),v=a.getCurrentTokenColumn();if(s(a.stepBackward(),"end-tag-open"))return;var p=c.value;return w==o.row&&(p=p.substring(0,o.column-v)),this.voidElements&&this.voidElements.hasOwnProperty(p.toLowerCase())?void 0:{text:">"+p+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(r,t,i,n,e){if(e==`
+`){var o=i.getCursorPosition(),a=n.getLine(o.row),c=new f(n,o.row,o.column),h=c.getCurrentToken();if(s(h,"")&&h.type.indexOf("tag-close")!==-1){if(h.value=="/>")return;for(;h&&h.type.indexOf("tag-name")===-1;)h=c.stepBackward();if(!h)return;var x=h.value,w=c.getCurrentTokenRow();if(h=c.stepBackward(),!h||h.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[x]||!this.voidElements){var v=n.getTokenAt(o.row,o.column+1),a=n.getLine(w),p=this.$getIndent(a),A=p+n.getTabString();return v&&v.value===""?{text:`
+`+A+`
+`+p,selection:[1,A.length,1,A.length]}:{text:`
+`+A}}}}})};u.inherits(l,d),b.XmlBehaviour=l}),ace.define("ace/mode/behaviour/javascript",["require","exports","module","ace/lib/oop","ace/token_iterator","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml"],function(y,b,E){var u=y("../../lib/oop"),d=y("../../token_iterator").TokenIterator,f=y("../behaviour/cstyle").CstyleBehaviour,s=y("../behaviour/xml").XmlBehaviour,l=function(){var r=new s({closeCurlyBraces:!0}).getBehaviours();this.addBehaviours(r),this.inherit(f),this.add("autoclosing-fragment","insertion",function(t,i,n,e,o){if(o==">"){var a=n.getSelectionRange().start,c=new d(e,a.row,a.column),h=c.getCurrentToken()||c.stepBackward();if(!h)return;if(h.value=="<")return{text:">>",selection:[1,1]}}})};u.inherits(l,f),b.JavaScriptBehaviour=l}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(y,b,E){var u=y("../../lib/oop"),d=y("../../range").Range,f=y("./fold_mode").FoldMode,s=b.FoldMode=function(t,i){f.call(this),this.voidElements=t||{},this.optionalEndTags=u.mixin({},this.voidElements),i&&u.mixin(this.optionalEndTags,i)};u.inherits(s,f);var l=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};function r(t,i){return t.type.lastIndexOf(i+".xml")>-1}(function(){this.getFoldWidget=function(t,i,n){var e=this._getFirstTagInLine(t,n);return e?e.closing||!e.tagName&&e.selfClosing?i==="markbeginend"?"end":"":!e.tagName||e.selfClosing||this.voidElements.hasOwnProperty(e.tagName.toLowerCase())||this._findEndTagInLine(t,n,e.tagName,e.end.column)?"":"start":this.getCommentFoldWidget(t,n)},this.getCommentFoldWidget=function(t,i){return/comment/.test(t.getState(i))&&/";break}return e}else if(r(a,"tag-close"))return e.selfClosing=a.value=="/>",e;e.start.column+=a.value.length}return null},this._findEndTagInLine=function(t,i,n,e){for(var o=t.getTokens(i),a=0,c=0;cc)break;var h=this.getFoldWidgetRange(l,"all",r);if(h){if(h.start.row<=n)break;if(h.isMultiLine())r=h.end.row;else if(i==c)break}o=r}}return new d(n,e,o,l.getLine(o).length)},this.getCommentRegionBlock=function(l,r,t){for(var i=r.search(/\s*$/),n=l.getLength(),e=t,o=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;++te)return new d(e,i,h,r.length)}}).call(s.prototype)}),ace.define("ace/mode/folding/javascript",["require","exports","module","ace/lib/oop","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(y,b,E){var u=y("../../lib/oop"),d=y("./xml").FoldMode,f=y("./cstyle").FoldMode,s=b.FoldMode=function(l){l&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+l.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+l.end))),this.xmlFoldMode=new d};u.inherits(s,f),(function(){this.getFoldWidgetRangeBase=this.getFoldWidgetRange,this.getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(l,r,t){var i=this.getFoldWidgetBase(l,r,t);return i||this.xmlFoldMode.getFoldWidget(l,r,t)},this.getFoldWidgetRange=function(l,r,t,i){var n=this.getFoldWidgetRangeBase(l,r,t,i);return n||this.xmlFoldMode.getFoldWidgetRange(l,r,t)}}).call(s.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/javascript","ace/mode/folding/javascript"],function(y,b,E){var u=y("../lib/oop"),d=y("./text").Mode,f=y("./javascript_highlight_rules").JavaScriptHighlightRules,s=y("./matching_brace_outdent").MatchingBraceOutdent,l=y("../worker/worker_client").WorkerClient,r=y("./behaviour/javascript").JavaScriptBehaviour,t=y("./folding/javascript").FoldMode,i=function(){this.HighlightRules=f,this.$outdent=new s,this.$behaviour=new r,this.foldingRules=new t};u.inherits(i,d),(function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.$pairQuotesAfter={"`":/\w/},this.getNextLineIndent=function(n,e,o){var a=this.$getIndent(e),c=this.getTokenizer().getLineTokens(e,n),h=c.tokens,x=c.state;if(h.length&&h[h.length-1].type=="comment")return a;if(n=="start"||n=="no_regex"){var w=e.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);w&&(a+=o)}else if(n=="doc-start"&&(x=="start"||x=="no_regex"))return"";return a},this.checkOutdent=function(n,e,o){return this.$outdent.checkOutdent(e,o)},this.autoOutdent=function(n,e,o){this.$outdent.autoOutdent(e,o)},this.createWorker=function(n){var e=new l(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(n.getDocument()),e.on("annotate",function(o){n.setAnnotations(o.data)}),e.on("terminate",function(){n.clearAnnotations()}),e},this.$id="ace/mode/javascript",this.snippetFileId="ace/snippets/javascript"}).call(i.prototype),b.Mode=i}),function(){ace.require(["ace/mode/javascript"],function(y){F&&(F.exports=y)})}()})(qr);var eo={exports:{}};(function(F,I){ace.define("ace/theme/monokai-css",["require","exports","module"],function(y,b,E){E.exports=`.ace-monokai .ace_gutter {
+ background: #2F3129;
+ color: #8F908A
+}
+
+.ace-monokai .ace_print-margin {
+ width: 1px;
+ background: #555651
+}
+
+.ace-monokai {
+ background-color: #272822;
+ color: #F8F8F2
+}
+
+.ace-monokai .ace_cursor {
+ color: #F8F8F0
+}
+
+.ace-monokai .ace_marker-layer .ace_selection {
+ background: #49483E
+}
+
+.ace-monokai.ace_multiselect .ace_selection.ace_start {
+ box-shadow: 0 0 3px 0px #272822;
+}
+
+.ace-monokai .ace_marker-layer .ace_step {
+ background: rgb(102, 82, 0)
+}
+
+.ace-monokai .ace_marker-layer .ace_bracket {
+ margin: -1px 0 0 -1px;
+ border: 1px solid #49483E
+}
+
+.ace-monokai .ace_marker-layer .ace_active-line {
+ background: #202020
+}
+
+.ace-monokai .ace_gutter-active-line {
+ background-color: #272727
+}
+
+.ace-monokai .ace_marker-layer .ace_selected-word {
+ border: 1px solid #49483E
+}
+
+.ace-monokai .ace_invisible {
+ color: #52524d
+}
+
+.ace-monokai .ace_entity.ace_name.ace_tag,
+.ace-monokai .ace_keyword,
+.ace-monokai .ace_meta.ace_tag,
+.ace-monokai .ace_storage {
+ color: #F92672
+}
+
+.ace-monokai .ace_punctuation,
+.ace-monokai .ace_punctuation.ace_tag {
+ color: #fff
+}
+
+.ace-monokai .ace_constant.ace_character,
+.ace-monokai .ace_constant.ace_language,
+.ace-monokai .ace_constant.ace_numeric,
+.ace-monokai .ace_constant.ace_other {
+ color: #AE81FF
+}
+
+.ace-monokai .ace_invalid {
+ color: #F8F8F0;
+ background-color: #F92672
+}
+
+.ace-monokai .ace_invalid.ace_deprecated {
+ color: #F8F8F0;
+ background-color: #AE81FF
+}
+
+.ace-monokai .ace_support.ace_constant,
+.ace-monokai .ace_support.ace_function {
+ color: #66D9EF
+}
+
+.ace-monokai .ace_fold {
+ background-color: #A6E22E;
+ border-color: #F8F8F2
+}
+
+.ace-monokai .ace_storage.ace_type,
+.ace-monokai .ace_support.ace_class,
+.ace-monokai .ace_support.ace_type {
+ font-style: italic;
+ color: #66D9EF
+}
+
+.ace-monokai .ace_entity.ace_name.ace_function,
+.ace-monokai .ace_entity.ace_other,
+.ace-monokai .ace_entity.ace_other.ace_attribute-name,
+.ace-monokai .ace_variable {
+ color: #A6E22E
+}
+
+.ace-monokai .ace_variable.ace_parameter {
+ font-style: italic;
+ color: #FD971F
+}
+
+.ace-monokai .ace_string {
+ color: #E6DB74
+}
+
+.ace-monokai .ace_comment {
+ color: #75715E
+}
+
+.ace-monokai .ace_indent-guide {
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ0FD0ZXBzd/wPAAjVAoxeSgNeAAAAAElFTkSuQmCC) right repeat-y
+}
+
+.ace-monokai .ace_indent-guide-active {
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQIW2PQ1dX9zzBz5sz/ABCcBFFentLlAAAAAElFTkSuQmCC) right repeat-y;
+}
+`}),ace.define("ace/theme/monokai",["require","exports","module","ace/theme/monokai-css","ace/lib/dom"],function(y,b,E){b.isDark=!0,b.cssClass="ace-monokai",b.cssText=y("./monokai-css");var u=y("../lib/dom");u.importCssString(b.cssText,b.cssClass,!1)}),function(){ace.require(["ace/theme/monokai"],function(y){F&&(F.exports=y)})}()})(eo);const to="_wrapper_1vmow_1",no="_buttons_1vmow_5",Mn={wrapper:to,buttons:no};function It({Icon:F,onClick:I,title:y,disabled:b}){return Oe.jsx("button",{disabled:b,type:"button",onClick:I,title:y,className:"dark:bg-zinc-900 dark:text-gray-400 sm:dark:enabled:hover:text-gray-300 sm:enabled:hover:text-blue-600 dark:border-zinc-600 group",children:Oe.jsx(F,{size:13,className:"group-disabled:animate-spin"})})}function io(){const[F,I]=at.useState(!1),{editor:y,setEditor:b,outputs:E,execuateCode:u}=hn(),d=E[y.lang],f=()=>b({...y,code:y.defaultCode}),s=()=>{I(!0),navigator.clipboard.writeText(y.code),setTimeout(()=>I(!1),1e3)};return Oe.jsxs("div",{className:Mn.buttons,children:[!y.readonly&&y.code!==y.defaultCode&&Oe.jsx(It,{title:"reset code",Icon:xi,onClick:f}),Oe.jsx(It,{title:"copy code",Icon:F?Ci:Ai,onClick:s}),Oe.jsx(It,{title:"run code",onClick:u,disabled:d.status==="loading"||d.status==="running",Icon:d.status==="loading"||d.status==="running"?Mi:ki})]})}const ro={minLines:1,fontSize:16,showGutter:!1,maxLines:1/0,showPrintMargin:!1,highlightActiveLine:!1,enableLiveAutocompletion:!1,enableBasicAutocompletion:!1,placeholder:"Try writing some code...",editorProps:{$blockScrolling:!0}};function ao(){const{outputs:F,editor:I,setEditor:y,execuateCode:b}=hn();return at.useEffect(()=>{const E=u=>{var d,f;console.log(((d=u.view)==null?void 0:d.window)===window),((f=u.view)==null?void 0:f.window)===window&&u.ctrlKey&&u.key.toLowerCase()==="r"&&(u.preventDefault(),b())};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[I,F]),Oe.jsxs("div",{className:_i(Mn.wrapper,"dark:bg-zinc-800"),children:[Oe.jsx(io,{}),Oe.jsx(Xr,{width:"100%",name:I.lang,mode:I.lang,value:I.code,className:"bg-transparent",readOnly:I.readonly,defaultValue:I.defaultCode,setOptions:{useWorker:!1},tabSize:I.lang==="python"?4:2,theme:I.theme==="light"?"textmate":"monokai",onChange:E=>y({...I,code:E}),...ro})]})}export{ao as default};
diff --git a/embed/assets/Output-BWbqF6OQ.js b/embed/assets/Output-BWbqF6OQ.js
new file mode 100644
index 0000000..78d08ef
--- /dev/null
+++ b/embed/assets/Output-BWbqF6OQ.js
@@ -0,0 +1,2 @@
+import{r as x,u as m,j as t}from"./index-CosST3XG.js";import{G as h,d as u,I as g,a as j}from"./index-B9gQmRjN.js";function f(e){return h({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",strokeWidth:"2",d:"M12,22 C17.5228475,22 22,17.5228475 22,12 C22,6.4771525 17.5228475,2 12,2 C6.4771525,2 2,6.4771525 2,12 C2,17.5228475 6.4771525,22 12,22 Z M5,5 L19,19"},child:[]}]})(e)}const C="_wrapper_1mcnx_2",_="_output_1mcnx_7",b="_line_1mcnx_11",k="_buttons_1mcnx_20",a={wrapper:C,output:_,line:b,buttons:k};function c({Icon:e,onClick:n,title:r}){return t.jsx("button",{type:"button",onClick:n,title:r,className:"dark:bg-zinc-900 dark:text-gray-400 sm:hover:text-blue-600 sm:dark:hover:text-gray-300 dark:border-zinc-600",children:t.jsx(e,{size:13})})}function w(){const[e,n]=x.useState(!1),{editor:r,outputs:i,clearOutput:l}=m(),s=i[r.lang],p=()=>{n(!0),navigator.clipboard.writeText(s.data.map(o=>o.msg).join(`
+`)),setTimeout(()=>n(!1),1e3)};return s.status==="idle"||s.status==="loading"||s.status==="running"&&s.data.length===0?null:t.jsxs("div",{className:u(a.wrapper,"dark:bg-zinc-800"),children:[t.jsxs("div",{className:u(a.output,"dark:text-gray-300"),children:[s.data.length===0&&s.status==="finished"&&t.jsx("p",{className:a.line,children:"> Sorry, there is no output"}),s.data.map((o,d)=>t.jsx("p",{"data-color":o.color,className:a.line,children:"> "+o.msg},d))]}),t.jsx("div",{className:a.buttons,children:s.status==="finished"&&t.jsxs(t.Fragment,{children:[t.jsx(c,{Icon:e?g:j,title:"copy output",onClick:p}),t.jsx(c,{Icon:f,title:"clear output",onClick:l})]})})]})}export{w as default};
diff --git a/embed/assets/Output-WjhgKrlL.css b/embed/assets/Output-WjhgKrlL.css
new file mode 100644
index 0000000..3641129
--- /dev/null
+++ b/embed/assets/Output-WjhgKrlL.css
@@ -0,0 +1 @@
+._wrapper_1mcnx_2{position:relative;--tw-bg-opacity: 1;background-color:rgb(245 245 244 / var(--tw-bg-opacity));padding:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}._output_1mcnx_7{width:100%;overflow-x:auto;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}._line_1mcnx_11[data-color=red]{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity))}._line_1mcnx_11{white-space:pre-wrap}._buttons_1mcnx_20{position:absolute;right:.5rem;top:.5rem;display:flex;flex-direction:row;align-items:center;gap:.5rem;transition-duration:.3s}@media (min-width: 640px){._buttons_1mcnx_20{opacity:0}}._buttons_1mcnx_20 button{border-radius:5px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(161 161 170 / var(--tw-border-opacity));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity));padding:.375rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}._wrapper_1mcnx_2:hover ._buttons_1mcnx_20{opacity:1}
diff --git a/embed/assets/index-B9gQmRjN.js b/embed/assets/index-B9gQmRjN.js
new file mode 100644
index 0000000..287a5da
--- /dev/null
+++ b/embed/assets/index-B9gQmRjN.js
@@ -0,0 +1 @@
+import{R as l}from"./index-CosST3XG.js";function g(t){var e,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var i=t.length;for(e=0;e=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function O(t,e){if(t==null)return{};var r={};for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n)){if(e.indexOf(n)>=0)continue;r[n]=t[n]}return r}function u(){return u=Object.assign?Object.assign.bind():function(t){for(var e=1;el.createElement(e.tag,s({key:r},e.attr),m(e.child)))}function c(t){return e=>l.createElement(x,u({attr:s({},t.attr)},e),m(t.child))}function x(t){var e=r=>{var{attr:n,size:i,title:a}=t,h=y(t,b),f=i||r.size||"1em",o;return r.className&&(o=r.className),t.className&&(o=(o?o+" ":"")+t.className),l.createElement("svg",u({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},r.attr,n,h,{className:o,style:s(s({color:t.color||r.color},r.style),t.style),height:f,width:f,xmlns:"http://www.w3.org/2000/svg"}),a&&l.createElement("title",null,a),t.children)};return d!==void 0?l.createElement(d.Consumer,null,r=>e(r)):e(p)}function C(t){return c({tag:"svg",attr:{viewBox:"0 0 512 512"},child:[{tag:"path",attr:{fill:"none",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"32",d:"M416 128 192 384l-96-96"},child:[]}]})(t)}function E(t){return c({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M4 4l1-1h5.414L14 6.586V14l-1 1H5l-1-1V4zm9 3l-3-3H5v10h8V7z"},child:[]},{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M3 1L2 2v10l1 1V2h6.414l-1-1H3z"},child:[]}]})(t)}function R(t){return c({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M13.507 12.324a7 7 0 0 0 .065-8.56A7 7 0 0 0 2 4.393V2H1v3.5l.5.5H5V5H2.811a6.008 6.008 0 1 1-.135 5.77l-.887.462a7 7 0 0 0 11.718 1.092zm-3.361-.97l.708-.707L8 7.792V4H7v4l.146.354 3 3z"},child:[]}]})(t)}function H(t){return c({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{fillRule:"evenodd",clipRule:"evenodd",d:"M13.917 7A6.002 6.002 0 0 0 2.083 7H1.071a7.002 7.002 0 0 1 13.858 0h-1.012z"},child:[]}]})(t)}function L(t){return c({tag:"svg",attr:{viewBox:"0 0 16 16",fill:"currentColor"},child:[{tag:"path",attr:{d:"M3.78 2L3 2.41v12l.78.42 9-6V8l-9-6zM4 13.48V3.35l7.6 5.07L4 13.48z"},child:[]}]})(t)}export{c as G,C as I,R as V,E as a,H as b,L as c,z as d};
diff --git a/embed/assets/index-CIgfwdwJ.css b/embed/assets/index-CIgfwdwJ.css
new file mode 100644
index 0000000..c1fe2fa
--- /dev/null
+++ b/embed/assets/index-CIgfwdwJ.css
@@ -0,0 +1 @@
+*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.absolute{position:absolute}.relative{position:relative}.right-2{right:.5rem}.top-1{top:.25rem}.top-2{top:.5rem}.z-10{z-index:10}.flex{display:flex}.hidden{display:none}.w-full{width:100%}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.items-center{align-items:center}.gap-3{gap:.75rem}.overflow-x-auto{overflow-x:auto}.rounded-\[5px\]{border-radius:5px}.rounded-md{border-radius:.375rem}.border{border-width:1px}.border-zinc-400{--tw-border-opacity: 1;border-color:rgb(161 161 170 / var(--tw-border-opacity))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.bg-stone-100{--tw-bg-opacity: 1;background-color:rgb(245 245 244 / var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.duration-300{transition-duration:.3s}body{overflow-y:hidden}main{display:flex;flex-direction:column;gap:.75rem;border-radius:.375rem}main:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.ace_mobile-menu{display:none}.ace_editor textarea:-moz-read-only~.ace_scroller .ace_cursor-layer,.ace_editor textarea:-moz-read-only~.ace_scroller .ace_marker-layer .ace_bracket{display:none}.ace_editor .ace_hidden-cursors,.ace_editor textarea:read-only~.ace_scroller .ace_cursor-layer,.ace_editor textarea:read-only~.ace_scroller .ace_marker-layer .ace_bracket{display:none}@keyframes spin{to{transform:rotate(360deg)}}.group:disabled .group-disabled\:animate-spin{animation:spin 1s linear infinite}.dark\:border-zinc-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(82 82 91 / var(--tw-border-opacity))}.dark\:bg-zinc-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(39 39 42 / var(--tw-bg-opacity))}.dark\:bg-zinc-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}@media (min-width: 640px){.sm\:opacity-0{opacity:0}.sm\:hover\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.sm\:enabled\:hover\:text-blue-600:hover:enabled{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity))}.sm\:dark\:hover\:text-gray-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}.sm\:dark\:enabled\:hover\:text-gray-300:hover:enabled:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity))}}
diff --git a/embed/assets/index-CosST3XG.js b/embed/assets/index-CosST3XG.js
new file mode 100644
index 0000000..8ffa4ec
--- /dev/null
+++ b/embed/assets/index-CosST3XG.js
@@ -0,0 +1,49 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./Editor-CxSjash0.js","./index-B9gQmRjN.js","./Editor-BzqAAakj.css","./Output-BWbqF6OQ.js","./Output-WjhgKrlL.css"])))=>i.map(i=>d[i]);
+(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const o of l.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();var Sm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ad(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ua={exports:{}},sl={},aa={exports:{}},B={};/**
+ * @license React
+ * react.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var Hr=Symbol.for("react.element"),Bd=Symbol.for("react.portal"),Vd=Symbol.for("react.fragment"),Md=Symbol.for("react.strict_mode"),Dd=Symbol.for("react.profiler"),Ud=Symbol.for("react.provider"),Gd=Symbol.for("react.context"),Fd=Symbol.for("react.forward_ref"),Wd=Symbol.for("react.suspense"),$d=Symbol.for("react.memo"),Hd=Symbol.for("react.lazy"),Xs=Symbol.iterator;function Yd(e){return e===null||typeof e!="object"?null:(e=Xs&&e[Xs]||e["@@iterator"],typeof e=="function"?e:null)}var ca={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},da=Object.assign,fa={};function Un(e,t,n){this.props=e,this.context=t,this.refs=fa,this.updater=n||ca}Un.prototype.isReactComponent={};Un.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Un.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function pa(){}pa.prototype=Un.prototype;function qo(e,t,n){this.props=e,this.context=t,this.refs=fa,this.updater=n||ca}var bo=qo.prototype=new pa;bo.constructor=qo;da(bo,Un.prototype);bo.isPureReactComponent=!0;var Qs=Array.isArray,ha=Object.prototype.hasOwnProperty,es={current:null},ma={key:!0,ref:!0,__self:!0,__source:!0};function va(e,t,n){var r,i={},l=null,o=null;if(t!=null)for(r in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(l=""+t.key),t)ha.call(t,r)&&!ma.hasOwnProperty(r)&&(i[r]=t[r]);var s=arguments.length-2;if(s===1)i.children=n;else if(1>>1,ie=I[b];if(0>>1;bi(Il,A))Fti(br,Il)?(I[b]=br,I[Ft]=A,b=Ft):(I[b]=Il,I[Gt]=A,b=Gt);else if(Fti(br,A))I[b]=br,I[Ft]=A,b=Ft;else break e}}return L}function i(I,L){var A=I.sortIndex-L.sortIndex;return A!==0?A:I.id-L.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var u=[],a=[],p=1,h=null,m=3,v=!1,w=!1,k=!1,G=typeof setTimeout=="function"?setTimeout:null,d=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function f(I){for(var L=n(a);L!==null;){if(L.callback===null)r(a);else if(L.startTime<=I)r(a),L.sortIndex=L.expirationTime,t(u,L);else break;L=n(a)}}function g(I){if(k=!1,f(I),!w)if(n(u)!==null)w=!0,Cl(E);else{var L=n(a);L!==null&&El(g,L.startTime-I)}}function E(I,L){w=!1,k&&(k=!1,d(z),z=-1),v=!0;var A=m;try{for(f(L),h=n(u);h!==null&&(!(h.expirationTime>L)||I&&!De());){var b=h.callback;if(typeof b=="function"){h.callback=null,m=h.priorityLevel;var ie=b(h.expirationTime<=L);L=e.unstable_now(),typeof ie=="function"?h.callback=ie:h===n(u)&&r(u),f(L)}else r(u);h=n(u)}if(h!==null)var qr=!0;else{var Gt=n(a);Gt!==null&&El(g,Gt.startTime-L),qr=!1}return qr}finally{h=null,m=A,v=!1}}var N=!1,T=null,z=-1,q=5,V=-1;function De(){return!(e.unstable_now()-VI||125b?(I.sortIndex=A,t(a,I),n(u)===null&&I===n(a)&&(k?(d(z),z=-1):k=!0,El(g,A-b))):(I.sortIndex=ie,t(u,I),w||v||(w=!0,Cl(E))),I},e.unstable_shouldYield=De,e.unstable_wrapCallback=function(I){var L=m;return function(){var A=m;m=L;try{return I.apply(this,arguments)}finally{m=A}}}})(ka);wa.exports=ka;var lf=wa.exports;/**
+ * @license React
+ * react-dom.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var of=ve,Pe=lf;function y(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),to=Object.prototype.hasOwnProperty,sf=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,qs={},bs={};function uf(e){return to.call(bs,e)?!0:to.call(qs,e)?!1:sf.test(e)?bs[e]=!0:(qs[e]=!0,!1)}function af(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function cf(e,t,n,r){if(t===null||typeof t>"u"||af(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function we(e,t,n,r,i,l,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=o}var ae={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ae[e]=new we(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ae[t]=new we(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ae[e]=new we(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ae[e]=new we(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ae[e]=new we(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ae[e]=new we(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ae[e]=new we(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ae[e]=new we(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ae[e]=new we(e,5,!1,e.toLowerCase(),null,!1,!1)});var rs=/[\-:]([a-z])/g;function is(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(rs,is);ae[t]=new we(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(rs,is);ae[t]=new we(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(rs,is);ae[t]=new we(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ae[e]=new we(e,1,!1,e.toLowerCase(),null,!1,!1)});ae.xlinkHref=new we("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ae[e]=new we(e,1,!1,e.toLowerCase(),null,!0,!0)});function ls(e,t,n,r){var i=ae.hasOwnProperty(t)?ae[t]:null;(i!==null?i.type!==0:r||!(2s||i[o]!==l[s]){var u=`
+`+i[o].replace(" at new "," at ");return e.displayName&&u.includes("")&&(u=u.replace("",e.displayName)),u}while(1<=o&&0<=s);break}}}finally{Rl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?er(e):""}function df(e){switch(e.tag){case 5:return er(e.type);case 16:return er("Lazy");case 13:return er("Suspense");case 19:return er("SuspenseList");case 0:case 2:case 15:return e=zl(e.type,!1),e;case 11:return e=zl(e.type.render,!1),e;case 1:return e=zl(e.type,!0),e;default:return""}}function lo(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case fn:return"Fragment";case dn:return"Portal";case no:return"Profiler";case os:return"StrictMode";case ro:return"Suspense";case io:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ca:return(e.displayName||"Context")+".Consumer";case xa:return(e._context.displayName||"Context")+".Provider";case ss:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case us:return t=e.displayName||null,t!==null?t:lo(e.type)||"Memo";case yt:t=e._payload,e=e._init;try{return lo(e(t))}catch{}}return null}function ff(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return lo(t);case 8:return t===os?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ot(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Ia(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function pf(e){var t=Ia(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(o){r=""+o,l.call(this,o)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ni(e){e._valueTracker||(e._valueTracker=pf(e))}function Na(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Ia(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function zi(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function oo(e,t){var n=t.checked;return Q({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function tu(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ot(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Ta(e,t){t=t.checked,t!=null&&ls(e,"checked",t,!1)}function so(e,t){Ta(e,t);var n=Ot(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?uo(e,t.type,n):t.hasOwnProperty("defaultValue")&&uo(e,t.type,Ot(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function nu(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function uo(e,t,n){(t!=="number"||zi(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var tr=Array.isArray;function Cn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=ri.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function vr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var or={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},hf=["Webkit","ms","Moz","O"];Object.keys(or).forEach(function(e){hf.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),or[t]=or[e]})});function Za(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||or.hasOwnProperty(e)&&or[e]?(""+t).trim():t+"px"}function Oa(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Za(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var mf=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function fo(e,t){if(t){if(mf[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(y(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(y(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(y(61))}if(t.style!=null&&typeof t.style!="object")throw Error(y(62))}}function po(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ho=null;function as(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var mo=null,En=null,In=null;function lu(e){if(e=Xr(e)){if(typeof mo!="function")throw Error(y(280));var t=e.stateNode;t&&(t=fl(t),mo(e.stateNode,e.type,t))}}function La(e){En?In?In.push(e):In=[e]:En=e}function ja(){if(En){var e=En,t=In;if(In=En=null,lu(e),t)for(e=0;e>>=0,e===0?32:31-(If(e)/Nf|0)|0}var ii=64,li=4194304;function nr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Li(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,o=n&268435455;if(o!==0){var s=o&~i;s!==0?r=nr(s):(l&=o,l!==0&&(r=nr(l)))}else o=n&~i,o!==0?r=nr(o):l!==0&&(r=nr(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Yr(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-He(t),e[t]=n}function Pf(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=ur),hu=" ",mu=!1;function tc(e,t){switch(e){case"keyup":return lp.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var pn=!1;function sp(e,t){switch(e){case"compositionend":return nc(t);case"keypress":return t.which!==32?null:(mu=!0,hu);case"textInput":return e=t.data,e===hu&&mu?null:e;default:return null}}function up(e,t){if(pn)return e==="compositionend"||!gs&&tc(e,t)?(e=ba(),wi=hs=xt=null,pn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=_u(n)}}function oc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?oc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function sc(){for(var e=window,t=zi();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=zi(e.document)}return t}function ys(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function gp(e){var t=sc(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&oc(n.ownerDocument.documentElement,n)){if(r!==null&&ys(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=wu(n,l);var o=wu(n,r);i&&o&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,hn=null,ko=null,cr=null,So=!1;function ku(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;So||hn==null||hn!==zi(r)||(r=hn,"selectionStart"in r&&ys(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),cr&&Sr(cr,r)||(cr=r,r=Bi(ko,"onSelect"),0gn||(e.current=To[gn],To[gn]=null,gn--)}function F(e,t){gn++,To[gn]=e.current,e.current=t}var Lt={},pe=Dt(Lt),xe=Dt(!1),bt=Lt;function Zn(e,t){var n=e.type.contextTypes;if(!n)return Lt;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function Ce(e){return e=e.childContextTypes,e!=null}function Mi(){$(xe),$(pe)}function Tu(e,t,n){if(pe.current!==Lt)throw Error(y(168));F(pe,t),F(xe,n)}function vc(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(y(108,ff(e)||"Unknown",i));return Q({},n,r)}function Di(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Lt,bt=pe.current,F(pe,e),F(xe,xe.current),!0}function Ru(e,t,n){var r=e.stateNode;if(!r)throw Error(y(169));n?(e=vc(e,t,bt),r.__reactInternalMemoizedMergedChildContext=e,$(xe),$(pe),F(pe,e)):$(xe),F(xe,n)}var st=null,pl=!1,Wl=!1;function gc(e){st===null?st=[e]:st.push(e)}function Rp(e){pl=!0,gc(e)}function Ut(){if(!Wl&&st!==null){Wl=!0;var e=0,t=U;try{var n=st;for(U=1;e>=o,i-=o,ut=1<<32-He(t)+i|n<z?(q=T,T=null):q=T.sibling;var V=m(d,T,f[z],g);if(V===null){T===null&&(T=q);break}e&&T&&V.alternate===null&&t(d,T),c=l(V,c,z),N===null?E=V:N.sibling=V,N=V,T=q}if(z===f.length)return n(d,T),H&&Wt(d,z),E;if(T===null){for(;zz?(q=T,T=null):q=T.sibling;var De=m(d,T,V.value,g);if(De===null){T===null&&(T=q);break}e&&T&&De.alternate===null&&t(d,T),c=l(De,c,z),N===null?E=De:N.sibling=De,N=De,T=q}if(V.done)return n(d,T),H&&Wt(d,z),E;if(T===null){for(;!V.done;z++,V=f.next())V=h(d,V.value,g),V!==null&&(c=l(V,c,z),N===null?E=V:N.sibling=V,N=V);return H&&Wt(d,z),E}for(T=r(d,T);!V.done;z++,V=f.next())V=v(T,d,z,V.value,g),V!==null&&(e&&V.alternate!==null&&T.delete(V.key===null?z:V.key),c=l(V,c,z),N===null?E=V:N.sibling=V,N=V);return e&&T.forEach(function(Wn){return t(d,Wn)}),H&&Wt(d,z),E}function G(d,c,f,g){if(typeof f=="object"&&f!==null&&f.type===fn&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case ti:e:{for(var E=f.key,N=c;N!==null;){if(N.key===E){if(E=f.type,E===fn){if(N.tag===7){n(d,N.sibling),c=i(N,f.props.children),c.return=d,d=c;break e}}else if(N.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===yt&&Zu(E)===N.type){n(d,N.sibling),c=i(N,f.props),c.ref=Jn(d,N,f),c.return=d,d=c;break e}n(d,N);break}else t(d,N);N=N.sibling}f.type===fn?(c=Jt(f.props.children,d.mode,g,f.key),c.return=d,d=c):(g=Ti(f.type,f.key,f.props,null,d.mode,g),g.ref=Jn(d,c,f),g.return=d,d=g)}return o(d);case dn:e:{for(N=f.key;c!==null;){if(c.key===N)if(c.tag===4&&c.stateNode.containerInfo===f.containerInfo&&c.stateNode.implementation===f.implementation){n(d,c.sibling),c=i(c,f.children||[]),c.return=d,d=c;break e}else{n(d,c);break}else t(d,c);c=c.sibling}c=ql(f,d.mode,g),c.return=d,d=c}return o(d);case yt:return N=f._init,G(d,c,N(f._payload),g)}if(tr(f))return w(d,c,f,g);if(Hn(f))return k(d,c,f,g);fi(d,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,c!==null&&c.tag===6?(n(d,c.sibling),c=i(c,f),c.return=d,d=c):(n(d,c),c=Jl(f,d.mode,g),c.return=d,d=c),o(d)):n(d,c)}return G}var Ln=kc(!0),Sc=kc(!1),Fi=Dt(null),Wi=null,wn=null,Ss=null;function xs(){Ss=wn=Wi=null}function Cs(e){var t=Fi.current;$(Fi),e._currentValue=t}function Po(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Tn(e,t){Wi=e,Ss=wn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Se=!0),e.firstContext=null)}function Ve(e){var t=e._currentValue;if(Ss!==e)if(e={context:e,memoizedValue:t,next:null},wn===null){if(Wi===null)throw Error(y(308));wn=e,Wi.dependencies={lanes:0,firstContext:e}}else wn=wn.next=e;return t}var Yt=null;function Es(e){Yt===null?Yt=[e]:Yt.push(e)}function xc(e,t,n,r){var i=t.interleaved;return i===null?(n.next=n,Es(t)):(n.next=i.next,i.next=n),t.interleaved=n,pt(e,r)}function pt(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var _t=!1;function Is(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Cc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ct(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Rt(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,D&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,pt(e,n)}return i=r.interleaved,i===null?(t.next=t,Es(r)):(t.next=i.next,i.next=t),r.interleaved=t,pt(e,n)}function Si(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ds(e,n)}}function Ou(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,l=null;if(n=n.firstBaseUpdate,n!==null){do{var o={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};l===null?i=l=o:l=l.next=o,n=n.next}while(n!==null);l===null?i=l=t:l=l.next=t}else i=l=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:l,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function $i(e,t,n,r){var i=e.updateQueue;_t=!1;var l=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var u=s,a=u.next;u.next=null,o===null?l=a:o.next=a,o=u;var p=e.alternate;p!==null&&(p=p.updateQueue,s=p.lastBaseUpdate,s!==o&&(s===null?p.firstBaseUpdate=a:s.next=a,p.lastBaseUpdate=u))}if(l!==null){var h=i.baseState;o=0,p=a=u=null,s=l;do{var m=s.lane,v=s.eventTime;if((r&m)===m){p!==null&&(p=p.next={eventTime:v,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var w=e,k=s;switch(m=t,v=n,k.tag){case 1:if(w=k.payload,typeof w=="function"){h=w.call(v,h,m);break e}h=w;break e;case 3:w.flags=w.flags&-65537|128;case 0:if(w=k.payload,m=typeof w=="function"?w.call(v,h,m):w,m==null)break e;h=Q({},h,m);break e;case 2:_t=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,m=i.effects,m===null?i.effects=[s]:m.push(s))}else v={eventTime:v,lane:m,tag:s.tag,payload:s.payload,callback:s.callback,next:null},p===null?(a=p=v,u=h):p=p.next=v,o|=m;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(!0);if(p===null&&(u=h),i.baseState=u,i.firstBaseUpdate=a,i.lastBaseUpdate=p,t=i.shared.interleaved,t!==null){i=t;do o|=i.lane,i=i.next;while(i!==t)}else l===null&&(i.shared.lanes=0);nn|=o,e.lanes=o,e.memoizedState=h}}function Lu(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=Hl.transition;Hl.transition={};try{e(!1),t()}finally{U=n,Hl.transition=r}}function Uc(){return Me().memoizedState}function Op(e,t,n){var r=Pt(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Gc(e))Fc(t,n);else if(n=xc(e,t,n,r),n!==null){var i=ge();Ye(n,e,r,i),Wc(n,t,r)}}function Lp(e,t,n){var r=Pt(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gc(e))Fc(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var o=t.lastRenderedState,s=l(o,n);if(i.hasEagerState=!0,i.eagerState=s,Xe(s,o)){var u=t.interleaved;u===null?(i.next=i,Es(t)):(i.next=u.next,u.next=i),t.interleaved=i;return}}catch{}finally{}n=xc(e,t,i,r),n!==null&&(i=ge(),Ye(n,e,r,i),Wc(n,t,r))}}function Gc(e){var t=e.alternate;return e===X||t!==null&&t===X}function Fc(e,t){dr=Yi=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Wc(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ds(e,n)}}var Ki={readContext:Ve,useCallback:ce,useContext:ce,useEffect:ce,useImperativeHandle:ce,useInsertionEffect:ce,useLayoutEffect:ce,useMemo:ce,useReducer:ce,useRef:ce,useState:ce,useDebugValue:ce,useDeferredValue:ce,useTransition:ce,useMutableSource:ce,useSyncExternalStore:ce,useId:ce,unstable_isNewReconciler:!1},jp={readContext:Ve,useCallback:function(e,t){return qe().memoizedState=[e,t===void 0?null:t],e},useContext:Ve,useEffect:Au,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,Ci(4194308,4,Ac.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ci(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ci(4,2,e,t)},useMemo:function(e,t){var n=qe();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=qe();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Op.bind(null,X,e),[r.memoizedState,e]},useRef:function(e){var t=qe();return e={current:e},t.memoizedState=e},useState:ju,useDebugValue:Ls,useDeferredValue:function(e){return qe().memoizedState=e},useTransition:function(){var e=ju(!1),t=e[0];return e=Zp.bind(null,e[1]),qe().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=X,i=qe();if(H){if(n===void 0)throw Error(y(407));n=n()}else{if(n=t(),oe===null)throw Error(y(349));tn&30||Tc(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,Au(zc.bind(null,r,l,e),[e]),r.flags|=2048,zr(9,Rc.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=qe(),t=oe.identifierPrefix;if(H){var n=at,r=ut;n=(r&~(1<<32-He(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Tr++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=o.createElement(n,{is:r.is}):(e=o.createElement(n),n==="select"&&(o=e,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):e=o.createElementNS(e,n),e[be]=t,e[Er]=r,ed(e,t,!1,!1),t.stateNode=e;e:{switch(o=po(n,r),n){case"dialog":W("cancel",e),W("close",e),i=r;break;case"iframe":case"object":case"embed":W("load",e),i=r;break;case"video":case"audio":for(i=0;iBn&&(t.flags|=128,r=!0,qn(l,!1),t.lanes=4194304)}else{if(!r)if(e=Hi(o),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),qn(l,!0),l.tail===null&&l.tailMode==="hidden"&&!o.alternate&&!H)return de(t),null}else 2*ee()-l.renderingStartTime>Bn&&n!==1073741824&&(t.flags|=128,r=!0,qn(l,!1),t.lanes=4194304);l.isBackwards?(o.sibling=t.child,t.child=o):(n=l.last,n!==null?n.sibling=o:t.child=o,l.last=o)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=ee(),t.sibling=null,n=K.current,F(K,r?n&1|2:n&1),t):(de(t),null);case 22:case 23:return Ds(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Ie&1073741824&&(de(t),t.subtreeFlags&6&&(t.flags|=8192)):de(t),null;case 24:return null;case 25:return null}throw Error(y(156,t.tag))}function Fp(e,t){switch(ws(t),t.tag){case 1:return Ce(t.type)&&Mi(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return jn(),$(xe),$(pe),Rs(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Ts(t),null;case 13:if($(K),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(y(340));On()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return $(K),null;case 4:return jn(),null;case 10:return Cs(t.type._context),null;case 22:case 23:return Ds(),null;case 24:return null;default:return null}}var hi=!1,fe=!1,Wp=typeof WeakSet=="function"?WeakSet:Set,C=null;function kn(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){J(e,t,r)}else n.current=null}function Do(e,t,n){try{n()}catch(r){J(e,t,r)}}var Yu=!1;function $p(e,t){if(xo=ji,e=sc(),ys(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var o=0,s=-1,u=-1,a=0,p=0,h=e,m=null;t:for(;;){for(var v;h!==n||i!==0&&h.nodeType!==3||(s=o+i),h!==l||r!==0&&h.nodeType!==3||(u=o+r),h.nodeType===3&&(o+=h.nodeValue.length),(v=h.firstChild)!==null;)m=h,h=v;for(;;){if(h===e)break t;if(m===n&&++a===i&&(s=o),m===l&&++p===r&&(u=o),(v=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=v}n=s===-1||u===-1?null:{start:s,end:u}}else n=null}n=n||{start:0,end:0}}else n=null;for(Co={focusedElem:e,selectionRange:n},ji=!1,C=t;C!==null;)if(t=C,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,C=e;else for(;C!==null;){t=C;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var k=w.memoizedProps,G=w.memoizedState,d=t.stateNode,c=d.getSnapshotBeforeUpdate(t.elementType===t.type?k:Ge(t.type,k),G);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(y(163))}}catch(g){J(t,t.return,g)}if(e=t.sibling,e!==null){e.return=t.return,C=e;break}C=t.return}return w=Yu,Yu=!1,w}function fr(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var l=i.destroy;i.destroy=void 0,l!==void 0&&Do(t,n,l)}i=i.next}while(i!==r)}}function vl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Uo(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function rd(e){var t=e.alternate;t!==null&&(e.alternate=null,rd(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[be],delete t[Er],delete t[No],delete t[Np],delete t[Tp])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function id(e){return e.tag===5||e.tag===3||e.tag===4}function Ku(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||id(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Go(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Vi));else if(r!==4&&(e=e.child,e!==null))for(Go(e,t,n),e=e.sibling;e!==null;)Go(e,t,n),e=e.sibling}function Fo(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Fo(e,t,n),e=e.sibling;e!==null;)Fo(e,t,n),e=e.sibling}var se=null,Fe=!1;function gt(e,t,n){for(n=n.child;n!==null;)ld(e,t,n),n=n.sibling}function ld(e,t,n){if(et&&typeof et.onCommitFiberUnmount=="function")try{et.onCommitFiberUnmount(ul,n)}catch{}switch(n.tag){case 5:fe||kn(n,t);case 6:var r=se,i=Fe;se=null,gt(e,t,n),se=r,Fe=i,se!==null&&(Fe?(e=se,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):se.removeChild(n.stateNode));break;case 18:se!==null&&(Fe?(e=se,n=n.stateNode,e.nodeType===8?Fl(e.parentNode,n):e.nodeType===1&&Fl(e,n),wr(e)):Fl(se,n.stateNode));break;case 4:r=se,i=Fe,se=n.stateNode.containerInfo,Fe=!0,gt(e,t,n),se=r,Fe=i;break;case 0:case 11:case 14:case 15:if(!fe&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var l=i,o=l.destroy;l=l.tag,o!==void 0&&(l&2||l&4)&&Do(n,t,o),i=i.next}while(i!==r)}gt(e,t,n);break;case 1:if(!fe&&(kn(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){J(n,t,s)}gt(e,t,n);break;case 21:gt(e,t,n);break;case 22:n.mode&1?(fe=(r=fe)||n.memoizedState!==null,gt(e,t,n),fe=r):gt(e,t,n);break;default:gt(e,t,n)}}function Xu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new Wp),t.forEach(function(r){var i=eh.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function Ue(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=o),r&=~l}if(r=i,r=ee()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*Yp(r/1960))-r,10e?16:e,Ct===null)var r=!1;else{if(e=Ct,Ct=null,Ji=0,D&6)throw Error(y(331));var i=D;for(D|=4,C=e.current;C!==null;){var l=C,o=l.child;if(C.flags&16){var s=l.deletions;if(s!==null){for(var u=0;uee()-Vs?Qt(e,0):Bs|=n),Ee(e,t)}function pd(e,t){t===0&&(e.mode&1?(t=li,li<<=1,!(li&130023424)&&(li=4194304)):t=1);var n=ge();e=pt(e,t),e!==null&&(Yr(e,t,n),Ee(e,n))}function bp(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),pd(e,n)}function eh(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(y(314))}r!==null&&r.delete(t),pd(e,n)}var hd;hd=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||xe.current)Se=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Se=!1,Up(e,t,n);Se=!!(e.flags&131072)}else Se=!1,H&&t.flags&1048576&&yc(t,Gi,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;Ei(e,t),e=t.pendingProps;var i=Zn(t,pe.current);Tn(t,n),i=Ps(null,t,r,e,i,n);var l=Zs();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Ce(r)?(l=!0,Di(t)):l=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,Is(t),i.updater=ml,t.stateNode=i,i._reactInternals=t,Oo(t,r,e,n),t=Ao(null,t,r,!0,l,n)):(t.tag=0,H&&l&&_s(t),me(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(Ei(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=nh(r),e=Ge(r,e),i){case 0:t=jo(null,t,r,e,n);break e;case 1:t=Wu(null,t,r,e,n);break e;case 11:t=Gu(null,t,r,e,n);break e;case 14:t=Fu(null,t,r,Ge(r.type,e),n);break e}throw Error(y(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ge(r,i),jo(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ge(r,i),Wu(e,t,r,i,n);case 3:e:{if(Jc(t),e===null)throw Error(y(387));r=t.pendingProps,l=t.memoizedState,i=l.element,Cc(e,t),$i(t,r,null,n);var o=t.memoizedState;if(r=o.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){i=An(Error(y(423)),t),t=$u(e,t,r,n,i);break e}else if(r!==i){i=An(Error(y(424)),t),t=$u(e,t,r,n,i);break e}else for(Te=Tt(t.stateNode.containerInfo.firstChild),Re=t,H=!0,We=null,n=Sc(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(On(),r===i){t=ht(e,t,n);break e}me(e,t,r,n)}t=t.child}return t;case 5:return Ec(t),e===null&&zo(t),r=t.type,i=t.pendingProps,l=e!==null?e.memoizedProps:null,o=i.children,Eo(r,i)?o=null:l!==null&&Eo(r,l)&&(t.flags|=32),Qc(e,t),me(e,t,o,n),t.child;case 6:return e===null&&zo(t),null;case 13:return qc(e,t,n);case 4:return Ns(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ln(t,null,r,n):me(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ge(r,i),Gu(e,t,r,i,n);case 7:return me(e,t,t.pendingProps,n),t.child;case 8:return me(e,t,t.pendingProps.children,n),t.child;case 12:return me(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,o=i.value,F(Fi,r._currentValue),r._currentValue=o,l!==null)if(Xe(l.value,o)){if(l.children===i.children&&!xe.current){t=ht(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var s=l.dependencies;if(s!==null){o=l.child;for(var u=s.firstContext;u!==null;){if(u.context===r){if(l.tag===1){u=ct(-1,n&-n),u.tag=2;var a=l.updateQueue;if(a!==null){a=a.shared;var p=a.pending;p===null?u.next=u:(u.next=p.next,p.next=u),a.pending=u}}l.lanes|=n,u=l.alternate,u!==null&&(u.lanes|=n),Po(l.return,n,t),s.lanes|=n;break}u=u.next}}else if(l.tag===10)o=l.type===t.type?null:l.child;else if(l.tag===18){if(o=l.return,o===null)throw Error(y(341));o.lanes|=n,s=o.alternate,s!==null&&(s.lanes|=n),Po(o,n,t),o=l.sibling}else o=l.child;if(o!==null)o.return=l;else for(o=l;o!==null;){if(o===t){o=null;break}if(l=o.sibling,l!==null){l.return=o.return,o=l;break}o=o.return}l=o}me(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Tn(t,n),i=Ve(i),r=r(i),t.flags|=1,me(e,t,r,n),t.child;case 14:return r=t.type,i=Ge(r,t.pendingProps),i=Ge(r.type,i),Fu(e,t,r,i,n);case 15:return Kc(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:Ge(r,i),Ei(e,t),t.tag=1,Ce(r)?(e=!0,Di(t)):e=!1,Tn(t,n),$c(t,r,i),Oo(t,r,i,n),Ao(null,t,r,!0,e,n);case 19:return bc(e,t,n);case 22:return Xc(e,t,n)}throw Error(y(156,t.tag))};function md(e,t){return Ga(e,t)}function th(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ae(e,t,n,r){return new th(e,t,n,r)}function Gs(e){return e=e.prototype,!(!e||!e.isReactComponent)}function nh(e){if(typeof e=="function")return Gs(e)?1:0;if(e!=null){if(e=e.$$typeof,e===ss)return 11;if(e===us)return 14}return 2}function Zt(e,t){var n=e.alternate;return n===null?(n=Ae(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ti(e,t,n,r,i,l){var o=2;if(r=e,typeof e=="function")Gs(e)&&(o=1);else if(typeof e=="string")o=5;else e:switch(e){case fn:return Jt(n.children,i,l,t);case os:o=8,i|=8;break;case no:return e=Ae(12,n,t,i|2),e.elementType=no,e.lanes=l,e;case ro:return e=Ae(13,n,t,i),e.elementType=ro,e.lanes=l,e;case io:return e=Ae(19,n,t,i),e.elementType=io,e.lanes=l,e;case Ea:return yl(n,i,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case xa:o=10;break e;case Ca:o=9;break e;case ss:o=11;break e;case us:o=14;break e;case yt:o=16,r=null;break e}throw Error(y(130,e==null?e:typeof e,""))}return t=Ae(o,n,t,i),t.elementType=e,t.type=r,t.lanes=l,t}function Jt(e,t,n,r){return e=Ae(7,e,r,t),e.lanes=n,e}function yl(e,t,n,r){return e=Ae(22,e,r,t),e.elementType=Ea,e.lanes=n,e.stateNode={isHidden:!1},e}function Jl(e,t,n){return e=Ae(6,e,null,t),e.lanes=n,e}function ql(e,t,n){return t=Ae(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function rh(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Zl(0),this.expirationTimes=Zl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Zl(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function Fs(e,t,n,r,i,l,o,s,u){return e=new rh(e,t,n,s,u),t===1?(t=1,l===!0&&(t|=8)):t=0,l=Ae(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Is(l),e}function ih(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(_d)}catch(e){console.error(e)}}_d(),_a.exports=Ze;var ah=_a.exports,ra=ah;eo.createRoot=ra.createRoot,eo.hydrateRoot=ra.hydrateRoot;const ch="modulepreload",dh=function(e,t){return new URL(e,t).href},ia={},wd=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),u=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));i=Promise.allSettled(n.map(a=>{if(a=dh(a,r),a in ia)return;ia[a]=!0;const p=a.endsWith(".css"),h=p?'[rel="stylesheet"]':"";if(!!r)for(let w=o.length-1;w>=0;w--){const k=o[w];if(k.href===a&&(!p||k.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${a}"]${h}`))return;const v=document.createElement("link");if(v.rel=p?"stylesheet":ch,p||(v.as="script"),v.crossOrigin="",v.href=a,u&&v.setAttribute("nonce",u),document.head.appendChild(v),p)return new Promise((w,k)=>{v.addEventListener("load",w),v.addEventListener("error",()=>k(new Error(`Unable to preload CSS for ${a}`)))})}))}function l(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return i.then(o=>{for(const s of o||[])s.status==="rejected"&&l(s.reason);return t().catch(l)})},fh=ns.lazy(()=>wd(()=>import("./Editor-CxSjash0.js"),__vite__mapDeps([0,1,2]),import.meta.url)),ph=ns.lazy(()=>wd(()=>import("./Output-BWbqF6OQ.js"),__vite__mapDeps([3,1,4]),import.meta.url));function hh(){return Xt.jsxs("main",{children:[Xt.jsx(fh,{}),Xt.jsx(ph,{})]})}function mh(e){const[t,n]=ve.useState({width:0,height:0});return ve.useEffect(()=>{const r=document.querySelector(e);if(!r)return;const i=new ResizeObserver(l=>{l.forEach(o=>{n({width:o.contentRect.width,height:o.contentRect.height})})});return i.observe(r),()=>i.unobserve(r)},[e]),t}const vh=["python","typescript","javascript"],la={python:`# This is default python code
+
+print("Hello world")`,typescript:`// This is default typescript code
+
+let message: string = "Hello, world!";
+console.log(message);`,javascript:`// This is default javascript code
+
+let message = "Hello, world!";
+console.log(message);`};var M;(function(e){e.assertEqual=i=>i;function t(i){}e.assertIs=t;function n(i){throw new Error}e.assertNever=n,e.arrayToEnum=i=>{const l={};for(const o of i)l[o]=o;return l},e.getValidEnumValues=i=>{const l=e.objectKeys(i).filter(s=>typeof i[i[s]]!="number"),o={};for(const s of l)o[s]=i[s];return e.objectValues(o)},e.objectValues=i=>e.objectKeys(i).map(function(l){return i[l]}),e.objectKeys=typeof Object.keys=="function"?i=>Object.keys(i):i=>{const l=[];for(const o in i)Object.prototype.hasOwnProperty.call(i,o)&&l.push(o);return l},e.find=(i,l)=>{for(const o of i)if(l(o))return o},e.isInteger=typeof Number.isInteger=="function"?i=>Number.isInteger(i):i=>typeof i=="number"&&isFinite(i)&&Math.floor(i)===i;function r(i,l=" | "){return i.map(o=>typeof o=="string"?`'${o}'`:o).join(l)}e.joinValues=r,e.jsonStringifyReplacer=(i,l)=>typeof l=="bigint"?l.toString():l})(M||(M={}));var Ko;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Ko||(Ko={}));const x=M.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),St=e=>{switch(typeof e){case"undefined":return x.undefined;case"string":return x.string;case"number":return isNaN(e)?x.nan:x.number;case"boolean":return x.boolean;case"function":return x.function;case"bigint":return x.bigint;case"symbol":return x.symbol;case"object":return Array.isArray(e)?x.array:e===null?x.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?x.promise:typeof Map<"u"&&e instanceof Map?x.map:typeof Set<"u"&&e instanceof Set?x.set:typeof Date<"u"&&e instanceof Date?x.date:x.object;default:return x.unknown}},_=M.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),gh=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class ze extends Error{constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}get errors(){return this.issues}format(t){const n=t||function(l){return l.message},r={_errors:[]},i=l=>{for(const o of l.issues)if(o.code==="invalid_union")o.unionErrors.map(i);else if(o.code==="invalid_return_type")i(o.returnTypeError);else if(o.code==="invalid_arguments")i(o.argumentsError);else if(o.path.length===0)r._errors.push(n(o));else{let s=r,u=0;for(;un.message){const n={},r=[];for(const i of this.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}}ze.create=e=>new ze(e);const Vn=(e,t)=>{let n;switch(e.code){case _.invalid_type:e.received===x.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case _.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,M.jsonStringifyReplacer)}`;break;case _.unrecognized_keys:n=`Unrecognized key(s) in object: ${M.joinValues(e.keys,", ")}`;break;case _.invalid_union:n="Invalid input";break;case _.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${M.joinValues(e.options)}`;break;case _.invalid_enum_value:n=`Invalid enum value. Expected ${M.joinValues(e.options)}, received '${e.received}'`;break;case _.invalid_arguments:n="Invalid function arguments";break;case _.invalid_return_type:n="Invalid function return type";break;case _.invalid_date:n="Invalid date";break;case _.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:M.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case _.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case _.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case _.custom:n="Invalid input";break;case _.invalid_intersection_types:n="Intersection results could not be merged";break;case _.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case _.not_finite:n="Number must be finite";break;default:n=t.defaultError,M.assertNever(e)}return{message:n}};let kd=Vn;function yh(e){kd=e}function el(){return kd}const tl=e=>{const{data:t,path:n,errorMaps:r,issueData:i}=e,l=[...n,...i.path||[]],o={...i,path:l};if(i.message!==void 0)return{...i,path:l,message:i.message};let s="";const u=r.filter(a=>!!a).slice().reverse();for(const a of u)s=a(o,{data:t,defaultError:s}).message;return{...i,path:l,message:s}},_h=[];function S(e,t){const n=el(),r=tl({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Vn?void 0:Vn].filter(i=>!!i)});e.common.issues.push(r)}class he{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){const r=[];for(const i of n){if(i.status==="aborted")return Z;i.status==="dirty"&&t.dirty(),r.push(i.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){const r=[];for(const i of n){const l=await i.key,o=await i.value;r.push({key:l,value:o})}return he.mergeObjectSync(t,r)}static mergeObjectSync(t,n){const r={};for(const i of n){const{key:l,value:o}=i;if(l.status==="aborted"||o.status==="aborted")return Z;l.status==="dirty"&&t.dirty(),o.status==="dirty"&&t.dirty(),l.value!=="__proto__"&&(typeof o.value<"u"||i.alwaysSet)&&(r[l.value]=o.value)}return{status:t.value,value:r}}}const Z=Object.freeze({status:"aborted"}),xn=e=>({status:"dirty",value:e}),ye=e=>({status:"valid",value:e}),Xo=e=>e.status==="aborted",Qo=e=>e.status==="dirty",Zr=e=>e.status==="valid",Or=e=>typeof Promise<"u"&&e instanceof Promise;function nl(e,t,n,r){if(typeof t=="function"?e!==t||!r:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t.get(e)}function Sd(e,t,n,r,i){if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return t.set(e,n),n}var R;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t==null?void 0:t.message})(R||(R={}));var ir,lr;class rt{constructor(t,n,r,i){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=i}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const oa=(e,t)=>{if(Zr(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const n=new ze(e.common.issues);return this._error=n,this._error}}};function O(e){if(!e)return{};const{errorMap:t,invalid_type_error:n,required_error:r,description:i}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:i}:{errorMap:(o,s)=>{var u,a;const{message:p}=e;return o.code==="invalid_enum_value"?{message:p??s.defaultError}:typeof s.data>"u"?{message:(u=p??r)!==null&&u!==void 0?u:s.defaultError}:o.code!=="invalid_type"?{message:s.defaultError}:{message:(a=p??n)!==null&&a!==void 0?a:s.defaultError}},description:i}}class j{constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(t){return St(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:St(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new he,ctx:{common:t.parent.common,data:t.data,parsedType:St(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){const n=this._parse(t);if(Or(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){const n=this._parse(t);return Promise.resolve(n)}parse(t,n){const r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){var r;const i={common:{issues:[],async:(r=n==null?void 0:n.async)!==null&&r!==void 0?r:!1,contextualErrorMap:n==null?void 0:n.errorMap},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:St(t)},l=this._parseSync({data:t,path:i.path,parent:i});return oa(i,l)}async parseAsync(t,n){const r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){const r={common:{issues:[],contextualErrorMap:n==null?void 0:n.errorMap,async:!0},path:(n==null?void 0:n.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:St(t)},i=this._parse({data:t,path:r.path,parent:r}),l=await(Or(i)?i:Promise.resolve(i));return oa(r,l)}refine(t,n){const r=i=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(i):n;return this._refinement((i,l)=>{const o=t(i),s=()=>l.addIssue({code:_.custom,...r(i)});return typeof Promise<"u"&&o instanceof Promise?o.then(u=>u?!0:(s(),!1)):o?!0:(s(),!1)})}refinement(t,n){return this._refinement((r,i)=>t(r)?!0:(i.addIssue(typeof n=="function"?n(r,i):n),!1))}_refinement(t){return new Qe({schema:this,typeName:P.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}optional(){return nt.create(this,this._def)}nullable(){return Vt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ke.create(this,this._def)}promise(){return Dn.create(this,this._def)}or(t){return Br.create([this,t],this._def)}and(t){return Vr.create(this,t,this._def)}transform(t){return new Qe({...O(this._def),schema:this,typeName:P.ZodEffects,effect:{type:"transform",transform:t}})}default(t){const n=typeof t=="function"?t:()=>t;return new Fr({...O(this._def),innerType:this,defaultValue:n,typeName:P.ZodDefault})}brand(){return new Ys({typeName:P.ZodBranded,type:this,...O(this._def)})}catch(t){const n=typeof t=="function"?t:()=>t;return new Wr({...O(this._def),innerType:this,catchValue:n,typeName:P.ZodCatch})}describe(t){const n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Jr.create(this,t)}readonly(){return $r.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const wh=/^c[^\s-]{8,}$/i,kh=/^[0-9a-z]+$/,Sh=/^[0-9A-HJKMNP-TV-Z]{26}$/,xh=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ch=/^[a-z0-9_-]{21}$/i,Eh=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Ih=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Nh="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let bl;const Th=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Rh=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,zh=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,xd="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Ph=new RegExp(`^${xd}$`);function Cd(e){let t="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`),t}function Zh(e){return new RegExp(`^${Cd(e)}$`)}function Ed(e){let t=`${xd}T${Cd(e)}`;const n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function Oh(e,t){return!!((t==="v4"||!t)&&Th.test(e)||(t==="v6"||!t)&&Rh.test(e))}class $e extends j{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==x.string){const l=this._getOrReturnCtx(t);return S(l,{code:_.invalid_type,expected:x.string,received:l.parsedType}),Z}const r=new he;let i;for(const l of this._def.checks)if(l.kind==="min")t.data.lengthl.value&&(i=this._getOrReturnCtx(t,i),S(i,{code:_.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),r.dirty());else if(l.kind==="length"){const o=t.data.length>l.value,s=t.data.lengtht.test(i),{validation:n,code:_.invalid_string,...R.errToObj(r)})}_addCheck(t){return new $e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...R.errToObj(t)})}url(t){return this._addCheck({kind:"url",...R.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...R.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...R.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...R.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...R.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...R.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...R.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...R.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...R.errToObj(t)})}datetime(t){var n,r;return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,offset:(n=t==null?void 0:t.offset)!==null&&n!==void 0?n:!1,local:(r=t==null?void 0:t.local)!==null&&r!==void 0?r:!1,...R.errToObj(t==null?void 0:t.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof(t==null?void 0:t.precision)>"u"?null:t==null?void 0:t.precision,...R.errToObj(t==null?void 0:t.message)})}duration(t){return this._addCheck({kind:"duration",...R.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...R.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n==null?void 0:n.position,...R.errToObj(n==null?void 0:n.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...R.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...R.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...R.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...R.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...R.errToObj(n)})}nonempty(t){return this.min(1,R.errToObj(t))}trim(){return new $e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new $e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new $e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get minLength(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new $e({checks:[],typeName:P.ZodString,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...O(e)})};function Lh(e,t){const n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,i=n>r?n:r,l=parseInt(e.toFixed(i).replace(".","")),o=parseInt(t.toFixed(i).replace(".",""));return l%o/Math.pow(10,i)}class jt extends j{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==x.number){const l=this._getOrReturnCtx(t);return S(l,{code:_.invalid_type,expected:x.number,received:l.parsedType}),Z}let r;const i=new he;for(const l of this._def.checks)l.kind==="int"?M.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),S(r,{code:_.invalid_type,expected:"integer",received:"float",message:l.message}),i.dirty()):l.kind==="min"?(l.inclusive?t.datal.value:t.data>=l.value)&&(r=this._getOrReturnCtx(t,r),S(r,{code:_.too_big,maximum:l.value,type:"number",inclusive:l.inclusive,exact:!1,message:l.message}),i.dirty()):l.kind==="multipleOf"?Lh(t.data,l.value)!==0&&(r=this._getOrReturnCtx(t,r),S(r,{code:_.not_multiple_of,multipleOf:l.value,message:l.message}),i.dirty()):l.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),S(r,{code:_.not_finite,message:l.message}),i.dirty()):M.assertNever(l);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,R.toString(n))}gt(t,n){return this.setLimit("min",t,!1,R.toString(n))}lte(t,n){return this.setLimit("max",t,!0,R.toString(n))}lt(t,n){return this.setLimit("max",t,!1,R.toString(n))}setLimit(t,n,r,i){return new jt({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:R.toString(i)}]})}_addCheck(t){return new jt({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:R.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:R.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:R.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.toString(t)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuet.kind==="int"||t.kind==="multipleOf"&&M.isInteger(t.value))}get isFinite(){let t=null,n=null;for(const r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.valuenew jt({checks:[],typeName:P.ZodNumber,coerce:(e==null?void 0:e.coerce)||!1,...O(e)});class At extends j{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce&&(t.data=BigInt(t.data)),this._getType(t)!==x.bigint){const l=this._getOrReturnCtx(t);return S(l,{code:_.invalid_type,expected:x.bigint,received:l.parsedType}),Z}let r;const i=new he;for(const l of this._def.checks)l.kind==="min"?(l.inclusive?t.datal.value:t.data>=l.value)&&(r=this._getOrReturnCtx(t,r),S(r,{code:_.too_big,type:"bigint",maximum:l.value,inclusive:l.inclusive,message:l.message}),i.dirty()):l.kind==="multipleOf"?t.data%l.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),S(r,{code:_.not_multiple_of,multipleOf:l.value,message:l.message}),i.dirty()):M.assertNever(l);return{status:i.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,R.toString(n))}gt(t,n){return this.setLimit("min",t,!1,R.toString(n))}lte(t,n){return this.setLimit("max",t,!0,R.toString(n))}lt(t,n){return this.setLimit("max",t,!1,R.toString(n))}setLimit(t,n,r,i){return new At({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:R.toString(i)}]})}_addCheck(t){return new At({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:R.toString(n)})}get minValue(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.value{var t;return new At({checks:[],typeName:P.ZodBigInt,coerce:(t=e==null?void 0:e.coerce)!==null&&t!==void 0?t:!1,...O(e)})};class Lr extends j{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==x.boolean){const r=this._getOrReturnCtx(t);return S(r,{code:_.invalid_type,expected:x.boolean,received:r.parsedType}),Z}return ye(t.data)}}Lr.create=e=>new Lr({typeName:P.ZodBoolean,coerce:(e==null?void 0:e.coerce)||!1,...O(e)});class ln extends j{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==x.date){const l=this._getOrReturnCtx(t);return S(l,{code:_.invalid_type,expected:x.date,received:l.parsedType}),Z}if(isNaN(t.data.getTime())){const l=this._getOrReturnCtx(t);return S(l,{code:_.invalid_date}),Z}const r=new he;let i;for(const l of this._def.checks)l.kind==="min"?t.data.getTime()l.value&&(i=this._getOrReturnCtx(t,i),S(i,{code:_.too_big,message:l.message,inclusive:!0,exact:!1,maximum:l.value,type:"date"}),r.dirty()):M.assertNever(l);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new ln({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:R.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:R.toString(n)})}get minDate(){let t=null;for(const n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(const n of this._def.checks)n.kind==="max"&&(t===null||n.valuenew ln({checks:[],coerce:(e==null?void 0:e.coerce)||!1,typeName:P.ZodDate,...O(e)});class rl extends j{_parse(t){if(this._getType(t)!==x.symbol){const r=this._getOrReturnCtx(t);return S(r,{code:_.invalid_type,expected:x.symbol,received:r.parsedType}),Z}return ye(t.data)}}rl.create=e=>new rl({typeName:P.ZodSymbol,...O(e)});class jr extends j{_parse(t){if(this._getType(t)!==x.undefined){const r=this._getOrReturnCtx(t);return S(r,{code:_.invalid_type,expected:x.undefined,received:r.parsedType}),Z}return ye(t.data)}}jr.create=e=>new jr({typeName:P.ZodUndefined,...O(e)});class Ar extends j{_parse(t){if(this._getType(t)!==x.null){const r=this._getOrReturnCtx(t);return S(r,{code:_.invalid_type,expected:x.null,received:r.parsedType}),Z}return ye(t.data)}}Ar.create=e=>new Ar({typeName:P.ZodNull,...O(e)});class Mn extends j{constructor(){super(...arguments),this._any=!0}_parse(t){return ye(t.data)}}Mn.create=e=>new Mn({typeName:P.ZodAny,...O(e)});class qt extends j{constructor(){super(...arguments),this._unknown=!0}_parse(t){return ye(t.data)}}qt.create=e=>new qt({typeName:P.ZodUnknown,...O(e)});class mt extends j{_parse(t){const n=this._getOrReturnCtx(t);return S(n,{code:_.invalid_type,expected:x.never,received:n.parsedType}),Z}}mt.create=e=>new mt({typeName:P.ZodNever,...O(e)});class il extends j{_parse(t){if(this._getType(t)!==x.undefined){const r=this._getOrReturnCtx(t);return S(r,{code:_.invalid_type,expected:x.void,received:r.parsedType}),Z}return ye(t.data)}}il.create=e=>new il({typeName:P.ZodVoid,...O(e)});class Ke extends j{_parse(t){const{ctx:n,status:r}=this._processInputParams(t),i=this._def;if(n.parsedType!==x.array)return S(n,{code:_.invalid_type,expected:x.array,received:n.parsedType}),Z;if(i.exactLength!==null){const o=n.data.length>i.exactLength.value,s=n.data.lengthi.maxLength.value&&(S(n,{code:_.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((o,s)=>i.type._parseAsync(new rt(n,o,n.path,s)))).then(o=>he.mergeArray(r,o));const l=[...n.data].map((o,s)=>i.type._parseSync(new rt(n,o,n.path,s)));return he.mergeArray(r,l)}get element(){return this._def.type}min(t,n){return new Ke({...this._def,minLength:{value:t,message:R.toString(n)}})}max(t,n){return new Ke({...this._def,maxLength:{value:t,message:R.toString(n)}})}length(t,n){return new Ke({...this._def,exactLength:{value:t,message:R.toString(n)}})}nonempty(t){return this.min(1,t)}}Ke.create=(e,t)=>new Ke({type:e,minLength:null,maxLength:null,exactLength:null,typeName:P.ZodArray,...O(t)});function cn(e){if(e instanceof Y){const t={};for(const n in e.shape){const r=e.shape[n];t[n]=nt.create(cn(r))}return new Y({...e._def,shape:()=>t})}else return e instanceof Ke?new Ke({...e._def,type:cn(e.element)}):e instanceof nt?nt.create(cn(e.unwrap())):e instanceof Vt?Vt.create(cn(e.unwrap())):e instanceof it?it.create(e.items.map(t=>cn(t))):e}class Y extends j{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const t=this._def.shape(),n=M.objectKeys(t);return this._cached={shape:t,keys:n}}_parse(t){if(this._getType(t)!==x.object){const a=this._getOrReturnCtx(t);return S(a,{code:_.invalid_type,expected:x.object,received:a.parsedType}),Z}const{status:r,ctx:i}=this._processInputParams(t),{shape:l,keys:o}=this._getCached(),s=[];if(!(this._def.catchall instanceof mt&&this._def.unknownKeys==="strip"))for(const a in i.data)o.includes(a)||s.push(a);const u=[];for(const a of o){const p=l[a],h=i.data[a];u.push({key:{status:"valid",value:a},value:p._parse(new rt(i,h,i.path,a)),alwaysSet:a in i.data})}if(this._def.catchall instanceof mt){const a=this._def.unknownKeys;if(a==="passthrough")for(const p of s)u.push({key:{status:"valid",value:p},value:{status:"valid",value:i.data[p]}});else if(a==="strict")s.length>0&&(S(i,{code:_.unrecognized_keys,keys:s}),r.dirty());else if(a!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const a=this._def.catchall;for(const p of s){const h=i.data[p];u.push({key:{status:"valid",value:p},value:a._parse(new rt(i,h,i.path,p)),alwaysSet:p in i.data})}}return i.common.async?Promise.resolve().then(async()=>{const a=[];for(const p of u){const h=await p.key,m=await p.value;a.push({key:h,value:m,alwaysSet:p.alwaysSet})}return a}).then(a=>he.mergeObjectSync(r,a)):he.mergeObjectSync(r,u)}get shape(){return this._def.shape()}strict(t){return R.errToObj,new Y({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{var i,l,o,s;const u=(o=(l=(i=this._def).errorMap)===null||l===void 0?void 0:l.call(i,n,r).message)!==null&&o!==void 0?o:r.defaultError;return n.code==="unrecognized_keys"?{message:(s=R.errToObj(t).message)!==null&&s!==void 0?s:u}:{message:u}}}:{}})}strip(){return new Y({...this._def,unknownKeys:"strip"})}passthrough(){return new Y({...this._def,unknownKeys:"passthrough"})}extend(t){return new Y({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new Y({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:P.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new Y({...this._def,catchall:t})}pick(t){const n={};return M.objectKeys(t).forEach(r=>{t[r]&&this.shape[r]&&(n[r]=this.shape[r])}),new Y({...this._def,shape:()=>n})}omit(t){const n={};return M.objectKeys(this.shape).forEach(r=>{t[r]||(n[r]=this.shape[r])}),new Y({...this._def,shape:()=>n})}deepPartial(){return cn(this)}partial(t){const n={};return M.objectKeys(this.shape).forEach(r=>{const i=this.shape[r];t&&!t[r]?n[r]=i:n[r]=i.optional()}),new Y({...this._def,shape:()=>n})}required(t){const n={};return M.objectKeys(this.shape).forEach(r=>{if(t&&!t[r])n[r]=this.shape[r];else{let l=this.shape[r];for(;l instanceof nt;)l=l._def.innerType;n[r]=l}}),new Y({...this._def,shape:()=>n})}keyof(){return Id(M.objectKeys(this.shape))}}Y.create=(e,t)=>new Y({shape:()=>e,unknownKeys:"strip",catchall:mt.create(),typeName:P.ZodObject,...O(t)});Y.strictCreate=(e,t)=>new Y({shape:()=>e,unknownKeys:"strict",catchall:mt.create(),typeName:P.ZodObject,...O(t)});Y.lazycreate=(e,t)=>new Y({shape:e,unknownKeys:"strip",catchall:mt.create(),typeName:P.ZodObject,...O(t)});class Br extends j{_parse(t){const{ctx:n}=this._processInputParams(t),r=this._def.options;function i(l){for(const s of l)if(s.result.status==="valid")return s.result;for(const s of l)if(s.result.status==="dirty")return n.common.issues.push(...s.ctx.common.issues),s.result;const o=l.map(s=>new ze(s.ctx.common.issues));return S(n,{code:_.invalid_union,unionErrors:o}),Z}if(n.common.async)return Promise.all(r.map(async l=>{const o={...n,common:{...n.common,issues:[]},parent:null};return{result:await l._parseAsync({data:n.data,path:n.path,parent:o}),ctx:o}})).then(i);{let l;const o=[];for(const u of r){const a={...n,common:{...n.common,issues:[]},parent:null},p=u._parseSync({data:n.data,path:n.path,parent:a});if(p.status==="valid")return p;p.status==="dirty"&&!l&&(l={result:p,ctx:a}),a.common.issues.length&&o.push(a.common.issues)}if(l)return n.common.issues.push(...l.ctx.common.issues),l.result;const s=o.map(u=>new ze(u));return S(n,{code:_.invalid_union,unionErrors:s}),Z}}get options(){return this._def.options}}Br.create=(e,t)=>new Br({options:e,typeName:P.ZodUnion,...O(t)});const lt=e=>e instanceof Dr?lt(e.schema):e instanceof Qe?lt(e.innerType()):e instanceof Ur?[e.value]:e instanceof Bt?e.options:e instanceof Gr?M.objectValues(e.enum):e instanceof Fr?lt(e._def.innerType):e instanceof jr?[void 0]:e instanceof Ar?[null]:e instanceof nt?[void 0,...lt(e.unwrap())]:e instanceof Vt?[null,...lt(e.unwrap())]:e instanceof Ys||e instanceof $r?lt(e.unwrap()):e instanceof Wr?lt(e._def.innerType):[];class xl extends j{_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.object)return S(n,{code:_.invalid_type,expected:x.object,received:n.parsedType}),Z;const r=this.discriminator,i=n.data[r],l=this.optionsMap.get(i);return l?n.common.async?l._parseAsync({data:n.data,path:n.path,parent:n}):l._parseSync({data:n.data,path:n.path,parent:n}):(S(n,{code:_.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){const i=new Map;for(const l of n){const o=lt(l.shape[t]);if(!o.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const s of o){if(i.has(s))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(s)}`);i.set(s,l)}}return new xl({typeName:P.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:i,...O(r)})}}function Jo(e,t){const n=St(e),r=St(t);if(e===t)return{valid:!0,data:e};if(n===x.object&&r===x.object){const i=M.objectKeys(t),l=M.objectKeys(e).filter(s=>i.indexOf(s)!==-1),o={...e,...t};for(const s of l){const u=Jo(e[s],t[s]);if(!u.valid)return{valid:!1};o[s]=u.data}return{valid:!0,data:o}}else if(n===x.array&&r===x.array){if(e.length!==t.length)return{valid:!1};const i=[];for(let l=0;l{if(Xo(l)||Xo(o))return Z;const s=Jo(l.value,o.value);return s.valid?((Qo(l)||Qo(o))&&n.dirty(),{status:n.value,value:s.data}):(S(r,{code:_.invalid_intersection_types}),Z)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([l,o])=>i(l,o)):i(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}Vr.create=(e,t,n)=>new Vr({left:e,right:t,typeName:P.ZodIntersection,...O(n)});class it extends j{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.array)return S(r,{code:_.invalid_type,expected:x.array,received:r.parsedType}),Z;if(r.data.lengththis._def.items.length&&(S(r,{code:_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());const l=[...r.data].map((o,s)=>{const u=this._def.items[s]||this._def.rest;return u?u._parse(new rt(r,o,r.path,s)):null}).filter(o=>!!o);return r.common.async?Promise.all(l).then(o=>he.mergeArray(n,o)):he.mergeArray(n,l)}get items(){return this._def.items}rest(t){return new it({...this._def,rest:t})}}it.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new it({items:e,typeName:P.ZodTuple,rest:null,...O(t)})};class Mr extends j{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.object)return S(r,{code:_.invalid_type,expected:x.object,received:r.parsedType}),Z;const i=[],l=this._def.keyType,o=this._def.valueType;for(const s in r.data)i.push({key:l._parse(new rt(r,s,r.path,s)),value:o._parse(new rt(r,r.data[s],r.path,s)),alwaysSet:s in r.data});return r.common.async?he.mergeObjectAsync(n,i):he.mergeObjectSync(n,i)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof j?new Mr({keyType:t,valueType:n,typeName:P.ZodRecord,...O(r)}):new Mr({keyType:$e.create(),valueType:t,typeName:P.ZodRecord,...O(n)})}}class ll extends j{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.map)return S(r,{code:_.invalid_type,expected:x.map,received:r.parsedType}),Z;const i=this._def.keyType,l=this._def.valueType,o=[...r.data.entries()].map(([s,u],a)=>({key:i._parse(new rt(r,s,r.path,[a,"key"])),value:l._parse(new rt(r,u,r.path,[a,"value"]))}));if(r.common.async){const s=new Map;return Promise.resolve().then(async()=>{for(const u of o){const a=await u.key,p=await u.value;if(a.status==="aborted"||p.status==="aborted")return Z;(a.status==="dirty"||p.status==="dirty")&&n.dirty(),s.set(a.value,p.value)}return{status:n.value,value:s}})}else{const s=new Map;for(const u of o){const a=u.key,p=u.value;if(a.status==="aborted"||p.status==="aborted")return Z;(a.status==="dirty"||p.status==="dirty")&&n.dirty(),s.set(a.value,p.value)}return{status:n.value,value:s}}}}ll.create=(e,t,n)=>new ll({valueType:t,keyType:e,typeName:P.ZodMap,...O(n)});class on extends j{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.set)return S(r,{code:_.invalid_type,expected:x.set,received:r.parsedType}),Z;const i=this._def;i.minSize!==null&&r.data.sizei.maxSize.value&&(S(r,{code:_.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());const l=this._def.valueType;function o(u){const a=new Set;for(const p of u){if(p.status==="aborted")return Z;p.status==="dirty"&&n.dirty(),a.add(p.value)}return{status:n.value,value:a}}const s=[...r.data.values()].map((u,a)=>l._parse(new rt(r,u,r.path,a)));return r.common.async?Promise.all(s).then(u=>o(u)):o(s)}min(t,n){return new on({...this._def,minSize:{value:t,message:R.toString(n)}})}max(t,n){return new on({...this._def,maxSize:{value:t,message:R.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}}on.create=(e,t)=>new on({valueType:e,minSize:null,maxSize:null,typeName:P.ZodSet,...O(t)});class zn extends j{constructor(){super(...arguments),this.validate=this.implement}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.function)return S(n,{code:_.invalid_type,expected:x.function,received:n.parsedType}),Z;function r(s,u){return tl({data:s,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,el(),Vn].filter(a=>!!a),issueData:{code:_.invalid_arguments,argumentsError:u}})}function i(s,u){return tl({data:s,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,el(),Vn].filter(a=>!!a),issueData:{code:_.invalid_return_type,returnTypeError:u}})}const l={errorMap:n.common.contextualErrorMap},o=n.data;if(this._def.returns instanceof Dn){const s=this;return ye(async function(...u){const a=new ze([]),p=await s._def.args.parseAsync(u,l).catch(v=>{throw a.addIssue(r(u,v)),a}),h=await Reflect.apply(o,this,p);return await s._def.returns._def.type.parseAsync(h,l).catch(v=>{throw a.addIssue(i(h,v)),a})})}else{const s=this;return ye(function(...u){const a=s._def.args.safeParse(u,l);if(!a.success)throw new ze([r(u,a.error)]);const p=Reflect.apply(o,this,a.data),h=s._def.returns.safeParse(p,l);if(!h.success)throw new ze([i(p,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new zn({...this._def,args:it.create(t).rest(qt.create())})}returns(t){return new zn({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new zn({args:t||it.create([]).rest(qt.create()),returns:n||qt.create(),typeName:P.ZodFunction,...O(r)})}}class Dr extends j{get schema(){return this._def.getter()}_parse(t){const{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}}Dr.create=(e,t)=>new Dr({getter:e,typeName:P.ZodLazy,...O(t)});class Ur extends j{_parse(t){if(t.data!==this._def.value){const n=this._getOrReturnCtx(t);return S(n,{received:n.data,code:_.invalid_literal,expected:this._def.value}),Z}return{status:"valid",value:t.data}}get value(){return this._def.value}}Ur.create=(e,t)=>new Ur({value:e,typeName:P.ZodLiteral,...O(t)});function Id(e,t){return new Bt({values:e,typeName:P.ZodEnum,...O(t)})}class Bt extends j{constructor(){super(...arguments),ir.set(this,void 0)}_parse(t){if(typeof t.data!="string"){const n=this._getOrReturnCtx(t),r=this._def.values;return S(n,{expected:M.joinValues(r),received:n.parsedType,code:_.invalid_type}),Z}if(nl(this,ir)||Sd(this,ir,new Set(this._def.values)),!nl(this,ir).has(t.data)){const n=this._getOrReturnCtx(t),r=this._def.values;return S(n,{received:n.data,code:_.invalid_enum_value,options:r}),Z}return ye(t.data)}get options(){return this._def.values}get enum(){const t={};for(const n of this._def.values)t[n]=n;return t}get Values(){const t={};for(const n of this._def.values)t[n]=n;return t}get Enum(){const t={};for(const n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return Bt.create(t,{...this._def,...n})}exclude(t,n=this._def){return Bt.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}}ir=new WeakMap;Bt.create=Id;class Gr extends j{constructor(){super(...arguments),lr.set(this,void 0)}_parse(t){const n=M.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==x.string&&r.parsedType!==x.number){const i=M.objectValues(n);return S(r,{expected:M.joinValues(i),received:r.parsedType,code:_.invalid_type}),Z}if(nl(this,lr)||Sd(this,lr,new Set(M.getValidEnumValues(this._def.values))),!nl(this,lr).has(t.data)){const i=M.objectValues(n);return S(r,{received:r.data,code:_.invalid_enum_value,options:i}),Z}return ye(t.data)}get enum(){return this._def.values}}lr=new WeakMap;Gr.create=(e,t)=>new Gr({values:e,typeName:P.ZodNativeEnum,...O(t)});class Dn extends j{unwrap(){return this._def.type}_parse(t){const{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.promise&&n.common.async===!1)return S(n,{code:_.invalid_type,expected:x.promise,received:n.parsedType}),Z;const r=n.parsedType===x.promise?n.data:Promise.resolve(n.data);return ye(r.then(i=>this._def.type.parseAsync(i,{path:n.path,errorMap:n.common.contextualErrorMap})))}}Dn.create=(e,t)=>new Dn({type:e,typeName:P.ZodPromise,...O(t)});class Qe extends j{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===P.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){const{status:n,ctx:r}=this._processInputParams(t),i=this._def.effect||null,l={addIssue:o=>{S(r,o),o.fatal?n.abort():n.dirty()},get path(){return r.path}};if(l.addIssue=l.addIssue.bind(l),i.type==="preprocess"){const o=i.transform(r.data,l);if(r.common.async)return Promise.resolve(o).then(async s=>{if(n.value==="aborted")return Z;const u=await this._def.schema._parseAsync({data:s,path:r.path,parent:r});return u.status==="aborted"?Z:u.status==="dirty"||n.value==="dirty"?xn(u.value):u});{if(n.value==="aborted")return Z;const s=this._def.schema._parseSync({data:o,path:r.path,parent:r});return s.status==="aborted"?Z:s.status==="dirty"||n.value==="dirty"?xn(s.value):s}}if(i.type==="refinement"){const o=s=>{const u=i.refinement(s,l);if(r.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return s};if(r.common.async===!1){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Z:(s.status==="dirty"&&n.dirty(),o(s.value),{status:n.value,value:s.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(s=>s.status==="aborted"?Z:(s.status==="dirty"&&n.dirty(),o(s.value).then(()=>({status:n.value,value:s.value}))))}if(i.type==="transform")if(r.common.async===!1){const o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Zr(o))return o;const s=i.transform(o.value,l);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:s}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>Zr(o)?Promise.resolve(i.transform(o.value,l)).then(s=>({status:n.value,value:s})):o);M.assertNever(i)}}Qe.create=(e,t,n)=>new Qe({schema:e,typeName:P.ZodEffects,effect:t,...O(n)});Qe.createWithPreprocess=(e,t,n)=>new Qe({schema:t,effect:{type:"preprocess",transform:e},typeName:P.ZodEffects,...O(n)});class nt extends j{_parse(t){return this._getType(t)===x.undefined?ye(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}nt.create=(e,t)=>new nt({innerType:e,typeName:P.ZodOptional,...O(t)});class Vt extends j{_parse(t){return this._getType(t)===x.null?ye(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}}Vt.create=(e,t)=>new Vt({innerType:e,typeName:P.ZodNullable,...O(t)});class Fr extends j{_parse(t){const{ctx:n}=this._processInputParams(t);let r=n.data;return n.parsedType===x.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}}Fr.create=(e,t)=>new Fr({innerType:e,typeName:P.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...O(t)});class Wr extends j{_parse(t){const{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},i=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Or(i)?i.then(l=>({status:"valid",value:l.status==="valid"?l.value:this._def.catchValue({get error(){return new ze(r.common.issues)},input:r.data})})):{status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ze(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}Wr.create=(e,t)=>new Wr({innerType:e,typeName:P.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...O(t)});class ol extends j{_parse(t){if(this._getType(t)!==x.nan){const r=this._getOrReturnCtx(t);return S(r,{code:_.invalid_type,expected:x.nan,received:r.parsedType}),Z}return{status:"valid",value:t.data}}}ol.create=e=>new ol({typeName:P.ZodNaN,...O(e)});const jh=Symbol("zod_brand");class Ys extends j{_parse(t){const{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}}class Jr extends j{_parse(t){const{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{const l=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return l.status==="aborted"?Z:l.status==="dirty"?(n.dirty(),xn(l.value)):this._def.out._parseAsync({data:l.value,path:r.path,parent:r})})();{const i=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Z:i.status==="dirty"?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:r.path,parent:r})}}static create(t,n){return new Jr({in:t,out:n,typeName:P.ZodPipeline})}}class $r extends j{_parse(t){const n=this._def.innerType._parse(t),r=i=>(Zr(i)&&(i.value=Object.freeze(i.value)),i);return Or(n)?n.then(i=>r(i)):r(n)}unwrap(){return this._def.innerType}}$r.create=(e,t)=>new $r({innerType:e,typeName:P.ZodReadonly,...O(t)});function Nd(e,t={},n){return e?Mn.create().superRefine((r,i)=>{var l,o;if(!e(r)){const s=typeof t=="function"?t(r):typeof t=="string"?{message:t}:t,u=(o=(l=s.fatal)!==null&&l!==void 0?l:n)!==null&&o!==void 0?o:!0,a=typeof s=="string"?{message:s}:s;i.addIssue({code:"custom",...a,fatal:u})}}):Mn.create()}const Ah={object:Y.lazycreate};var P;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(P||(P={}));const Bh=(e,t={message:`Input not instance of ${e.name}`})=>Nd(n=>n instanceof e,t),Td=$e.create,Rd=jt.create,Vh=ol.create,Mh=At.create,zd=Lr.create,Dh=ln.create,Uh=rl.create,Gh=jr.create,Fh=Ar.create,Wh=Mn.create,$h=qt.create,Hh=mt.create,Yh=il.create,Kh=Ke.create,Xh=Y.create,Qh=Y.strictCreate,Jh=Br.create,qh=xl.create,bh=Vr.create,em=it.create,tm=Mr.create,nm=ll.create,rm=on.create,im=zn.create,lm=Dr.create,om=Ur.create,sm=Bt.create,um=Gr.create,am=Dn.create,sa=Qe.create,cm=nt.create,dm=Vt.create,fm=Qe.createWithPreprocess,pm=Jr.create,hm=()=>Td().optional(),mm=()=>Rd().optional(),vm=()=>zd().optional(),gm={string:e=>$e.create({...e,coerce:!0}),number:e=>jt.create({...e,coerce:!0}),boolean:e=>Lr.create({...e,coerce:!0}),bigint:e=>At.create({...e,coerce:!0}),date:e=>ln.create({...e,coerce:!0})},ym=Z;var Ne=Object.freeze({__proto__:null,defaultErrorMap:Vn,setErrorMap:yh,getErrorMap:el,makeIssue:tl,EMPTY_PATH:_h,addIssueToContext:S,ParseStatus:he,INVALID:Z,DIRTY:xn,OK:ye,isAborted:Xo,isDirty:Qo,isValid:Zr,isAsync:Or,get util(){return M},get objectUtil(){return Ko},ZodParsedType:x,getParsedType:St,ZodType:j,datetimeRegex:Ed,ZodString:$e,ZodNumber:jt,ZodBigInt:At,ZodBoolean:Lr,ZodDate:ln,ZodSymbol:rl,ZodUndefined:jr,ZodNull:Ar,ZodAny:Mn,ZodUnknown:qt,ZodNever:mt,ZodVoid:il,ZodArray:Ke,ZodObject:Y,ZodUnion:Br,ZodDiscriminatedUnion:xl,ZodIntersection:Vr,ZodTuple:it,ZodRecord:Mr,ZodMap:ll,ZodSet:on,ZodFunction:zn,ZodLazy:Dr,ZodLiteral:Ur,ZodEnum:Bt,ZodNativeEnum:Gr,ZodPromise:Dn,ZodEffects:Qe,ZodTransformer:Qe,ZodOptional:nt,ZodNullable:Vt,ZodDefault:Fr,ZodCatch:Wr,ZodNaN:ol,BRAND:jh,ZodBranded:Ys,ZodPipeline:Jr,ZodReadonly:$r,custom:Nd,Schema:j,ZodSchema:j,late:Ah,get ZodFirstPartyTypeKind(){return P},coerce:gm,any:Wh,array:Kh,bigint:Mh,boolean:zd,date:Dh,discriminatedUnion:qh,effect:sa,enum:sm,function:im,instanceof:Bh,intersection:bh,lazy:lm,literal:om,map:nm,nan:Vh,nativeEnum:um,never:Hh,null:Fh,nullable:dm,number:Rd,object:Xh,oboolean:vm,onumber:mm,optional:cm,ostring:hm,pipeline:pm,preprocess:fm,promise:am,record:tm,set:rm,strictObject:Qh,string:Td,symbol:Uh,transformer:sa,tuple:em,undefined:Gh,union:Jh,unknown:$h,void:Yh,NEVER:ym,ZodIssueCode:_,quotelessJson:gh,ZodError:ze});const Ri=Ne.object({status:Ne.enum(["idle","loading","running","finished"]),data:Ne.array(Ne.object({msg:Ne.string(),color:Ne.enum(["red","yellow","normal"])}))});Ne.object({python:Ri,typescript:Ri,javascript:Ri});const Pd=Ne.enum(vh),_m=Ne.object({lang:Pd,code:Ne.string(),defaultCode:Ne.string(),theme:Ne.enum(["dark","light"]),readonly:Ne.boolean()}),wm={python:new URL("data:text/javascript;base64,c2VsZi5pbXBvcnRTY3JpcHRzKCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvcHlvZGlkZS92MC4yNS4wL2Z1bGwvcHlvZGlkZS5qcyIpOwoKbGV0IHB5b2RpZGUgPSBudWxsOwoKY29uc3QgcG9zdG1lc3NhZ2UgPSAoc3RhdHVzLCBtc2cpID0+IHNlbGYucG9zdE1lc3NhZ2UoeyBsYW5nOiAicHl0aG9uIiwgb3V0cHV0OiB7IHN0YXR1cywgZGF0YTogbXNnIH0gfSk7CmNvbnN0IHN0ZGVyciA9IChtc2cpID0+IHBvc3RtZXNzYWdlKCJydW5uaW5nIiwgW3sgY29sb3I6ICJyZWQiLCBtc2cgfV0pOwpjb25zdCBzdGRvdXQgPSAobXNnKSA9PiB7CiAgLy8gaWYgdGhlIG1lc3NhZ2UgaXMgRkxVU0hISCwgdGhlbiBpZ25vcmUgaXQKICBpZiAobXNnID09PSAiRkxVU0hISCIpIHJldHVybjsKCiAgLy8gcmVtb3ZlIHRoZSBGTFVTSEhIIGZyb20gdGhlIG1lc3NhZ2UKICBpZiAobXNnLmluY2x1ZGVzKCJGTFVTSEhIIikpIG1zZyA9IG1zZy5yZXBsYWNlKCJGTFVTSEhIIiwgIiIpOwogIHBvc3RtZXNzYWdlKCJydW5uaW5nIiwgW3sgY29sb3I6ICJub3JtYWwiLCBtc2cgfV0pOwp9OwoKYXN5bmMgZnVuY3Rpb24gd2FpdFB5b2RpZGVSZWFkeSgpIHsKICBweW9kaWRlID0gYXdhaXQgbG9hZFB5b2RpZGUoeyBzdGRlcnIsIHN0ZG91dCB9KTsKICBwb3N0bWVzc2FnZSgiaWRsZSIsIFtdKTsKfQoKc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHsKICBjb25zdCB7IGRhdGEsIC4uLmNvbnRleHQgfSA9IGV2ZW50LmRhdGE7CgogIC8vIG9ubHkgcnVuIHRoZSBjb2RlIGlmIHRoZSBsYW5ndWFnZSBpcyBweXRob24KICBjb25zdCB7IGxhbmcsIGNvZGUgfSA9IGV2ZW50LmRhdGE7CiAgaWYgKGxhbmcgIT09ICJweXRob24iKSByZXR1cm47CgogIC8vIGFkZCBhbGwgdGhlIGNvbnRleHQgdG8gdGhlIHdvcmtlcgogIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKGNvbnRleHQpKSBzZWxmW2tleV0gPSBjb250ZXh0W2tleV07CgogIC8vIHdhaXQgZm9yIHB5b2RpZGUgdG8gYmUgcmVhZHkKICBpZiAoIXB5b2RpZGUpIGF3YWl0IHdhaXRQeW9kaWRlUmVhZHkoKTsKCiAgLy8gcnVuIHRoZSBweXRob24gY29kZQogIGlmICghY29kZSkgcG9zdG1lc3NhZ2UoImZpbmlzaGVkIiwgW3sgY29sb3I6ICJyZWQiLCBtc2c6ICJQeXRob24gY29kZSBpcyBlbXB0eSIgfV0pOwogIGVsc2UgewogICAgdHJ5IHsKICAgICAgYXdhaXQgcHlvZGlkZS5sb2FkUGFja2FnZXNGcm9tSW1wb3J0cyhjb2RlKTsKICAgICAgYXdhaXQgcHlvZGlkZS5ydW5QeXRob25Bc3luYyhjb2RlICsgIlxucHJpbnQoJ0ZMVVNISEgnKSIpOyAvLyBGTFVTSEhIIGlzIGZvciBmbHVzaGluZyB0aGUgc3Rkb3V0CiAgICAgIHBvc3RtZXNzYWdlKCJmaW5pc2hlZCIsIFtdKTsKICAgIH0gY2F0Y2ggKGVycikgewogICAgICBwb3N0bWVzc2FnZSgiZmluaXNoZWQiLCBbeyBjb2xvcjogInJlZCIsIG1zZzogZXJyLm1lc3NhZ2UgfV0pOwogICAgfQogIH0KfTsKCndhaXRQeW9kaWRlUmVhZHkoKTsK",import.meta.url).toString(),typescript:new URL("data:text/javascript;base64,c2VsZi5pbXBvcnRTY3JpcHRzKCJodHRwczovL3VucGtnLmNvbS9AYmFiZWwvc3RhbmRhbG9uZUA3LjIzLjEwL2JhYmVsLm1pbi5qcyIpOwoKY29uc3QgcG9zdG1lc3NhZ2UgPSAoc3RhdHVzLCBtc2cpID0+IHNlbGYucG9zdE1lc3NhZ2UoeyBsYW5nOiAidHlwZXNjcmlwdCIsIG91dHB1dDogeyBzdGF0dXMsIGRhdGE6IG1zZyB9IH0pOwoKc2VsZi5jb25zb2xlLmVycm9yID0gKC4uLm1zZykgPT4gcG9zdG1lc3NhZ2UoInJ1bm5pbmciLCBbeyBjb2xvcjogInJlZCIsIG1zZzogbXNnLmpvaW4oIiAiKSB9XSk7CnNlbGYuY29uc29sZS5sb2cgPSAoLi4ubXNncykgPT4gcG9zdG1lc3NhZ2UoInJ1bm5pbmciLCBbeyBjb2xvcjogIm5vcm1hbCIsIG1zZzogbXNncy5qb2luKCIgIikgfV0pOwoKYXN5bmMgZnVuY3Rpb24gd2FpdEJhYmVsUmVhZHkoKSB7CiAgQmFiZWwudHJhbnNmb3JtKCIiLCB7IGZpbGVuYW1lOiAidHlwZXNjcmlwdC50cyIsIHByZXNldHM6IFsidHlwZXNjcmlwdCJdIH0pOwogIHBvc3RtZXNzYWdlKCJpZGxlIiwgW10pOwp9CgpzZWxmLm9ubWVzc2FnZSA9IGFzeW5jIChldmVudCkgPT4gewogIGNvbnN0IHsgZGF0YSwgLi4uY29udGV4dCB9ID0gZXZlbnQuZGF0YTsKCiAgLy8gb25seSBydW4gdGhlIGNvZGUgaWYgdGhlIGxhbmd1YWdlIGlzIHR5cGVzY3JpcHQKICBjb25zdCB7IGxhbmcsIGNvZGUgfSA9IGV2ZW50LmRhdGE7CiAgaWYgKGxhbmcgIT09ICJ0eXBlc2NyaXB0IikgcmV0dXJuOwoKICAvLyBhZGQgYWxsIHRoZSBjb250ZXh0IHRvIHRoZSB3b3JrZXIKICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhjb250ZXh0KSkgc2VsZltrZXldID0gY29udGV4dFtrZXldOwoKICAvLyB3YWl0IGZvciBiYWJlbCB0byBiZSByZWFkeQogIGlmICghQmFiZWwpIGF3YWl0IHdhaXRCYWJlbFJlYWR5KCk7CgogIC8vIHJ1biB0aGUgdHlwZXNjcmlwdCBjb2RlCiAgaWYgKCFjb2RlKSBwb3N0bWVzc2FnZSgiZmluaXNoZWQiLCBbeyBjb2xvcjogInJlZCIsIG1zZzogIlR5cGVTY3JpcHQgY29kZSBpcyBlbXB0eSIgfV0pOwogIGVsc2UgewogICAgdHJ5IHsKICAgICAgY29uc3QgYmFiZWwgPSBCYWJlbC50cmFuc2Zvcm0oY29kZSwgeyBmaWxlbmFtZTogInR5cGVzY3JpcHQudHMiLCBwcmVzZXRzOiBbInR5cGVzY3JpcHQiXSB9KTsKICAgICAgYXdhaXQgZXZhbChiYWJlbC5jb2RlKTsKICAgICAgcG9zdG1lc3NhZ2UoImZpbmlzaGVkIiwgW10pOwogICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgIHBvc3RtZXNzYWdlKCJmaW5pc2hlZCIsIFt7IGNvbG9yOiAicmVkIiwgbXNnOiBlcnIubWVzc2FnZSB9XSk7CiAgICB9CiAgfQp9OwoKd2FpdEJhYmVsUmVhZHkoKTsK",import.meta.url).toString(),javascript:new URL("data:text/javascript;base64,Y29uc3QgcG9zdG1lc3NhZ2UgPSAoc3RhdHVzLCBtc2cpID0+IHNlbGYucG9zdE1lc3NhZ2UoeyBsYW5nOiAiamF2YXNjcmlwdCIsIG91dHB1dDogeyBzdGF0dXMsIGRhdGE6IG1zZyB9IH0pOwoKc2VsZi5jb25zb2xlLmVycm9yID0gKC4uLm1zZykgPT4gcG9zdG1lc3NhZ2UoInJ1bm5pbmciLCBbeyBjb2xvcjogInJlZCIsIG1zZzogbXNnLmpvaW4oIiAiKSB9XSk7CnNlbGYuY29uc29sZS5sb2cgPSAoLi4ubXNncykgPT4gcG9zdG1lc3NhZ2UoInJ1bm5pbmciLCBbeyBjb2xvcjogIm5vcm1hbCIsIG1zZzogbXNncy5qb2luKCIgIikgfV0pOwoKc2VsZi5vbm1lc3NhZ2UgPSBhc3luYyAoZXZlbnQpID0+IHsKICBjb25zdCB7IGRhdGEsIC4uLmNvbnRleHQgfSA9IGV2ZW50LmRhdGE7CgogIC8vIG9ubHkgcnVuIHRoZSBjb2RlIGlmIHRoZSBsYW5ndWFnZSBpcyBqYXZhc2NyaXB0CiAgY29uc3QgeyBsYW5nLCBjb2RlIH0gPSBldmVudC5kYXRhOwogIGlmIChsYW5nICE9PSAiamF2YXNjcmlwdCIpIHJldHVybjsKCiAgLy8gYWRkIGFsbCB0aGUgY29udGV4dCB0byB0aGUgd29ya2VyCiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoY29udGV4dCkpIHNlbGZba2V5XSA9IGNvbnRleHRba2V5XTsKCiAgLy8gcnVuIHRoZSBqYXZhc2NyaXB0IGNvZGUKICBpZiAoIWNvZGUpIHBvc3RtZXNzYWdlKCJmaW5pc2hlZCIsIFt7IGNvbG9yOiAicmVkIiwgbXNnOiAiSmF2YVNjcmlwdCBjb2RlIGlzIGVtcHR5IiB9XSk7CiAgZWxzZSB7CiAgICB0cnkgewogICAgICBhd2FpdCBldmFsKGNvZGUpOwogICAgICBwb3N0bWVzc2FnZSgiZmluaXNoZWQiLCBbXSk7CiAgICB9IGNhdGNoIChlcnIpIHsKICAgICAgcG9zdG1lc3NhZ2UoImZpbmlzaGVkIiwgW3sgY29sb3I6ICJyZWQiLCBtc2c6IGVyci5tZXNzYWdlIH1dKTsKICAgIH0KICB9Cn07Cgpwb3N0bWVzc2FnZSgiaWRsZSIsIFtdKTsK",import.meta.url).toString()},Zd={python:{status:"loading",data:[]},typescript:{status:"loading",data:[]},javascript:{status:"loading",data:[]}},Od={theme:"light",lang:"javascript",code:la.javascript,defaultCode:la.javascript,readonly:!1},Ld=ve.createContext({editor:Od,setEditor:()=>{},outputs:Zd,execuateCode:()=>{},clearOutput:()=>{}}),km=({children:e})=>{const t=mh("#root"),[n,r]=ve.useState(""),[i,l]=ve.useState(null),[o,s]=ve.useState(Zd),[u,a]=ve.useState(Od);function p(){const v={id:n,editor:u,output:o[u.lang],dimensions:t};window.parent.postMessage({repl:v},"*")}function h(){i&&(o[u.lang].status==="loading"||o[u.lang].status==="running"||(s(v=>({...v,[u.lang]:{status:"running",data:[]}})),i.postMessage({lang:u.lang,code:u.code})))}function m(){s(v=>({...v,[u.lang]:{status:"idle",data:[]}}))}return ve.useEffect(()=>{document.body.classList.toggle("dark",u.theme==="dark")},[u.theme]),ve.useEffect(()=>{const v=u.lang;i&&i.terminate();const w=new Worker(wm[v],{type:"classic",name:`${v}-worker`});w.onmessage=k=>{const G=Ri.safeParse(k.data.output),d=Pd.safeParse(k.data.lang);!G.success||!d.success||s(c=>({...c,[d.data]:{status:G.data.status,data:[...c[v].data,...G.data.data]}}))},l(w)},[u.lang]),ve.useEffect(()=>{const v=setTimeout(()=>n&&p(),10);return()=>clearTimeout(v)},[n,t.height]),ve.useEffect(()=>{const v=w=>{if(w.source===window||!w.data.repl||typeof w.data.repl.id!="string")return;const k=_m.safeParse(Object.assign(u,w.data.repl.editor));k.success&&(r(w.data.repl.id),a({...k.data}))};return window.addEventListener("message",v),p(),()=>window.removeEventListener("message",v)},[]),Xt.jsx(Ld.Provider,{value:{editor:u,setEditor:a,outputs:o,execuateCode:h,clearOutput:m},children:e})},xm=()=>ve.useContext(Ld);eo.createRoot(document.getElementById("root")).render(Xt.jsx(ns.StrictMode,{children:Xt.jsx(km,{children:Xt.jsx(hh,{})})}));export{ns as R,Sm as c,Xt as j,ve as r,xm as u};
diff --git a/embed/favicon.png b/embed/favicon.png
new file mode 100644
index 0000000..b10321d
Binary files /dev/null and b/embed/favicon.png differ
diff --git a/embed/index.html b/embed/index.html
new file mode 100644
index 0000000..1533667
--- /dev/null
+++ b/embed/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Mdbook REPL
+
+
+
+
+
+
+
diff --git a/favicon.png b/favicon.png
new file mode 100644
index 0000000..a5b1aa1
Binary files /dev/null and b/favicon.png differ
diff --git a/favicon.svg b/favicon.svg
new file mode 100644
index 0000000..90e0ea5
--- /dev/null
+++ b/favicon.svg
@@ -0,0 +1,22 @@
+
+
diff --git a/fonts/OPEN-SANS-LICENSE.txt b/fonts/OPEN-SANS-LICENSE.txt
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/fonts/OPEN-SANS-LICENSE.txt
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/fonts/SOURCE-CODE-PRO-LICENSE.txt b/fonts/SOURCE-CODE-PRO-LICENSE.txt
new file mode 100644
index 0000000..366206f
--- /dev/null
+++ b/fonts/SOURCE-CODE-PRO-LICENSE.txt
@@ -0,0 +1,93 @@
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/fonts/fonts.css b/fonts/fonts.css
new file mode 100644
index 0000000..858efa5
--- /dev/null
+++ b/fonts/fonts.css
@@ -0,0 +1,100 @@
+/* Open Sans is licensed under the Apache License, Version 2.0. See http://www.apache.org/licenses/LICENSE-2.0 */
+/* Source Code Pro is under the Open Font License. See https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL */
+
+/* open-sans-300 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300;
+ src: local('Open Sans Light'), local('OpenSans-Light'),
+ url('open-sans-v17-all-charsets-300.woff2') format('woff2');
+}
+
+/* open-sans-300italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300;
+ src: local('Open Sans Light Italic'), local('OpenSans-LightItalic'),
+ url('open-sans-v17-all-charsets-300italic.woff2') format('woff2');
+}
+
+/* open-sans-regular - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 400;
+ src: local('Open Sans Regular'), local('OpenSans-Regular'),
+ url('open-sans-v17-all-charsets-regular.woff2') format('woff2');
+}
+
+/* open-sans-italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 400;
+ src: local('Open Sans Italic'), local('OpenSans-Italic'),
+ url('open-sans-v17-all-charsets-italic.woff2') format('woff2');
+}
+
+/* open-sans-600 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 600;
+ src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
+ url('open-sans-v17-all-charsets-600.woff2') format('woff2');
+}
+
+/* open-sans-600italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 600;
+ src: local('Open Sans SemiBold Italic'), local('OpenSans-SemiBoldItalic'),
+ url('open-sans-v17-all-charsets-600italic.woff2') format('woff2');
+}
+
+/* open-sans-700 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 700;
+ src: local('Open Sans Bold'), local('OpenSans-Bold'),
+ url('open-sans-v17-all-charsets-700.woff2') format('woff2');
+}
+
+/* open-sans-700italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 700;
+ src: local('Open Sans Bold Italic'), local('OpenSans-BoldItalic'),
+ url('open-sans-v17-all-charsets-700italic.woff2') format('woff2');
+}
+
+/* open-sans-800 - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 800;
+ src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
+ url('open-sans-v17-all-charsets-800.woff2') format('woff2');
+}
+
+/* open-sans-800italic - latin_vietnamese_latin-ext_greek-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 800;
+ src: local('Open Sans ExtraBold Italic'), local('OpenSans-ExtraBoldItalic'),
+ url('open-sans-v17-all-charsets-800italic.woff2') format('woff2');
+}
+
+/* source-code-pro-500 - latin_vietnamese_latin-ext_greek_cyrillic-ext_cyrillic */
+@font-face {
+ font-family: 'Source Code Pro';
+ font-style: normal;
+ font-weight: 500;
+ src: url('source-code-pro-v11-all-charsets-500.woff2') format('woff2');
+}
diff --git a/fonts/open-sans-v17-all-charsets-300.woff2 b/fonts/open-sans-v17-all-charsets-300.woff2
new file mode 100644
index 0000000..9f51be3
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-300.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-300italic.woff2 b/fonts/open-sans-v17-all-charsets-300italic.woff2
new file mode 100644
index 0000000..2f54544
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-300italic.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-600.woff2 b/fonts/open-sans-v17-all-charsets-600.woff2
new file mode 100644
index 0000000..f503d55
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-600.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-600italic.woff2 b/fonts/open-sans-v17-all-charsets-600italic.woff2
new file mode 100644
index 0000000..c99aabe
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-600italic.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-700.woff2 b/fonts/open-sans-v17-all-charsets-700.woff2
new file mode 100644
index 0000000..421a1ab
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-700.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-700italic.woff2 b/fonts/open-sans-v17-all-charsets-700italic.woff2
new file mode 100644
index 0000000..12ce3d2
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-700italic.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-800.woff2 b/fonts/open-sans-v17-all-charsets-800.woff2
new file mode 100644
index 0000000..c94a223
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-800.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-800italic.woff2 b/fonts/open-sans-v17-all-charsets-800italic.woff2
new file mode 100644
index 0000000..eed7d3c
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-800italic.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-italic.woff2 b/fonts/open-sans-v17-all-charsets-italic.woff2
new file mode 100644
index 0000000..398b68a
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-italic.woff2 differ
diff --git a/fonts/open-sans-v17-all-charsets-regular.woff2 b/fonts/open-sans-v17-all-charsets-regular.woff2
new file mode 100644
index 0000000..8383e94
Binary files /dev/null and b/fonts/open-sans-v17-all-charsets-regular.woff2 differ
diff --git a/fonts/source-code-pro-v11-all-charsets-500.woff2 b/fonts/source-code-pro-v11-all-charsets-500.woff2
new file mode 100644
index 0000000..7222456
Binary files /dev/null and b/fonts/source-code-pro-v11-all-charsets-500.woff2 differ
diff --git a/for-developers.html b/for-developers.html
new file mode 100644
index 0000000..2f48142
--- /dev/null
+++ b/for-developers.html
@@ -0,0 +1,306 @@
+
+
+
+
+
+ For Developers - mdbook-repl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Actually, you can use repl in your own web project other than mdbook. What mdbook-repl does is to preprocess your markdown code blocks and replace them with some js and css.
+The core of mdbook-repl is the iframe. The iframe is used to display the output of the code. The js and css are used to communicate with the iframe.
+The iframe url is https://mr-addict.github.io/mdbook-repl/embed/. You can also deploy the iframe in your own server. You can find the source code of the iframe in the github repository.
+
+When the iframe is loaded, it will send a message to the parent window. The message is a json string. The json object has the following properties:
+{
+ "repl": {
+ "id": "",
+ "dimensions": {
+ "width": 800,
+ "height": 600
+ },
+ "editor": {
+ "readonly": false,
+ "theme": "light",
+ "language": "python",
+ "code": "# This is a default python code\n\nprint('Hello world')",
+ "defaultCode": "# This is a default python code\n\nprint('Hello world')"
+ },
+ "output": {
+ "data": [],
+ "status": "loading"
+ }
+ }
+}
+
+What you should do fist is to send some basic information to the iframe including id and editor data. The id is used to identify the editor if you have more that one iframes in you page. The id is empty at first. When new information updated, id will be sent with it. The editor information is used to initialize the editor.
+The dimensions is used to set the width and height of the iframe. The output data is used to display the output of the code. The status can be idle, loading, running or finished. The data is an array of objects. Each object has a color and msg. The color is used to set the color of the message which can be normal or red. The msg is used to display the message.
+
+Here is an example of how to use the mdbook-repl in your own project:
+<style>
+ iframe {
+ border: none;
+ width: 100%;
+ }
+</style>
+<iframe src="http://localhost:4173/" width="100%" allow="clipboard-write"></iframe>
+<script>
+ const id = "ac2f5a2";
+ const lang = "python";
+ const theme = "light";
+ const readonly = false;
+ const code = "# Python\n\nprint('Hello world')";
+
+ const iframe = document.querySelector("iframe");
+
+ const postmessage = (msg) => iframe.contentWindow.postMessage({ repl: msg }, "*");
+
+ window.addEventListener("message", (event) => {
+ const replData = event.data.repl;
+ if (event.source === window || !replData) return;
+
+ // if the id is empty, then it's the first time the iframe is loaded
+ if (replData.id === "") {
+ postmessage({ id, editor: { theme, lang, code, readonly, defaultCode: code } });
+ return;
+ }
+
+ if (replData.id !== id) return;
+
+ // update the iframe height
+ iframe.style.height = replData.dimensions.height + "px";
+ });
+</script>
+
+
+💥 Attention
+You need to add allow="clipboard-write"
to the iframe to make the clipboard work.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/highlight.css b/highlight.css
new file mode 100644
index 0000000..ba57b82
--- /dev/null
+++ b/highlight.css
@@ -0,0 +1,82 @@
+/*
+ * An increased contrast highlighting scheme loosely based on the
+ * "Base16 Atelier Dune Light" theme by Bram de Haan
+ * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)
+ * Original Base16 color scheme by Chris Kempson
+ * (https://github.com/chriskempson/base16)
+ */
+
+/* Comment */
+.hljs-comment,
+.hljs-quote {
+ color: #575757;
+}
+
+/* Red */
+.hljs-variable,
+.hljs-template-variable,
+.hljs-attribute,
+.hljs-tag,
+.hljs-name,
+.hljs-regexp,
+.hljs-link,
+.hljs-name,
+.hljs-selector-id,
+.hljs-selector-class {
+ color: #d70025;
+}
+
+/* Orange */
+.hljs-number,
+.hljs-meta,
+.hljs-built_in,
+.hljs-builtin-name,
+.hljs-literal,
+.hljs-type,
+.hljs-params {
+ color: #b21e00;
+}
+
+/* Green */
+.hljs-string,
+.hljs-symbol,
+.hljs-bullet {
+ color: #008200;
+}
+
+/* Blue */
+.hljs-title,
+.hljs-section {
+ color: #0030f2;
+}
+
+/* Purple */
+.hljs-keyword,
+.hljs-selector-tag {
+ color: #9d00ec;
+}
+
+.hljs {
+ display: block;
+ overflow-x: auto;
+ background: #f6f7f6;
+ color: #000;
+}
+
+.hljs-emphasis {
+ font-style: italic;
+}
+
+.hljs-strong {
+ font-weight: bold;
+}
+
+.hljs-addition {
+ color: #22863a;
+ background-color: #f0fff4;
+}
+
+.hljs-deletion {
+ color: #b31d28;
+ background-color: #ffeef0;
+}
diff --git a/highlight.js b/highlight.js
new file mode 100644
index 0000000..3256c00
--- /dev/null
+++ b/highlight.js
@@ -0,0 +1,53 @@
+/*
+ Highlight.js 10.1.1 (93fd0d73)
+ License: BSD-3-Clause
+ Copyright (c) 2006-2020, Ivan Sagalaev
+*/
+var hljs=function(){"use strict";function e(n){Object.freeze(n);var t="function"==typeof n;return Object.getOwnPropertyNames(n).forEach((function(r){!Object.hasOwnProperty.call(n,r)||null===n[r]||"object"!=typeof n[r]&&"function"!=typeof n[r]||t&&("caller"===r||"callee"===r||"arguments"===r)||Object.isFrozen(n[r])||e(n[r])})),n}class n{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data}ignoreMatch(){this.ignore=!0}}function t(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function r(e,...n){var t={};for(const n in e)t[n]=e[n];return n.forEach((function(e){for(const n in e)t[n]=e[n]})),t}function a(e){return e.nodeName.toLowerCase()}var i=Object.freeze({__proto__:null,escapeHTML:t,inherit:r,nodeStream:function(e){var n=[];return function e(t,r){for(var i=t.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:r,node:i}),r=e(i,r),a(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:r,node:i}));return r}(e,0),n},mergeStreams:function(e,n,r){var i=0,s="",o=[];function l(){return e.length&&n.length?e[0].offset!==n[0].offset?e[0].offset"}function u(e){s+=""+a(e)+">"}function d(e){("start"===e.event?c:u)(e.node)}for(;e.length||n.length;){var g=l();if(s+=t(r.substring(i,g[0].offset)),i=g[0].offset,g===e){o.reverse().forEach(u);do{d(g.splice(0,1)[0]),g=l()}while(g===e&&g.length&&g[0].offset===i);o.reverse().forEach(c)}else"start"===g[0].event?o.push(g[0].node):o.pop(),d(g.splice(0,1)[0])}return s+t(r.substr(i))}});const s="",o=e=>!!e.kind;class l{constructor(e,n){this.buffer="",this.classPrefix=n.classPrefix,e.walk(this)}addText(e){this.buffer+=t(e)}openNode(e){if(!o(e))return;let n=e.kind;e.sublanguage||(n=`${this.classPrefix}${n}`),this.span(n)}closeNode(e){o(e)&&(this.buffer+=s)}value(){return this.buffer}span(e){this.buffer+=``}}class c{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const n={kind:e,children:[]};this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,n){return"string"==typeof n?e.addText(n):n.children&&(e.openNode(n),n.children.forEach(n=>this._walk(e,n)),e.closeNode(n)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{c._collapse(e)}))}}class u extends c{constructor(e){super(),this.options=e}addKeyword(e,n){""!==e&&(this.openNode(n),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,n){const t=e.root;t.kind=n,t.sublanguage=!0,this.add(t)}toHTML(){return new l(this,this.options).value()}finalize(){return!0}}function d(e){return e?"string"==typeof e?e:e.source:null}const g="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",h={begin:"\\\\[\\s\\S]",relevance:0},f={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[h]},p={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[h]},b={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},m=function(e,n,t={}){var a=r({className:"comment",begin:e,end:n,contains:[]},t);return a.contains.push(b),a.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),a},v=m("//","$"),x=m("/\\*","\\*/"),E=m("#","$");var _=Object.freeze({__proto__:null,IDENT_RE:"[a-zA-Z]\\w*",UNDERSCORE_IDENT_RE:"[a-zA-Z_]\\w*",NUMBER_RE:"\\b\\d+(\\.\\d+)?",C_NUMBER_RE:g,BINARY_NUMBER_RE:"\\b(0b[01]+)",RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const n=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map(e=>d(e)).join("")}(n,/.*\b/,e.binary,/\b.*/)),r({className:"meta",begin:n,end:/$/,relevance:0,"on:begin":(e,n)=>{0!==e.index&&n.ignoreMatch()}},e)},BACKSLASH_ESCAPE:h,APOS_STRING_MODE:f,QUOTE_STRING_MODE:p,PHRASAL_WORDS_MODE:b,COMMENT:m,C_LINE_COMMENT_MODE:v,C_BLOCK_COMMENT_MODE:x,HASH_COMMENT_MODE:E,NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?",relevance:0},C_NUMBER_MODE:{className:"number",begin:g,relevance:0},BINARY_NUMBER_MODE:{className:"number",begin:"\\b(0b[01]+)",relevance:0},CSS_NUMBER_MODE:{className:"number",begin:"\\b\\d+(\\.\\d+)?(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[h,{begin:/\[/,end:/\]/,relevance:0,contains:[h]}]}]},TITLE_MODE:{className:"title",begin:"[a-zA-Z]\\w*",relevance:0},UNDERSCORE_TITLE_MODE:{className:"title",begin:"[a-zA-Z_]\\w*",relevance:0},METHOD_GUARD:{begin:"\\.\\s*[a-zA-Z_]\\w*",relevance:0},END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,n)=>{n.data._beginMatch=e[1]},"on:end":(e,n)=>{n.data._beginMatch!==e[1]&&n.ignoreMatch()}})}}),N="of and for in not or if then".split(" ");function w(e,n){return n?+n:function(e){return N.includes(e.toLowerCase())}(e)?0:1}const R=t,y=r,{nodeStream:k,mergeStreams:O}=i,M=Symbol("nomatch");return function(t){var a=[],i={},s={},o=[],l=!0,c=/(^(<[^>]+>|\t|)+|\n)/gm,g="Could not find the language '{}', did you forget to load/include a language module?";const h={disableAutodetect:!0,name:"Plain text",contains:[]};var f={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:u};function p(e){return f.noHighlightRe.test(e)}function b(e,n,t,r){var a={code:n,language:e};S("before:highlight",a);var i=a.result?a.result:m(a.language,a.code,t,r);return i.code=a.code,S("after:highlight",i),i}function m(e,t,a,s){var o=t;function c(e,n){var t=E.case_insensitive?n[0].toLowerCase():n[0];return Object.prototype.hasOwnProperty.call(e.keywords,t)&&e.keywords[t]}function u(){null!=y.subLanguage?function(){if(""!==A){var e=null;if("string"==typeof y.subLanguage){if(!i[y.subLanguage])return void O.addText(A);e=m(y.subLanguage,A,!0,k[y.subLanguage]),k[y.subLanguage]=e.top}else e=v(A,y.subLanguage.length?y.subLanguage:null);y.relevance>0&&(I+=e.relevance),O.addSublanguage(e.emitter,e.language)}}():function(){if(!y.keywords)return void O.addText(A);let e=0;y.keywordPatternRe.lastIndex=0;let n=y.keywordPatternRe.exec(A),t="";for(;n;){t+=A.substring(e,n.index);const r=c(y,n);if(r){const[e,a]=r;O.addText(t),t="",I+=a,O.addKeyword(n[0],e)}else t+=n[0];e=y.keywordPatternRe.lastIndex,n=y.keywordPatternRe.exec(A)}t+=A.substr(e),O.addText(t)}(),A=""}function h(e){return e.className&&O.openNode(e.className),y=Object.create(e,{parent:{value:y}})}function p(e){return 0===y.matcher.regexIndex?(A+=e[0],1):(L=!0,0)}var b={};function x(t,r){var i=r&&r[0];if(A+=t,null==i)return u(),0;if("begin"===b.type&&"end"===r.type&&b.index===r.index&&""===i){if(A+=o.slice(r.index,r.index+1),!l){const n=Error("0 width match regex");throw n.languageName=e,n.badRule=b.rule,n}return 1}if(b=r,"begin"===r.type)return function(e){var t=e[0],r=e.rule;const a=new n(r),i=[r.__beforeBegin,r["on:begin"]];for(const n of i)if(n&&(n(e,a),a.ignore))return p(t);return r&&r.endSameAsBegin&&(r.endRe=RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),r.skip?A+=t:(r.excludeBegin&&(A+=t),u(),r.returnBegin||r.excludeBegin||(A=t)),h(r),r.returnBegin?0:t.length}(r);if("illegal"===r.type&&!a){const e=Error('Illegal lexeme "'+i+'" for mode "'+(y.className||"")+'"');throw e.mode=y,e}if("end"===r.type){var s=function(e){var t=e[0],r=o.substr(e.index),a=function e(t,r,a){let i=function(e,n){var t=e&&e.exec(n);return t&&0===t.index}(t.endRe,a);if(i){if(t["on:end"]){const e=new n(t);t["on:end"](r,e),e.ignore&&(i=!1)}if(i){for(;t.endsParent&&t.parent;)t=t.parent;return t}}if(t.endsWithParent)return e(t.parent,r,a)}(y,e,r);if(!a)return M;var i=y;i.skip?A+=t:(i.returnEnd||i.excludeEnd||(A+=t),u(),i.excludeEnd&&(A=t));do{y.className&&O.closeNode(),y.skip||y.subLanguage||(I+=y.relevance),y=y.parent}while(y!==a.parent);return a.starts&&(a.endSameAsBegin&&(a.starts.endRe=a.endRe),h(a.starts)),i.returnEnd?0:t.length}(r);if(s!==M)return s}if("illegal"===r.type&&""===i)return 1;if(B>1e5&&B>3*r.index)throw Error("potential infinite loop, way more iterations than matches");return A+=i,i.length}var E=T(e);if(!E)throw console.error(g.replace("{}",e)),Error('Unknown language: "'+e+'"');var _=function(e){function n(n,t){return RegExp(d(n),"m"+(e.case_insensitive?"i":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,n){n.position=this.position++,this.matchIndexes[this.matchAt]=n,this.regexes.push([n,e]),this.matchAt+=function(e){return RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=n(function(e,n="|"){for(var t=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./,r=0,a="",i=0;i0&&(a+=n),a+="(";o.length>0;){var l=t.exec(o);if(null==l){a+=o;break}a+=o.substring(0,l.index),o=o.substring(l.index+l[0].length),"\\"===l[0][0]&&l[1]?a+="\\"+(+l[1]+s):(a+=l[0],"("===l[0]&&r++)}a+=")"}return a}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const n=this.matcherRe.exec(e);if(!n)return null;const t=n.findIndex((e,n)=>n>0&&void 0!==e),r=this.matchIndexes[t];return n.splice(0,t),Object.assign(n,r)}}class a{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const n=new t;return this.rules.slice(e).forEach(([e,t])=>n.addRule(e,t)),n.compile(),this.multiRegexes[e]=n,n}considerAll(){this.regexIndex=0}addRule(e,n){this.rules.push([e,n]),"begin"===n.type&&this.count++}exec(e){const n=this.getMatcher(this.regexIndex);n.lastIndex=this.lastIndex;const t=n.exec(e);return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&(this.regexIndex=0)),t}}function i(e,n){const t=e.input[e.index-1],r=e.input[e.index+e[0].length];"."!==t&&"."!==r||n.ignoreMatch()}if(e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return function t(s,o){const l=s;if(s.compiled)return l;s.compiled=!0,s.__beforeBegin=null,s.keywords=s.keywords||s.beginKeywords;let c=null;if("object"==typeof s.keywords&&(c=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=function(e,n){var t={};return"string"==typeof e?r("keyword",e):Object.keys(e).forEach((function(n){r(n,e[n])})),t;function r(e,r){n&&(r=r.toLowerCase()),r.split(" ").forEach((function(n){var r=n.split("|");t[r[0]]=[e,w(r[0],r[1])]}))}}(s.keywords,e.case_insensitive)),s.lexemes&&c)throw Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return l.keywordPatternRe=n(s.lexemes||c||/\w+/,!0),o&&(s.beginKeywords&&(s.begin="\\b("+s.beginKeywords.split(" ").join("|")+")(?=\\b|\\s)",s.__beforeBegin=i),s.begin||(s.begin=/\B|\b/),l.beginRe=n(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(l.endRe=n(s.end)),l.terminator_end=d(s.end)||"",s.endsWithParent&&o.terminator_end&&(l.terminator_end+=(s.end?"|":"")+o.terminator_end)),s.illegal&&(l.illegalRe=n(s.illegal)),void 0===s.relevance&&(s.relevance=1),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(e){return function(e){return e.variants&&!e.cached_variants&&(e.cached_variants=e.variants.map((function(n){return r(e,{variants:null},n)}))),e.cached_variants?e.cached_variants:function e(n){return!!n&&(n.endsWithParent||e(n.starts))}(e)?r(e,{starts:e.starts?r(e.starts):null}):Object.isFrozen(e)?r(e):e}("self"===e?s:e)}))),s.contains.forEach((function(e){t(e,l)})),s.starts&&t(s.starts,o),l.matcher=function(e){const n=new a;return e.contains.forEach(e=>n.addRule(e.begin,{rule:e,type:"begin"})),e.terminator_end&&n.addRule(e.terminator_end,{type:"end"}),e.illegal&&n.addRule(e.illegal,{type:"illegal"}),n}(l),l}(e)}(E),N="",y=s||_,k={},O=new f.__emitter(f);!function(){for(var e=[],n=y;n!==E;n=n.parent)n.className&&e.unshift(n.className);e.forEach(e=>O.openNode(e))}();var A="",I=0,S=0,B=0,L=!1;try{for(y.matcher.considerAll();;){B++,L?L=!1:(y.matcher.lastIndex=S,y.matcher.considerAll());const e=y.matcher.exec(o);if(!e)break;const n=x(o.substring(S,e.index),e);S=e.index+n}return x(o.substr(S)),O.closeAllNodes(),O.finalize(),N=O.toHTML(),{relevance:I,value:N,language:e,illegal:!1,emitter:O,top:y}}catch(n){if(n.message&&n.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:n.message,context:o.slice(S-100,S+100),mode:n.mode},sofar:N,relevance:0,value:R(o),emitter:O};if(l)return{illegal:!1,relevance:0,value:R(o),emitter:O,language:e,top:y,errorRaised:n};throw n}}function v(e,n){n=n||f.languages||Object.keys(i);var t=function(e){const n={relevance:0,emitter:new f.__emitter(f),value:R(e),illegal:!1,top:h};return n.emitter.addText(e),n}(e),r=t;return n.filter(T).filter(I).forEach((function(n){var a=m(n,e,!1);a.language=n,a.relevance>r.relevance&&(r=a),a.relevance>t.relevance&&(r=t,t=a)})),r.language&&(t.second_best=r),t}function x(e){return f.tabReplace||f.useBR?e.replace(c,e=>"\n"===e?f.useBR?"
":e:f.tabReplace?e.replace(/\t/g,f.tabReplace):e):e}function E(e){let n=null;const t=function(e){var n=e.className+" ";n+=e.parentNode?e.parentNode.className:"";const t=f.languageDetectRe.exec(n);if(t){var r=T(t[1]);return r||(console.warn(g.replace("{}",t[1])),console.warn("Falling back to no-highlight mode for this block.",e)),r?t[1]:"no-highlight"}return n.split(/\s+/).find(e=>p(e)||T(e))}(e);if(p(t))return;S("before:highlightBlock",{block:e,language:t}),f.useBR?(n=document.createElement("div")).innerHTML=e.innerHTML.replace(/\n/g,"").replace(/
/g,"\n"):n=e;const r=n.textContent,a=t?b(t,r,!0):v(r),i=k(n);if(i.length){const e=document.createElement("div");e.innerHTML=a.value,a.value=O(i,k(e),r)}a.value=x(a.value),S("after:highlightBlock",{block:e,result:a}),e.innerHTML=a.value,e.className=function(e,n,t){var r=n?s[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),e.includes(r)||a.push(r),a.join(" ").trim()}(e.className,t,a.language),e.result={language:a.language,re:a.relevance,relavance:a.relevance},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.relevance,relavance:a.second_best.relevance})}const N=()=>{if(!N.called){N.called=!0;var e=document.querySelectorAll("pre code");a.forEach.call(e,E)}};function T(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]}function A(e,{languageName:n}){"string"==typeof e&&(e=[e]),e.forEach(e=>{s[e]=n})}function I(e){var n=T(e);return n&&!n.disableAutodetect}function S(e,n){var t=e;o.forEach((function(e){e[t]&&e[t](n)}))}Object.assign(t,{highlight:b,highlightAuto:v,fixMarkup:x,highlightBlock:E,configure:function(e){f=y(f,e)},initHighlighting:N,initHighlightingOnLoad:function(){window.addEventListener("DOMContentLoaded",N,!1)},registerLanguage:function(e,n){var r=null;try{r=n(t)}catch(n){if(console.error("Language definition for '{}' could not be registered.".replace("{}",e)),!l)throw n;console.error(n),r=h}r.name||(r.name=e),i[e]=r,r.rawDefinition=n.bind(null,t),r.aliases&&A(r.aliases,{languageName:e})},listLanguages:function(){return Object.keys(i)},getLanguage:T,registerAliases:A,requireLanguage:function(e){var n=T(e);if(n)return n;throw Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:I,inherit:y,addPlugin:function(e){o.push(e)}}),t.debugMode=function(){l=!1},t.safeMode=function(){l=!0},t.versionString="10.1.1";for(const n in _)"object"==typeof _[n]&&e(_[n]);return Object.assign(t,_),t}({})}();"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);
+hljs.registerLanguage("apache",function(){"use strict";return function(e){var n={className:"number",begin:"\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?"};return{name:"Apache config",aliases:["apacheconf"],case_insensitive:!0,contains:[e.HASH_COMMENT_MODE,{className:"section",begin:"?",end:">",contains:[n,{className:"number",begin:":\\d{1,5}"},e.inherit(e.QUOTE_STRING_MODE,{relevance:0})]},{className:"attribute",begin:/\w+/,relevance:0,keywords:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{end:/$/,relevance:0,keywords:{literal:"on off all deny allow"},contains:[{className:"meta",begin:"\\s\\[",end:"\\]$"},{className:"variable",begin:"[\\$%]\\{",end:"\\}",contains:["self",{className:"number",begin:"[\\$%]\\d+"}]},n,{className:"number",begin:"\\d+"},e.QUOTE_STRING_MODE]}}],illegal:/\S/}}}());
+hljs.registerLanguage("bash",function(){"use strict";return function(e){const s={};Object.assign(s,{className:"variable",variants:[{begin:/\$[\w\d#@][\w\d_]*/},{begin:/\$\{/,end:/\}/,contains:[{begin:/:-/,contains:[s]}]}]});const t={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,t]};t.contains.push(n);const a={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},i=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10}),c={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b-?[a-z\._]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},contains:[i,e.SHEBANG(),c,a,e.HASH_COMMENT_MODE,n,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}}());
+hljs.registerLanguage("c-like",function(){"use strict";return function(e){function t(e){return"(?:"+e+")?"}var n="(decltype\\(auto\\)|"+t("[a-zA-Z_]\\w*::")+"[a-zA-Z_]\\w*"+t("<.*?>")+")",r={className:"keyword",begin:"\\b[a-z\\d_]*_t\\b"},a={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},i={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{"meta-keyword":"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(a,{className:"meta-string"}),{className:"meta-string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},o={className:"title",begin:t("[a-zA-Z_]\\w*::")+e.IDENT_RE,relevance:0},c=t("[a-zA-Z_]\\w*::")+e.IDENT_RE+"\\s*\\(",l={keyword:"int float while private char char8_t char16_t char32_t catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid wchar_t short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignas alignof constexpr consteval constinit decltype concept co_await co_return co_yield requires noexcept static_assert thread_local restrict final override atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and and_eq bitand bitor compl not not_eq or or_eq xor xor_eq",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr _Bool complex _Complex imaginary _Imaginary",literal:"true false nullptr NULL"},d=[r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,i,a],_={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:l,contains:d.concat([{begin:/\(/,end:/\)/,keywords:l,contains:d.concat(["self"]),relevance:0}]),relevance:0},u={className:"function",begin:"("+n+"[\\*&\\s]+)+"+c,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:l,illegal:/[^\w\s\*&:<>]/,contains:[{begin:"decltype\\(auto\\)",keywords:l,relevance:0},{begin:c,returnBegin:!0,contains:[o],relevance:0},{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r,{begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:["self",e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,a,i,r]}]},r,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,s]};return{aliases:["c","cc","h","c++","h++","hpp","hh","hxx","cxx"],keywords:l,disableAutodetect:!0,illegal:"",contains:[].concat(_,u,d,[s,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",end:">",keywords:l,contains:["self",r]},{begin:e.IDENT_RE+"::",keywords:l},{className:"class",beginKeywords:"class struct",end:/[{;:]/,contains:[{begin:/,end:/>/,contains:["self"]},e.TITLE_MODE]}]),exports:{preprocessor:s,strings:a,keywords:l}}}}());
+hljs.registerLanguage("c",function(){"use strict";return function(e){var n=e.getLanguage("c-like").rawDefinition();return n.name="C",n.aliases=["c","h"],n}}());
+hljs.registerLanguage("coffeescript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);return function(r){var t={keyword:e.concat(["then","unless","until","loop","by","when","and","or","is","isnt","not"]).filter((e=>n=>!e.includes(n))(["var","const","let","function","static"])).join(" "),literal:n.concat(["yes","no","on","off"]).join(" "),built_in:a.concat(["npm","print"]).join(" ")},i="[A-Za-z$_][0-9A-Za-z$_]*",s={className:"subst",begin:/#\{/,end:/}/,keywords:t},o=[r.BINARY_NUMBER_MODE,r.inherit(r.C_NUMBER_MODE,{starts:{end:"(\\s*/)?",relevance:0}}),{className:"string",variants:[{begin:/'''/,end:/'''/,contains:[r.BACKSLASH_ESCAPE]},{begin:/'/,end:/'/,contains:[r.BACKSLASH_ESCAPE]},{begin:/"""/,end:/"""/,contains:[r.BACKSLASH_ESCAPE,s]},{begin:/"/,end:/"/,contains:[r.BACKSLASH_ESCAPE,s]}]},{className:"regexp",variants:[{begin:"///",end:"///",contains:[s,r.HASH_COMMENT_MODE]},{begin:"//[gim]{0,3}(?=\\W)",relevance:0},{begin:/\/(?![ *]).*?(?![\\]).\/[gim]{0,3}(?=\W)/}]},{begin:"@"+i},{subLanguage:"javascript",excludeBegin:!0,excludeEnd:!0,variants:[{begin:"```",end:"```"},{begin:"`",end:"`"}]}];s.contains=o;var c=r.inherit(r.TITLE_MODE,{begin:i}),l={className:"params",begin:"\\([^\\(]",returnBegin:!0,contains:[{begin:/\(/,end:/\)/,keywords:t,contains:["self"].concat(o)}]};return{name:"CoffeeScript",aliases:["coffee","cson","iced"],keywords:t,illegal:/\/\*/,contains:o.concat([r.COMMENT("###","###"),r.HASH_COMMENT_MODE,{className:"function",begin:"^\\s*"+i+"\\s*=\\s*(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[c,l]},{begin:/[:\(,=]\s*/,relevance:0,contains:[{className:"function",begin:"(\\(.*\\))?\\s*\\B[-=]>",end:"[-=]>",returnBegin:!0,contains:[l]}]},{className:"class",beginKeywords:"class",end:"$",illegal:/[:="\[\]]/,contains:[{beginKeywords:"extends",endsWithParent:!0,illegal:/[:="\[\]]/,contains:[c]},c]},{begin:i+":",end:":",returnBegin:!0,returnEnd:!0,relevance:0}])}}}());
+hljs.registerLanguage("cpp",function(){"use strict";return function(e){var t=e.getLanguage("c-like").rawDefinition();return t.disableAutodetect=!1,t.name="C++",t.aliases=["cc","c++","h++","hpp","hh","hxx","cxx"],t}}());
+hljs.registerLanguage("csharp",function(){"use strict";return function(e){var n={keyword:"abstract as base bool break byte case catch char checked const continue decimal default delegate do double enum event explicit extern finally fixed float for foreach goto if implicit in int interface internal is lock long object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this try typeof uint ulong unchecked unsafe ushort using virtual void volatile while add alias ascending async await by descending dynamic equals from get global group into join let nameof on orderby partial remove select set value var when where yield",literal:"null false true"},i=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),a={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},s={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},t=e.inherit(s,{illegal:/\n/}),l={className:"subst",begin:"{",end:"}",keywords:n},r=e.inherit(l,{illegal:/\n/}),c={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},e.BACKSLASH_ESCAPE,r]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},l]},g=e.inherit(o,{illegal:/\n/,contains:[{begin:"{{"},{begin:"}}"},{begin:'""'},r]});l.contains=[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.C_BLOCK_COMMENT_MODE],r.contains=[g,c,t,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,a,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];var d={variants:[o,c,s,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},E={begin:"<",end:">",contains:[{beginKeywords:"in out"},i]},_=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",b={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:n,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:"?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{"meta-keyword":"if else elif endif define undef warning error line region endregion pragma checksum"}},d,a,{beginKeywords:"class interface",end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},i,E,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",end:/[{;=]/,illegal:/[^\s:]/,contains:[i,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"meta-string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+_+"\\s+)+"+e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:n,contains:[{begin:e.IDENT_RE+"\\s*(\\<.+\\>)?\\s*\\(",returnBegin:!0,contains:[e.TITLE_MODE,E],relevance:0},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:n,relevance:0,contains:[d,a,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},b]}}}());
+hljs.registerLanguage("css",function(){"use strict";return function(e){var n={begin:/(?:[A-Z\_\.\-]+|--[a-zA-Z0-9_-]+)\s*:/,returnBegin:!0,end:";",endsWithParent:!0,contains:[{className:"attribute",begin:/\S/,end:":",excludeEnd:!0,starts:{endsWithParent:!0,excludeEnd:!0,contains:[{begin:/[\w-]+\(/,returnBegin:!0,contains:[{className:"built_in",begin:/[\w-]+/},{begin:/\(/,end:/\)/,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},e.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,e.C_BLOCK_COMMENT_MODE,{className:"number",begin:"#[0-9A-Fa-f]+"},{className:"meta",begin:"!important"}]}}]};return{name:"CSS",case_insensitive:!0,illegal:/[=\/|'\$]/,contains:[e.C_BLOCK_COMMENT_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/},{className:"selector-class",begin:/\.[A-Za-z0-9_-]+/},{className:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"@(page|font-face)",lexemes:"@[a-z-]+",keywords:"@page @font-face"},{begin:"@",end:"[{;]",illegal:/:/,returnBegin:!0,contains:[{className:"keyword",begin:/@\-?\w[\w]*(\-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:"and or not only",contains:[{begin:/[a-z-]+:/,className:"attribute"},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},{begin:"{",end:"}",illegal:/\S/,contains:[e.C_BLOCK_COMMENT_MODE,n]}]}}}());
+hljs.registerLanguage("diff",function(){"use strict";return function(e){return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,variants:[{begin:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{begin:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{begin:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{className:"comment",variants:[{begin:/Index: /,end:/$/},{begin:/={3,}/,end:/$/},{begin:/^\-{3}/,end:/$/},{begin:/^\*{3} /,end:/$/},{begin:/^\+{3}/,end:/$/},{begin:/^\*{15}$/}]},{className:"addition",begin:"^\\+",end:"$"},{className:"deletion",begin:"^\\-",end:"$"},{className:"addition",begin:"^\\!",end:"$"}]}}}());
+hljs.registerLanguage("go",function(){"use strict";return function(e){var n={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",literal:"true false iota nil",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{name:"Go",aliases:["golang"],keywords:n,illegal:"",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{begin:e.C_NUMBER_RE+"[i]",relevance:1},e.C_NUMBER_MODE]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,keywords:n,illegal:/["']/}]}]}}}());
+hljs.registerLanguage("http",function(){"use strict";return function(e){var n="HTTP/[0-9\\.]+";return{name:"HTTP",aliases:["https"],illegal:"\\S",contains:[{begin:"^"+n,end:"$",contains:[{className:"number",begin:"\\b\\d{3}\\b"}]},{begin:"^[A-Z]+ (.*?) "+n+"$",returnBegin:!0,end:"$",contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{begin:n},{className:"keyword",begin:"[A-Z]+"}]},{className:"attribute",begin:"^\\w",end:": ",excludeEnd:!0,illegal:"\\n|\\s|=",starts:{end:"$",relevance:0}},{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}]}}}());
+hljs.registerLanguage("ini",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(...n){return n.map(n=>e(n)).join("")}return function(a){var s={className:"number",relevance:0,variants:[{begin:/([\+\-]+)?[\d]+_[\d_]+/},{begin:a.NUMBER_RE}]},i=a.COMMENT();i.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];var t={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)}/}]},r={className:"literal",begin:/\bon|off|true|false|yes|no\b/},l={className:"string",contains:[a.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},c={begin:/\[/,end:/\]/,contains:[i,r,t,l,s,"self"],relevance:0},g="("+[/[A-Za-z0-9_-]+/,/"(\\"|[^"])*"/,/'[^']*'/].map(n=>e(n)).join("|")+")";return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[i,{className:"section",begin:/\[+/,end:/\]+/},{begin:n(g,"(\\s*\\.\\s*",g,")*",n("(?=",/\s*=\s*[^#\s]/,")")),className:"attr",starts:{end:/$/,contains:[i,c,r,t,l,s]}}]}}}());
+hljs.registerLanguage("java",function(){"use strict";function e(e){return e?"string"==typeof e?e:e.source:null}function n(e){return a("(",e,")?")}function a(...n){return n.map(n=>e(n)).join("")}function s(...n){return"("+n.map(n=>e(n)).join("|")+")"}return function(e){var t="false synchronized int abstract float private char boolean var static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private module requires exports do",i={className:"meta",begin:"@[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},r=e=>a("[",e,"]+([",e,"_]*[",e,"]+)?"),c={className:"number",variants:[{begin:`\\b(0[bB]${r("01")})[lL]?`},{begin:`\\b(0${r("0-7")})[dDfFlL]?`},{begin:a(/\b0[xX]/,s(a(r("a-fA-F0-9"),/\./,r("a-fA-F0-9")),a(r("a-fA-F0-9"),/\.?/),a(/\./,r("a-fA-F0-9"))),/([pP][+-]?(\d+))?/,/[fFdDlL]?/)},{begin:a(/\b/,s(a(/\d*\./,r("\\d")),r("\\d")),/[eE][+-]?[\d]+[dDfF]?/)},{begin:a(/\b/,r(/\d/),n(/\.?/),n(r(/\d/)),/[dDfFlL]?/)}],relevance:0};return{name:"Java",aliases:["jsp"],keywords:t,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"class",beginKeywords:"class interface",end:/[{;=]/,excludeEnd:!0,keywords:"class interface",illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"new throw return else",relevance:0},{className:"function",begin:"([À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(<[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*(\\s*,\\s*[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*)*>)?\\s+)+"+e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:t,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"params",begin:/\(/,end:/\)/,keywords:t,relevance:0,contains:[i,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},c,i]}}}());
+hljs.registerLanguage("javascript",function(){"use strict";const e=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],n=["true","false","null","undefined","NaN","Infinity"],a=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function s(e){return r("(?=",e,")")}function r(...e){return e.map(e=>(function(e){return e?"string"==typeof e?e:e.source:null})(e)).join("")}return function(t){var i="[A-Za-z$_][0-9A-Za-z$_]*",c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/},o={$pattern:"[A-Za-z$_][0-9A-Za-z$_]*",keyword:e.join(" "),literal:n.join(" "),built_in:a.join(" ")},l={className:"number",variants:[{begin:"\\b(0[bB][01]+)n?"},{begin:"\\b(0[oO][0-7]+)n?"},{begin:t.C_NUMBER_RE+"n?"}],relevance:0},E={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},d={begin:"html`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"xml"}},g={begin:"css`",end:"",starts:{end:"`",returnEnd:!1,contains:[t.BACKSLASH_ESCAPE,E],subLanguage:"css"}},u={className:"string",begin:"`",end:"`",contains:[t.BACKSLASH_ESCAPE,E]};E.contains=[t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,l,t.REGEXP_MODE];var b=E.contains.concat([{begin:/\(/,end:/\)/,contains:["self"].concat(E.contains,[t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE])},t.C_BLOCK_COMMENT_MODE,t.C_LINE_COMMENT_MODE]),_={className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,contains:b};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,contains:[t.SHEBANG({binary:"node",relevance:5}),{className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},t.APOS_STRING_MODE,t.QUOTE_STRING_MODE,d,g,u,t.C_LINE_COMMENT_MODE,t.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+",contains:[{className:"type",begin:"\\{",end:"\\}",relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),t.C_BLOCK_COMMENT_MODE,l,{begin:r(/[{,\n]\s*/,s(r(/(((\/\/.*)|(\/\*(.|\n)*\*\/))\s*)*/,i+"\\s*:"))),relevance:0,contains:[{className:"attr",begin:i+s("\\s*:"),relevance:0}]},{begin:"("+t.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",contains:[t.C_LINE_COMMENT_MODE,t.C_BLOCK_COMMENT_MODE,t.REGEXP_MODE,{className:"function",begin:"(\\([^(]*(\\([^(]*(\\([^(]*\\))?\\))?\\)|"+t.UNDERSCORE_IDENT_RE+")\\s*=>",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:t.UNDERSCORE_IDENT_RE},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:b}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:"<>",end:">"},{begin:c.begin,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/\{/,excludeEnd:!0,contains:[t.inherit(t.TITLE_MODE,{begin:i}),_],illegal:/\[|%/},{begin:/\$[(.]/},t.METHOD_GUARD,{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"\[\]]/,contains:[{beginKeywords:"extends"},t.UNDERSCORE_TITLE_MODE]},{beginKeywords:"constructor",end:/\{/,excludeEnd:!0},{begin:"(get|set)\\s+(?="+i+"\\()",end:/{/,keywords:"get set",contains:[t.inherit(t.TITLE_MODE,{begin:i}),{begin:/\(\)/},_]}],illegal:/#(?!!)/}}}());
+hljs.registerLanguage("json",function(){"use strict";return function(n){var e={literal:"true false null"},i=[n.C_LINE_COMMENT_MODE,n.C_BLOCK_COMMENT_MODE],t=[n.QUOTE_STRING_MODE,n.C_NUMBER_MODE],a={end:",",endsWithParent:!0,excludeEnd:!0,contains:t,keywords:e},l={begin:"{",end:"}",contains:[{className:"attr",begin:/"/,end:/"/,contains:[n.BACKSLASH_ESCAPE],illegal:"\\n"},n.inherit(a,{begin:/:/})].concat(i),illegal:"\\S"},s={begin:"\\[",end:"\\]",contains:[n.inherit(a)],illegal:"\\S"};return t.push(l,s),i.forEach((function(n){t.push(n)})),{name:"JSON",contains:t,keywords:e,illegal:"\\S"}}}());
+hljs.registerLanguage("kotlin",function(){"use strict";return function(e){var n={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual trait volatile transient native default",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},i={className:"subst",begin:"\\${",end:"}",contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},t={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,i]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,i]}]};i.contains.push(t);var r={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(t,{className:"meta-string"})]}]},c=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),o={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},d=o;return d.variants[1].contains=[o],o.variants[1].contains=[d],{name:"Kotlin",aliases:["kt"],keywords:n,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,c,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},a,r,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:n,illegal:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:n,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[o,e.C_LINE_COMMENT_MODE,c],relevance:0},e.C_LINE_COMMENT_MODE,c,r,l,t,e.C_NUMBER_MODE]},c]},{className:"class",beginKeywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,]|$/,excludeBegin:!0,returnEnd:!0},r,l]},t,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},{className:"number",begin:"\\b(0[bB]([01]+[01_]+[01]+|[01]+)|0[xX]([a-fA-F0-9]+[a-fA-F0-9_]+[a-fA-F0-9]+|[a-fA-F0-9]+)|(([\\d]+[\\d_]+[\\d]+|[\\d]+)(\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))?|\\.([\\d]+[\\d_]+[\\d]+|[\\d]+))([eE][-+]?\\d+)?)[lLfF]?",relevance:0}]}}}());
+hljs.registerLanguage("less",function(){"use strict";return function(e){var n="([\\w-]+|@{[\\w-]+})",a=[],s=[],t=function(e){return{className:"string",begin:"~?"+e+".*?"+e}},r=function(e,n,a){return{className:e,begin:n,relevance:a}},i={begin:"\\(",end:"\\)",contains:s,relevance:0};s.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t("'"),t('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},r("number","#[0-9A-Fa-f]+\\b"),i,r("variable","@@?[\\w-]+",10),r("variable","@{[\\w-]+}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:"[\\w-]+\\s*:",end:":",returnBegin:!0,excludeEnd:!0},{className:"meta",begin:"!important"});var c=s.concat({begin:"{",end:"}",contains:a}),l={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(s)},o={begin:n+"\\s*:",returnBegin:!0,end:"[;}]",relevance:0,contains:[{className:"attribute",begin:n,end:":",excludeEnd:!0,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:s}}]},g={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",returnEnd:!0,contains:s,relevance:0}},d={className:"variable",variants:[{begin:"@[\\w-]+\\s*:",relevance:15},{begin:"@[\\w-]+"}],starts:{end:"[;}]",returnEnd:!0,contains:c}},b={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:n,end:"{"}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l,r("keyword","all\\b"),r("variable","@{[\\w-]+}"),r("selector-tag",n+"%?",0),r("selector-id","#"+n),r("selector-class","\\."+n,0),r("selector-tag","&",0),{className:"selector-attr",begin:"\\[",end:"\\]"},{className:"selector-pseudo",begin:/:(:)?[a-zA-Z0-9\_\-\+\(\)"'.]+/},{begin:"\\(",end:"\\)",contains:c},{begin:"!important"}]};return a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,g,d,o,b),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:a}}}());
+hljs.registerLanguage("lua",function(){"use strict";return function(e){var t={begin:"\\[=*\\[",end:"\\]=*\\]",contains:["self"]},a=[e.COMMENT("--(?!\\[=*\\[)","$"),e.COMMENT("--\\[=*\\[","\\]=*\\]",{contains:[t],relevance:10})];return{name:"Lua",keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:a.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:a}].concat(a)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:"\\[=*\\[",end:"\\]=*\\]",contains:[t],relevance:5}])}}}());
+hljs.registerLanguage("makefile",function(){"use strict";return function(e){var i={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,i]},a={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[i]},r={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},s={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[i]};return{name:"Makefile",aliases:["mk","mak"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,i,n,a,r,{className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,"meta-keyword":".PHONY"}},s]}}}());
+hljs.registerLanguage("xml",function(){"use strict";return function(e){var n={className:"symbol",begin:"&[a-z]+;|[0-9]+;|[a-f0-9]+;"},a={begin:"\\s",contains:[{className:"meta-keyword",begin:"#?[a-z_][a-z1-9_-]+",illegal:"\\n"}]},s=e.inherit(a,{begin:"\\(",end:"\\)"}),t=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),i=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),c={endsWithParent:!0,illegal:/,relevance:0,contains:[{className:"attr",begin:"[A-Za-z0-9\\._:-]+",relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:"",relevance:10,contains:[a,i,t,s,{begin:"\\[",end:"\\]",contains:[{className:"meta",begin:"",contains:[a,s,i,t]}]}]},e.COMMENT("\x3c!--","--\x3e",{relevance:10}),{begin:"<\\!\\[CDATA\\[",end:"\\]\\]>",relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:"",returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This is a mdbook real time playground for some programming languages which you can directly execute them in the browser without any server. It's fast and easy to use.
+This is mostly inspired by mdbook rust playground, but it's only limited to rust and it's using https://play.rust-lang.org as its backend compiler server. So I want to make a playground for other languages based on webassembly.
+Below is an example of a python code block that can be executed directly in the browser:
+
+
+
+# Python codeblock
+
+print("Hello, world!")
+
+All the code is editable and runnable. You can change the code and run it again. The execution is really fast.
+
+Attention 💥
+This playground is still in development and not many languages are supported yet. If you have any ideas or suggestions, please let me know.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+