Your IP : 3.144.147.211
import{a as dn,b as Ii,d as oo,e as Ri,g as ho}from"./chunk-HDHDVZQK.js";import{a as Bi,b as pn,c as lo,d as uo}from"./chunk-PK74BOF4.js";import{a as ro}from"./chunk-UIMIPCPG.js";import{a as Xt,b as qt,c as Jt,d as Gr,e as Di,f as Li,g as an,h as ln,i as un,j as Xr}from"./chunk-H3YY3OLT.js";import{a as cn}from"./chunk-EI5KBZMB.js";import{a as qn,f as po,g as fo}from"./chunk-WDCLQCI6.js";import{a as no}from"./chunk-VX77VCCO.js";import{P as hn,R as fn,S as co,W as Oi}from"./chunk-WUJDRKKX.js";import{a as so,b as ei,c as ao,d as vi}from"./chunk-25EXV7IU.js";import{a as dt,e as ti}from"./chunk-CPXWTLES.js";import{a as Mt,b as Yr,c as Xn}from"./chunk-KU75D4PT.js";import{a as Kr,d as gi,f as to,g as io}from"./chunk-BATIAXZ4.js";import{c as Fi,d as rn,e as Qt,f as jr,i as Bt,l as It,o as Ur,r as Ti,t as Zt}from"./chunk-KX5BXGZT.js";import{a as je,c as fi,d as Qr,e as Zr,g as qr}from"./chunk-M6DH5DPB.js";import{$a as xe,$b as te,Ab as nn,B as tn,Ba as Yn,Bb as We,Bc as Jr,C as yt,Ca as it,Cb as vt,Cc as eo,Da as qe,Ea as Je,H as Et,I as Vt,Ia as Ve,J as Er,K as Un,Ka as Ce,L as z,La as He,M as ue,Ma as Le,O as Si,Pa as ui,Qa as hi,R as Fr,Ra as di,S as Mr,Sa as Ft,T as Gn,Ta as Dr,Tb as on,Ua as Lr,Va as Re,Wa as bt,X as ci,Xa as Ht,Xb as Pr,Y as Kn,Ya as Br,Yb as ht,Z as J,_a as be,_b as mi,aa as at,ab as Ir,ac as Nr,b as Gt,ba as R,bb as ut,bc as Vr,c as li,ca as Dt,cc as Mi,d as ot,da as Te,e as Sr,f as Kt,fa as gt,g as kt,gb as mt,hb as Qn,ib as ki,ic as Hr,jb as Or,k as fe,kb as zi,l as st,lc as Wr,m as Tt,ma as Z,na as X,nc as zr,oa as oe,oc as sn,p as en,pa as ke,pc as Zn,q as he,qa as Ee,qc as nt,r as de,ra as Lt,sa as ve,ta as Tr,tb as Yt,u as $i,ub as Ke,va as le,vb as _e,wb as pi,x as At,xa as U,xb as Ei,y as Ge,ya as lt,yb as Rr,z as kr,za as ct}from"./chunk-SXUPRFOU.js";import{A as St,C as Vn,F as ai,G as Qe,H as zt,K as Hn,N as Wi,P as Ji,S as ze,W as Wn,X as zn,Y as xi,_ as jt,a as Se,b as Ue,ba as Cr,ca as Ut,e as Pn,f as Nn,ja as br,m as _t,p as _r,ra as xr,s as ni,sa as jn,t as Fe,ta as et,ua as Ar,va as Ai,xa as ri,y as qi,za as $r}from"./chunk-ERDNNTNA.js";var ms=Pn((fs,Cn)=>{(function(){function u(t){var e=x;t&&(x[t]||(x[t]={}),e=x[t]),(!e.define||!e.define.packaged)&&(o.original=e.define,e.define=o,e.define.packaged=!0),(!e.require||!e.require.packaged)&&(c.original=e.require,e.require=c,e.require.packaged=!0)}var d="ace",x=function(){return this}();if(!x&&typeof window<"u"&&(x=window),!(!d&&typeof requirejs<"u")){var o=function(t,e,n){if(typeof t!="string"){o.original?o.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(n=e),o.modules[t]||(o.payloads[t]=n,o.modules[t]=null)};o.modules={},o.payloads={};var h=function(t,e,n){if(typeof e=="string"){var i=a(t,e);if(i!=null)return n&&n(),i}else if(Object.prototype.toString.call(e)==="[object Array]"){for(var r=[],s=0,p=e.length;s<p;++s){var g=a(t,e[s]);if(g==null&&c.original)return;r.push(g)}return n&&n.apply(null,r)||!0}},c=function(t,e){var n=h("",t,e);return n==null&&c.original?c.original.apply(this,arguments):n},l=function(t,e){if(e.indexOf("!")!==-1){var n=e.split("!");return l(t,n[0])+"!"+l(t,n[1])}if(e.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");for(e=i+"/"+e;e.indexOf(".")!==-1&&r!=e;){var r=e;e=e.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return e},a=function(t,e){e=l(t,e);var n=o.modules[e];if(!n){if(n=o.payloads[e],typeof n=="function"){var i={},r={id:e,uri:"",exports:i,packaged:!0},s=function(g,C){return h(e,g,C)},p=n(s,i,r);i=p||r.exports,o.modules[e]=i,delete o.payloads[e]}n=o.modules[e]=i||n}return n};u(d)}})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(u,d,x){function o(h,c,l){Object.defineProperty(h,c,{value:l,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||o(String.prototype,"startsWith",function(h,c){return c=c||0,this.lastIndexOf(h,c)===c}),String.prototype.endsWith||o(String.prototype,"endsWith",function(h,c){var l=this;(c===void 0||c>l.length)&&(c=l.length),c-=h.length;var a=l.indexOf(h,c);return a!==-1&&a===c}),String.prototype.repeat||o(String.prototype,"repeat",function(h){for(var c="",l=this;h>0;)h&1&&(c+=l),(h>>=1)&&(l+=l);return c}),String.prototype.includes||o(String.prototype,"includes",function(h,c){return this.indexOf(h,c)!=-1}),Object.assign||(Object.assign=function(h){if(h==null)throw new TypeError("Cannot convert undefined or null to object");for(var c=Object(h),l=1;l<arguments.length;l++){var a=arguments[l];a!=null&&Object.keys(a).forEach(function(t){c[t]=a[t]})}return c}),Object.values||(Object.values=function(h){return Object.keys(h).map(function(c){return h[c]})}),Array.prototype.find||o(Array.prototype,"find",function(h){for(var c=this.length,l=arguments[1],a=0;a<c;a++){var t=this[a];if(h.call(l,t,a,this))return t}}),Array.prototype.findIndex||o(Array.prototype,"findIndex",function(h){for(var c=this.length,l=arguments[1],a=0;a<c;a++){var t=this[a];if(h.call(l,t,a,this))return a}}),Array.prototype.includes||o(Array.prototype,"includes",function(h,c){return this.indexOf(h,c)!=-1}),Array.prototype.fill||o(Array.prototype,"fill",function(h){for(var c=this,l=c.length>>>0,a=arguments[1],t=a>>0,e=t<0?Math.max(l+t,0):Math.min(t,l),n=arguments[2],i=n===void 0?l:n>>0,r=i<0?Math.max(l+i,0):Math.min(i,l);e<r;)c[e]=h,e++;return c}),Array.of||o(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(u,d,x){"use strict";u("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(u,d,x){d.deepCopy=function o(h){if(typeof h!="object"||!h)return h;var c;if(Array.isArray(h)){c=[];for(var l=0;l<h.length;l++)c[l]=o(h[l]);return c}if(Object.prototype.toString.call(h)!=="[object Object]")return h;c={};for(var l in h)c[l]=o(h[l]);return c}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(u,d,x){"use strict";d.last=function(c){return c[c.length-1]},d.stringReverse=function(c){return c.split("").reverse().join("")},d.stringRepeat=function(c,l){for(var a="";l>0;)l&1&&(a+=c),(l>>=1)&&(c+=c);return a};var o=/^\s\s*/,h=/\s\s*$/;d.stringTrimLeft=function(c){return c.replace(o,"")},d.stringTrimRight=function(c){return c.replace(h,"")},d.copyObject=function(c){var l={};for(var a in c)l[a]=c[a];return l},d.copyArray=function(c){for(var l=[],a=0,t=c.length;a<t;a++)c[a]&&typeof c[a]=="object"?l[a]=this.copyObject(c[a]):l[a]=c[a];return l},d.deepCopy=u("./deep_copy").deepCopy,d.arrayToMap=function(c){for(var l={},a=0;a<c.length;a++)l[c[a]]=1;return l},d.createMap=function(c){var l=Object.create(null);for(var a in c)l[a]=c[a];return l},d.arrayRemove=function(c,l){for(var a=0;a<=c.length;a++)l===c[a]&&c.splice(a,1)},d.escapeRegExp=function(c){return c.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},d.escapeHTML=function(c){return(""+c).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},d.getMatchOffsets=function(c,l){var a=[];return c.replace(l,function(t){a.push({offset:arguments[arguments.length-2],length:t.length})}),a},d.deferredCall=function(c){var l=null,a=function(){l=null,c()},t=function(e){return t.cancel(),l=setTimeout(a,e||0),t};return t.schedule=t,t.call=function(){return this.cancel(),c(),t},t.cancel=function(){return clearTimeout(l),l=null,t},t.isPending=function(){return l},t},d.delayedCall=function(c,l){var a=null,t=function(){a=null,c()},e=function(n){a==null&&(a=setTimeout(t,n||l))};return e.delay=function(n){a&&clearTimeout(a),a=setTimeout(t,n||l)},e.schedule=e,e.call=function(){this.cancel(),c()},e.cancel=function(){a&&clearTimeout(a),a=null},e.isPending=function(){return a},e},d.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},d.skipEmptyMatch=function(c,l,a){return a&&c.codePointAt(l)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(u,d,x){"use strict";d.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},d.getOS=function(){return d.isMac?d.OS.MAC:d.isLinux?d.OS.LINUX:d.OS.WINDOWS};var o=typeof navigator=="object"?navigator:{},h=(/mac|win|linux/i.exec(o.platform)||["other"])[0].toLowerCase(),c=o.userAgent||"",l=o.appName||"";d.isWin=h=="win",d.isMac=h=="mac",d.isLinux=h=="linux",d.isIE=l=="Microsoft Internet Explorer"||l.indexOf("MSAppHost")>=0?parseFloat((c.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((c.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),d.isOldIE=d.isIE&&d.isIE<9,d.isGecko=d.isMozilla=c.match(/ Gecko\/\d+/),d.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",d.isWebKit=parseFloat(c.split("WebKit/")[1])||void 0,d.isChrome=parseFloat(c.split(" Chrome/")[1])||void 0,d.isSafari=parseFloat(c.split(" Safari/")[1])&&!d.isChrome||void 0,d.isEdge=parseFloat(c.split(" Edge/")[1])||void 0,d.isAIR=c.indexOf("AdobeAIR")>=0,d.isAndroid=c.indexOf("Android")>=0,d.isChromeOS=c.indexOf(" CrOS ")>=0,d.isIOS=/iPad|iPhone|iPod/.test(c)&&!window.MSStream,d.isIOS&&(d.isMac=!0),d.isMobile=d.isIOS||d.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(u,d,x){"use strict";function o(){var n=t;t=null,n&&n.forEach(function(i){h(i[0],i[1])})}function h(n,i,r){if(!(typeof document>"u")){if(t){if(r)o();else if(r===!1)return t.push([n,i])}if(!a){var s=r;!r||!r.getRootNode?s=document:(s=r.getRootNode(),(!s||s==r)&&(s=document));var p=s.ownerDocument||s;if(i&&d.hasCssString(i,s))return null;i&&(n+=`
/*# sourceURL=ace/css/`+i+" */");var g=d.createElement("style");g.appendChild(p.createTextNode(n)),i&&(g.id=i),s==p&&(s=d.getDocumentHead(p)),s.insertBefore(g,s.firstChild)}}}var c=u("./useragent"),l="http://www.w3.org/1999/xhtml";d.buildDom=function n(i,r,s){if(typeof i=="string"&&i){var p=document.createTextNode(i);return r&&r.appendChild(p),p}if(!Array.isArray(i))return i&&i.appendChild&&r&&r.appendChild(i),i;if(typeof i[0]!="string"||!i[0]){for(var g=[],C=0;C<i.length;C++){var k=n(i[C],r,s);k&&g.push(k)}return g}var m=document.createElement(i[0]),b=i[1],f=1;b&&typeof b=="object"&&!Array.isArray(b)&&(f=2);for(var C=f;C<i.length;C++)n(i[C],m,s);return f==2&&Object.keys(b).forEach(function(_){var A=b[_];_==="class"?m.className=Array.isArray(A)?A.join(" "):A:typeof A=="function"||_=="value"||_[0]=="$"?m[_]=A:_==="ref"?s&&(s[A]=m):_==="style"?typeof A=="string"&&(m.style.cssText=A):A!=null&&m.setAttribute(_,A)}),r&&r.appendChild(m),m},d.getDocumentHead=function(n){return n||(n=document),n.head||n.getElementsByTagName("head")[0]||n.documentElement},d.createElement=function(n,i){return document.createElementNS?document.createElementNS(i||l,n):document.createElement(n)},d.removeChildren=function(n){n.innerHTML=""},d.createTextNode=function(n,i){var r=i?i.ownerDocument:document;return r.createTextNode(n)},d.createFragment=function(n){var i=n?n.ownerDocument:document;return i.createDocumentFragment()},d.hasCssClass=function(n,i){var r=(n.className+"").split(/\s+/g);return r.indexOf(i)!==-1},d.addCssClass=function(n,i){d.hasCssClass(n,i)||(n.className+=" "+i)},d.removeCssClass=function(n,i){for(var r=n.className.split(/\s+/g);;){var s=r.indexOf(i);if(s==-1)break;r.splice(s,1)}n.className=r.join(" ")},d.toggleCssClass=function(n,i){for(var r=n.className.split(/\s+/g),s=!0;;){var p=r.indexOf(i);if(p==-1)break;s=!1,r.splice(p,1)}return s&&r.push(i),n.className=r.join(" "),s},d.setCssClass=function(n,i,r){r?d.addCssClass(n,i):d.removeCssClass(n,i)},d.hasCssString=function(n,i){var r=0,s;if(i=i||document,s=i.querySelectorAll("style")){for(;r<s.length;)if(s[r++].id===n)return!0}},d.removeElementById=function(n,i){i=i||document,i.getElementById(n)&&i.getElementById(n).remove()};var a,t=[];if(d.useStrictCSP=function(n){a=n,n==0?o():t||(t=[])},d.importCssString=h,d.importCssStylsheet=function(n,i){d.buildDom(["link",{rel:"stylesheet",href:n}],d.getDocumentHead(i))},d.scrollbarWidth=function(n){var i=d.createElement("ace_inner");i.style.width="100%",i.style.minWidth="0px",i.style.height="200px",i.style.display="block";var r=d.createElement("ace_outer"),s=r.style;s.position="absolute",s.left="-10000px",s.overflow="hidden",s.width="200px",s.minWidth="0px",s.height="150px",s.display="block",r.appendChild(i);var p=n&&n.documentElement||document&&document.documentElement;if(!p)return 0;p.appendChild(r);var g=i.offsetWidth;s.overflow="scroll";var C=i.offsetWidth;return g===C&&(C=r.clientWidth),p.removeChild(r),g-C},d.computedStyle=function(n,i){return window.getComputedStyle(n,"")||{}},d.setStyle=function(n,i,r){n[i]!==r&&(n[i]=r)},d.HAS_CSS_ANIMATION=!1,d.HAS_CSS_TRANSFORMS=!1,d.HI_DPI=c.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,c.isChromeOS&&(d.HI_DPI=!1),typeof document<"u"){var e=document.createElement("div");d.HI_DPI&&e.style.transform!==void 0&&(d.HAS_CSS_TRANSFORMS=!0),!c.isEdge&&typeof e.style.animationName<"u"&&(d.HAS_CSS_ANIMATION=!0),e=null}d.HAS_CSS_TRANSFORMS?d.translate=function(n,i,r){n.style.transform="translate("+Math.round(i)+"px, "+Math.round(r)+"px)"}:d.translate=function(n,i,r){n.style.top=Math.round(r)+"px",n.style.left=Math.round(i)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("./dom");d.get=function(h,c){var l=new XMLHttpRequest;l.open("GET",h,!0),l.onreadystatechange=function(){l.readyState===4&&c(l.responseText)},l.send(null)},d.loadScript=function(h,c){var l=o.getDocumentHead(),a=document.createElement("script");a.src=h,l.appendChild(a),a.onload=a.onreadystatechange=function(t,e){(e||!a.readyState||a.readyState=="loaded"||a.readyState=="complete")&&(a=a.onload=a.onreadystatechange=null,e||c())}},d.qualifyURL=function(h){var c=document.createElement("a");return c.href=h,c.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(u,d,x){"use strict";d.inherits=function(o,h){o.super_=h,o.prototype=Object.create(h.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}})},d.mixin=function(o,h){for(var c in h)o[c]=h[c];return o},d.implement=function(o,h){d.mixin(o,h)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(u,d,x){"use strict";var o={},h=function(){this.propagationStopped=!0},c=function(){this.defaultPrevented=!0};o._emit=o._dispatchEvent=function(l,a){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var t=this._eventRegistry[l]||[],e=this._defaultHandlers[l];if(!(!t.length&&!e)){(typeof a!="object"||!a)&&(a={}),a.type||(a.type=l),a.stopPropagation||(a.stopPropagation=h),a.preventDefault||(a.preventDefault=c),t=t.slice();for(var n=0;n<t.length&&(t[n](a,this),!a.propagationStopped);n++);if(e&&!a.defaultPrevented)return e(a,this)}},o._signal=function(l,a){var t=(this._eventRegistry||{})[l];if(t){t=t.slice();for(var e=0;e<t.length;e++)t[e](a,this)}},o.once=function(l,a){var t=this;if(this.on(l,function e(){t.off(l,e),a.apply(null,arguments)}),!a)return new Promise(function(e){a=e})},o.setDefaultHandler=function(l,a){var t=this._defaultHandlers;if(t||(t=this._defaultHandlers={_disabled_:{}}),t[l]){var e=t[l],n=t._disabled_[l];n||(t._disabled_[l]=n=[]),n.push(e);var i=n.indexOf(a);i!=-1&&n.splice(i,1)}t[l]=a},o.removeDefaultHandler=function(l,a){var t=this._defaultHandlers;if(t){var e=t._disabled_[l];if(t[l]==a)e&&this.setDefaultHandler(l,e.pop());else if(e){var n=e.indexOf(a);n!=-1&&e.splice(n,1)}}},o.on=o.addEventListener=function(l,a,t){this._eventRegistry=this._eventRegistry||{};var e=this._eventRegistry[l];return e||(e=this._eventRegistry[l]=[]),e.indexOf(a)==-1&&e[t?"unshift":"push"](a),a},o.off=o.removeListener=o.removeEventListener=function(l,a){this._eventRegistry=this._eventRegistry||{};var t=this._eventRegistry[l];if(t){var e=t.indexOf(a);e!==-1&&t.splice(e,1)}},o.removeAllListeners=function(l){l||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[l]=void 0),this._defaultHandlers&&(this._defaultHandlers[l]=void 0)},d.EventEmitter=o}),ace.define("ace/lib/report_error",["require","exports","module"],function(u,d,x){d.reportError=function(o,h){var c=new Error(o);c.data=h,typeof console=="object"&&console.error&&console.error(c),setTimeout(function(){throw c})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(u,d,x){var o={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions"};d.defaultEnglishMessages=o}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(u,d,x){"no use strict";function o(r){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var h=u("./oop"),c=u("./event_emitter").EventEmitter,l=u("./report_error").reportError,a=u("./default_english_messages").defaultEnglishMessages,t={setOptions:function(r){Object.keys(r).forEach(function(s){this.setOption(s,r[s])},this)},getOptions:function(r){var s={};if(r)Array.isArray(r)||(s=r,r=Object.keys(s));else{var p=this.$options;r=Object.keys(p).filter(function(g){return!p[g].hidden})}return r.forEach(function(g){s[g]=this.getOption(g)},this),s},setOption:function(r,s){if(this["$"+r]!==s){var p=this.$options[r];if(!p)return o('misspelled option "'+r+'"');if(p.forwardTo)return this[p.forwardTo]&&this[p.forwardTo].setOption(r,s);p.handlesSet||(this["$"+r]=s),p&&p.set&&p.set.call(this,s)}},getOption:function(r){var s=this.$options[r];return s?s.forwardTo?this[s.forwardTo]&&this[s.forwardTo].getOption(r):s&&s.get?s.get.call(this):this["$"+r]:o('misspelled option "'+r+'"')}},e,n,i=function(){function r(){this.$defaultOptions={},e=a,n="dollarSigns"}return r.prototype.defineOptions=function(s,p,g){return s.$options||(this.$defaultOptions[p]=s.$options={}),Object.keys(g).forEach(function(C){var k=g[C];typeof k=="string"&&(k={forwardTo:k}),k.name||(k.name=C),s.$options[k.name]=k,"initialValue"in k&&(s["$"+k.name]=k.initialValue)}),h.implement(s,t),this},r.prototype.resetOptions=function(s){Object.keys(s.$options).forEach(function(p){var g=s.$options[p];"value"in g&&s.setOption(p,g.value)})},r.prototype.setDefaultValue=function(s,p,g){if(!s){for(s in this.$defaultOptions)if(this.$defaultOptions[s][p])break;if(!this.$defaultOptions[s][p])return!1}var C=this.$defaultOptions[s]||(this.$defaultOptions[s]={});C[p]&&(C.forwardTo?this.setDefaultValue(C.forwardTo,p,g):C[p].value=g)},r.prototype.setDefaultValues=function(s,p){Object.keys(p).forEach(function(g){this.setDefaultValue(s,g,p[g])},this)},r.prototype.setMessages=function(s,p){e=s,p&&p.placeholders&&(n=p.placeholders)},r.prototype.nls=function(s,p,g){e[s]||(o("No message found for the key '"+s+"' in the provided messages, trying to find a translation for the default string '"+p+"'."),e[p]||o("No message found for the default string '"+p+"' in the provided messages. Falling back to the default English message."));var C=e[s]||e[p]||p;return g&&(n==="dollarSigns"&&(C=C.replace(/\$(\$|[\d]+)/g,function(k,m){return m=="$"?"$":g[m]})),n==="curlyBrackets"&&(C=C.replace(/\{([^\}]+)\}/g,function(k,m){return g[m]}))),C},r}();i.prototype.warn=o,i.prototype.reportError=l,h.implement(i.prototype,c),d.AppConfig=i}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(u,d,x){x.exports=`.ace-tm .ace_gutter {
background: #f0f0f0;
color: #333;
}
.ace-tm .ace_print-margin {
width: 1px;
background: #e8e8e8;
}
.ace-tm .ace_fold {
background-color: #6B72E6;
}
.ace-tm {
background-color: #FFFFFF;
color: black;
}
.ace-tm .ace_cursor {
color: black;
}
.ace-tm .ace_invisible {
color: rgb(191, 191, 191);
}
.ace-tm .ace_storage,
.ace-tm .ace_keyword {
color: blue;
}
.ace-tm .ace_constant {
color: rgb(197, 6, 11);
}
.ace-tm .ace_constant.ace_buildin {
color: rgb(88, 72, 246);
}
.ace-tm .ace_constant.ace_language {
color: rgb(88, 92, 246);
}
.ace-tm .ace_constant.ace_library {
color: rgb(6, 150, 14);
}
.ace-tm .ace_invalid {
background-color: rgba(255, 0, 0, 0.1);
color: red;
}
.ace-tm .ace_support.ace_function {
color: rgb(60, 76, 114);
}
.ace-tm .ace_support.ace_constant {
color: rgb(6, 150, 14);
}
.ace-tm .ace_support.ace_type,
.ace-tm .ace_support.ace_class {
color: rgb(109, 121, 222);
}
.ace-tm .ace_keyword.ace_operator {
color: rgb(104, 118, 135);
}
.ace-tm .ace_string {
color: rgb(3, 106, 7);
}
.ace-tm .ace_comment {
color: rgb(76, 136, 107);
}
.ace-tm .ace_comment.ace_doc {
color: rgb(0, 102, 255);
}
.ace-tm .ace_comment.ace_doc.ace_tag {
color: rgb(128, 159, 191);
}
.ace-tm .ace_constant.ace_numeric {
color: rgb(0, 0, 205);
}
.ace-tm .ace_variable {
color: rgb(49, 132, 149);
}
.ace-tm .ace_xml-pe {
color: rgb(104, 104, 91);
}
.ace-tm .ace_entity.ace_name.ace_function {
color: #0000A2;
}
.ace-tm .ace_heading {
color: rgb(12, 7, 255);
}
.ace-tm .ace_list {
color:rgb(185, 6, 144);
}
.ace-tm .ace_meta.ace_tag {
color:rgb(0, 22, 142);
}
.ace-tm .ace_string.ace_regex {
color: rgb(255, 0, 0)
}
.ace-tm .ace_marker-layer .ace_selection {
background: rgb(181, 213, 255);
}
.ace-tm.ace_multiselect .ace_selection.ace_start {
box-shadow: 0 0 3px 0px white;
}
.ace-tm .ace_marker-layer .ace_step {
background: rgb(252, 255, 0);
}
.ace-tm .ace_marker-layer .ace_stack {
background: rgb(164, 229, 101);
}
.ace-tm .ace_marker-layer .ace_bracket {
margin: -1px 0 0 -1px;
border: 1px solid rgb(192, 192, 192);
}
.ace-tm .ace_marker-layer .ace_active-line {
background: rgba(0, 0, 0, 0.07);
}
.ace-tm .ace_gutter-active-line {
background-color : #dcdcdc;
}
.ace-tm .ace_marker-layer .ace_selected-word {
background: rgb(250, 250, 255);
border: 1px solid rgb(200, 200, 250);
}
.ace-tm .ace_indent-guide {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
}
.ace-tm .ace_indent-guide-active {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
}
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(u,d,x){"use strict";d.isDark=!1,d.cssClass="ace-tm",d.cssText=u("./textmate-css"),d.$id="ace/theme/textmate";var o=u("../lib/dom");o.importCssString(d.cssText,d.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(u,d,x){"no use strict";var o=u("./lib/lang"),h=u("./lib/net"),c=u("./lib/dom"),l=u("./lib/app_config").AppConfig;x.exports=d=new l;var a={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};d.get=function(i){if(!a.hasOwnProperty(i))throw new Error("Unknown config key: "+i);return a[i]},d.set=function(i,r){if(a.hasOwnProperty(i))a[i]=r;else if(this.setDefaultValue("",i,r)==0)throw new Error("Unknown config key: "+i);i=="useStrictCSP"&&c.useStrictCSP(r)},d.all=function(){return o.copyObject(a)},d.$modes={},d.moduleUrl=function(i,r){if(a.$moduleUrls[i])return a.$moduleUrls[i];var s=i.split("/");r=r||s[s.length-2]||"";var p=r=="snippets"?"/":"-",g=s[s.length-1];if(r=="worker"&&p=="-"){var C=new RegExp("^"+r+"[\\-_]|[\\-_]"+r+"$","g");g=g.replace(C,"")}(!g||g==r)&&s.length>1&&(g=s[s.length-2]);var k=a[r+"Path"];return k==null?k=a.basePath:p=="/"&&(r=p=""),k&&k.slice(-1)!="/"&&(k+="/"),k+r+p+g+this.get("suffix")},d.setModuleUrl=function(i,r){return a.$moduleUrls[i]=r};var t=function(i,r){if(i==="ace/theme/textmate"||i==="./theme/textmate")return r(null,u("./theme/textmate"));if(e)return e(i,r);console.error("loader is not configured")},e;d.setLoader=function(i){e=i},d.dynamicModules=Object.create(null),d.$loading={},d.$loaded={},d.loadModule=function(i,r){var s;if(Array.isArray(i))var p=i[0],g=i[1];else if(typeof i=="string")var g=i;var C=function(k){if(k&&!d.$loading[g])return r&&r(k);if(d.$loading[g]||(d.$loading[g]=[]),d.$loading[g].push(r),!(d.$loading[g].length>1)){var m=function(){t(g,function(b,f){f&&(d.$loaded[g]=f),d._emit("load.module",{name:g,module:f});var _=d.$loading[g];d.$loading[g]=null,_.forEach(function(A){A&&A(f)})})};if(!d.get("packaged"))return m();h.loadScript(d.moduleUrl(g,p),m),n()}};if(d.dynamicModules[g])d.dynamicModules[g]().then(function(k){k.default?C(k.default):C(k)});else{try{s=this.$require(g)}catch{}C(s||d.$loaded[g])}},d.$require=function(i){if(typeof x.require=="function"){var r="require";return x[r](i)}},d.setModuleLoader=function(i,r){d.dynamicModules[i]=r};var n=function(){!a.basePath&&!a.workerPath&&!a.modePath&&!a.themePath&&!Object.keys(a.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),n=function(){})};d.version="1.36.5"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(u,d,x){"use strict";function o(a){if(!(!l||!l.document)){c.set("packaged",a||u.packaged||x.packaged||l.define&&define.packaged);var t={},e="",n=document.currentScript||document._currentScript,i=n&&n.ownerDocument||document;n&&n.src&&(e=n.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var r=i.getElementsByTagName("script"),s=0;s<r.length;s++){var p=r[s],g=p.src||p.getAttribute("src");if(g){for(var C=p.attributes,k=0,m=C.length;k<m;k++){var b=C[k];b.name.indexOf("data-ace-")===0&&(t[h(b.name.replace(/^data-ace-/,""))]=b.value)}var f=g.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);f&&(e=f[1])}}e&&(t.base=t.base||e,t.packaged=!0),t.basePath=t.base,t.workerPath=t.workerPath||t.base,t.modePath=t.modePath||t.base,t.themePath=t.themePath||t.base,delete t.base;for(var _ in t)typeof t[_]<"u"&&c.set(_,t[_])}}function h(a){return a.replace(/-(.)/g,function(t,e){return e.toUpperCase()})}u("./lib/fixoldbrowsers");var c=u("./config");c.setLoader(function(a,t){u([a],function(e){t(null,e)})});var l=function(){return this||typeof window<"u"&&window}();x.exports=function(a){c.init=o,c.$require=u,a.require=u,typeof define=="function"&&(a.define=define)}}),ace.define("ace/range",["require","exports","module"],function(u,d,x){"use strict";var o=function(){function h(c,l,a,t){this.start={row:c,column:l},this.end={row:a,column:t}}return h.prototype.isEqual=function(c){return this.start.row===c.start.row&&this.end.row===c.end.row&&this.start.column===c.start.column&&this.end.column===c.end.column},h.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},h.prototype.contains=function(c,l){return this.compare(c,l)==0},h.prototype.compareRange=function(c){var l,a=c.end,t=c.start;return l=this.compare(a.row,a.column),l==1?(l=this.compare(t.row,t.column),l==1?2:l==0?1:0):l==-1?-2:(l=this.compare(t.row,t.column),l==-1?-1:l==1?42:0)},h.prototype.comparePoint=function(c){return this.compare(c.row,c.column)},h.prototype.containsRange=function(c){return this.comparePoint(c.start)==0&&this.comparePoint(c.end)==0},h.prototype.intersects=function(c){var l=this.compareRange(c);return l==-1||l==0||l==1},h.prototype.isEnd=function(c,l){return this.end.row==c&&this.end.column==l},h.prototype.isStart=function(c,l){return this.start.row==c&&this.start.column==l},h.prototype.setStart=function(c,l){typeof c=="object"?(this.start.column=c.column,this.start.row=c.row):(this.start.row=c,this.start.column=l)},h.prototype.setEnd=function(c,l){typeof c=="object"?(this.end.column=c.column,this.end.row=c.row):(this.end.row=c,this.end.column=l)},h.prototype.inside=function(c,l){return this.compare(c,l)==0?!(this.isEnd(c,l)||this.isStart(c,l)):!1},h.prototype.insideStart=function(c,l){return this.compare(c,l)==0?!this.isEnd(c,l):!1},h.prototype.insideEnd=function(c,l){return this.compare(c,l)==0?!this.isStart(c,l):!1},h.prototype.compare=function(c,l){return!this.isMultiLine()&&c===this.start.row?l<this.start.column?-1:l>this.end.column?1:0:c<this.start.row?-1:c>this.end.row?1:this.start.row===c?l>=this.start.column?0:-1:this.end.row===c?l<=this.end.column?0:1:0},h.prototype.compareStart=function(c,l){return this.start.row==c&&this.start.column==l?-1:this.compare(c,l)},h.prototype.compareEnd=function(c,l){return this.end.row==c&&this.end.column==l?1:this.compare(c,l)},h.prototype.compareInside=function(c,l){return this.end.row==c&&this.end.column==l?1:this.start.row==c&&this.start.column==l?-1:this.compare(c,l)},h.prototype.clipRows=function(c,l){if(this.end.row>l)var a={row:l+1,column:0};else if(this.end.row<c)var a={row:c,column:0};if(this.start.row>l)var t={row:l+1,column:0};else if(this.start.row<c)var t={row:c,column:0};return h.fromPoints(t||this.start,a||this.end)},h.prototype.extend=function(c,l){var a=this.compare(c,l);if(a==0)return this;if(a==-1)var t={row:c,column:l};else var e={row:c,column:l};return h.fromPoints(t||this.start,e||this.end)},h.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},h.prototype.isMultiLine=function(){return this.start.row!==this.end.row},h.prototype.clone=function(){return h.fromPoints(this.start,this.end)},h.prototype.collapseRows=function(){return this.end.column==0?new h(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new h(this.start.row,0,this.end.row,0)},h.prototype.toScreenRange=function(c){var l=c.documentToScreenPosition(this.start),a=c.documentToScreenPosition(this.end);return new h(l.row,l.column,a.row,a.column)},h.prototype.moveBy=function(c,l){this.start.row+=c,this.start.column+=l,this.end.row+=c,this.end.column+=l},h}();o.fromPoints=function(h,c){return new o(h.row,h.column,c.row,c.column)},o.comparePoints=function(h,c){return h.row-c.row||h.column-c.column},d.Range=o}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(u,d,x){"use strict";for(var o=u("./oop"),h={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},c={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},l=0;l<10;l++)c["Digit"+l]=48+l,c["Numpad"+l]=96+l,h.PRINTABLE_KEYS[48+l]=""+l,h.FUNCTION_KEYS[96+l]="Numpad"+l;for(var l=65;l<91;l++){var a=String.fromCharCode(l+32);c["Key"+a.toUpperCase()]=l,h.PRINTABLE_KEYS[l]=a}for(var l=1;l<13;l++)c["F"+l]=111+l,h.FUNCTION_KEYS[111+l]="F"+l;var t={Shift:16,Control:17,Alt:18,Meta:224};for(var e in t)c[e]=c[e+"Left"]=c[e+"Right"]=t[e];d.$codeToKeyCode=c,h.PRINTABLE_KEYS[173]="-";for(var n in h.FUNCTION_KEYS){var i=h.FUNCTION_KEYS[n].toLowerCase();h[i]=parseInt(n,10)}for(var n in h.PRINTABLE_KEYS){var i=h.PRINTABLE_KEYS[n].toLowerCase();h[i]=parseInt(n,10)}o.mixin(h,h.MODIFIER_KEYS),o.mixin(h,h.PRINTABLE_KEYS),o.mixin(h,h.FUNCTION_KEYS),h.enter=h.return,h.escape=h.esc,h.del=h.delete,function(){for(var r=["cmd","ctrl","alt","shift"],s=Math.pow(2,r.length);s--;)h.KEY_MODS[s]=r.filter(function(p){return s&h.KEY_MODS[p]}).join("-")+"-"}(),h.KEY_MODS[0]="",h.KEY_MODS[-1]="input-",o.mixin(d,h),d.default=d,d.keyCodeToString=function(r){var s=h[r];return typeof s!="string"&&(s=String.fromCharCode(r)),s.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(u,d,x){"use strict";function o(){s=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return s={passive:!1},!0}})}catch{}}function h(){return s==null&&o(),s}function c(k,m,b){this.elem=k,this.type=m,this.callback=b}function l(k){return 0|(k.ctrlKey?1:0)|(k.altKey?2:0)|(k.shiftKey?4:0)|(k.metaKey?8:0)}function a(k,m,b){var f=l(m);if(!b&&m.code&&(b=e.$codeToKeyCode[m.code]||b),!n.isMac&&i){if(m.getModifierState&&(m.getModifierState("OS")||m.getModifierState("Win"))&&(f|=8),i.altGr){if((3&f)==3)return;i.altGr=0}if(b===18||b===17){var _=m.location;if(b===17&&_===1)i[b]==1&&(r=m.timeStamp);else if(b===18&&f===3&&_===2){var A=m.timeStamp-r;A<50&&(i.altGr=!0)}}}if(b in e.MODIFIER_KEYS&&(b=-1),!(!f&&b===13&&m.location===3&&(k(m,f,-b),m.defaultPrevented))){if(n.isChromeOS&&f&8){if(k(m,f,b),m.defaultPrevented)return;f&=-9}return f||b in e.FUNCTION_KEYS||b in e.PRINTABLE_KEYS?k(m,f,b):!1}}function t(){i=Object.create(null)}var e=u("./keys"),n=u("./useragent"),i=null,r=0,s;c.prototype.destroy=function(){g(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var p=d.addListener=function(k,m,b,f){k.addEventListener(m,b,h()),f&&f.$toDestroy.push(new c(k,m,b))},g=d.removeListener=function(k,m,b){k.removeEventListener(m,b,h())};if(d.stopEvent=function(k){return d.stopPropagation(k),d.preventDefault(k),!1},d.stopPropagation=function(k){k.stopPropagation&&k.stopPropagation()},d.preventDefault=function(k){k.preventDefault&&k.preventDefault()},d.getButton=function(k){return k.type=="dblclick"?0:k.type=="contextmenu"||n.isMac&&k.ctrlKey&&!k.altKey&&!k.shiftKey?2:k.button},d.capture=function(k,m,b){function f(A){m&&m(A),b&&b(A),g(_,"mousemove",m),g(_,"mouseup",f),g(_,"dragstart",f)}var _=k&&k.ownerDocument||document;return p(_,"mousemove",m),p(_,"mouseup",f),p(_,"dragstart",f),f},d.addMouseWheelListener=function(k,m,b){p(k,"wheel",function(f){var _=.15,A=f.deltaX||0,$=f.deltaY||0;switch(f.deltaMode){case f.DOM_DELTA_PIXEL:f.wheelX=A*_,f.wheelY=$*_;break;case f.DOM_DELTA_LINE:var v=15;f.wheelX=A*v,f.wheelY=$*v;break;case f.DOM_DELTA_PAGE:var E=150;f.wheelX=A*E,f.wheelY=$*E}m(f)},b)},d.addMultiMouseDownListener=function(k,m,b,f,_){function A(S){if(d.getButton(S)!==0?$=0:S.detail>1?($++,$>4&&($=1)):$=1,n.isIE){var F=Math.abs(S.clientX-v)>5||Math.abs(S.clientY-E)>5;(!w||F)&&($=1),w&&clearTimeout(w),w=setTimeout(function(){w=null},m[$-1]||600),$==1&&(v=S.clientX,E=S.clientY)}if(S._clicks=$,b[f]("mousedown",S),$>4)$=0;else if($>1)return b[f](y[$],S)}var $=0,v,E,w,y={2:"dblclick",3:"tripleclick",4:"quadclick"};Array.isArray(k)||(k=[k]),k.forEach(function(S){p(S,"mousedown",A,_)})},d.getModifierString=function(k){return e.KEY_MODS[l(k)]},d.addCommandKeyListener=function(k,m,b){var f=null;p(k,"keydown",function(_){i[_.keyCode]=(i[_.keyCode]||0)+1;var A=a(m,_,_.keyCode);return f=_.defaultPrevented,A},b),p(k,"keypress",function(_){f&&(_.ctrlKey||_.altKey||_.shiftKey||_.metaKey)&&(d.stopEvent(_),f=null)},b),p(k,"keyup",function(_){i[_.keyCode]=null},b),i||(t(),p(window,"focus",t))},typeof window=="object"&&window.postMessage&&!n.isOldIE){var C=1;d.nextTick=function(k,m){m=m||window;var b="zero-timeout-message-"+C++,f=function(_){_.data==b&&(d.stopPropagation(_),g(m,"message",f),k())};p(m,"message",f),m.postMessage(b,"*")}}d.$idleBlocked=!1,d.onIdle=function(k,m){return setTimeout(function b(){d.$idleBlocked?setTimeout(b,100):k()},m)},d.$idleBlockId=null,d.blockIdle=function(k){d.$idleBlockId&&clearTimeout(d.$idleBlockId),d.$idleBlocked=!0,d.$idleBlockId=setTimeout(function(){d.$idleBlocked=!1},k||100)},d.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),d.nextFrame?d.nextFrame=d.nextFrame.bind(window):d.nextFrame=function(k){setTimeout(k,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(u,d,x){"use strict";var o;x.exports={lineMode:!1,pasteCancelled:function(){return o&&o>Date.now()-50?!0:o=!1},cancel:function(){o=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../config").nls,c=u("../lib/useragent"),l=u("../lib/dom"),a=u("../lib/lang"),t=u("../clipboard"),e=c.isChrome<18,n=c.isIE,i=c.isChrome>63,r=400,s=u("../lib/keys"),p=s.KEY_MODS,g=c.isIOS,C=g?/\s/:/\n/,k=c.isMobile,m;m=function(b,f){function _(){B=!0,E.blur(),E.focus(),B=!1}function A(ne){ne.keyCode==27&&E.value.length<E.selectionStart&&(S||(I=E.value),D=L=-1,G()),ce()}function $(){clearTimeout(ge),ge=setTimeout(function(){M&&(E.style.cssText=M,M=""),f.renderer.$isMousePressed=!1,f.renderer.$keepTextAreaAtCursor&&f.renderer.$moveTextAreaToCursor()},0)}function v(ne,we,ye){var Ae=null,De=!1;ye.addEventListener("keydown",function(Ne){Ae&&clearTimeout(Ae),De=!0},!0),ye.addEventListener("keyup",function(Ne){Ae=setTimeout(function(){De=!1},100)},!0);var Ye=function(Ne){if(document.activeElement===ye&&!(De||S||we.$mouseHandler.isMousePressed)&&!w){var ft=ye.selectionStart,rt=ye.selectionEnd,Xe=null,$t=0;if(ft==0?Xe=s.up:ft==1?Xe=s.home:rt>L&&I[rt]==`
`?Xe=s.end:ft<D&&I[ft-1]==" "?(Xe=s.left,$t=p.option):ft<D||ft==D&&L!=D&&ft==rt?Xe=s.left:rt>L&&I.slice(0,rt).split(`
`).length>2?Xe=s.down:rt>L&&I[rt-1]==" "?(Xe=s.right,$t=p.option):(rt>L||rt==L&&L!=D&&ft==rt)&&(Xe=s.right),ft!==rt&&($t|=p.shift),Xe){var Wt=we.onCommandKey({},$t,Xe);if(!Wt&&we.commands){Xe=s.keyCodeToString(Xe);var si=we.commands.findKeyCommand($t,Xe);si&&we.execCommand(si)}D=ft,L=rt,G("")}}};document.addEventListener("selectionchange",Ye),we.on("destroy",function(){document.removeEventListener("selectionchange",Ye)})}var E=l.createElement("textarea");E.className="ace_text-input",E.setAttribute("wrap","off"),E.setAttribute("autocorrect","off"),E.setAttribute("autocapitalize","off"),E.setAttribute("spellcheck","false"),E.style.opacity="0",b.insertBefore(E,b.firstChild);var w=!1,y=!1,S=!1,F=!1,M="";k||(E.style.fontSize="1px");var T=!1,B=!1,I="",D=0,L=0,H=0,O=Number.MAX_SAFE_INTEGER,P=Number.MIN_SAFE_INTEGER,N=0;try{var V=document.activeElement===E}catch{}this.setNumberOfExtraLines=function(ne){if(O=Number.MAX_SAFE_INTEGER,P=Number.MIN_SAFE_INTEGER,ne<0){N=0;return}N=ne},this.setAriaLabel=function(){var ne="";if(f.$textInputAriaLabel&&(ne+="".concat(f.$textInputAriaLabel,", ")),f.session){var we=f.session.selection.cursor.row;ne+=h("text-input.aria-label","Cursor at row $0",[we+1])}E.setAttribute("aria-label",ne)},this.setAriaOptions=function(ne){ne.activeDescendant?(E.setAttribute("aria-haspopup","true"),E.setAttribute("aria-autocomplete",ne.inline?"both":"list"),E.setAttribute("aria-activedescendant",ne.activeDescendant)):(E.setAttribute("aria-haspopup","false"),E.setAttribute("aria-autocomplete","both"),E.removeAttribute("aria-activedescendant")),ne.role&&E.setAttribute("role",ne.role),ne.setLabel&&(E.setAttribute("aria-roledescription",h("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),o.addListener(E,"blur",function(ne){B||(f.onBlur(ne),V=!1)},f),o.addListener(E,"focus",function(ne){if(!B){if(V=!0,c.isEdge)try{if(!document.hasFocus())return}catch{}f.onFocus(ne),c.isEdge?setTimeout(G):G()}},f),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:f.renderer.enableKeyboardAccessibility}),M||i||this.$focusScroll=="browser")return E.focus({preventScroll:!0});var ne=E.style.top;E.style.position="fixed",E.style.top="0px";try{var we=E.getBoundingClientRect().top!=0}catch{return}var ye=[];if(we)for(var Ae=E.parentElement;Ae&&Ae.nodeType==1;)ye.push(Ae),Ae.setAttribute("ace_nocontext","true"),!Ae.parentElement&&Ae.getRootNode?Ae=Ae.getRootNode().host:Ae=Ae.parentElement;E.focus({preventScroll:!0}),we&&ye.forEach(function(De){De.removeAttribute("ace_nocontext")}),setTimeout(function(){E.style.position="",E.style.top=="0px"&&(E.style.top=ne)},0)},this.blur=function(){E.blur()},this.isFocused=function(){return V},f.on("beforeEndOperation",function(){var ne=f.curOp,we=ne&&ne.command&&ne.command.name;if(we!="insertstring"){var ye=we&&(ne.docChanged||ne.selectionChanged);S&&ye&&(I=E.value="",ee()),G()}}),f.on("changeSelection",this.setAriaLabel);var j=function(ne,we){for(var ye=we,Ae=1;Ae<=ne-O&&Ae<2*N+1;Ae++)ye+=f.session.getLine(ne-Ae).length+1;return ye},G=g?function(ne){if(!(!V||w&&!ne||F)){ne||(ne="");var we=`
ab`+ne+`cde fg
`;we!=E.value&&(E.value=I=we);var ye=4,Ae=4+(ne.length||(f.selection.isEmpty()?0:1));(D!=ye||L!=Ae)&&E.setSelectionRange(ye,Ae),D=ye,L=Ae}}:function(){if(!(S||F)&&!(!V&&!Y)){S=!0;var ne=0,we=0,ye="";if(f.session){var Ae=f.selection,De=Ae.getRange(),Ye=Ae.cursor.row;Ye===P+1?(O=P+1,P=O+2*N):Ye===O-1?(P=O-1,O=P-2*N):(Ye<O-1||Ye>P+1)&&(O=Ye>N?Ye-N:0,P=Ye>N?Ye+N:2*N);for(var Ne=[],ft=O;ft<=P;ft++)Ne.push(f.session.getLine(ft));if(ye=Ne.join(`
`),ne=j(De.start.row,De.start.column),we=j(De.end.row,De.end.column),De.start.row<O){var rt=f.session.getLine(O-1);ne=De.start.row<O-1?0:ne,we+=rt.length+1,ye=rt+`
`+ye}else if(De.end.row>P){var Xe=f.session.getLine(P+1);we=De.end.row>P+1?Xe.length:De.end.column,we+=ye.length+1,ye=ye+`
`+Xe}else k&&Ye>0&&(ye=`
`+ye,we+=1,ne+=1);ye.length>r&&(ne<r&&we<r?ye=ye.slice(0,r):(ye=`
`,ne==we?ne=we=0:(ne=0,we=1)));var $t=ye+`
`;$t!=I&&(E.value=I=$t,D=L=$t.length)}if(Y&&(D=E.selectionStart,L=E.selectionEnd),L!=we||D!=ne||E.selectionEnd!=L)try{E.setSelectionRange(ne,we),D=ne,L=we}catch{}S=!1}};this.resetSelection=G,V&&f.onFocus();var W=function(ne){return ne.selectionStart===0&&ne.selectionEnd>=I.length&&ne.value===I&&I&&ne.selectionEnd!==L},K=function(ne){S||(w?w=!1:W(E)?(f.selectAll(),G()):k&&E.selectionStart!=D&&G())},Q=null;this.setInputHandler=function(ne){Q=ne},this.getInputHandler=function(){return Q};var Y=!1,ae=function(ne,we){if(Y&&(Y=!1),y)return G(),ne&&f.onPaste(ne),y=!1,"";for(var ye=E.selectionStart,Ae=E.selectionEnd,De=D,Ye=I.length-L,Ne=ne,ft=ne.length-ye,rt=ne.length-Ae,Xe=0;De>0&&I[Xe]==ne[Xe];)Xe++,De--;for(Ne=Ne.slice(Xe),Xe=1;Ye>0&&I.length-Xe>D-1&&I[I.length-Xe]==ne[ne.length-Xe];)Xe++,Ye--;ft-=Xe-1,rt-=Xe-1;var $t=Ne.length-Xe+1;if($t<0&&(De=-$t,$t=0),Ne=Ne.slice(0,$t),!we&&!Ne&&!ft&&!De&&!Ye&&!rt)return"";F=!0;var Wt=!1;return c.isAndroid&&Ne==". "&&(Ne=" ",Wt=!0),Ne&&!De&&!Ye&&!ft&&!rt||T?f.onTextInput(Ne):f.onTextInput(Ne,{extendLeft:De,extendRight:Ye,restoreStart:ft,restoreEnd:rt}),F=!1,I=ne,D=ye,L=Ae,H=rt,Wt?`
`:Ne},re=function(ne){if(S)return se();if(ne&&ne.inputType){if(ne.inputType=="historyUndo")return f.execCommand("undo");if(ne.inputType=="historyRedo")return f.execCommand("redo")}var we=E.value,ye=ae(we,!0);(we.length>r+100||C.test(ye)||k&&D<1&&D==L)&&G()},q=function(ne,we,ye){var Ae=ne.clipboardData||window.clipboardData;if(!(!Ae||e)){var De=n||ye?"Text":"text/plain";try{return we?Ae.setData(De,we)!==!1:Ae.getData(De)}catch(Ye){if(!ye)return q(Ye,we,!0)}}},ie=function(ne,we){var ye=f.getCopyText();if(!ye)return o.preventDefault(ne);q(ne,ye)?(g&&(G(ye),w=ye,setTimeout(function(){w=!1},10)),we?f.onCut():f.onCopy(),o.preventDefault(ne)):(w=!0,E.value=ye,E.select(),setTimeout(function(){w=!1,G(),we?f.onCut():f.onCopy()}))},pe=function(ne){ie(ne,!0)},Ie=function(ne){ie(ne,!1)},Oe=function(ne){var we=q(ne);t.pasteCancelled()||(typeof we=="string"?(we&&f.onPaste(we,ne),c.isIE&&setTimeout(G),o.preventDefault(ne)):(E.value="",y=!0))};o.addCommandKeyListener(E,function(ne,we,ye){if(!S)return f.onCommandKey(ne,we,ye)},f),o.addListener(E,"select",K,f),o.addListener(E,"input",re,f),o.addListener(E,"cut",pe,f),o.addListener(E,"copy",Ie,f),o.addListener(E,"paste",Oe,f),(!("oncut"in E)||!("oncopy"in E)||!("onpaste"in E))&&o.addListener(b,"keydown",function(ne){if(!(c.isMac&&!ne.metaKey||!ne.ctrlKey))switch(ne.keyCode){case 67:Ie(ne);break;case 86:Oe(ne);break;case 88:pe(ne)}},f);var Pe=function(ne){if(!(S||!f.onCompositionStart||f.$readOnly)&&(S={},!T)){ne.data&&(S.useTextareaForIME=!1),setTimeout(se,0),f._signal("compositionStart"),f.on("mousedown",_);var we=f.getSelectionRange();we.end.row=we.start.row,we.end.column=we.start.column,S.markerRange=we,S.selectionStart=D,f.onCompositionStart(S),S.useTextareaForIME?(I=E.value="",D=0,L=0):(E.msGetInputContext&&(S.context=E.msGetInputContext()),E.getInputContext&&(S.context=E.getInputContext()))}},se=function(){if(!(!S||!f.onCompositionUpdate||f.$readOnly)){if(T)return _();if(S.useTextareaForIME)f.onCompositionUpdate(E.value);else{var ne=E.value;ae(ne),S.markerRange&&(S.context&&(S.markerRange.start.column=S.selectionStart=S.context.compositionStartOffset),S.markerRange.end.column=S.markerRange.start.column+L-S.selectionStart+H)}}},ee=function(ne){!f.onCompositionEnd||f.$readOnly||(S=!1,f.onCompositionEnd(),f.off("mousedown",_),ne&&re())},ce=a.delayedCall(se,50).schedule.bind(null,null);o.addListener(E,"compositionstart",Pe,f),o.addListener(E,"compositionupdate",se,f),o.addListener(E,"keyup",A,f),o.addListener(E,"keydown",ce,f),o.addListener(E,"compositionend",ee,f),this.getElement=function(){return E},this.setCommandMode=function(ne){T=ne,E.readOnly=!1},this.setReadOnly=function(ne){T||(E.readOnly=ne)},this.setCopyWithEmptySelection=function(ne){},this.onContextMenu=function(ne){Y=!0,G(),f._emit("nativecontextmenu",{target:f,domEvent:ne}),this.moveToMouse(ne,!0)},this.moveToMouse=function(ne,we){M||(M=E.style.cssText),E.style.cssText=(we?"z-index:100000;":"")+(c.isIE?"opacity:0.1;":"")+"text-indent: -"+(D+L)*f.renderer.characterWidth*.5+"px;";var ye=f.container.getBoundingClientRect(),Ae=l.computedStyle(f.container),De=ye.top+(parseInt(Ae.borderTopWidth)||0),Ye=ye.left+(parseInt(ye.borderLeftWidth)||0),Ne=ye.bottom-De-E.clientHeight-2,ft=function(rt){l.translate(E,rt.clientX-Ye-2,Math.min(rt.clientY-De-2,Ne))};ft(ne),ne.type=="mousedown"&&(f.renderer.$isMousePressed=!0,clearTimeout(ge),c.isWin&&o.capture(f.container,ft,$))},this.onContextMenuClose=$;var ge,me=function(ne){f.textInput.onContextMenu(ne),$()};o.addListener(E,"mouseup",me,f),o.addListener(E,"mousedown",function(ne){ne.preventDefault(),$()},f),o.addListener(f.renderer.scroller,"contextmenu",me,f),o.addListener(E,"contextmenu",me,f),g&&v(b,f,E),this.destroy=function(){E.parentElement&&E.parentElement.removeChild(E)}},d.TextInput=m,d.$setUserAgentForTests=function(b,f){k=b,g=f}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(u,d,x){"use strict";function o(e,n,i,r){return Math.sqrt(Math.pow(i-e,2)+Math.pow(r-n,2))}function h(e,n){if(e.start.row==e.end.row)var i=2*n.column-e.start.column-e.end.column;else if(e.start.row==e.end.row-1&&!e.start.column&&!e.end.column)var i=n.column-4;else var i=2*n.row-e.start.row-e.end.row;return i<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var c=u("../lib/useragent"),l=0,a=550,t=function(){function e(n){n.$clickSelection=null;var i=n.editor;i.setDefaultHandler("mousedown",this.onMouseDown.bind(n)),i.setDefaultHandler("dblclick",this.onDoubleClick.bind(n)),i.setDefaultHandler("tripleclick",this.onTripleClick.bind(n)),i.setDefaultHandler("quadclick",this.onQuadClick.bind(n)),i.setDefaultHandler("mousewheel",this.onMouseWheel.bind(n));var r=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];r.forEach(function(s){n[s]=this[s]},this),n.selectByLines=this.extendSelectionBy.bind(n,"getLineRange"),n.selectByWords=this.extendSelectionBy.bind(n,"getWordRange")}return e.prototype.onMouseDown=function(n){var i=n.inSelection(),r=n.getDocumentPosition();this.mousedownEvent=n;var s=this.editor,p=n.getButton();if(p!==0){var g=s.getSelectionRange(),C=g.isEmpty();(C||p==1)&&s.selection.moveToPosition(r),p==2&&(s.textInput.onContextMenu(n.domEvent),c.isMozilla||n.preventDefault());return}if(this.mousedownEvent.time=Date.now(),i&&!s.isFocused()&&(s.focus(),this.$focusTimeout&&!this.$clickSelection&&!s.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(n);return}return this.captureMouse(n),this.startSelect(r,n.domEvent._clicks>1),n.preventDefault()},e.prototype.startSelect=function(n,i){n=n||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var r=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?r.selection.selectToPosition(n):i||r.selection.moveToPosition(n),i||this.select(),r.setStyle("ace_selecting"),this.setState("select"))},e.prototype.select=function(){var n,i=this.editor,r=i.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var s=this.$clickSelection.comparePoint(r);if(s==-1)n=this.$clickSelection.end;else if(s==1)n=this.$clickSelection.start;else{var p=h(this.$clickSelection,r);r=p.cursor,n=p.anchor}i.selection.setSelectionAnchor(n.row,n.column)}i.selection.selectToPosition(r),i.renderer.scrollCursorIntoView()},e.prototype.extendSelectionBy=function(n){var i,r=this.editor,s=r.renderer.screenToTextCoordinates(this.x,this.y),p=r.selection[n](s.row,s.column);if(this.$clickSelection){var g=this.$clickSelection.comparePoint(p.start),C=this.$clickSelection.comparePoint(p.end);if(g==-1&&C<=0)i=this.$clickSelection.end,(p.end.row!=s.row||p.end.column!=s.column)&&(s=p.start);else if(C==1&&g>=0)i=this.$clickSelection.start,(p.start.row!=s.row||p.start.column!=s.column)&&(s=p.end);else if(g==-1&&C==1)s=p.end,i=p.start;else{var k=h(this.$clickSelection,s);s=k.cursor,i=k.anchor}r.selection.setSelectionAnchor(i.row,i.column)}r.selection.selectToPosition(s),r.renderer.scrollCursorIntoView()},e.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},e.prototype.focusWait=function(){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),i=Date.now();(n>l||i-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},e.prototype.onDoubleClick=function(n){var i=n.getDocumentPosition(),r=this.editor,s=r.session,p=s.getBracketRange(i);p?(p.isEmpty()&&(p.start.column--,p.end.column++),this.setState("select")):(p=r.selection.getWordRange(i.row,i.column),this.setState("selectByWords")),this.$clickSelection=p,this.select()},e.prototype.onTripleClick=function(n){var i=n.getDocumentPosition(),r=this.editor;this.setState("selectByLines");var s=r.getSelectionRange();s.isMultiLine()&&s.contains(i.row,i.column)?(this.$clickSelection=r.selection.getLineRange(s.start.row),this.$clickSelection.end=r.selection.getLineRange(s.end.row).end):this.$clickSelection=r.selection.getLineRange(i.row),this.select()},e.prototype.onQuadClick=function(n){var i=this.editor;i.selectAll(),this.$clickSelection=i.getSelectionRange(),this.setState("selectAll")},e.prototype.onMouseWheel=function(n){if(!n.getAccelKey()){n.getShiftKey()&&n.wheelY&&!n.wheelX&&(n.wheelX=n.wheelY,n.wheelY=0);var i=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var r=this.$lastScroll,s=n.domEvent.timeStamp,p=s-r.t,g=p?n.wheelX/p:r.vx,C=p?n.wheelY/p:r.vy;p<a&&(g=(g+r.vx)/2,C=(C+r.vy)/2);var k=Math.abs(g/C),m=!1;if(k>=1&&i.renderer.isScrollableBy(n.wheelX*n.speed,0)&&(m=!0),k<=1&&i.renderer.isScrollableBy(0,n.wheelY*n.speed)&&(m=!0),m)r.allowed=s;else if(s-r.allowed<a){var b=Math.abs(g)<=1.5*Math.abs(r.vx)&&Math.abs(C)<=1.5*Math.abs(r.vy);b?(m=!0,r.allowed=s):r.allowed=0}if(r.t=s,r.vx=g,r.vy=C,m)return i.renderer.scrollBy(n.wheelX*n.speed,n.wheelY*n.speed),n.stop()}},e}();t.prototype.selectEnd=t.prototype.selectByLinesEnd,t.prototype.selectAllEnd=t.prototype.selectByLinesEnd,t.prototype.selectByWordsEnd=t.prototype.selectByLinesEnd,d.DefaultHandlers=t}),ace.define("ace/lib/scroll",["require","exports","module"],function(u,d,x){d.preventParentScroll=function(o){o.stopPropagation();var h=o.currentTarget,c=h.scrollHeight>h.clientHeight;c||o.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(u,d,x){"use strict";var o=this&&this.__extends||function(){var p=function(g,C){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(k,m){k.__proto__=m}||function(k,m){for(var b in m)Object.prototype.hasOwnProperty.call(m,b)&&(k[b]=m[b])},p(g,C)};return function(g,C){function k(){this.constructor=g}if(typeof C!="function"&&C!==null)throw new TypeError("Class extends value "+String(C)+" is not a constructor or null");p(g,C),g.prototype=C===null?Object.create(C):(k.prototype=C.prototype,new k)}}(),h=this&&this.__values||function(p){var g=typeof Symbol=="function"&&Symbol.iterator,C=g&&p[g],k=0;if(C)return C.call(p);if(p&&typeof p.length=="number")return{next:function(){return p&&k>=p.length&&(p=void 0),{value:p&&p[k++],done:!p}}};throw new TypeError(g?"Object is not iterable.":"Symbol.iterator is not defined.")},c=u("./lib/dom"),l=u("./lib/event"),a=u("./range").Range,t=u("./lib/scroll").preventParentScroll,e="ace_tooltip",n=function(){function p(g){this.isOpen=!1,this.$element=null,this.$parentNode=g}return p.prototype.$init=function(){return this.$element=c.createElement("div"),this.$element.className=e,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},p.prototype.getElement=function(){return this.$element||this.$init()},p.prototype.setText=function(g){this.getElement().textContent=g},p.prototype.setHtml=function(g){this.getElement().innerHTML=g},p.prototype.setPosition=function(g,C){this.getElement().style.left=g+"px",this.getElement().style.top=C+"px"},p.prototype.setClassName=function(g){c.addCssClass(this.getElement(),g)},p.prototype.setTheme=function(g){this.$element.className=e+" "+(g.isDark?"ace_dark ":"")+(g.cssClass||"")},p.prototype.show=function(g,C,k){g!=null&&this.setText(g),C!=null&&k!=null&&this.setPosition(C,k),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},p.prototype.hide=function(g){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=e,this.isOpen=!1)},p.prototype.getHeight=function(){return this.getElement().offsetHeight},p.prototype.getWidth=function(){return this.getElement().offsetWidth},p.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},p}(),i=function(){function p(){this.popups=[]}return p.prototype.addPopup=function(g){this.popups.push(g),this.updatePopups()},p.prototype.removePopup=function(g){var C=this.popups.indexOf(g);C!==-1&&(this.popups.splice(C,1),this.updatePopups())},p.prototype.updatePopups=function(){var g,C,k,m;this.popups.sort(function(y,S){return S.priority-y.priority});var b=[];try{for(var f=h(this.popups),_=f.next();!_.done;_=f.next()){var A=_.value,$=!0;try{for(var v=(k=void 0,h(b)),E=v.next();!E.done;E=v.next()){var w=E.value;if(this.doPopupsOverlap(w,A)){$=!1;break}}}catch(y){k={error:y}}finally{try{E&&!E.done&&(m=v.return)&&m.call(v)}finally{if(k)throw k.error}}$?b.push(A):A.hide()}}catch(y){g={error:y}}finally{try{_&&!_.done&&(C=f.return)&&C.call(f)}finally{if(g)throw g.error}}},p.prototype.doPopupsOverlap=function(g,C){var k=g.getElement().getBoundingClientRect(),m=C.getElement().getBoundingClientRect();return k.left<m.right&&k.right>m.left&&k.top<m.bottom&&k.bottom>m.top},p}(),r=new i;d.popupManager=r,d.Tooltip=n;var s=function(p){function g(C){C===void 0&&(C=document.body);var k=p.call(this,C)||this;k.timeout=void 0,k.lastT=0,k.idleTime=350,k.lastEvent=void 0,k.onMouseOut=k.onMouseOut.bind(k),k.onMouseMove=k.onMouseMove.bind(k),k.waitForHover=k.waitForHover.bind(k),k.hide=k.hide.bind(k);var m=k.getElement();return m.style.whiteSpace="pre-wrap",m.style.pointerEvents="auto",m.addEventListener("mouseout",k.onMouseOut),m.tabIndex=-1,m.addEventListener("blur",function(){m.contains(document.activeElement)||this.hide()}.bind(k)),m.addEventListener("wheel",t),k}return o(g,p),g.prototype.addToEditor=function(C){C.on("mousemove",this.onMouseMove),C.on("mousedown",this.hide),C.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},g.prototype.removeFromEditor=function(C){C.off("mousemove",this.onMouseMove),C.off("mousedown",this.hide),C.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},g.prototype.onMouseMove=function(C,k){this.lastEvent=C,this.lastT=Date.now();var m=k.$mouseHandler.isMousePressed;if(this.isOpen){var b=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(b.row,b.column)||m||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||m||(this.lastEvent=C,this.timeout=setTimeout(this.waitForHover,this.idleTime))},g.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var C=Date.now()-this.lastT;if(this.idleTime-C>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-C);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},g.prototype.isOutsideOfText=function(C){var k=C.editor,m=C.getDocumentPosition(),b=k.session.getLine(m.row);if(m.column==b.length){var f=k.renderer.pixelToScreenCoordinates(C.clientX,C.clientY),_=k.session.documentToScreenPosition(m.row,m.column);if(_.column!=f.column||_.row!=f.row)return!0}return!1},g.prototype.setDataProvider=function(C){this.$gatherData=C},g.prototype.showForRange=function(C,k,m,b){var f=10;if(!(b&&b!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var _=C.renderer;this.isOpen||(r.addPopup(this),this.$registerCloseEvents(),this.setTheme(_.theme)),this.isOpen=!0,this.addMarker(k,C.session),this.range=a.fromPoints(k.start,k.end);var A=_.textToScreenCoordinates(k.start.row,k.start.column),$=_.scroller.getBoundingClientRect();A.pageX<$.left&&(A.pageX=$.left);var v=this.getElement();v.innerHTML="",v.appendChild(m),v.style.maxHeight="",v.style.display="block";var E=v.clientHeight,w=v.clientWidth,y=window.innerHeight-A.pageY-_.lineHeight,S=!0;A.pageY-E<0&&A.pageY<y&&(S=!1),v.style.maxHeight=(S?A.pageY:y)-f+"px",v.style.top=S?"":A.pageY+_.lineHeight+"px",v.style.bottom=S?window.innerHeight-A.pageY+"px":"",v.style.left=Math.min(A.pageX,window.innerWidth-w-f)+"px"}},g.prototype.addMarker=function(C,k){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=k,this.marker=k&&k.addMarker(C,"ace_highlight-marker","text")},g.prototype.hide=function(C){!C&&document.activeElement==this.getElement()||C&&C.target&&(C.type!="keydown"||C.ctrlKey||C.metaKey)&&this.$element.contains(C.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,r.removePopup(this)))},g.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},g.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},g.prototype.onMouseOut=function(C){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!C.relatedTarget||this.getElement().contains(C.relatedTarget)||C&&C.currentTarget.contains(C.relatedTarget)||C.relatedTarget.classList.contains("ace_content")||this.hide())},g}(n);d.HoverTooltip=s}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config","ace/lib/lang"],function(u,d,x){"use strict";function o(r){function s(){var _=f.getDocumentPosition().row,A=C.session.getLength();if(_==A){var $=C.renderer.pixelToScreenCoordinates(0,f.y).row,v=f.$pos;if($>C.session.documentToScreenRow(v.row,v.column))return p()}if(m.showTooltip(_),!!m.isOpen)if(C.on("mousewheel",p),r.$tooltipFollowsMouse)g(f);else{var E=f.getGutterRow(),w=k.$lines.get(E);if(w){var y=w.element.querySelector(".ace_gutter_annotation"),S=y.getBoundingClientRect(),F=m.getElement().style;F.left=S.right+"px",F.top=S.bottom+"px"}else g(f)}}function p(){b&&(b=clearTimeout(b)),m.isOpen&&(m.hideTooltip(),C.off("mousewheel",p))}function g(_){m.setPosition(_.x,_.y)}var C=r.editor,k=C.renderer.$gutterLayer,m=new i(C);r.editor.setDefaultHandler("guttermousedown",function(_){if(!(!C.isFocused()||_.getButton()!=0)){var A=k.getRegion(_);if(A!="foldWidgets"){var $=_.getDocumentPosition().row,v=C.session.selection;if(_.getShiftKey())v.selectTo($,0);else{if(_.domEvent.detail==2)return C.selectAll(),_.preventDefault();r.$clickSelection=C.selection.getLineRange($)}return r.setState("selectByLines"),r.captureMouse(_),_.preventDefault()}}});var b,f;r.editor.setDefaultHandler("guttermousemove",function(_){var A=_.domEvent.target||_.domEvent.srcElement;if(l.hasCssClass(A,"ace_fold-widget"))return p();m.isOpen&&r.$tooltipFollowsMouse&&g(_),f=_,!b&&(b=setTimeout(function(){b=null,f&&!r.isMousePressed?s():p()},50))}),a.addListener(C.renderer.$gutter,"mouseout",function(_){f=null,!(!m.isOpen||b)&&(b=setTimeout(function(){b=null,p()},50))},C),C.on("changeSession",p),C.on("input",p)}var h=this&&this.__extends||function(){var r=function(s,p){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,C){g.__proto__=C}||function(g,C){for(var k in C)Object.prototype.hasOwnProperty.call(C,k)&&(g[k]=C[k])},r(s,p)};return function(s,p){function g(){this.constructor=s}if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");r(s,p),s.prototype=p===null?Object.create(p):(g.prototype=p.prototype,new g)}}(),c=this&&this.__values||function(r){var s=typeof Symbol=="function"&&Symbol.iterator,p=s&&r[s],g=0;if(p)return p.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&g>=r.length&&(r=void 0),{value:r&&r[g++],done:!r}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},l=u("../lib/dom"),a=u("../lib/event"),t=u("../tooltip").Tooltip,e=u("../config").nls,n=u("../lib/lang");d.GutterHandler=o;var i=function(r){function s(p){var g=r.call(this,p.container)||this;return g.editor=p,g}return h(s,r),s.prototype.setPosition=function(p,g){var C=window.innerWidth||document.documentElement.clientWidth,k=window.innerHeight||document.documentElement.clientHeight,m=this.getWidth(),b=this.getHeight();p+=15,g+=15,p+m>C&&(p-=p+m-C),g+b>k&&(g-=20+b),t.prototype.setPosition.call(this,p,g)},Object.defineProperty(s,"annotationLabels",{get:function(){return{error:{singular:e("gutter-tooltip.aria-label.error.singular","error"),plural:e("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:e("gutter-tooltip.aria-label.security.singular","security finding"),plural:e("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:e("gutter-tooltip.aria-label.warning.singular","warning"),plural:e("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:e("gutter-tooltip.aria-label.info.singular","information message"),plural:e("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:e("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:e("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),s.prototype.showTooltip=function(p){var g,C=this.editor.renderer.$gutterLayer,k=C.$annotations[p],m;k?m={displayText:Array.from(k.displayText),type:Array.from(k.type)}:m={displayText:[],type:[]};var b=C.session.getFoldLine(p);if(b&&C.$showFoldedAnnotations){for(var f={error:[],security:[],warning:[],info:[],hint:[]},_={error:1,security:2,warning:3,info:4,hint:5},A,$=p+1;$<=b.end.row;$++)if(C.$annotations[$])for(var v=0;v<C.$annotations[$].text.length;v++){var E=C.$annotations[$].type[v];f[E].push(C.$annotations[$].text[v]),(!A||_[E]<_[A])&&(A=E)}if(["error","security","warning"].includes(A)){var w="".concat(s.annotationsToSummaryString(f)," in folded code.");m.displayText.push(w),m.type.push(A+"_fold")}}if(m.displayText.length===0)return this.hide();for(var y={error:[],security:[],warning:[],info:[],hint:[]},S=C.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",$=0;$<m.displayText.length;$++){var F=l.createElement("span"),M=l.createElement("span");(g=M.classList).add.apply(g,["ace_".concat(m.type[$]),S]),M.setAttribute("aria-label","".concat(s.annotationLabels[m.type[$].replace("_fold","")].singular)),M.setAttribute("role","img"),M.appendChild(l.createTextNode(" ")),F.appendChild(M),F.appendChild(l.createTextNode(m.displayText[$])),F.appendChild(l.createElement("br")),y[m.type[$].replace("_fold","")].push(F)}var T=this.getElement();l.removeChildren(T),y.error.forEach(function(B){return T.appendChild(B)}),y.security.forEach(function(B){return T.appendChild(B)}),y.warning.forEach(function(B){return T.appendChild(B)}),y.info.forEach(function(B){return T.appendChild(B)}),y.hint.forEach(function(B){return T.appendChild(B)}),T.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.editor._signal("showGutterTooltip",this)},s.prototype.hideTooltip=function(){this.$element.removeAttribute("aria-live"),this.hide(),this.editor._signal("hideGutterTooltip",this)},s.annotationsToSummaryString=function(p){var g,C,k=[],m=["error","security","warning","info","hint"];try{for(var b=c(m),f=b.next();!f.done;f=b.next()){var _=f.value;if(p[_].length){var A=p[_].length===1?s.annotationLabels[_].singular:s.annotationLabels[_].plural;k.push("".concat(p[_].length," ").concat(A))}}}catch($){g={error:$}}finally{try{f&&!f.done&&(C=b.return)&&C.call(b)}finally{if(g)throw g.error}}return k.join(", ")},s}(t);d.GutterTooltip=i}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../lib/useragent"),c=function(){function l(a,t){this.speed,this.wheelX,this.wheelY,this.domEvent=a,this.editor=t,this.x=this.clientX=a.clientX,this.y=this.clientY=a.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return l.prototype.stopPropagation=function(){o.stopPropagation(this.domEvent),this.propagationStopped=!0},l.prototype.preventDefault=function(){o.preventDefault(this.domEvent),this.defaultPrevented=!0},l.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},l.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},l.prototype.getGutterRow=function(){var a=this.getDocumentPosition().row,t=this.editor.session.documentToScreenRow(a,0),e=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return t-e},l.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var a=this.editor,t=a.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var e=this.getDocumentPosition();this.$inSelection=t.contains(e.row,e.column)}return this.$inSelection},l.prototype.getButton=function(){return o.getButton(this.domEvent)},l.prototype.getShiftKey=function(){return this.domEvent.shiftKey},l.prototype.getAccelKey=function(){return h.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},l}();d.MouseEvent=c}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(u,d,x){"use strict";function o(i){function r(O,P){var N=Date.now(),V=!P||O.row!=P.row,j=!P||O.column!=P.column;if(!D||V||j)f.moveCursorToPosition(O),D=N,L={x:E,y:w};else{var G=h(L.x,L.y,E,w);G>n?D=null:N-D>=e&&(f.renderer.scrollCursorIntoView(),D=null)}}function s(O,P){var N=Date.now(),V=f.renderer.layerConfig.lineHeight,j=f.renderer.layerConfig.characterWidth,G=f.renderer.scroller.getBoundingClientRect(),W={x:{left:E-G.left,right:G.right-E},y:{top:w-G.top,bottom:G.bottom-w}},K=Math.min(W.x.left,W.x.right),Q=Math.min(W.y.top,W.y.bottom),Y={row:O.row,column:O.column};K/j<=2&&(Y.column+=W.x.left<W.x.right?-3:2),Q/V<=1&&(Y.row+=W.y.top<W.y.bottom?-1:1);var ae=O.row!=Y.row,re=O.column!=Y.column,q=!P||O.row!=P.row;ae||re&&!q?I?N-I>=t&&f.renderer.scrollCursorIntoView(Y):I=N:I=null}function p(){var O=F;F=f.renderer.screenToTextCoordinates(E,w),r(F,O),s(F,O)}function g(){S=f.selection.toOrientedRange(),v=f.session.addMarker(S,"ace_selection",f.getSelectionStyle()),f.clearSelection(),f.isFocused()&&f.renderer.$cursorLayer.setBlinking(!1),clearInterval(y),p(),y=setInterval(p,20),M=0,l.addListener(document,"mousemove",k)}function C(){clearInterval(y),f.session.removeMarker(v),v=null,f.selection.fromOrientedRange(S),f.isFocused()&&!B&&f.$resetCursorStyle(),S=null,F=null,M=0,I=null,D=null,l.removeListener(document,"mousemove",k)}function k(){H==null&&(H=setTimeout(function(){H!=null&&v&&C()},20))}function m(O){var P=O.types;return!P||Array.prototype.some.call(P,function(N){return N=="text/plain"||N=="Text"})}function b(O){var P=["copy","copymove","all","uninitialized"],N=["move","copymove","linkmove","all","uninitialized"],V=a.isMac?O.altKey:O.ctrlKey,j="uninitialized";try{j=O.dataTransfer.effectAllowed.toLowerCase()}catch{}var G="none";return V&&P.indexOf(j)>=0?G="copy":N.indexOf(j)>=0?G="move":P.indexOf(j)>=0&&(G="copy"),G}var f=i.editor,_=c.createElement("div");_.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",_.textContent="\xA0";var A=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];A.forEach(function(O){i[O]=this[O]},this),f.on("mousedown",this.onMouseDown.bind(i));var $=f.container,v,E,w,y,S,F,M=0,T,B,I,D,L;this.onDragStart=function(O){if(this.cancelDrag||!$.draggable){var P=this;return setTimeout(function(){P.startSelect(),P.captureMouse(O)},0),O.preventDefault()}S=f.getSelectionRange();var N=O.dataTransfer;N.effectAllowed=f.getReadOnly()?"copy":"copyMove",f.container.appendChild(_),N.setDragImage&&N.setDragImage(_,0,0),setTimeout(function(){f.container.removeChild(_)}),N.clearData(),N.setData("Text",f.session.getTextRange()),B=!0,this.setState("drag")},this.onDragEnd=function(O){if($.draggable=!1,B=!1,this.setState(null),!f.getReadOnly()){var P=O.dataTransfer.dropEffect;!T&&P=="move"&&f.session.remove(f.getSelectionRange()),f.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(O){if(!(f.getReadOnly()||!m(O.dataTransfer)))return E=O.clientX,w=O.clientY,v||g(),M++,O.dataTransfer.dropEffect=T=b(O),l.preventDefault(O)},this.onDragOver=function(O){if(!(f.getReadOnly()||!m(O.dataTransfer)))return E=O.clientX,w=O.clientY,v||(g(),M++),H!==null&&(H=null),O.dataTransfer.dropEffect=T=b(O),l.preventDefault(O)},this.onDragLeave=function(O){if(M--,M<=0&&v)return C(),T=null,l.preventDefault(O)},this.onDrop=function(O){if(F){var P=O.dataTransfer;if(B)switch(T){case"move":S.contains(F.row,F.column)?S={start:F,end:F}:S=f.moveText(S,F);break;case"copy":S=f.moveText(S,F,!0)}else{var N=P.getData("Text");S={start:F,end:f.session.insert(F,N)},f.focus(),T=null}return C(),l.preventDefault(O)}},l.addListener($,"dragstart",this.onDragStart.bind(i),f),l.addListener($,"dragend",this.onDragEnd.bind(i),f),l.addListener($,"dragenter",this.onDragEnter.bind(i),f),l.addListener($,"dragover",this.onDragOver.bind(i),f),l.addListener($,"dragleave",this.onDragLeave.bind(i),f),l.addListener($,"drop",this.onDrop.bind(i),f);var H=null}function h(i,r,s,p){return Math.sqrt(Math.pow(s-i,2)+Math.pow(p-r,2))}var c=u("../lib/dom"),l=u("../lib/event"),a=u("../lib/useragent"),t=200,e=200,n=5;(function(){this.dragWait=function(){var i=Date.now()-this.mousedownEvent.time;i>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var i=this.editor.container;i.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(i){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var i=this.editor,r=i.container;r.draggable=!0,i.renderer.$cursorLayer.setBlinking(!1),i.setStyle("ace_dragging");var s=a.isWin?"default":"move";i.renderer.setCursorStyle(s),this.setState("dragReady")},this.onMouseDrag=function(i){var r=this.editor.container;if(a.isIE&&this.state=="dragReady"){var s=h(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);s>3&&r.dragDrop()}if(this.state==="dragWait"){var s=h(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);s>0&&(r.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(i){if(this.$dragEnabled){this.mousedownEvent=i;var r=this.editor,s=i.inSelection(),p=i.getButton(),g=i.domEvent.detail||1;if(g===1&&p===0&&s){if(i.editor.inMultiSelectMode&&(i.getAccelKey()||i.getShiftKey()))return;this.mousedownEvent.time=Date.now();var C=i.domEvent.target||i.domEvent.srcElement;if("unselectable"in C&&(C.unselectable="on"),r.getDragDelay()){if(a.isWebKit){this.cancelDrag=!0;var k=r.container;k.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(i,this.onMouseDrag.bind(this)),i.defaultPrevented=!0}}}}).call(o.prototype),d.DragdropHandler=o}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(u,d,x){"use strict";var o=u("./mouse_event").MouseEvent,h=u("../lib/event"),c=u("../lib/dom");d.addTouchListeners=function(l,a){function t(){var S=window.navigator&&window.navigator.clipboard,F=!1,M=function(){var I=a.getCopyText(),D=a.session.getUndoManager().hasUndo();y.replaceChild(c.buildDom(F?["span",!I&&T("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],I&&T("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],I&&T("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],S&&T("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],D&&T("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],T("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],T("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),y.firstChild)},T=function(I){return a.commands.canExecute(I,a)},B=function(I){var D=I.target.getAttribute("action");if(D=="more"||!F)return F=!F,M();D=="paste"?S.readText().then(function(L){a.execCommand(D,L)}):D&&((D=="cut"||D=="copy")&&(S?S.writeText(a.getCopyText()):document.execCommand("copy")),a.execCommand(D)),y.firstChild.style.display="none",F=!1,D!="openCommandPalette"&&a.focus()};y=c.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(I){p="menu",I.stopPropagation(),I.preventDefault(),a.textInput.focus()},ontouchend:function(I){I.stopPropagation(),I.preventDefault(),B(I)},onclick:B},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],a.container)}function e(){if(!a.getOption("enableMobileMenu")){y&&n();return}y||t();var S=a.selection.cursor,F=a.renderer.textToScreenCoordinates(S.row,S.column),M=a.renderer.textToScreenCoordinates(0,0).pageX,T=a.renderer.scrollLeft,B=a.container.getBoundingClientRect();y.style.top=F.pageY-B.top-3+"px",F.pageX-B.left<B.width-70?(y.style.left="",y.style.right="10px"):(y.style.right="",y.style.left=M+T-B.left+"px"),y.style.display="",y.firstChild.style.display="none",a.on("input",n)}function n(S){y&&(y.style.display="none"),a.off("input",n)}function i(){b=null,clearTimeout(b);var S=a.selection.getRange(),F=S.contains(A.row,A.column);(S.isEmpty()||!F)&&(a.selection.moveToPosition(A),a.selection.selectWord()),p="wait",e()}function r(){b=null,clearTimeout(b),a.selection.moveToPosition(A);var S=$>=2?a.selection.getLineRange(A.row):a.session.getBracketRange(A);S&&!S.isEmpty()?a.selection.setRange(S):a.selection.selectWord(),p="wait"}function s(){_+=60,f=setInterval(function(){_--<=0&&(clearInterval(f),f=null),Math.abs(v)<.01&&(v=0),Math.abs(E)<.01&&(E=0),_<20&&(v=.9*v),_<20&&(E=.9*E);var S=a.session.getScrollTop();a.renderer.scrollBy(10*v,10*E),S==a.session.getScrollTop()&&(_=0)},10)}var p="scroll",g,C,k,m,b,f,_=0,A,$=0,v=0,E=0,w,y;h.addListener(l,"contextmenu",function(S){if(w){var F=a.textInput.getElement();F.focus()}},a),h.addListener(l,"touchstart",function(S){var F=S.touches;if(b||F.length>1){clearTimeout(b),b=null,k=-1,p="zoom";return}w=a.$mouseHandler.isMousePressed=!0;var M=a.renderer.layerConfig.lineHeight,T=a.renderer.layerConfig.lineHeight,B=S.timeStamp;m=B;var I=F[0],D=I.clientX,L=I.clientY;Math.abs(g-D)+Math.abs(C-L)>M&&(k=-1),g=S.clientX=D,C=S.clientY=L,v=E=0;var H=new o(S,a);if(A=H.getDocumentPosition(),B-k<500&&F.length==1&&!_)$++,S.preventDefault(),S.button=0,r();else{$=0;var O=a.selection.cursor,P=a.selection.isEmpty()?O:a.selection.anchor,N=a.renderer.$cursorLayer.getPixelPosition(O,!0),V=a.renderer.$cursorLayer.getPixelPosition(P,!0),j=a.renderer.scroller.getBoundingClientRect(),G=a.renderer.layerConfig.offset,W=a.renderer.scrollLeft,K=function(ae,re){return ae/=T,re=re/M-.75,ae*ae+re*re};if(S.clientX<j.left){p="zoom";return}var Q=K(S.clientX-j.left-N.left+W,S.clientY-j.top-N.top+G),Y=K(S.clientX-j.left-V.left+W,S.clientY-j.top-V.top+G);Q<3.5&&Y<3.5&&(p=Q>Y?"cursor":"anchor"),Y<3.5?p="anchor":Q<3.5?p="cursor":p="scroll",b=setTimeout(i,450)}k=B},a),h.addListener(l,"touchend",function(S){w=a.$mouseHandler.isMousePressed=!1,f&&clearInterval(f),p=="zoom"?(p="",_=0):b?(a.selection.moveToPosition(A),_=0,e()):p=="scroll"?(s(),n()):e(),clearTimeout(b),b=null},a),h.addListener(l,"touchmove",function(S){b&&(clearTimeout(b),b=null);var F=S.touches;if(!(F.length>1||p=="zoom")){var M=F[0],T=g-M.clientX,B=C-M.clientY;if(p=="wait"){if(!(T*T+B*B>4))return S.preventDefault();p="cursor"}g=M.clientX,C=M.clientY,S.clientX=M.clientX,S.clientY=M.clientY;var I=S.timeStamp,D=I-m;if(m=I,p=="scroll"){var L=new o(S,a);L.speed=1,L.wheelX=T,L.wheelY=B,10*Math.abs(T)<Math.abs(B)&&(T=0),10*Math.abs(B)<Math.abs(T)&&(B=0),D!=0&&(v=T/D,E=B/D),a._emit("mousewheel",L),L.propagationStopped||(v=E=0)}else{var H=new o(S,a),O=H.getDocumentPosition();p=="cursor"?a.selection.moveCursorToPosition(O):p=="anchor"&&a.selection.setSelectionAnchor(O.row,O.column),a.renderer.scrollCursorIntoView(O),S.preventDefault()}}},a)}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../lib/useragent"),c=u("./default_handlers").DefaultHandlers,l=u("./default_gutter_handler").GutterHandler,a=u("./mouse_event").MouseEvent,t=u("./dragdrop_handler").DragdropHandler,e=u("./touch_handler").addTouchListeners,n=u("../config"),i=function(){function r(s){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var p=this;this.editor=s,new c(this),new l(this),new t(this);var g=function(m){var b=!document.hasFocus||!document.hasFocus()||!s.isFocused()&&document.activeElement==(s.textInput&&s.textInput.getElement());b&&window.focus(),s.focus(),setTimeout(function(){s.isFocused()||s.focus()})},C=s.renderer.getMouseEventTarget();o.addListener(C,"click",this.onMouseEvent.bind(this,"click"),s),o.addListener(C,"mousemove",this.onMouseMove.bind(this,"mousemove"),s),o.addMultiMouseDownListener([C,s.renderer.scrollBarV&&s.renderer.scrollBarV.inner,s.renderer.scrollBarH&&s.renderer.scrollBarH.inner,s.textInput&&s.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",s),o.addMouseWheelListener(s.container,this.onMouseWheel.bind(this,"mousewheel"),s),e(s.container,s);var k=s.renderer.$gutter;o.addListener(k,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),s),o.addListener(k,"click",this.onMouseEvent.bind(this,"gutterclick"),s),o.addListener(k,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),s),o.addListener(k,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),s),o.addListener(C,"mousedown",g,s),o.addListener(k,"mousedown",g,s),h.isIE&&s.renderer.scrollBarV&&(o.addListener(s.renderer.scrollBarV.element,"mousedown",g,s),o.addListener(s.renderer.scrollBarH.element,"mousedown",g,s)),s.on("mousemove",function(m){if(!(p.state||p.$dragDelay||!p.$dragEnabled)){var b=s.renderer.screenToTextCoordinates(m.x,m.y),f=s.session.selection.getRange(),_=s.renderer;!f.isEmpty()&&f.insideStart(b.row,b.column)?_.setCursorStyle("default"):_.setCursorStyle("")}},s)}return r.prototype.onMouseEvent=function(s,p){this.editor.session&&this.editor._emit(s,new a(p,this.editor))},r.prototype.onMouseMove=function(s,p){var g=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!g||!g.length||this.editor._emit(s,new a(p,this.editor))},r.prototype.onMouseWheel=function(s,p){var g=new a(p,this.editor);g.speed=this.$scrollSpeed*2,g.wheelX=p.wheelX,g.wheelY=p.wheelY,this.editor._emit(s,g)},r.prototype.setState=function(s){this.state=s},r.prototype.captureMouse=function(s,p){this.x=s.x,this.y=s.y,this.isMousePressed=!0;var g=this.editor,C=this.editor.renderer;C.$isMousePressed=!0;var k=this,m=function($){if($){if(h.isWebKit&&!$.which&&k.releaseMouse)return k.releaseMouse();k.x=$.clientX,k.y=$.clientY,p&&p($),k.mouseEvent=new a($,k.editor),k.$mouseMoved=!0}},b=function($){g.off("beforeEndOperation",_),clearInterval(A),g.session&&f(),k[k.state+"End"]&&k[k.state+"End"]($),k.state="",k.isMousePressed=C.$isMousePressed=!1,C.$keepTextAreaAtCursor&&C.$moveTextAreaToCursor(),k.$onCaptureMouseMove=k.releaseMouse=null,$&&k.onMouseEvent("mouseup",$),g.endOperation()},f=function(){k[k.state]&&k[k.state](),k.$mouseMoved=!1};if(h.isOldIE&&s.domEvent.type=="dblclick")return setTimeout(function(){b(s)});var _=function($){k.releaseMouse&&g.curOp.command.name&&g.curOp.selectionChanged&&(k[k.state+"End"]&&k[k.state+"End"](),k.state="",k.releaseMouse())};g.on("beforeEndOperation",_),g.startOperation({command:{name:"mouse"}}),k.$onCaptureMouseMove=m,k.releaseMouse=o.capture(this.editor.container,m,b);var A=setInterval(f,20)},r.prototype.cancelContextMenu=function(){var s=function(p){p&&p.domEvent&&p.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",s),p&&p.domEvent&&o.stopEvent(p.domEvent))}.bind(this);setTimeout(s,10),this.editor.on("nativecontextmenu",s)},r.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},r}();i.prototype.releaseMouse=null,n.defineOptions(i.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:h.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),d.MouseHandler=i}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=function(){function c(l){l.on("click",function(a){var t=a.getDocumentPosition(),e=l.session,n=e.getFoldAt(t.row,t.column,1);n&&(a.getAccelKey()?e.removeFold(n):e.expandFold(n),a.stop());var i=a.domEvent&&a.domEvent.target;i&&o.hasCssClass(i,"ace_inline_button")&&o.hasCssClass(i,"ace_toggle_wrap")&&(e.setOption("wrap",!e.getUseWrapMode()),l.renderer.scrollCursorIntoView())}),l.on("gutterclick",function(a){var t=l.renderer.$gutterLayer.getRegion(a);if(t=="foldWidgets"){var e=a.getDocumentPosition().row,n=l.session;n.foldWidgets&&n.foldWidgets[e]&&l.session.onFoldWidgetClick(e,a),l.isFocused()||l.focus(),a.stop()}}),l.on("gutterdblclick",function(a){var t=l.renderer.$gutterLayer.getRegion(a);if(t=="foldWidgets"){var e=a.getDocumentPosition().row,n=l.session,i=n.getParentFoldRangeData(e,!0),r=i.range||i.firstRange;if(r){e=r.start.row;var s=n.getFoldAt(e,n.getLine(e).length,1);s?n.removeFold(s):(n.addFold("...",r),l.renderer.scrollCursorIntoView({row:r.start.row,column:0}))}a.stop()}})}return c}();d.FoldHandler=h}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(u,d,x){"use strict";var o=u("../lib/keys"),h=u("../lib/event"),c=function(){function l(a){this.$editor=a,this.$data={editor:a},this.$handlers=[],this.setDefaultHandler(a.commands)}return l.prototype.setDefaultHandler=function(a){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=a,this.addKeyboardHandler(a,0)},l.prototype.setKeyboardHandler=function(a){var t=this.$handlers;if(t[t.length-1]!=a){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(a,1)}},l.prototype.addKeyboardHandler=function(a,t){if(a){typeof a=="function"&&!a.handleKeyboard&&(a.handleKeyboard=a);var e=this.$handlers.indexOf(a);e!=-1&&this.$handlers.splice(e,1),t==null?this.$handlers.push(a):this.$handlers.splice(t,0,a),e==-1&&a.attach&&a.attach(this.$editor)}},l.prototype.removeKeyboardHandler=function(a){var t=this.$handlers.indexOf(a);return t==-1?!1:(this.$handlers.splice(t,1),a.detach&&a.detach(this.$editor),!0)},l.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},l.prototype.getStatusText=function(){var a=this.$data,t=a.editor;return this.$handlers.map(function(e){return e.getStatusText&&e.getStatusText(t,a)||""}).filter(Boolean).join(" ")},l.prototype.$callKeyboardHandlers=function(a,t,e,n){for(var i,r=!1,s=this.$editor.commands,p=this.$handlers.length;p--&&(i=this.$handlers[p].handleKeyboard(this.$data,a,t,e,n),!(!(!i||!i.command)&&(i.command=="null"?r=!0:r=s.exec(i.command,this.$editor,i.args,n),r&&n&&a!=-1&&i.passEvent!=1&&i.command.passEvent!=1&&h.stopEvent(n),r))););return!r&&a==-1&&(i={command:"insertstring"},r=s.exec("insertstring",this.$editor,t)),r&&this.$editor._signal&&this.$editor._signal("keyboardActivity",i),r},l.prototype.onCommandKey=function(a,t,e){var n=o.keyCodeToString(e);return this.$callKeyboardHandlers(t,n,e,a)},l.prototype.onTextInput=function(a){return this.$callKeyboardHandlers(-1,a)},l}();d.KeyBinding=c}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(u,d,x){"use strict";function o(W,K,Q,Y){var ae=n?b:m,re=null,q=null,ie=null,pe=0,Ie=null,Oe=null,Pe=-1,se=null,ee=null,ce=[];if(!Y)for(se=0,Y=[];se<Q;se++)Y[se]=l(W[se]);for(i=n,r=!1,s=!1,p=!1,g=!1,ee=0;ee<Q;ee++){if(re=pe,ce[ee]=q=c(W,Y,ce,ee),pe=ae[re][q],Ie=pe&240,pe&=15,K[ee]=ie=ae[pe][5],Ie>0)if(Ie==16){for(se=Pe;se<ee;se++)K[se]=1;Pe=-1}else Pe=-1;if(Oe=ae[pe][6],Oe)Pe==-1&&(Pe=ee);else if(Pe>-1){for(se=Pe;se<ee;se++)K[se]=ie;Pe=-1}Y[ee]==y&&(K[ee]=0),i|=ie}if(g){for(se=0;se<Q;se++)if(Y[se]==S){K[se]=n;for(var ge=se-1;ge>=0&&Y[ge]==M;ge--)K[ge]=n}}}function h(W,K,Q){if(!(i<W)){if(W==1&&n==_&&!p){Q.reverse();return}for(var Y=Q.length,ae=0,re,q,ie,pe;ae<Y;){if(K[ae]>=W){for(re=ae+1;re<Y&&K[re]>=W;)re++;for(q=ae,ie=re-1;q<ie;q++,ie--)pe=Q[q],Q[q]=Q[ie],Q[ie]=pe;ae=re}ae++}}}function c(W,K,Q,Y){var ae=K[Y],re,q,ie,pe;switch(ae){case A:case $:r=!1;case w:case E:return ae;case v:return r?E:v;case F:return r=!0,s=!0,$;case M:return w;case T:return Y<1||Y+1>=K.length||(re=Q[Y-1])!=v&&re!=E||(q=K[Y+1])!=v&&q!=E?w:(r&&(q=E),q==re?q:w);case B:return re=Y>0?Q[Y-1]:y,re==v&&Y+1<K.length&&K[Y+1]==v?v:w;case I:if(Y>0&&Q[Y-1]==v)return v;if(r)return w;for(pe=Y+1,ie=K.length;pe<ie&&K[pe]==I;)pe++;return pe<ie&&K[pe]==v?v:w;case D:for(ie=K.length,pe=Y+1;pe<ie&&K[pe]==D;)pe++;if(pe<ie){var Ie=W[Y],Oe=Ie>=1425&&Ie<=2303||Ie==64286;if(re=K[pe],Oe&&(re==$||re==F))return $}return Y<1||(re=K[Y-1])==y?w:Q[Y-1];case y:return r=!1,p=!0,n;case S:return g=!0,w;case L:case H:case P:case N:case O:r=!1;case V:return w}}function l(W){var K=W.charCodeAt(0),Q=K>>8;return Q==0?K>191?A:j[K]:Q==5?/[\u0591-\u05f4]/.test(W)?$:A:Q==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(W)?D:/[\u0660-\u0669\u066b-\u066c]/.test(W)?E:K==1642?I:/[\u06f0-\u06f9]/.test(W)?v:F:Q==32&&K<=8287?G[K&255]:Q==254&&K>=65136?F:w}function a(W){return W>="\u064B"&&W<="\u0655"}var t=["\u0621","\u0641"],e=["\u063A","\u064A"],n=0,i=0,r=!1,s=!1,p=!1,g=!1,C=!1,k=!1,m=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],b=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f=0,_=1,A=0,$=1,v=2,E=3,w=4,y=5,S=6,F=7,M=8,T=9,B=10,I=11,D=12,L=13,H=14,O=15,P=16,N=17,V=18,j=[V,V,V,V,V,V,V,V,V,S,y,S,M,y,V,V,V,V,V,V,V,V,V,V,V,V,V,V,y,y,y,S,M,w,w,I,I,I,w,w,w,w,w,B,T,B,T,T,v,v,v,v,v,v,v,v,v,v,T,w,w,w,w,w,w,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,w,w,w,w,w,w,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,A,w,w,w,w,V,V,V,V,V,V,y,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,V,T,w,I,I,I,I,w,w,w,w,A,w,w,V,w,w,I,I,v,v,w,A,w,w,w,v,A,w,w,w,w,w],G=[M,M,M,M,M,M,M,M,M,M,M,V,V,V,A,$,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,M,y,L,H,O,P,N,T,I,I,I,I,I,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,T,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,w,M];d.L=A,d.R=$,d.EN=v,d.ON_R=3,d.AN=4,d.R_H=5,d.B=6,d.RLE=7,d.DOT="\xB7",d.doBidiReorder=function(W,K,Q){if(W.length<2)return{};var Y=W.split(""),ae=new Array(Y.length),re=new Array(Y.length),q=[];n=Q?_:f,o(Y,q,Y.length,K);for(var ie=0;ie<ae.length;ae[ie]=ie,ie++);h(2,q,ae),h(1,q,ae);for(var ie=0;ie<ae.length-1;ie++)K[ie]===E?q[ie]=d.AN:q[ie]===$&&(K[ie]>F&&K[ie]<L||K[ie]===w||K[ie]===V)?q[ie]=d.ON_R:ie>0&&Y[ie-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(Y[ie])&&(q[ie-1]=q[ie]=d.R_H,ie++);Y[Y.length-1]===d.DOT&&(q[Y.length-1]=d.B),Y[0]==="\u202B"&&(q[0]=d.RLE);for(var ie=0;ie<ae.length;ie++)re[ie]=q[ae[ie]];return{logicalFromVisual:ae,bidiLevels:re}},d.hasBidiCharacters=function(W,K){for(var Q=!1,Y=0;Y<W.length;Y++)K[Y]=l(W.charAt(Y)),!Q&&(K[Y]==$||K[Y]==F||K[Y]==E)&&(Q=!0);return Q},d.getVisualFromLogicalIdx=function(W,K){for(var Q=0;Q<K.logicalFromVisual.length;Q++)if(K.logicalFromVisual[Q]==W)return Q;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(u,d,x){"use strict";var o=u("./lib/bidiutil"),h=u("./lib/lang"),c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,l=function(){function a(t){this.session=t,this.bidiMap={},this.currentRow=null,this.bidiUtil=o,this.charWidths=[],this.EOL="\xAC",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="\xB6",this.RLE="\u202B",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=c.test(t.getValue())}return a.prototype.isBidiRow=function(t,e,n){return this.seenBidi?(t!==this.currentRow&&(this.currentRow=t,this.updateRowLine(e,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},a.prototype.onChange=function(t){this.seenBidi?this.currentRow=null:t.action=="insert"&&c.test(t.lines.join(`
`))&&(this.seenBidi=!0,this.currentRow=null)},a.prototype.getDocumentRow=function(){var t=0,e=this.session.$screenRowCache;if(e.length){var n=this.session.$getRowCacheIndex(e,this.currentRow);n>=0&&(t=this.session.$docRowCache[n])}return t},a.prototype.getSplitIndex=function(){var t=0,e=this.session.$screenRowCache;if(e.length)for(var n,i=this.session.$getRowCacheIndex(e,this.currentRow);this.currentRow-t>0&&(n=this.session.$getRowCacheIndex(e,this.currentRow-t-1),n===i);)i=n,t++;else t=this.currentRow;return t},a.prototype.updateRowLine=function(t,e){t===void 0&&(t=this.getDocumentRow());var n=t===this.session.getLength()-1,i=n?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(t),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var r=this.session.$wrapData[t];r&&(e===void 0&&(e=this.getSplitIndex()),e>0&&r.length?(this.wrapIndent=r.indent,this.wrapOffset=this.wrapIndent*this.charWidths[o.L],this.line=e<r.length?this.line.substring(r[e-1],r[e]):this.line.substring(r[r.length-1])):this.line=this.line.substring(0,r[e]),e==r.length&&(this.line+=this.showInvisibles?i:o.DOT))}else this.line+=this.showInvisibles?i:o.DOT;var s=this.session,p=0,g;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(C,k){return C===" "||s.isFullWidth(C.charCodeAt(0))?(g=C===" "?s.getScreenTabSize(k+p):2,p+=g-1,h.stringRepeat(o.DOT,g)):C}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==o.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},a.prototype.updateBidiMap=function(){var t=[];o.hasBidiCharacters(this.line,t)||this.isRtlDir?this.bidiMap=o.doBidiReorder(this.line,t,this.isRtlDir):this.bidiMap={}},a.prototype.markAsDirty=function(){this.currentRow=null},a.prototype.updateCharacterWidths=function(t){if(this.characterWidth!==t.$characterSize.width){this.fontMetrics=t;var e=this.characterWidth=t.$characterSize.width,n=t.$measureCharWidth("\u05D4");this.charWidths[o.L]=this.charWidths[o.EN]=this.charWidths[o.ON_R]=e,this.charWidths[o.R]=this.charWidths[o.AN]=n,this.charWidths[o.R_H]=n*.45,this.charWidths[o.B]=this.charWidths[o.RLE]=0,this.currentRow=null}},a.prototype.setShowInvisibles=function(t){this.showInvisibles=t,this.currentRow=null},a.prototype.setEolChar=function(t){this.EOL=t},a.prototype.setContentWidth=function(t){this.contentWidth=t},a.prototype.isRtlLine=function(t){return this.$isRtl?!0:t!=null?this.session.getLine(t).charAt(0)==this.RLE:this.isRtlDir},a.prototype.setRtlDirection=function(t,e){for(var n=t.getCursorPosition(),i=t.selection.getSelectionAnchor().row;i<=n.row;i++)!e&&t.session.getLine(i).charAt(0)===t.session.$bidiHandler.RLE?t.session.doc.removeInLine(i,0,1):e&&t.session.getLine(i).charAt(0)!==t.session.$bidiHandler.RLE&&t.session.doc.insert({column:0,row:i},t.session.$bidiHandler.RLE)},a.prototype.getPosLeft=function(t){t-=this.wrapIndent;var e=this.line.charAt(0)===this.RLE?1:0,n=t>e?this.session.getOverwrite()?t:t-1:e,i=o.getVisualFromLogicalIdx(n,this.bidiMap),r=this.bidiMap.bidiLevels,s=0;!this.session.getOverwrite()&&t<=e&&r[i]%2!==0&&i++;for(var p=0;p<i;p++)s+=this.charWidths[r[p]];return!this.session.getOverwrite()&&t>e&&r[i]%2===0&&(s+=this.charWidths[r[i]]),this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(s+=this.rtlLineOffset),s},a.prototype.getSelections=function(t,e){var n=this.bidiMap,i=n.bidiLevels,r,s=[],p=0,g=Math.min(t,e)-this.wrapIndent,C=Math.max(t,e)-this.wrapIndent,k=!1,m=!1,b=0;this.wrapIndent&&(p+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var f,_=0;_<i.length;_++)f=n.logicalFromVisual[_],r=i[_],k=f>=g&&f<C,k&&!m?b=p:!k&&m&&s.push({left:b,width:p-b}),p+=this.charWidths[r],m=k;if(k&&_===i.length&&s.push({left:b,width:p-b}),this.isRtlDir)for(var A=0;A<s.length;A++)s[A].left+=this.rtlLineOffset;return s},a.prototype.offsetToCol=function(n){this.isRtlDir&&(n-=this.rtlLineOffset);var e=0,n=Math.max(n,0),i=0,r=0,s=this.bidiMap.bidiLevels,p=this.charWidths[s[r]];for(this.wrapIndent&&(n-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);n>i+p/2;){if(i+=p,r===s.length-1){p=0;break}p=this.charWidths[s[++r]]}return r>0&&s[r-1]%2!==0&&s[r]%2===0?(n<i&&r--,e=this.bidiMap.logicalFromVisual[r]):r>0&&s[r-1]%2===0&&s[r]%2!==0?e=1+(n>i?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===s.length-1&&p===0&&s[r-1]%2===0||!this.isRtlDir&&r===0&&s[r]%2!==0?e=1+this.bidiMap.logicalFromVisual[r]:(r>0&&s[r-1]%2!==0&&p!==0&&r--,e=this.bidiMap.logicalFromVisual[r]),e===0&&this.isRtlDir&&e++,e+this.wrapIndent},a}();d.BidiHandler=l}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/lang"),c=u("./lib/event_emitter").EventEmitter,l=u("./range").Range,a=function(){function t(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var n=this;this.cursor.on("change",function(i){n.$cursorChanged=!0,n.$silent||n._emit("changeCursor"),!n.$isEmpty&&!n.$silent&&n._emit("changeSelection"),!n.$keepDesiredColumnOnChange&&i.old.column!=i.value.column&&(n.$desiredColumn=null)}),this.anchor.on("change",function(){n.$anchorChanged=!0,!n.$isEmpty&&!n.$silent&&n._emit("changeSelection")})}return t.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},t.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},t.prototype.getCursor=function(){return this.lead.getPosition()},t.prototype.setAnchor=function(e,n){this.$isEmpty=!1,this.anchor.setPosition(e,n)},t.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},t.prototype.getSelectionLead=function(){return this.lead.getPosition()},t.prototype.isBackwards=function(){var e=this.anchor,n=this.lead;return e.row>n.row||e.row==n.row&&e.column>n.column},t.prototype.getRange=function(){var e=this.anchor,n=this.lead;return this.$isEmpty?l.fromPoints(n,n):this.isBackwards()?l.fromPoints(n,e):l.fromPoints(e,n)},t.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},t.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},t.prototype.setRange=function(e,n){var i=n?e.end:e.start,r=n?e.start:e.end;this.$setSelection(i.row,i.column,r.row,r.column)},t.prototype.$setSelection=function(e,n,i,r){if(!this.$silent){var s=this.$isEmpty,p=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(e,n),this.cursor.setPosition(i,r),this.$isEmpty=!l.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||s!=this.$isEmpty||p)&&this._emit("changeSelection")}},t.prototype.$moveSelection=function(e){var n=this.lead;this.$isEmpty&&this.setSelectionAnchor(n.row,n.column),e.call(this)},t.prototype.selectTo=function(e,n){this.$moveSelection(function(){this.moveCursorTo(e,n)})},t.prototype.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},t.prototype.moveTo=function(e,n){this.clearSelection(),this.moveCursorTo(e,n)},t.prototype.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},t.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},t.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},t.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},t.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},t.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},t.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},t.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},t.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},t.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},t.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},t.prototype.getWordRange=function(e,n){if(typeof n>"u"){var i=e||this.lead;e=i.row,n=i.column}return this.session.getWordRange(e,n)},t.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},t.prototype.selectAWord=function(){var e=this.getCursor(),n=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(n)},t.prototype.getLineRange=function(e,n){var i=typeof e=="number"?e:this.lead.row,r,s=this.session.getFoldLine(i);return s?(i=s.start.row,r=s.end.row):r=i,n===!0?new l(i,0,r,this.session.getLine(r).length):new l(i,0,r+1,0)},t.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},t.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},t.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},t.prototype.wouldMoveIntoSoftTab=function(e,n,i){var r=e.column,s=e.column+n;return i<0&&(r=e.column-n,s=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,s).split(" ").length-1==n},t.prototype.moveCursorLeft=function(){var e=this.lead.getPosition(),n;if(n=this.session.getFoldAt(e.row,e.column,-1))this.moveCursorTo(n.start.row,n.start.column);else if(e.column===0)e.row>0&&this.moveCursorTo(e.row-1,this.doc.getLine(e.row-1).length);else{var i=this.session.getTabSize();this.wouldMoveIntoSoftTab(e,i,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-i):this.moveCursorBy(0,-1)}},t.prototype.moveCursorRight=function(){var e=this.lead.getPosition(),n;if(n=this.session.getFoldAt(e.row,e.column,1))this.moveCursorTo(n.end.row,n.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var i=this.session.getTabSize(),e=this.lead;this.wouldMoveIntoSoftTab(e,i,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,i):this.moveCursorBy(0,1)}},t.prototype.moveCursorLineStart=function(){var e=this.lead.row,n=this.lead.column,i=this.session.documentToScreenRow(e,n),r=this.session.screenToDocumentPosition(i,0),s=this.session.getDisplayLine(e,null,r.row,r.column),p=s.match(/^\s*/);p[0].length!=n&&!this.session.$useEmacsStyleLineStart&&(r.column+=p[0].length),this.moveCursorToPosition(r)},t.prototype.moveCursorLineEnd=function(){var e=this.lead,n=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==n.column){var i=this.session.getLine(n.row);if(n.column==i.length){var r=i.search(/\s+$/);r>0&&(n.column=r)}}this.moveCursorTo(n.row,n.column)},t.prototype.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,n=this.doc.getLine(e).length;this.moveCursorTo(e,n)},t.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},t.prototype.moveCursorLongWordRight=function(){var e=this.lead.row,n=this.lead.column,i=this.doc.getLine(e),r=i.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(e,n,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if(this.session.nonTokenRe.exec(r)&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,r=i.substring(n)),n>=i.length){this.moveCursorTo(e,i.length),this.moveCursorRight(),e<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(r)&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,n)},t.prototype.moveCursorLongWordLeft=function(){var e=this.lead.row,n=this.lead.column,i;if(i=this.session.getFoldAt(e,n,-1)){this.moveCursorTo(i.start.row,i.start.column);return}var r=this.session.getFoldStringAt(e,n,-1);r==null&&(r=this.doc.getLine(e).substring(0,n));var s=h.stringReverse(r);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(s)&&(n-=this.session.nonTokenRe.lastIndex,s=s.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0){this.moveCursorTo(e,0),this.moveCursorLeft(),e>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(s)&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(e,n)},t.prototype.$shortWordEndIndex=function(e){var n=0,i,r=/\s/,s=this.session.tokenRe;if(s.lastIndex=0,this.session.tokenRe.exec(e))n=this.session.tokenRe.lastIndex;else{for(;(i=e[n])&&r.test(i);)n++;if(n<1){for(s.lastIndex=0;(i=e[n])&&!s.test(i);)if(s.lastIndex=0,n++,r.test(i)){if(n>2){n--;break}for(;(i=e[n])&&r.test(i);)n++;if(n>2)break}}}return s.lastIndex=0,n},t.prototype.moveCursorShortWordRight=function(){var e=this.lead.row,n=this.lead.column,i=this.doc.getLine(e),r=i.substring(n),s=this.session.getFoldAt(e,n,1);if(s)return this.moveCursorTo(s.end.row,s.end.column);if(n==i.length){var p=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<p&&/^\s*$/.test(r));/^\s+/.test(r)||(r=""),n=0}var g=this.$shortWordEndIndex(r);this.moveCursorTo(e,n+g)},t.prototype.moveCursorShortWordLeft=function(){var e=this.lead.row,n=this.lead.column,i;if(i=this.session.getFoldAt(e,n,-1))return this.moveCursorTo(i.start.row,i.start.column);var r=this.session.getLine(e).substring(0,n);if(n===0){do e--,r=this.doc.getLine(e);while(e>0&&/^\s*$/.test(r));n=r.length,/\s+$/.test(r)||(r="")}var s=h.stringReverse(r),p=this.$shortWordEndIndex(s);return this.moveCursorTo(e,n-p)},t.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},t.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},t.prototype.moveCursorBy=function(e,n){var i=this.session.documentToScreenPosition(this.lead.row,this.lead.column),r;if(n===0&&(e!==0&&(this.session.$bidiHandler.isBidiRow(i.row,this.lead.row)?(r=this.session.$bidiHandler.getPosLeft(i.column),i.column=Math.round(r/this.session.$bidiHandler.charWidths[0])):r=i.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?i.column=this.$desiredColumn:this.$desiredColumn=i.column),e!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var s=this.session.lineWidgets[this.lead.row];e<0?e-=s.rowsAbove||0:e>0&&(e+=s.rowCount-(s.rowsAbove||0))}var p=this.session.screenToDocumentPosition(i.row+e,i.column,r);e!==0&&n===0&&p.row===this.lead.row&&(p.column,this.lead.column),this.moveCursorTo(p.row,p.column+n,n===0)},t.prototype.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},t.prototype.moveCursorTo=function(e,n,i){var r=this.session.getFoldAt(e,n,1);r&&(e=r.start.row,n=r.start.column),this.$keepDesiredColumnOnChange=!0;var s=this.session.getLine(e);/[\uDC00-\uDFFF]/.test(s.charAt(n))&&s.charAt(n-1)&&(this.lead.row==e&&this.lead.column==n+1?n-=1:n+=1),this.lead.setPosition(e,n),this.$keepDesiredColumnOnChange=!1,i||(this.$desiredColumn=null)},t.prototype.moveCursorToScreen=function(e,n,i){var r=this.session.screenToDocumentPosition(e,n);this.moveCursorTo(r.row,r.column,i)},t.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},t.prototype.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},t.prototype.toOrientedRange=function(e){var n=this.getRange();return e?(e.start.column=n.start.column,e.start.row=n.start.row,e.end.column=n.end.column,e.end.row=n.end.row):e=n,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},t.prototype.getRangeOfMovements=function(e){var n=this.getCursor();try{e(this);var i=this.getCursor();return l.fromPoints(n,i)}catch{return l.fromPoints(n,n)}finally{this.moveCursorToPosition(n)}},t.prototype.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(n){var i=n.clone();return i.isBackwards=n.cursor==n.start,i});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},t.prototype.fromJSON=function(e){if(e.start==null){if(this.rangeList&&e.length>1){this.toSingleRange(e[0]);for(var n=e.length;n--;){var i=l.fromPoints(e[n].start,e[n].end);e[n].isBackwards&&(i.cursor=i.start),this.addRange(i,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},t.prototype.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var n=this.ranges.length;n--;)if(!this.ranges[n].isEqual(e[n]))return!1;return!0},t}();a.prototype.setSelectionAnchor=a.prototype.setAnchor,a.prototype.getSelectionAnchor=a.prototype.getAnchor,a.prototype.setSelectionRange=a.prototype.setRange,o.implement(a.prototype,c),d.Selection=a}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(u,d,x){"use strict";var o=u("./lib/report_error").reportError,h=2e3,c=function(){function l(a){this.splitRegex,this.states=a,this.regExps={},this.matchMappings={};for(var t in this.states){for(var e=this.states[t],n=[],i=0,r=this.matchMappings[t]={defaultToken:"text"},s="g",p=[],g=0;g<e.length;g++){var C=e[g];if(C.defaultToken&&(r.defaultToken=C.defaultToken),C.caseInsensitive&&s.indexOf("i")===-1&&(s+="i"),C.unicode&&s.indexOf("u")===-1&&(s+="u"),C.regex!=null){C.regex instanceof RegExp&&(C.regex=C.regex.toString().slice(1,-1));var k=C.regex,m=new RegExp("(?:("+k+")|(.))").exec("a").length-2;Array.isArray(C.token)?C.token.length==1||m==1?C.token=C.token[0]:m-1!=C.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:C,groupCount:m-1}),C.token=C.token[0]):(C.tokenArray=C.token,C.token=null,C.onMatch=this.$arrayTokens):typeof C.token=="function"&&!C.onMatch&&(m>1?C.onMatch=this.$applyToken:C.onMatch=C.token),m>1&&(/\\\d/.test(C.regex)?k=C.regex.replace(/\\([0-9]+)/g,function(b,f){return"\\"+(parseInt(f,10)+i+1)}):(m=1,k=this.removeCapturingGroups(C.regex)),!C.splitRegex&&typeof C.token!="string"&&p.push(C)),r[i]=g,i+=m,n.push(k),C.onMatch||(C.onMatch=null)}}n.length||(r[0]=0,n.push("$")),p.forEach(function(b){b.splitRegex=this.createSplitterRegexp(b.regex,s)},this),this.regExps[t]=new RegExp("("+n.join(")|(")+")|($)",s)}}return l.prototype.$setMaxTokenCount=function(a){h=a|0},l.prototype.$applyToken=function(a){var t=this.splitRegex.exec(a).slice(1),e=this.token.apply(this,t);if(typeof e=="string")return[{type:e,value:a}];for(var n=[],i=0,r=e.length;i<r;i++)t[i]&&(n[n.length]={type:e[i],value:t[i]});return n},l.prototype.$arrayTokens=function(a){if(!a)return[];var t=this.splitRegex.exec(a);if(!t)return"text";for(var e=[],n=this.tokenArray,i=0,r=n.length;i<r;i++)t[i+1]&&(e[e.length]={type:n[i],value:t[i+1]});return e},l.prototype.removeCapturingGroups=function(a){var t=a.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(e,n){return n?"(?:":e});return t},l.prototype.createSplitterRegexp=function(a,t){if(a.indexOf("(?=")!=-1){var e=0,n=!1,i={};a.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(r,s,p,g,C,k){return n?n=C!="]":C?n=!0:g?(e==i.stack&&(i.end=k+1,i.stack=-1),e--):p&&(e++,p.length!=1&&(i.stack=e,i.start=k)),r}),i.end!=null&&/^\)*$/.test(a.substr(i.end))&&(a=a.substring(0,i.start)+a.substr(i.end))}return a.charAt(0)!="^"&&(a="^"+a),a.charAt(a.length-1)!="$"&&(a+="$"),new RegExp(a,(t||"").replace("g",""))},l.prototype.getLineTokens=function(a,t){if(t&&typeof t!="string"){var e=t.slice(0);t=e[0],t==="#tmp"&&(e.shift(),t=e.shift())}else var e=[];var n=t||"start",i=this.states[n];i||(n="start",i=this.states[n]);var r=this.matchMappings[n],s=this.regExps[n];s.lastIndex=0;for(var p,g=[],C=0,k=0,m={type:null,value:""};p=s.exec(a);){var b=r.defaultToken,f=null,_=p[0],A=s.lastIndex;if(A-_.length>C){var $=a.substring(C,A-_.length);m.type==b?m.value+=$:(m.type&&g.push(m),m={type:b,value:$})}for(var v=0;v<p.length-2;v++)if(p[v+1]!==void 0){f=i[r[v]],f.onMatch?b=f.onMatch(_,n,e,a):b=f.token,f.next&&(typeof f.next=="string"?n=f.next:n=f.next(n,e),i=this.states[n],i||(this.reportError("state doesn't exist",n),n="start",i=this.states[n]),r=this.matchMappings[n],C=A,s=this.regExps[n],s.lastIndex=A),f.consumeLineEnd&&(C=A);break}if(_){if(typeof b=="string")f&&f.merge===!1||m.type!==b?(m.type&&g.push(m),m={type:b,value:_}):m.value+=_;else if(b){m.type&&g.push(m),m={type:null,value:""};for(var v=0;v<b.length;v++)g.push(b[v])}}if(C==a.length)break;if(C=A,k++>h){for(k>2*a.length&&this.reportError("infinite loop with in ace tokenizer",{startState:t,line:a});C<a.length;)m.type&&g.push(m),m={value:a.substring(C,C+=500),type:"overflow"};n="start",e=[];break}}return m.type&&g.push(m),e.length>1&&e[0]!==n&&e.unshift("#tmp",n),{tokens:g,state:e.length?e:n}},l}();c.prototype.reportError=o,d.Tokenizer=c}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(u,d,x){"use strict";var o=u("../lib/deep_copy").deepCopy,h;h=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},function(){this.addRules=function(a,t){if(!t){for(var e in a)this.$rules[e]=a[e];return}for(var e in a){for(var n=a[e],i=0;i<n.length;i++){var r=n[i];(r.next||r.onMatch)&&(typeof r.next=="string"&&r.next.indexOf(t)!==0&&(r.next=t+r.next),r.nextState&&r.nextState.indexOf(t)!==0&&(r.nextState=t+r.nextState))}this.$rules[t+e]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(a,t,e,n,i){var r=typeof a=="function"?new a().getRules():a;if(n)for(var s=0;s<n.length;s++)n[s]=t+n[s];else{n=[];for(var p in r)n.push(t+p)}if(this.addRules(r,t),e)for(var g=Array.prototype[i?"push":"unshift"],s=0;s<n.length;s++)g.apply(this.$rules[n[s]],o(e));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var c=function(a,t){return(a!="start"||t.length)&&t.unshift(this.nextState,a),this.nextState},l=function(a,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){function a(n){var i=e[n];i.processed=!0;for(var r=0;r<i.length;r++){var s=i[r],p=null;Array.isArray(s)&&(p=s,s={}),!s.regex&&s.start&&(s.regex=s.start,s.next||(s.next=[]),s.next.push({defaultToken:s.token},{token:s.token+".end",regex:s.end||s.start,next:"pop"}),s.token=s.token+".start",s.push=!0);var g=s.next||s.push;if(g&&Array.isArray(g)){var C=s.stateName;C||(C=s.token,typeof C!="string"&&(C=C[0]||""),e[C]&&(C+=t++)),e[C]=g,s.next=C,a(C)}else g=="pop"&&(s.next=l);if(s.push&&(s.nextState=s.next||s.push,s.next=c,delete s.push),s.rules)for(var k in s.rules)e[k]?e[k].push&&e[k].push.apply(e[k],s.rules[k]):e[k]=s.rules[k];var m=typeof s=="string"?s:s.include;if(m&&(m==="$self"&&(m="start"),Array.isArray(m)?p=m.map(function(f){return e[f]}):p=e[m]),p){var b=[r,1].concat(p);s.noEscape&&(b=b.filter(function(f){return!f.next})),i.splice.apply(i,b),r--}s.keywordMap&&(s.token=this.createKeywordMapper(s.keywordMap,s.defaultToken||"text",s.caseInsensitive),delete s.defaultToken)}}var t=0,e=this.$rules;Object.keys(e).forEach(a,this)},this.createKeywordMapper=function(a,t,e,n){var i=Object.create(null);return this.$keywordList=[],Object.keys(a).forEach(function(r){for(var s=a[r],p=s.split(n||"|"),g=p.length;g--;){var C=p[g];this.$keywordList.push(C),e&&(C=C.toLowerCase()),i[C]=r}},this),a=null,e?function(r){return i[r.toLowerCase()]||t}:function(r){return i[r]||t}},this.getKeywords=function(){return this.$keywords}}.call(h.prototype),d.TextHighlightRules=h}),ace.define("ace/mode/behaviour",["require","exports","module"],function(u,d,x){"use strict";var o;o=function(){this.$behaviours={}},function(){this.add=function(h,c,l){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[h]:this.$behaviours[h]={}}this.$behaviours[h][c]=l},this.addBehaviours=function(h){for(var c in h)for(var l in h[c])this.add(c,l,h[c][l])},this.remove=function(h){this.$behaviours&&this.$behaviours[h]&&delete this.$behaviours[h]},this.inherit=function(h,c){if(typeof h=="function")var l=new h().getBehaviours(c);else var l=h.getBehaviours(c);this.addBehaviours(l)},this.getBehaviours=function(h){if(!h)return this.$behaviours;for(var c={},l=0;l<h.length;l++)this.$behaviours[h[l]]&&(c[h[l]]=this.$behaviours[h[l]]);return c}}.call(o.prototype),d.Behaviour=o}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("./range").Range,h=function(){function c(l,a,t){this.$session=l,this.$row=a,this.$rowTokens=l.getTokens(a);var e=l.getTokenAt(a,t);this.$tokenIndex=e?e.index:-1}return c.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},c.prototype.stepForward=function(){this.$tokenIndex+=1;for(var l;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,l||(l=this.$session.getLength()),this.$row>=l)return this.$row=l-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},c.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},c.prototype.getCurrentTokenRow=function(){return this.$row},c.prototype.getCurrentTokenColumn=function(){var l=this.$rowTokens,a=this.$tokenIndex,t=l[a].start;if(t!==void 0)return t;for(t=0;a>0;)a-=1,t+=l[a].value.length;return t},c.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},c.prototype.getCurrentTokenRange=function(){var l=this.$rowTokens[this.$tokenIndex],a=this.getCurrentTokenColumn();return new o(this.$row,a,this.$row,a+l.value.length)},c}();d.TokenIterator=h}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(u,d,x){"use strict";var o=u("../../lib/oop"),h=u("../behaviour").Behaviour,c=u("../../token_iterator").TokenIterator,l=u("../../lib/lang"),a=["text","paren.rparen","rparen","paren","punctuation.operator"],t=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],e,n={},i={'"':'"',"'":"'"},r=function(g){var C=-1;if(g.multiSelect&&(C=g.selection.index,n.rangeCount!=g.multiSelect.rangeCount&&(n={rangeCount:g.multiSelect.rangeCount})),n[C])return e=n[C];e=n[C]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},s=function(g,C,k,m){var b=g.end.row-g.start.row;return{text:k+C+m,selection:[0,g.start.column+1,b,g.end.column+(b?0:1)]}},p;p=function(g){g=g||{},this.add("braces","insertion",function(C,k,m,b,f){var _=m.getCursorPosition(),A=b.doc.getLine(_.row);if(f=="{"){r(m);var $=m.getSelectionRange(),v=b.doc.getTextRange($),E=b.getTokenAt(_.row,_.column);if(v!==""&&v!=="{"&&m.getWrapBehavioursEnabled())return s($,v,"{","}");if(E&&/(?:string)\.quasi|\.xml/.test(E.type)){var w=[/tag\-(?:open|name)/,/attribute\-name/];return w.some(function(I){return I.test(E.type)})||/(string)\.quasi/.test(E.type)&&E.value[_.column-E.start-1]!=="$"?void 0:(p.recordAutoInsert(m,b,"}"),{text:"{}",selection:[1,1]})}if(p.isSaneInsertion(m,b))return/[\]\}\)]/.test(A[_.column])||m.inMultiSelectMode||g.braces?(p.recordAutoInsert(m,b,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(m,b,"{"),{text:"{",selection:[1,1]})}else if(f=="}"){r(m);var y=A.substring(_.column,_.column+1);if(y=="}"){var S=b.$findOpeningBracket("}",{column:_.column+1,row:_.row});if(S!==null&&p.isAutoInsertedClosing(_,A,f))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else{if(f==`
`||f==`\r
`){r(m);var F="";p.isMaybeInsertedClosing(_,A)&&(F=l.stringRepeat("}",e.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var y=A.substring(_.column,_.column+1);if(y==="}"){var M=b.findMatchingBracket({row:_.row,column:_.column+1},"}");if(!M)return null;var T=this.$getIndent(b.getLine(M.row))}else{if(!F){p.clearMaybeInsertedClosing();return}var T=this.$getIndent(A)}var B=T+b.getTabString();return{text:`
`+B+`
`+T+F,selection:[1,B.length,1,B.length]}}p.clearMaybeInsertedClosing()}}),this.add("braces","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&_=="{"){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.end.column,f.end.column+1);if($=="}")return f.end.column++,f;e.maybeInsertedBrackets--}}),this.add("parens","insertion",function(C,k,m,b,f){if(f=="("){r(m);var _=m.getSelectionRange(),A=b.doc.getTextRange(_);if(A!==""&&m.getWrapBehavioursEnabled())return s(_,A,"(",")");if(p.isSaneInsertion(m,b))return p.recordAutoInsert(m,b,")"),{text:"()",selection:[1,1]}}else if(f==")"){r(m);var $=m.getCursorPosition(),v=b.doc.getLine($.row),E=v.substring($.column,$.column+1);if(E==")"){var w=b.$findOpeningBracket(")",{column:$.column+1,row:$.row});if(w!==null&&p.isAutoInsertedClosing($,v,f))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&_=="("){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.start.column+1,f.start.column+2);if($==")")return f.end.column++,f}}),this.add("brackets","insertion",function(C,k,m,b,f){if(f=="["){r(m);var _=m.getSelectionRange(),A=b.doc.getTextRange(_);if(A!==""&&m.getWrapBehavioursEnabled())return s(_,A,"[","]");if(p.isSaneInsertion(m,b))return p.recordAutoInsert(m,b,"]"),{text:"[]",selection:[1,1]}}else if(f=="]"){r(m);var $=m.getCursorPosition(),v=b.doc.getLine($.row),E=v.substring($.column,$.column+1);if(E=="]"){var w=b.$findOpeningBracket("]",{column:$.column+1,row:$.row});if(w!==null&&p.isAutoInsertedClosing($,v,f))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&_=="["){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.start.column+1,f.start.column+2);if($=="]")return f.end.column++,f}}),this.add("string_dquotes","insertion",function(C,k,m,b,f){var _=b.$mode.$quotes||i;if(f.length==1&&_[f]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(f)!=-1)return;r(m);var A=f,$=m.getSelectionRange(),v=b.doc.getTextRange($);if(v!==""&&(v.length!=1||!_[v])&&m.getWrapBehavioursEnabled())return s($,v,A,A);if(!v){var E=m.getCursorPosition(),w=b.doc.getLine(E.row),y=w.substring(E.column-1,E.column),S=w.substring(E.column,E.column+1),F=b.getTokenAt(E.row,E.column),M=b.getTokenAt(E.row,E.column+1);if(y=="\\"&&F&&/escape/.test(F.type))return null;var T=F&&/string|escape/.test(F.type),B=!M||/string|escape/.test(M.type),I;if(S==A)I=T!==B,I&&/string\.end/.test(M.type)&&(I=!1);else{if(T&&!B||T&&B)return null;var D=b.$mode.tokenRe;D.lastIndex=0;var L=D.test(y);D.lastIndex=0;var H=D.test(S),O=b.$mode.$pairQuotesAfter,P=O&&O[A]&&O[A].test(y);if(!P&&L||H||S&&!/[\s;,.})\]\\]/.test(S))return null;var N=w[E.column-2];if(!(y!=A||N!=A&&!D.test(N)))return null;I=!0}return{text:I?A+A:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(C,k,m,b,f){var _=b.$mode.$quotes||i,A=b.doc.getTextRange(f);if(!f.isMultiLine()&&_.hasOwnProperty(A)){r(m);var $=b.doc.getLine(f.start.row),v=$.substring(f.start.column+1,f.start.column+2);if(v==A)return f.end.column++,f}}),g.closeDocComment!==!1&&this.add("doc comment end","insertion",function(C,k,m,b,f){if(C==="doc-start"&&(f===`
`||f===`\r
`)&&m.selection.isEmpty()){var _=m.getCursorPosition();if(_.column===0)return;for(var A=b.doc.getLine(_.row),$=b.doc.getLine(_.row+1),v=b.getTokens(_.row),E=0,w=0;w<v.length;w++){E+=v[w].value.length;var y=v[w];if(E>=_.column){if(E===_.column){if(!/\.doc/.test(y.type))return;if(/\*\//.test(y.value)){var S=v[w+1];if(!S||!/\.doc/.test(S.type))return}}var F=_.column-(E-y.value.length),M=y.value.indexOf("*/"),T=y.value.indexOf("/**",M>-1?M+2:0);if(T!==-1&&F>T&&F<T+3||M!==-1&&T!==-1&&F>=M&&F<=T||!/\.doc/.test(y.type))return;break}}var B=this.$getIndent(A);if(/\s*\*/.test($))return/^\s*\*/.test(A)?{text:f+B+"* ",selection:[1,2+B.length,1,2+B.length]}:{text:f+B+" * ",selection:[1,3+B.length,1,3+B.length]};if(/\/\*\*/.test(A.substring(0,_.column)))return{text:f+B+" * "+f+" "+B+"*/",selection:[1,4+B.length,1,4+B.length]}}})},p.isSaneInsertion=function(g,C){var k=g.getCursorPosition(),m=new c(C,k.row,k.column);if(!this.$matchTokenType(m.getCurrentToken()||"text",a)){if(/[)}\]]/.test(g.session.getLine(k.row)[k.column]))return!0;var b=new c(C,k.row,k.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",a))return!1}return m.stepForward(),m.getCurrentTokenRow()!==k.row||this.$matchTokenType(m.getCurrentToken()||"text",t)},p.$matchTokenType=function(g,C){return C.indexOf(g.type||g)>-1},p.recordAutoInsert=function(g,C,k){var m=g.getCursorPosition(),b=C.doc.getLine(m.row);this.isAutoInsertedClosing(m,b,e.autoInsertedLineEnd[0])||(e.autoInsertedBrackets=0),e.autoInsertedRow=m.row,e.autoInsertedLineEnd=k+b.substr(m.column),e.autoInsertedBrackets++},p.recordMaybeInsert=function(g,C,k){var m=g.getCursorPosition(),b=C.doc.getLine(m.row);this.isMaybeInsertedClosing(m,b)||(e.maybeInsertedBrackets=0),e.maybeInsertedRow=m.row,e.maybeInsertedLineStart=b.substr(0,m.column)+k,e.maybeInsertedLineEnd=b.substr(m.column),e.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(g,C,k){return e.autoInsertedBrackets>0&&g.row===e.autoInsertedRow&&k===e.autoInsertedLineEnd[0]&&C.substr(g.column)===e.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(g,C){return e.maybeInsertedBrackets>0&&g.row===e.maybeInsertedRow&&C.substr(g.column)===e.maybeInsertedLineEnd&&C.substr(0,g.column)==e.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){e.autoInsertedLineEnd=e.autoInsertedLineEnd.substr(1),e.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){e&&(e.maybeInsertedBrackets=0,e.maybeInsertedRow=-1)},o.inherits(p,h),d.CstyleBehaviour=p}),ace.define("ace/unicode",["require","exports","module"],function(u,d,x){"use strict";for(var o=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],h=0,c=[],l=0;l<o.length;l+=2)c.push(h+=o[l]),o[l+1]&&c.push(45,h+=o[l+1]);d.wordChars=String.fromCharCode.apply(null,c)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(u,d,x){"use strict";var o=u("../config"),h=u("../tokenizer").Tokenizer,c=u("./text_highlight_rules").TextHighlightRules,l=u("./behaviour/cstyle").CstyleBehaviour,a=u("../unicode"),t=u("../lib/lang"),e=u("../token_iterator").TokenIterator,n=u("../range").Range,i;i=function(){this.HighlightRules=c},function(){this.$defaultBehaviour=new l,this.tokenRe=new RegExp("^["+a.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+a.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new h(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(r,s,p,g){function C(I){for(var D=p;D<=g;D++)I(k.getLine(D),D)}var k=s.doc,m=!0,b=!0,f=1/0,_=s.getTabSize(),A=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var E=this.lineCommentStart.map(t.escapeRegExp).join("|"),$=this.lineCommentStart[0];else var E=t.escapeRegExp(this.lineCommentStart),$=this.lineCommentStart;E=new RegExp("^(\\s*)(?:"+E+") ?"),A=s.getUseSoftTabs();var S=function(P,N){var V=P.match(E);if(V){var j=V[1].length,G=V[0].length;!T(P,j,G)&&V[0][G-1]==" "&&G--,k.removeInLine(N,j,G)}},M=$+" ",y=function(P,N){(!m||/\S/.test(P))&&(T(P,f,f)?k.insertInLine({row:N,column:f},M):k.insertInLine({row:N,column:f},$))},F=function(P,N){return E.test(P)},T=function(P,N,V){for(var j=0;N--&&P.charAt(N)==" ";)j++;if(j%_!=0)return!1;for(var j=0;P.charAt(V++)==" ";)j++;return _>2?j%_!=_-1:j%_==0}}else{if(!this.blockComment)return!1;var $=this.blockComment.start,v=this.blockComment.end,E=new RegExp("^(\\s*)(?:"+t.escapeRegExp($)+")"),w=new RegExp("(?:"+t.escapeRegExp(v)+")\\s*$"),y=function(I,D){F(I,D)||(!m||/\S/.test(I))&&(k.insertInLine({row:D,column:I.length},v),k.insertInLine({row:D,column:f},$))},S=function(I,D){var L;(L=I.match(w))&&k.removeInLine(D,I.length-L[0].length,I.length),(L=I.match(E))&&k.removeInLine(D,L[1].length,L[0].length)},F=function(I,D){if(E.test(I))return!0;for(var L=s.getTokens(D),H=0;H<L.length;H++)if(L[H].type==="comment")return!0}}var B=1/0;C(function(I,D){var L=I.search(/\S/);L!==-1?(L<f&&(f=L),b&&!F(I,D)&&(b=!1)):B>I.length&&(B=I.length)}),f==1/0&&(f=B,m=!1,b=!1),A&&f%_!=0&&(f=Math.floor(f/_)*_),C(b?S:y)},this.toggleBlockComment=function(r,s,p,g){var C=this.blockComment;if(C){!C.start&&C[0]&&(C=C[0]);var k=new e(s,g.row,g.column),m=k.getCurrentToken(),b=s.selection,f=s.selection.toOrientedRange(),_,A;if(m&&/comment/.test(m.type)){for(var $,v;m&&/comment/.test(m.type);){var E=m.value.indexOf(C.start);if(E!=-1){var w=k.getCurrentTokenRow(),y=k.getCurrentTokenColumn()+E;$=new n(w,y,w,y+C.start.length);break}m=k.stepBackward()}for(var k=new e(s,g.row,g.column),m=k.getCurrentToken();m&&/comment/.test(m.type);){var E=m.value.indexOf(C.end);if(E!=-1){var w=k.getCurrentTokenRow(),y=k.getCurrentTokenColumn()+E;v=new n(w,y,w,y+C.end.length);break}m=k.stepForward()}v&&s.remove(v),$&&(s.remove($),_=$.start.row,A=-C.start.length)}else A=C.start.length,_=p.start.row,s.insert(p.end,C.end),s.insert(p.start,C.start);f.start.row==_&&(f.start.column+=A),f.end.row==_&&(f.end.column+=A),s.selection.fromOrientedRange(f)}},this.getNextLineIndent=function(r,s,p){return this.$getIndent(s)},this.checkOutdent=function(r,s,p){return!1},this.autoOutdent=function(r,s,p){},this.$getIndent=function(r){return r.match(/^\s*/)[0]},this.createWorker=function(r){return null},this.createModeDelegates=function(r){this.$embeds=[],this.$modes={};for(var s in r)if(r[s]){var p=r[s],g=p.prototype.$id,C=o.$modes[g];C||(o.$modes[g]=C=new p),o.$modes[s]||(o.$modes[s]=C),this.$embeds.push(s),this.$modes[s]=C}for(var k=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],m=function(f){(function(_){var A=k[f],$=_[A];_[k[f]]=function(){return this.$delegator(A,arguments,$)}})(b)},b=this,s=0;s<k.length;s++)m(s)},this.$delegator=function(r,s,p){var g=s[0]||"start";if(typeof g!="string"){if(Array.isArray(g[2])){var C=g[2][g[2].length-1],k=this.$modes[C];if(k)return k[r].apply(k,[g[1]].concat([].slice.call(s,1)))}g=g[0]||"start"}for(var m=0;m<this.$embeds.length;m++)if(this.$modes[this.$embeds[m]]){var b=g.split(this.$embeds[m]);if(!b[0]&&b[1]){s[0]=b[1];var k=this.$modes[this.$embeds[m]];return k[r].apply(k,s)}}var f=p.apply(this,s);return p?f:void 0},this.transformAction=function(r,s,p,g,C){if(this.$behaviour){var k=this.$behaviour.getBehaviours();for(var m in k)if(k[m][s]){var b=k[m][s].apply(this,arguments);if(b)return b}}},this.getKeywords=function(r){if(!this.completionKeywords){var s=this.$tokenizer.rules,p=[];for(var g in s)for(var C=s[g],k=0,m=C.length;k<m;k++)if(typeof C[k].token=="string")/keyword|support|storage/.test(C[k].token)&&p.push(C[k].regex);else if(typeof C[k].token=="object"){for(var b=0,f=C[k].token.length;b<f;b++)if(/keyword|support|storage/.test(C[k].token[b])){var g=C[k].regex.match(/\(.+?\)/g)[b];p.push(g.substr(1,g.length-2))}}this.completionKeywords=p}return r?p.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(r,s,p,g){var C=this.$keywordList||this.$createKeywordList();return C.map(function(k){return{name:k,value:k,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}.call(i.prototype),d.Mode=i}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("./lib/dom"),h=function(){function c(l){this.session=l,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return c.prototype.getRowLength=function(l){var a;return this.lineWidgets?a=this.lineWidgets[l]&&this.lineWidgets[l].rowCount||0:a=0,!this.$useWrapMode||!this.$wrapData[l]?1+a:this.$wrapData[l].length+1+a},c.prototype.$getWidgetScreenLength=function(){var l=0;return this.lineWidgets.forEach(function(a){a&&a.rowCount&&!a.hidden&&(l+=a.rowCount)}),l},c.prototype.$onChangeEditor=function(l){this.attach(l.editor)},c.prototype.attach=function(l){l&&l.widgetManager&&l.widgetManager!=this&&l.widgetManager.detach(),this.editor!=l&&(this.detach(),this.editor=l,l&&(l.widgetManager=this,l.renderer.on("beforeRender",this.measureWidgets),l.renderer.on("afterRender",this.renderWidgets)))},c.prototype.detach=function(l){var a=this.editor;if(a){this.editor=null,a.widgetManager=null,a.renderer.off("beforeRender",this.measureWidgets),a.renderer.off("afterRender",this.renderWidgets);var t=this.session.lineWidgets;t&&t.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},c.prototype.updateOnFold=function(l,a){var t=a.lineWidgets;if(!(!t||!l.action)){for(var e=l.data,n=e.start.row,i=e.end.row,r=l.action=="add",s=n+1;s<i;s++)t[s]&&(t[s].hidden=r);t[i]&&(r?t[n]?t[i].hidden=r:t[n]=t[i]:(t[n]==t[i]&&(t[n]=void 0),t[i].hidden=r))}},c.prototype.updateOnChange=function(l){var a=this.session.lineWidgets;if(a){var t=l.start.row,e=l.end.row-t;if(e!==0)if(l.action=="remove"){var n=a.splice(t+1,e);!a[t]&&n[n.length-1]&&(a[t]=n.pop()),n.forEach(function(r){r&&this.removeLineWidget(r)},this),this.$updateRows()}else{var i=new Array(e);a[t]&&a[t].column!=null&&l.start.column>a[t].column&&t++,i.unshift(t,0),a.splice.apply(a,i),this.$updateRows()}}},c.prototype.$updateRows=function(){var l=this.session.lineWidgets;if(l){var a=!0;l.forEach(function(t,e){if(t)for(a=!1,t.row=e;t.$oldWidget;)t.$oldWidget.row=e,t=t.$oldWidget}),a&&(this.session.lineWidgets=null)}},c.prototype.$registerLineWidget=function(l){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var a=this.session.lineWidgets[l.row];return a&&(l.$oldWidget=a,a.el&&a.el.parentNode&&(a.el.parentNode.removeChild(a.el),a._inDocument=!1)),this.session.lineWidgets[l.row]=l,l},c.prototype.addLineWidget=function(l){if(this.$registerLineWidget(l),l.session=this.session,!this.editor)return l;var a=this.editor.renderer;l.html&&!l.el&&(l.el=o.createElement("div"),l.el.innerHTML=l.html),l.text&&!l.el&&(l.el=o.createElement("div"),l.el.textContent=l.text),l.el&&(o.addCssClass(l.el,"ace_lineWidgetContainer"),l.className&&o.addCssClass(l.el,l.className),l.el.style.position="absolute",l.el.style.zIndex="5",a.container.appendChild(l.el),l._inDocument=!0,l.coverGutter||(l.el.style.zIndex="3"),l.pixelHeight==null&&(l.pixelHeight=l.el.offsetHeight)),l.rowCount==null&&(l.rowCount=l.pixelHeight/a.layerConfig.lineHeight);var t=this.session.getFoldAt(l.row,0);if(l.$fold=t,t){var e=this.session.lineWidgets;l.row==t.end.row&&!e[t.start.row]?e[t.start.row]=l:l.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows(),this.renderWidgets(null,a),this.onWidgetChanged(l),l},c.prototype.removeLineWidget=function(l){if(l._inDocument=!1,l.session=null,l.el&&l.el.parentNode&&l.el.parentNode.removeChild(l.el),l.editor&&l.editor.destroy)try{l.editor.destroy()}catch{}if(this.session.lineWidgets){var a=this.session.lineWidgets[l.row];if(a==l)this.session.lineWidgets[l.row]=l.$oldWidget,l.$oldWidget&&this.onWidgetChanged(l.$oldWidget);else for(;a;){if(a.$oldWidget==l){a.$oldWidget=l.$oldWidget;break}a=a.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows()},c.prototype.getWidgetsAtRow=function(l){for(var a=this.session.lineWidgets,t=a&&a[l],e=[];t;)e.push(t),t=t.$oldWidget;return e},c.prototype.onWidgetChanged=function(l){this.session._changedWidgets.push(l),this.editor&&this.editor.renderer.updateFull()},c.prototype.measureWidgets=function(l,a){var t=this.session._changedWidgets,e=a.layerConfig;if(!(!t||!t.length)){for(var n=1/0,i=0;i<t.length;i++){var r=t[i];if(!(!r||!r.el)&&r.session==this.session){if(!r._inDocument){if(this.session.lineWidgets[r.row]!=r)continue;r._inDocument=!0,a.container.appendChild(r.el)}r.h=r.el.offsetHeight,r.fixedWidth||(r.w=r.el.offsetWidth,r.screenWidth=Math.ceil(r.w/e.characterWidth));var s=r.h/e.lineHeight;r.coverLine&&(s-=this.session.getRowLineCount(r.row),s<0&&(s=0)),r.rowCount!=s&&(r.rowCount=s,r.row<n&&(n=r.row))}}n!=1/0&&(this.session._emit("changeFold",{data:{start:{row:n}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},c.prototype.renderWidgets=function(l,a){var t=a.layerConfig,e=this.session.lineWidgets;if(e){for(var n=Math.min(this.firstRow,t.firstRow),i=Math.max(this.lastRow,t.lastRow,e.length);n>0&&!e[n];)n--;this.firstRow=t.firstRow,this.lastRow=t.lastRow,a.$cursorLayer.config=t;for(var r=n;r<=i;r++){var s=e[r];if(!(!s||!s.el)){if(s.hidden){s.el.style.top=-100-(s.pixelHeight||0)+"px";continue}s._inDocument||(s._inDocument=!0,a.container.appendChild(s.el));var p=a.$cursorLayer.getPixelPosition({row:r,column:0},!0).top;s.coverLine||(p+=t.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=p-t.offset+"px";var g=s.coverGutter?0:a.gutterWidth;s.fixedWidth||(g-=a.scrollLeft),s.el.style.left=g+"px",s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=t.width+2*t.padding+"px"),s.fixedWidth?s.el.style.right=a.scrollBar.getWidth()+"px":s.el.style.right=""}}}},c}();d.LineWidgets=h}),ace.define("ace/apply_delta",["require","exports","module"],function(u,d,x){"use strict";function o(l,a){throw console.log("Invalid Delta:",l),"Invalid Delta: "+a}function h(l,a){return a.row>=0&&a.row<l.length&&a.column>=0&&a.column<=l[a.row].length}function c(l,a){a.action!="insert"&&a.action!="remove"&&o(a,"delta.action must be 'insert' or 'remove'"),a.lines instanceof Array||o(a,"delta.lines must be an Array"),(!a.start||!a.end)&&o(a,"delta.start/end must be an present");var t=a.start;h(l,a.start)||o(a,"delta.start must be contained in document");var e=a.end;a.action=="remove"&&!h(l,e)&&o(a,"delta.end must contained in document for 'remove' actions");var n=e.row-t.row,i=e.column-(n==0?t.column:0);(n!=a.lines.length-1||a.lines[n].length!=i)&&o(a,"delta.range must match delta lines")}d.applyDelta=function(l,a,t){var e=a.start.row,n=a.start.column,i=l[e]||"";switch(a.action){case"insert":var r=a.lines;if(r.length===1)l[e]=i.substring(0,n)+a.lines[0]+i.substring(n);else{var s=[e,1].concat(a.lines);l.splice.apply(l,s),l[e]=i.substring(0,n)+l[e],l[e+a.lines.length-1]+=i.substring(n)}break;case"remove":var p=a.end.column,g=a.end.row;e===g?l[e]=i.substring(0,n)+i.substring(p):l.splice(e,g-e+1,i.substring(0,n)+l[g].substring(p))}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(u,d,x){"use strict";function o(t,e,n){var i=n?t.column<=e.column:t.column<e.column;return t.row<e.row||t.row==e.row&&i}function h(t,e,n){var i=t.action=="insert",r=(i?1:-1)*(t.end.row-t.start.row),s=(i?1:-1)*(t.end.column-t.start.column),p=t.start,g=i?p:t.end;return o(e,p,n)?{row:e.row,column:e.column}:o(g,e,!n)?{row:e.row+r,column:e.column+(e.row==g.row?s:0)}:{row:p.row,column:p.column}}var c=u("./lib/oop"),l=u("./lib/event_emitter").EventEmitter,a=function(){function t(e,n,i){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n!="number"?this.setPosition(n.row,n.column):this.setPosition(n,i)}return t.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},t.prototype.getDocument=function(){return this.document},t.prototype.onChange=function(e){if(!(e.start.row==e.end.row&&e.start.row!=this.row)&&!(e.start.row>this.row)){var n=h(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},t.prototype.setPosition=function(e,n,i){var r;if(i?r={row:e,column:n}:r=this.$clipPositionToDocument(e,n),!(this.row==r.row&&this.column==r.column)){var s={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:s,value:r})}},t.prototype.detach=function(){this.document.off("change",this.$onChange)},t.prototype.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},t.prototype.$clipPositionToDocument=function(e,n){var i={};return e>=this.document.getLength()?(i.row=Math.max(0,this.document.getLength()-1),i.column=this.document.getLine(i.row).length):e<0?(i.row=0,i.column=0):(i.row=e,i.column=Math.min(this.document.getLine(i.row).length,Math.max(0,n))),n<0&&(i.column=0),i},t}();a.prototype.$insertRight=!1,c.implement(a.prototype,l),d.Anchor=a}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./apply_delta").applyDelta,c=u("./lib/event_emitter").EventEmitter,l=u("./range").Range,a=u("./anchor").Anchor,t=function(){function e(n){this.$lines=[""],n.length===0?this.$lines=[""]:Array.isArray(n)?this.insertMergedLines({row:0,column:0},n):this.insert({row:0,column:0},n)}return e.prototype.setValue=function(n){var i=this.getLength()-1;this.remove(new l(0,0,i,this.getLine(i).length)),this.insert({row:0,column:0},n||"")},e.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},e.prototype.createAnchor=function(n,i){return new a(this,n,i)},e.prototype.$detectNewLine=function(n){var i=n.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=i?i[1]:`
`,this._signal("changeNewLineMode")},e.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
`;case"unix":return`
`;default:return this.$autoNewLine||`
`}},e.prototype.setNewLineMode=function(n){this.$newLineMode!==n&&(this.$newLineMode=n,this._signal("changeNewLineMode"))},e.prototype.getNewLineMode=function(){return this.$newLineMode},e.prototype.isNewLine=function(n){return n==`\r
`||n=="\r"||n==`
`},e.prototype.getLine=function(n){return this.$lines[n]||""},e.prototype.getLines=function(n,i){return this.$lines.slice(n,i+1)},e.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},e.prototype.getLength=function(){return this.$lines.length},e.prototype.getTextRange=function(n){return this.getLinesForRange(n).join(this.getNewLineCharacter())},e.prototype.getLinesForRange=function(n){var i;if(n.start.row===n.end.row)i=[this.getLine(n.start.row).substring(n.start.column,n.end.column)];else{i=this.getLines(n.start.row,n.end.row),i[0]=(i[0]||"").substring(n.start.column);var r=i.length-1;n.end.row-n.start.row==r&&(i[r]=i[r].substring(0,n.end.column))}return i},e.prototype.insertLines=function(n,i){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(n,i)},e.prototype.removeLines=function(n,i){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(n,i)},e.prototype.insertNewLine=function(n){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(n,["",""])},e.prototype.insert=function(n,i){return this.getLength()<=1&&this.$detectNewLine(i),this.insertMergedLines(n,this.$split(i))},e.prototype.insertInLine=function(n,i){var r=this.clippedPos(n.row,n.column),s=this.pos(n.row,n.column+i.length);return this.applyDelta({start:r,end:s,action:"insert",lines:[i]},!0),this.clonePos(s)},e.prototype.clippedPos=function(n,i){var r=this.getLength();n===void 0?n=r:n<0?n=0:n>=r&&(n=r-1,i=void 0);var s=this.getLine(n);return i==null&&(i=s.length),i=Math.min(Math.max(i,0),s.length),{row:n,column:i}},e.prototype.clonePos=function(n){return{row:n.row,column:n.column}},e.prototype.pos=function(n,i){return{row:n,column:i}},e.prototype.$clipPosition=function(n){var i=this.getLength();return n.row>=i?(n.row=Math.max(0,i-1),n.column=this.getLine(i-1).length):(n.row=Math.max(0,n.row),n.column=Math.min(Math.max(n.column,0),this.getLine(n.row).length)),n},e.prototype.insertFullLines=function(n,i){n=Math.min(Math.max(n,0),this.getLength());var r=0;n<this.getLength()?(i=i.concat([""]),r=0):(i=[""].concat(i),n--,r=this.$lines[n].length),this.insertMergedLines({row:n,column:r},i)},e.prototype.insertMergedLines=function(n,i){var r=this.clippedPos(n.row,n.column),s={row:r.row+i.length-1,column:(i.length==1?r.column:0)+i[i.length-1].length};return this.applyDelta({start:r,end:s,action:"insert",lines:i}),this.clonePos(s)},e.prototype.remove=function(n){var i=this.clippedPos(n.start.row,n.start.column),r=this.clippedPos(n.end.row,n.end.column);return this.applyDelta({start:i,end:r,action:"remove",lines:this.getLinesForRange({start:i,end:r})}),this.clonePos(i)},e.prototype.removeInLine=function(n,i,r){var s=this.clippedPos(n,i),p=this.clippedPos(n,r);return this.applyDelta({start:s,end:p,action:"remove",lines:this.getLinesForRange({start:s,end:p})},!0),this.clonePos(s)},e.prototype.removeFullLines=function(n,i){n=Math.min(Math.max(0,n),this.getLength()-1),i=Math.min(Math.max(0,i),this.getLength()-1);var r=i==this.getLength()-1&&n>0,s=i<this.getLength()-1,p=r?n-1:n,g=r?this.getLine(p).length:0,C=s?i+1:i,k=s?0:this.getLine(C).length,m=new l(p,g,C,k),b=this.$lines.slice(n,i+1);return this.applyDelta({start:m.start,end:m.end,action:"remove",lines:this.getLinesForRange(m)}),b},e.prototype.removeNewLine=function(n){n<this.getLength()-1&&n>=0&&this.applyDelta({start:this.pos(n,this.getLine(n).length),end:this.pos(n+1,0),action:"remove",lines:["",""]})},e.prototype.replace=function(n,i){if(n instanceof l||(n=l.fromPoints(n.start,n.end)),i.length===0&&n.isEmpty())return n.start;if(i==this.getTextRange(n))return n.end;this.remove(n);var r;return i?r=this.insert(n.start,i):r=n.start,r},e.prototype.applyDeltas=function(n){for(var i=0;i<n.length;i++)this.applyDelta(n[i])},e.prototype.revertDeltas=function(n){for(var i=n.length-1;i>=0;i--)this.revertDelta(n[i])},e.prototype.applyDelta=function(n,i){var r=n.action=="insert";(r?n.lines.length<=1&&!n.lines[0]:!l.comparePoints(n.start,n.end))||(r&&n.lines.length>2e4?this.$splitAndapplyLargeDelta(n,2e4):(h(this.$lines,n,i),this._signal("change",n)))},e.prototype.$safeApplyDelta=function(n){var i=this.$lines.length;(n.action=="remove"&&n.start.row<i&&n.end.row<i||n.action=="insert"&&n.start.row<=i)&&this.applyDelta(n)},e.prototype.$splitAndapplyLargeDelta=function(n,i){for(var r=n.lines,s=r.length-i+1,p=n.start.row,g=n.start.column,C=0,k=0;C<s;C=k){k+=i-1;var m=r.slice(C,k);m.push(""),this.applyDelta({start:this.pos(p+C,g),end:this.pos(p+k,g=0),action:n.action,lines:m},!0)}n.lines=r.slice(C),n.start.row=p+C,n.start.column=g,this.applyDelta(n,!0)},e.prototype.revertDelta=function(n){this.$safeApplyDelta({start:this.clonePos(n.start),end:this.clonePos(n.end),action:n.action=="insert"?"remove":"insert",lines:n.lines.slice()})},e.prototype.indexToPosition=function(n,i){for(var r=this.$lines||this.getAllLines(),s=this.getNewLineCharacter().length,p=i||0,g=r.length;p<g;p++)if(n-=r[p].length+s,n<0)return{row:p,column:n+r[p].length+s};return{row:g-1,column:n+r[g-1].length+s}},e.prototype.positionToIndex=function(n,i){for(var r=this.$lines||this.getAllLines(),s=this.getNewLineCharacter().length,p=0,g=Math.min(n.row,r.length),C=i||0;C<g;++C)p+=r[C].length+s;return p+n.column},e.prototype.$split=function(n){return n.split(/\r\n|\r|\n/)},e}();t.prototype.$autoNewLine="",t.prototype.$newLineMode="auto",o.implement(t.prototype,c),d.Document=t}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/event_emitter").EventEmitter,c=function(){function l(a,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=a;var e=this;this.$worker=function(){if(e.running){for(var n=new Date,i=e.currentLine,r=-1,s=e.doc,p=i;e.lines[i];)i++;var g=s.getLength(),C=0;for(e.running=!1;i<g;){e.$tokenizeRow(i),r=i;do i++;while(e.lines[i]);if(C++,C%5===0&&new Date-n>20){e.running=setTimeout(e.$worker,20);break}}e.currentLine=i,r==-1&&(r=i),p<=r&&e.fireUpdateEvent(p,r)}}}return l.prototype.setTokenizer=function(a){this.tokenizer=a,this.lines=[],this.states=[],this.start(0)},l.prototype.setDocument=function(a){this.doc=a,this.lines=[],this.states=[],this.stop()},l.prototype.fireUpdateEvent=function(a,t){var e={first:a,last:t};this._signal("update",{data:e})},l.prototype.start=function(a){this.currentLine=Math.min(a||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},l.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},l.prototype.$updateOnChange=function(a){var t=a.start.row,e=a.end.row-t;if(e===0)this.lines[t]=null;else if(a.action=="remove")this.lines.splice(t,e+1,null),this.states.splice(t,e+1,null);else{var n=Array(e+1);n.unshift(t,1),this.lines.splice.apply(this.lines,n),this.states.splice.apply(this.states,n)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},l.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},l.prototype.getTokens=function(a){return this.lines[a]||this.$tokenizeRow(a)},l.prototype.getState=function(a){return this.currentLine==a&&this.$tokenizeRow(a),this.states[a]||"start"},l.prototype.$tokenizeRow=function(a){var t=this.doc.getLine(a),e=this.states[a-1],n=this.tokenizer.getLineTokens(t,e,a);return this.states[a]+""!=n.state+""?(this.states[a]=n.state,this.lines[a+1]=null,this.currentLine>a+1&&(this.currentLine=a+1)):this.currentLine==a&&(this.currentLine=a+1),this.lines[a]=n.tokens},l.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},l}();o.implement(c.prototype,h),d.BackgroundTokenizer=c}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(u,d,x){"use strict";var o=u("./lib/lang"),h=u("./range").Range,c=function(){function l(a,t,e){e===void 0&&(e="text"),this.setRegexp(a),this.clazz=t,this.type=e}return l.prototype.setRegexp=function(a){this.regExp+""!=a+""&&(this.regExp=a,this.cache=[])},l.prototype.update=function(a,t,e,n){if(this.regExp)for(var i=n.firstRow,r=n.lastRow,s={},p=i;p<=r;p++){var g=this.cache[p];g==null&&(g=o.getMatchOffsets(e.getLine(p),this.regExp),g.length>this.MAX_RANGES&&(g=g.slice(0,this.MAX_RANGES)),g=g.map(function(b){return new h(p,b.offset,p,b.offset+b.length)}),this.cache[p]=g.length?g:"");for(var C=g.length;C--;){var k=g[C].toScreenRange(e),m=k.toString();s[m]||(s[m]=!0,t.drawSingleLineMarker(a,k,this.clazz,n))}}},l}();c.prototype.MAX_RANGES=500,d.SearchHighlight=c}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(u,d,x){"use strict";function o(_,A){for(var $=A;$--;){var v=_[$];if(v&&!v[0].ignore){for(;$<A-1;){var E=n(_[$],_[$+1]);_[$]=E[0],_[$+1]=E[1],$++}return!0}}}function h(_){var A=_.action=="insert",$=_.start,v=_.end,E=(v.row-$.row)*(A?1:-1),w=(v.column-$.column)*(A?1:-1);A&&(v=$);for(var y in this.marks){var S=this.marks[y],F=f(S,$);if(!(F<0)){if(F===0&&A){if(S.bias!=1){S.bias==-1;continue}F=1}var M=A?F:f(S,v);if(M>0){S.row+=E,S.column+=S.row==v.row?w:0;continue}!A&&M<=0&&(S.row=$.row,S.column=$.column,M===0&&(S.bias=1))}}}function c(_){return{row:_.row,column:_.column}}function l(_){return{start:c(_.start),end:c(_.end),action:_.action,lines:_.lines.slice()}}function a(_){if(_=_||this,Array.isArray(_))return _.map(a).join(`
`);var A="";return _.action?(A=_.action=="insert"?"+":"-",A+="["+_.lines+"]"):_.value&&(Array.isArray(_.value)?A=_.value.map(t).join(`
`):A=t(_.value)),_.start&&(A+=t(_)),(_.id||_.rev)&&(A+=" ("+(_.id||_.rev)+")"),A}function t(_){return _.start.row+":"+_.start.column+"=>"+_.end.row+":"+_.end.column}function e(_,A){var $=_.action=="insert",v=A.action=="insert";if($&&v)if(b(A.start,_.end)>=0)r(A,_,-1);else{if(!(b(A.start,_.start)<=0))return null;r(_,A,1)}else if($&&!v)if(b(A.start,_.end)>=0)r(A,_,-1);else{if(!(b(A.end,_.start)<=0))return null;r(_,A,-1)}else if(!$&&v)if(b(A.start,_.start)>=0)r(A,_,1);else{if(!(b(A.start,_.start)<=0))return null;r(_,A,1)}else if(!$&&!v)if(b(A.start,_.start)>=0)r(A,_,1);else{if(!(b(A.end,_.start)<=0))return null;r(_,A,-1)}return[A,_]}function n(_,A){for(var $=_.length;$--;)for(var v=0;v<A.length;v++)if(!e(_[$],A[v])){for(;$<_.length;){for(;v--;)e(A[v],_[$]);v=A.length,$++}return[_,A]}return _.selectionBefore=A.selectionBefore=_.selectionAfter=A.selectionAfter=null,[A,_]}function i(_,A){var $=_.action=="insert",v=A.action=="insert";if($&&v)b(_.start,A.start)<0?r(A,_,1):r(_,A,1);else if($&&!v)b(_.start,A.end)>=0?r(_,A,-1):(b(_.start,A.start)<=0||r(_,m.fromPoints(A.start,_.start),-1),r(A,_,1));else if(!$&&v)b(A.start,_.end)>=0?r(A,_,-1):(b(A.start,_.start)<=0||r(A,m.fromPoints(_.start,A.start),-1),r(_,A,1));else if(!$&&!v)if(b(A.start,_.end)>=0)r(A,_,-1);else{if(!(b(A.end,_.start)<=0)){var E,w;return b(_.start,A.start)<0&&(E=_,_=p(_,A.start)),b(_.end,A.end)>0&&(w=p(_,A.end)),s(A.end,_.start,_.end,-1),w&&!E&&(_.lines=w.lines,_.start=w.start,_.end=w.end,w=_),[A,E,w].filter(Boolean)}r(_,A,-1)}return[A,_]}function r(_,A,$){s(_.start,A.start,A.end,$),s(_.end,A.start,A.end,$)}function s(_,A,$,v){_.row==(v==1?A:$).row&&(_.column+=v*($.column-A.column)),_.row+=v*($.row-A.row)}function p(_,A){var $=_.lines,v=_.end;_.end=c(A);var E=_.end.row-_.start.row,w=$.splice(E,$.length),y=E?A.column:A.column-_.start.column;$.push(w[0].substring(0,y)),w[0]=w[0].substr(y);var S={start:c(A),end:v,lines:w,action:_.action};return S}function g(_,A){A=l(A);for(var $=_.length;$--;){for(var v=_[$],E=0;E<v.length;E++){var w=v[E],y=i(w,A);A=y[0],y.length!=2&&(y[2]?(v.splice(E+1,1,y[1],y[2]),E++):y[1]||(v.splice(E,1),E--))}v.length||_.splice($,1)}return _}function C(_,A){for(var $=0;$<A.length;$++)for(var v=A[$],E=0;E<v.length;E++)g(_,v[E])}var k=function(){function _(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return _.prototype.addSession=function(A){this.$session=A},_.prototype.add=function(A,$,v){if(!this.$fromUndo&&A!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),$===!1||!this.lastDeltas){this.lastDeltas=[];var E=this.$undoStack.length;E>this.$undoDepth-1&&this.$undoStack.splice(0,E-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),A.id=this.$rev=++this.$maxRev}(A.action=="remove"||A.action=="insert")&&(this.$lastDelta=A),this.lastDeltas.push(A)}},_.prototype.addSelection=function(A,$){this.selections.push({value:A,rev:$||this.$rev})},_.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},_.prototype.markIgnored=function(A,$){$==null&&($=this.$rev+1);for(var v=this.$undoStack,E=v.length;E--;){var w=v[E][0];if(w.id<=A)break;w.id<$&&(w.ignore=!0)}this.lastDeltas=null},_.prototype.getSelection=function(A,$){for(var v=this.selections,E=v.length;E--;){var w=v[E];if(w.rev<A)return $&&(w=v[E+1]),w}},_.prototype.getRevision=function(){return this.$rev},_.prototype.getDeltas=function(A,$){$==null&&($=this.$rev+1);for(var v=this.$undoStack,E=null,w=0,y=v.length;y--;){var S=v[y][0];if(S.id<$&&!E&&(E=y+1),S.id<=A){w=y+1;break}}return v.slice(w,E)},_.prototype.getChangedRanges=function(A,$){$==null&&($=this.$rev+1)},_.prototype.getChangedLines=function(A,$){$==null&&($=this.$rev+1)},_.prototype.undo=function(A,$){this.lastDeltas=null;var v=this.$undoStack;if(o(v,v.length)){A||(A=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var E=v.pop(),w=null;return E&&(w=A.undoChanges(E,$),this.$redoStack.push(E),this.$syncRev()),this.$fromUndo=!1,w}},_.prototype.redo=function(A,$){if(this.lastDeltas=null,A||(A=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var v=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);C(this.$redoStack,v),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(y){y[0].id=++this.$maxRev},this)}var E=this.$redoStack.pop(),w=null;return E&&(w=A.redoChanges(E,$),this.$undoStack.push(E),this.$syncRev()),this.$fromUndo=!1,w},_.prototype.$syncRev=function(){var A=this.$undoStack,$=A[A.length-1],v=$&&$[0].id||0;this.$redoStackBaseRev=v,this.$rev=v},_.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},_.prototype.canUndo=function(){return this.$undoStack.length>0},_.prototype.canRedo=function(){return this.$redoStack.length>0},_.prototype.bookmark=function(A){A==null&&(A=this.$rev),this.mark=A},_.prototype.isAtBookmark=function(){return this.$rev===this.mark},_.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},_.prototype.fromJSON=function(A){this.reset(),this.$undoStack=A.$undoStack,this.$redoStack=A.$redoStack},_.prototype.$prettyPrint=function(A){return A?a(A):a(this.$undoStack)+`
---
`+a(this.$redoStack)},_}();k.prototype.hasUndo=k.prototype.canUndo,k.prototype.hasRedo=k.prototype.canRedo,k.prototype.isClean=k.prototype.isAtBookmark,k.prototype.markClean=k.prototype.bookmark;var m=u("./range").Range,b=m.comparePoints,f=m.comparePoints;d.UndoManager=k}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("../range").Range,h=function(){function c(l,a){this.foldData=l,Array.isArray(a)?this.folds=a:a=this.folds=[a];var t=a[a.length-1];this.range=new o(a[0].start.row,a[0].start.column,t.end.row,t.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}return c.prototype.shiftRow=function(l){this.start.row+=l,this.end.row+=l,this.folds.forEach(function(a){a.start.row+=l,a.end.row+=l})},c.prototype.addFold=function(l){if(l.sameRow){if(l.start.row<this.startRow||l.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(l),this.folds.sort(function(a,t){return-a.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(l.start.row,l.start.column)>0?(this.end.row=l.end.row,this.end.column=l.end.column):this.range.compareStart(l.end.row,l.end.column)<0&&(this.start.row=l.start.row,this.start.column=l.start.column)}else if(l.start.row==this.end.row)this.folds.push(l),this.end.row=l.end.row,this.end.column=l.end.column;else{if(l.end.row!=this.start.row)throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");this.folds.unshift(l),this.start.row=l.start.row,this.start.column=l.start.column}l.foldLine=this},c.prototype.containsRow=function(l){return l>=this.start.row&&l<=this.end.row},c.prototype.walk=function(l,a,t){var e=0,n=this.folds,i,r,s,p=!0;a==null&&(a=this.end.row,t=this.end.column);for(var g=0;g<n.length;g++){if(i=n[g],r=i.range.compareStart(a,t),r==-1){l(null,a,t,e,p);return}if(s=l(null,i.start.row,i.start.column,e,p),s=!s&&l(i.placeholder,i.start.row,i.start.column,e),s||r===0)return;p=!i.sameRow,e=i.end.column}l(null,a,t,e,p)},c.prototype.getNextFoldTo=function(l,a){for(var t,e,n=0;n<this.folds.length;n++){if(t=this.folds[n],e=t.range.compareEnd(l,a),e==-1)return{fold:t,kind:"after"};if(e===0)return{fold:t,kind:"inside"}}return null},c.prototype.addRemoveChars=function(l,a,t){var e=this.getNextFoldTo(l,a),n,i;if(e){if(n=e.fold,e.kind=="inside"&&n.start.column!=a&&n.start.row!=l)window.console&&window.console.log(l,a,n);else if(n.start.row==l){i=this.folds;var r=i.indexOf(n);for(r===0&&(this.start.column+=t),r;r<i.length;r++){if(n=i[r],n.start.column+=t,!n.sameRow)return;n.end.column+=t}this.end.column+=t}}},c.prototype.split=function(l,a){var t=this.getNextFoldTo(l,a);if(!t||t.kind=="inside")return null;var e=t.fold,n=this.folds,i=this.foldData,r=n.indexOf(e),s=n[r-1];this.end.row=s.end.row,this.end.column=s.end.column,n=n.splice(r,n.length-r);var p=new c(i,n);return i.splice(i.indexOf(this)+1,0,p),p},c.prototype.merge=function(l){for(var a=l.folds,t=0;t<a.length;t++)this.addFold(a[t]);var e=this.foldData;e.splice(e.indexOf(l),1)},c.prototype.toString=function(){var l=[this.range.toString()+": ["];return this.folds.forEach(function(a){l.push(" "+a.toString())}),l.push("]"),l.join(`
`)},c.prototype.idxToPosition=function(l){for(var a=0,t=0;t<this.folds.length;t++){var e=this.folds[t];if(l-=e.start.column-a,l<0)return{row:e.start.row,column:e.start.column+l};if(l-=e.placeholder.length,l<0)return e.start;a=e.end.column}return{row:this.end.row,column:this.end.column+l}},c}();d.FoldLine=h}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("./range").Range,h=o.comparePoints,c=function(){function l(){this.ranges=[],this.$bias=1}return l.prototype.pointIndex=function(a,t,e){for(var n=this.ranges,i=e||0;i<n.length;i++){var r=n[i],s=h(a,r.end);if(!(s>0)){var p=h(a,r.start);return s===0?t&&p!==0?-i-2:i:p>0||p===0&&!t?i:-i-1}}return-i-1},l.prototype.add=function(a){var t=!a.isEmpty(),e=this.pointIndex(a.start,t);e<0&&(e=-e-1);var n=this.pointIndex(a.end,t,e);return n<0?n=-n-1:n++,this.ranges.splice(e,n-e,a)},l.prototype.addList=function(a){for(var t=[],e=a.length;e--;)t.push.apply(t,this.add(a[e]));return t},l.prototype.substractPoint=function(a){var t=this.pointIndex(a);if(t>=0)return this.ranges.splice(t,1)},l.prototype.merge=function(){var a=[],t=this.ranges;t=t.sort(function(s,p){return h(s.start,p.start)});for(var e=t[0],n,i=1;i<t.length;i++){n=e,e=t[i];var r=h(n.end,e.start);r<0||r==0&&!n.isEmpty()&&!e.isEmpty()||(h(n.end,e.end)<0&&(n.end.row=e.end.row,n.end.column=e.end.column),t.splice(i,1),a.push(e),e=n,i--)}return this.ranges=t,a},l.prototype.contains=function(a,t){return this.pointIndex({row:a,column:t})>=0},l.prototype.containsPoint=function(a){return this.pointIndex(a)>=0},l.prototype.rangeAtPoint=function(a){var t=this.pointIndex(a);if(t>=0)return this.ranges[t]},l.prototype.clipRows=function(a,t){var e=this.ranges;if(e[0].start.row>t||e[e.length-1].start.row<a)return[];var n=this.pointIndex({row:a,column:0});n<0&&(n=-n-1);var i=this.pointIndex({row:t,column:0},n);i<0&&(i=-i-1);for(var r=[],s=n;s<i;s++)r.push(e[s]);return r},l.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},l.prototype.attach=function(a){this.session&&this.detach(),this.session=a,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},l.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},l.prototype.$onChange=function(a){for(var t=a.start,e=a.end,n=t.row,i=e.row,r=this.ranges,s=0,p=r.length;s<p;s++){var g=r[s];if(g.end.row>=n)break}if(a.action=="insert")for(var C=i-n,k=-t.column+e.column;s<p;s++){var g=r[s];if(g.start.row>n)break;if(g.start.row==n&&g.start.column>=t.column&&(g.start.column==t.column&&this.$bias<=0||(g.start.column+=k,g.start.row+=C)),g.end.row==n&&g.end.column>=t.column){if(g.end.column==t.column&&this.$bias<0)continue;g.end.column==t.column&&k>0&&s<p-1&&g.end.column>g.start.column&&g.end.column==r[s+1].start.column&&(g.end.column-=k),g.end.column+=k,g.end.row+=C}}else for(var C=n-i,k=t.column-e.column;s<p;s++){var g=r[s];if(g.start.row>i)break;g.end.row<i&&(n<g.end.row||n==g.end.row&&t.column<g.end.column)?(g.end.row=n,g.end.column=t.column):g.end.row==i?g.end.column<=e.column?(C||g.end.column>t.column)&&(g.end.column=t.column,g.end.row=t.row):(g.end.column+=k,g.end.row+=C):g.end.row>i&&(g.end.row+=C),g.start.row<i&&(n<g.start.row||n==g.start.row&&t.column<g.start.column)?(g.start.row=n,g.start.column=t.column):g.start.row==i?g.start.column<=e.column?(C||g.start.column>t.column)&&(g.start.column=t.column,g.start.row=t.row):(g.start.column+=k,g.start.row+=C):g.start.row>i&&(g.start.row+=C)}if(C!=0&&s<p)for(;s<p;s++){var g=r[s];g.start.row+=C,g.end.row+=C}},l}();c.prototype.comparePoints=h,d.RangeList=c}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(u,d,x){"use strict";function o(n,i){n.row-=i.row,n.row==0&&(n.column-=i.column)}function h(n,i){o(n.start,i),o(n.end,i)}function c(n,i){n.row==0&&(n.column+=i.column),n.row+=i.row}function l(n,i){c(n.start,i),c(n.end,i)}var a=this&&this.__extends||function(){var n=function(i,r){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,p){s.__proto__=p}||function(s,p){for(var g in p)Object.prototype.hasOwnProperty.call(p,g)&&(s[g]=p[g])},n(i,r)};return function(i,r){function s(){this.constructor=i}if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");n(i,r),i.prototype=r===null?Object.create(r):(s.prototype=r.prototype,new s)}}(),t=u("../range_list").RangeList,e=function(n){function i(r,s){var p=n.call(this)||this;return p.foldLine=null,p.placeholder=s,p.range=r,p.start=r.start,p.end=r.end,p.sameRow=r.start.row==r.end.row,p.subFolds=p.ranges=[],p}return a(i,n),i.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},i.prototype.setFoldLine=function(r){this.foldLine=r,this.subFolds.forEach(function(s){s.setFoldLine(r)})},i.prototype.clone=function(){var r=this.range.clone(),s=new i(r,this.placeholder);return this.subFolds.forEach(function(p){s.subFolds.push(p.clone())}),s.collapseChildren=this.collapseChildren,s},i.prototype.addSubFold=function(r){if(!this.range.isEqual(r)){h(r,this.start);for(var k=r.start.row,m=r.start.column,s=0,p=-1;s<this.subFolds.length&&(p=this.subFolds[s].range.compare(k,m),p==1);s++);var g=this.subFolds[s],C=0;if(p==0){if(g.range.containsRange(r))return g.addSubFold(r);C=1}for(var k=r.range.end.row,m=r.range.end.column,b=s,p=-1;b<this.subFolds.length&&(p=this.subFolds[b].range.compare(k,m),p==1);b++);p==0&&b++;for(var f=this.subFolds.splice(s,b-s,r),_=p==0?f.length-1:f.length,A=C;A<_;A++)r.addSubFold(f[A]);return r.setFoldLine(this.foldLine),r}},i.prototype.restoreRange=function(r){return l(r,this.start)},i}(t);d.Fold=e}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(u,d,x){"use strict";function o(){this.getFoldAt=function(e,n,i){var r=this.getFoldLine(e);if(!r)return null;for(var s=r.folds,p=0;p<s.length;p++){var g=s[p].range;if(g.contains(e,n)){if(i==1&&g.isEnd(e,n)&&!g.isEmpty()||i==-1&&g.isStart(e,n)&&!g.isEmpty())continue;return s[p]}}},this.getFoldsInRange=function(e){var n=e.start,i=e.end,r=this.$foldData,s=[];n.column+=1,i.column-=1;for(var p=0;p<r.length;p++){var g=r[p].range.compareRange(e);if(g!=2){if(g==-2)break;for(var C=r[p].folds,k=0;k<C.length;k++){var m=C[k];if(g=m.range.compareRange(e),g==-2)break;if(g!=2){if(g==42)break;s.push(m)}}}}return n.column-=1,i.column+=1,s},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var n=[];e.forEach(function(r){n=n.concat(this.getFoldsInRange(r))},this)}else var n=this.getFoldsInRange(e);return n},this.getAllFolds=function(){for(var e=[],n=this.$foldData,i=0;i<n.length;i++)for(var r=0;r<n[i].folds.length;r++)e.push(n[i].folds[r]);return e},this.getFoldStringAt=function(e,n,i,r){if(r=r||this.getFoldLine(e),!r)return null;for(var s={end:{column:0}},p,g,C=0;C<r.folds.length;C++){g=r.folds[C];var k=g.range.compareEnd(e,n);if(k==-1){p=this.getLine(g.start.row).substring(s.end.column,g.start.column);break}if(k===0)return null;s=g}return p||(p=this.getLine(g.start.row).substring(s.end.column)),i==-1?p.substring(0,n-s.end.column):i==1?p.substring(n-s.end.column):p},this.getFoldLine=function(e,n){var i=this.$foldData,r=0;for(n&&(r=i.indexOf(n)),r==-1&&(r=0),r;r<i.length;r++){var s=i[r];if(s.start.row<=e&&s.end.row>=e)return s;if(s.end.row>e)return null}return null},this.getNextFoldLine=function(e,n){var i=this.$foldData,r=0;for(n&&(r=i.indexOf(n)),r==-1&&(r=0),r;r<i.length;r++){var s=i[r];if(s.end.row>=e)return s}return null},this.getFoldedRowCount=function(e,n){for(var i=this.$foldData,r=n-e+1,s=0;s<i.length;s++){var p=i[s],g=p.end.row,C=p.start.row;if(g>=n){C<n&&(C>=e?r-=n-C:r=0);break}g>=e&&(C>=e?r-=g-C:r-=g-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(n,i){return n.start.row-i.start.row}),e},this.addFold=function(e,n){var i=this.$foldData,r=!1,s;e instanceof l?s=e:(s=new l(n,e),s.collapseChildren=n.collapseChildren),this.$clipRangeToDocument(s.range);var p=s.start.row,g=s.start.column,C=s.end.row,k=s.end.column,m=this.getFoldAt(p,g,1),b=this.getFoldAt(C,k,-1);if(m&&b==m)return m.addSubFold(s);m&&!m.range.isStart(p,g)&&this.removeFold(m),b&&!b.range.isEnd(C,k)&&this.removeFold(b);var f=this.getFoldsInRange(s.range);f.length>0&&(this.removeFolds(f),s.collapseChildren||f.forEach(function(v){s.addSubFold(v)}));for(var _=0;_<i.length;_++){var A=i[_];if(C==A.start.row){A.addFold(s),r=!0;break}if(p==A.end.row){if(A.addFold(s),r=!0,!s.sameRow){var $=i[_+1];if($&&$.start.row==C){A.merge($);break}}break}if(C<=A.start.row)break}return r||(A=this.$addFoldLine(new c(this.$foldData,s))),this.$useWrapMode?this.$updateWrapData(A.start.row,A.start.row):this.$updateRowLengthCache(A.start.row,A.start.row),this.$modified=!0,this._signal("changeFold",{data:s,action:"add"}),s},this.addFolds=function(e){e.forEach(function(n){this.addFold(n)},this)},this.removeFold=function(e){var n=e.foldLine,i=n.start.row,r=n.end.row,s=this.$foldData,p=n.folds;if(p.length==1)s.splice(s.indexOf(n),1);else if(n.range.isEnd(e.end.row,e.end.column))p.pop(),n.end.row=p[p.length-1].end.row,n.end.column=p[p.length-1].end.column;else if(n.range.isStart(e.start.row,e.start.column))p.shift(),n.start.row=p[0].start.row,n.start.column=p[0].start.column;else if(e.sameRow)p.splice(p.indexOf(e),1);else{var g=n.split(e.start.row,e.start.column);p=g.folds,p.shift(),g.start.row=p[0].start.row,g.start.column=p[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(i,r):this.$updateRowLengthCache(i,r)),this.$modified=!0,this._signal("changeFold",{data:e,action:"remove"})},this.removeFolds=function(e){for(var n=[],i=0;i<e.length;i++)n.push(e[i]);n.forEach(function(r){this.removeFold(r)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(n){e.restoreRange(n),this.addFold(n)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(n){this.expandFold(n)},this)},this.unfold=function(e,n){var i,r;if(e==null)i=new h(0,0,this.getLength(),0),n==null&&(n=!0);else if(typeof e=="number")i=new h(e,0,e,this.getLine(e).length);else if("row"in e)i=h.fromPoints(e,e);else{if(Array.isArray(e))return r=[],e.forEach(function(p){r=r.concat(this.unfold(p))},this),r;i=e}r=this.getFoldsInRangeList(i);for(var s=r;r.length==1&&h.comparePoints(r[0].start,i.start)<0&&h.comparePoints(r[0].end,i.end)>0;)this.expandFolds(r),r=this.getFoldsInRangeList(i);if(n!=0?this.removeFolds(r):this.expandFolds(r),s.length)return s},this.isRowFolded=function(e,n){return!!this.getFoldLine(e,n)},this.getRowFoldEnd=function(e,n){var i=this.getFoldLine(e,n);return i?i.end.row:e},this.getRowFoldStart=function(e,n){var i=this.getFoldLine(e,n);return i?i.start.row:e},this.getFoldDisplayLine=function(e,n,i,r,s){r==null&&(r=e.start.row),s==null&&(s=0),n==null&&(n=e.end.row),i==null&&(i=this.getLine(n).length);var p=this.doc,g="";return e.walk(function(C,k,m,b){if(!(k<r)){if(k==r){if(m<s)return;b=Math.max(s,b)}C!=null?g+=C:g+=p.getLine(k).substring(b,m)}},n,i),g},this.getDisplayLine=function(e,n,i,r){var s=this.getFoldLine(e);if(!s){var p;return p=this.doc.getLine(e),p.substring(r||0,n||p.length)}return this.getFoldDisplayLine(s,e,n,i,r)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(n){var i=n.folds.map(function(r){return r.clone()});return new c(e,i)}),e},this.toggleFold=function(e){var n=this.selection,i=n.getRange(),r,s;if(i.isEmpty()){var p=i.start;if(r=this.getFoldAt(p.row,p.column),r){this.expandFold(r);return}(s=this.findMatchingBracket(p))?i.comparePoint(s)==1?i.end=s:(i.start=s,i.start.column++,i.end.column--):(s=this.findMatchingBracket({row:p.row,column:p.column+1}))?(i.comparePoint(s)==1?i.end=s:i.start=s,i.start.column++):i=this.getCommentFoldRange(p.row,p.column)||i}else{var g=this.getFoldsInRange(i);if(e&&g.length){this.expandFolds(g);return}g.length==1&&(r=g[0])}if(r||(r=this.getFoldAt(i.start.row,i.start.column)),r&&r.range.toString()==i.toString()){this.expandFold(r);return}var C="...";if(!i.isMultiLine()){if(C=this.getTextRange(i),C.length<4)return;C=C.trim().substring(0,2)+".."}this.addFold(C,i)},this.getCommentFoldRange=function(e,n,i){var r=new a(this,e,n),s=r.getCurrentToken(),p=s&&s.type;if(s&&/^comment|string/.test(p)){p=p.match(/comment|string/)[0],p=="comment"&&(p+="|doc-start|\\.doc");var g=new RegExp(p),C=new h;if(i!=1){do s=r.stepBackward();while(s&&g.test(s.type));s=r.stepForward()}C.start.row=r.getCurrentTokenRow(),C.start.column=r.getCurrentTokenColumn()+s.value.length,r=new a(this,e,n);var k=this.getState(r.$row);if(i!=-1){var m=-1;do if(s=r.stepForward(),m==-1){var b=this.getState(r.$row);k.toString()!==b.toString()&&(m=r.$row)}else if(r.$row>m)break;while(s&&g.test(s.type));s=r.stepBackward()}else s=r.getCurrentToken();return C.end.row=r.getCurrentTokenRow(),C.end.column=r.getCurrentTokenColumn(),C}},this.foldAll=function(e,n,i,r){i==null&&(i=1e5);var s=this.foldWidgets;if(s){n=n||this.getLength(),e=e||0;for(var p=e;p<n;p++)if(s[p]==null&&(s[p]=this.getFoldWidget(p)),s[p]=="start"&&!(r&&!r(p))){var g=this.getFoldWidgetRange(p);g&&g.isMultiLine()&&g.end.row<=n&&g.start.row>=e&&(p=g.end.row,g.collapseChildren=i,this.addFold("...",g))}}},this.foldToLevel=function(e){for(this.foldAll();e-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var e=this;this.foldAll(null,null,null,function(n){for(var i=e.getTokens(n),r=0;r<i.length;r++){var s=i[r];if(!(s.type=="text"&&/^\s+$/.test(s.value)))return!!/comment/.test(s.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error("invalid fold style: "+e+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=e){this.$foldStyle=e,e=="manual"&&this.unfold();var n=this.$foldMode;this.$setFolding(null),this.$setFolding(n)}},this.$setFolding=function(e){if(this.$foldMode!=e){if(this.$foldMode=e,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!e||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(e,n){var i=this.foldWidgets;if(!i||n&&i[e])return{};for(var r=e-1,s;r>=0;){var p=i[r];if(p==null&&(p=i[r]=this.getFoldWidget(r)),p=="start"){var g=this.getFoldWidgetRange(r);if(s||(s=g),g&&g.end.row>=e)break}r--}return{range:r!==-1&&g,firstRange:s}},this.onFoldWidgetClick=function(e,n){n instanceof t&&(n=n.domEvent);var i={children:n.shiftKey,all:n.ctrlKey||n.metaKey,siblings:n.altKey},r=this.$toggleFoldWidget(e,i);if(!r){var s=n.target||n.srcElement;s&&/ace_fold-widget/.test(s.className)&&(s.className+=" ace_invalid")}},this.$toggleFoldWidget=function(e,n){if(this.getFoldWidget){var i=this.getFoldWidget(e),r=this.getLine(e),s=i==="end"?-1:1,p=this.getFoldAt(e,s===-1?0:r.length,s);if(p)return n.children||n.all?this.removeFold(p):this.expandFold(p),p;var g=this.getFoldWidgetRange(e,!0);if(g&&!g.isMultiLine()&&(p=this.getFoldAt(g.start.row,g.start.column,1),p&&g.isEqual(p.range)))return this.removeFold(p),p;if(n.siblings){var C=this.getParentFoldRangeData(e);if(C.range)var k=C.range.start.row+1,m=C.range.end.row;this.foldAll(k,m,n.all?1e4:0)}else n.children?(m=g?g.end.row:this.getLength(),this.foldAll(e+1,m,n.all?1e4:0)):g&&(n.all&&(g.collapseChildren=1e4),this.addFold("...",g));return g}},this.toggleFoldWidget=function(e){var n=this.selection.getCursor().row;n=this.getRowFoldStart(n);var i=this.$toggleFoldWidget(n,{});if(!i){var r=this.getParentFoldRangeData(n,!0);if(i=r.range||r.firstRange,i){n=i.start.row;var s=this.getFoldAt(n,this.getLine(n).length,1);s?this.removeFold(s):this.addFold("...",i)}}},this.updateFoldWidgets=function(e){var n=e.start.row,i=e.end.row-n;if(i===0)this.foldWidgets[n]=null;else if(e.action=="remove")this.foldWidgets.splice(n,i+1,null);else{var r=Array(i+1);r.unshift(n,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var n=e.data;n.first!=n.last&&this.foldWidgets.length>n.first&&this.foldWidgets.splice(n.first,this.foldWidgets.length)}}var h=u("../range").Range,c=u("./fold_line").FoldLine,l=u("./fold").Fold,a=u("../token_iterator").TokenIterator,t=u("../mouse/mouse_event").MouseEvent;d.Folding=o}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(u,d,x){"use strict";function o(){this.findMatchingBracket=function(l,a){if(l.column==0)return null;var t=a||this.getLine(l.row).charAt(l.column-1);if(t=="")return null;var e=t.match(/([\(\[\{])|([\)\]\}])/);return e?e[1]?this.$findClosingBracket(e[1],l):this.$findOpeningBracket(e[2],l):null},this.getBracketRange=function(l){var a=this.getLine(l.row),t=!0,e,n=a.charAt(l.column-1),i=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(i||(n=a.charAt(l.column),l={row:l.row,column:l.column+1},i=n&&n.match(/([\(\[\{])|([\)\]\}])/),t=!1),!i)return null;if(i[1]){var r=this.$findClosingBracket(i[1],l);if(!r)return null;e=c.fromPoints(l,r),t||(e.end.column++,e.start.column--),e.cursor=e.end}else{var r=this.$findOpeningBracket(i[2],l);if(!r)return null;e=c.fromPoints(r,l),t||(e.start.column++,e.end.column--),e.cursor=e.start}return e},this.getMatchingBracketRanges=function(l,a){var t=this.getLine(l.row),e=/([\(\[\{])|([\)\]\}])/,n=!a&&t.charAt(l.column-1),i=n&&n.match(e);if(i||(n=(a===void 0||a)&&t.charAt(l.column),l={row:l.row,column:l.column+1},i=n&&n.match(e)),!i)return null;var r=new c(l.row,l.column-1,l.row,l.column),s=i[1]?this.$findClosingBracket(i[1],l):this.$findOpeningBracket(i[2],l);if(!s)return[r];var p=new c(s.row,s.column,s.row,s.column+1);return[r,p]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(l,a,t){var e=this.$brackets[l],n=1,i=new h(this,a.row,a.column),r=i.getCurrentToken();if(r||(r=i.stepForward()),!!r){t||(t=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var s=a.column-i.getCurrentTokenColumn()-2,p=r.value;;){for(;s>=0;){var g=p.charAt(s);if(g==e){if(n-=1,n==0)return{row:i.getCurrentTokenRow(),column:s+i.getCurrentTokenColumn()}}else g==l&&(n+=1);s-=1}do r=i.stepBackward();while(r&&!t.test(r.type));if(r==null)break;p=r.value,s=p.length-1}return null}},this.$findClosingBracket=function(l,a,t){var e=this.$brackets[l],n=1,i=new h(this,a.row,a.column),r=i.getCurrentToken();if(r||(r=i.stepForward()),!!r){t||(t=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var s=a.column-i.getCurrentTokenColumn();;){for(var p=r.value,g=p.length;s<g;){var C=p.charAt(s);if(C==e){if(n-=1,n==0)return{row:i.getCurrentTokenRow(),column:s+i.getCurrentTokenColumn()}}else C==l&&(n+=1);s+=1}do r=i.stepForward();while(r&&!t.test(r.type));if(r==null)break;s=0}return null}},this.getMatchingTags=function(l){var a=new h(this,l.row,l.column),t=this.$findTagName(a);if(t){var e=a.stepBackward();return e.value==="<"?this.$findClosingTag(a,t):this.$findOpeningTag(a,t)}},this.$findTagName=function(l){var a=l.getCurrentToken(),t=!1,e=!1;if(a&&a.type.indexOf("tag-name")===-1)do e?a=l.stepBackward():a=l.stepForward(),a&&(a.value==="/>"?e=!0:a.type.indexOf("tag-name")!==-1&&(t=!0));while(a&&!t);return a},this.$findClosingTag=function(l,a){var t,e=a.value,n=a.value,i=0,r=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);a=l.stepForward();var s=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+a.value.length),p=!1;do{if(t=a,t.type.indexOf("tag-close")!==-1&&!p){var g=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);p=!0}if(a=l.stepForward(),a){if(a.value===">"&&!p){var g=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);p=!0}if(a.type.indexOf("tag-name")!==-1){if(e=a.value,n===e){if(t.value==="<")i++;else if(t.value==="</"&&(i--,i<0)){l.stepBackward();var C=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2);a=l.stepForward();var k=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+a.value.length);if(a.type.indexOf("tag-close")===-1&&(a=l.stepForward()),!a||a.value!==">")return;var m=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1)}}}else if(n===e&&a.value==="/>"&&(i--,i<0))var C=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2),k=C,m=k,g=new c(s.end.row,s.end.column,s.end.row,s.end.column+1)}}while(a&&i>=0);if(r&&g&&C&&m&&s&&k)return{openTag:new c(r.start.row,r.start.column,g.end.row,g.end.column),closeTag:new c(C.start.row,C.start.column,m.end.row,m.end.column),openTagName:s,closeTagName:k}},this.$findOpeningTag=function(l,a){var t=l.getCurrentToken(),e=a.value,n=0,i=l.getCurrentTokenRow(),r=l.getCurrentTokenColumn(),s=r+2,p=new c(i,r,i,s);l.stepForward();var g=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+a.value.length);if(a.type.indexOf("tag-close")===-1&&(a=l.stepForward()),!(!a||a.value!==">")){var C=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);l.stepBackward(),l.stepBackward();do if(a=t,i=l.getCurrentTokenRow(),r=l.getCurrentTokenColumn(),s=r+a.value.length,t=l.stepBackward(),a){if(a.type.indexOf("tag-name")!==-1){if(e===a.value)if(t.value==="<"){if(n++,n>0){var k=new c(i,r,i,s),m=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);do a=l.stepForward();while(a&&a.value!==">");var b=new c(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1)}}else t.value==="</"&&n--}else if(a.value==="/>"){for(var f=0,_=t;_;){if(_.type.indexOf("tag-name")!==-1&&_.value===e){n--;break}if(_.value==="<")break;_=l.stepBackward(),f++}for(var A=0;A<f;A++)l.stepForward()}}while(t&&n<=0);if(m&&b&&p&&C&&k&&g)return{openTag:new c(m.start.row,m.start.column,b.end.row,b.end.column),closeTag:new c(p.start.row,p.start.column,C.end.row,C.end.column),openTagName:k,closeTagName:g}}}}var h=u("../token_iterator").TokenIterator,c=u("../range").Range;d.BracketMatch=o}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(u,d,x){"use strict";function o(w){return w<4352?!1:w>=4352&&w<=4447||w>=4515&&w<=4519||w>=4602&&w<=4607||w>=9001&&w<=9002||w>=11904&&w<=11929||w>=11931&&w<=12019||w>=12032&&w<=12245||w>=12272&&w<=12283||w>=12288&&w<=12350||w>=12353&&w<=12438||w>=12441&&w<=12543||w>=12549&&w<=12589||w>=12593&&w<=12686||w>=12688&&w<=12730||w>=12736&&w<=12771||w>=12784&&w<=12830||w>=12832&&w<=12871||w>=12880&&w<=13054||w>=13056&&w<=19903||w>=19968&&w<=42124||w>=42128&&w<=42182||w>=43360&&w<=43388||w>=44032&&w<=55203||w>=55216&&w<=55238||w>=55243&&w<=55291||w>=63744&&w<=64255||w>=65040&&w<=65049||w>=65072&&w<=65106||w>=65108&&w<=65126||w>=65128&&w<=65131||w>=65281&&w<=65376||w>=65504&&w<=65510}var h=u("./lib/oop"),c=u("./lib/lang"),l=u("./bidihandler").BidiHandler,a=u("./config"),t=u("./lib/event_emitter").EventEmitter,e=u("./selection").Selection,n=u("./mode/text").Mode,i=u("./range").Range,r=u("./line_widgets").LineWidgets,s=u("./document").Document,p=u("./background_tokenizer").BackgroundTokenizer,g=u("./search_highlight").SearchHighlight,C=u("./undomanager").UndoManager,k=function(){function w(y,S){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++w.$uid,this.$foldData.toString=function(){return this.join(`
`)},this.bgTokenizer=new p(new n().getTokenizer(),this);var F=this;this.bgTokenizer.on("update",function(M){F._signal("tokenizerUpdate",M)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof y!="object"||!y.getLine)&&(y=new s(y)),this.setDocument(y),this.selection=new e(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new l(this),a.resetOptions(this),this.setMode(S),a._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return w.prototype.$initOperationListeners=function(){var y=this;this.curOp=null,this.on("change",function(){y.curOp||(y.startOperation(),y.curOp.selectionBefore=y.$lastSel),y.curOp.docChanged=!0},!0),this.on("changeSelection",function(){y.curOp||(y.startOperation(),y.curOp.selectionBefore=y.$lastSel),y.curOp.selectionChanged=!0},!0),this.$operationResetTimer=c.delayedCall(this.endOperation.bind(this,!0))},w.prototype.startOperation=function(y){if(this.curOp){if(!y||this.curOp.command)return;this.prevOp=this.curOp}y||(y={}),this.$operationResetTimer.schedule(),this.curOp={command:y.command||{},args:y.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",y)},w.prototype.endOperation=function(y){if(this.curOp){if(y&&y.returnValue===!1){this.curOp=null,this._signal("endOperation",y);return}if(y==1&&this.curOp.command&&this.curOp.command.name=="mouse")return;var S=this.selection.toJSON();this.curOp.selectionAfter=S,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(S),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",y)}},w.prototype.setDocument=function(y){this.doc&&this.doc.off("change",this.$onChange),this.doc=y,y.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},w.prototype.getDocument=function(){return this.doc},Object.defineProperty(w.prototype,"widgetManager",{get:function(){var y=new r(this);return this.widgetManager=y,this.$editor&&y.attach(this.$editor),y},set:function(y){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:y})},enumerable:!1,configurable:!0}),w.prototype.$resetRowCache=function(y){if(!y){this.$docRowCache=[],this.$screenRowCache=[];return}var S=this.$docRowCache.length,F=this.$getRowCacheIndex(this.$docRowCache,y)+1;S>F&&(this.$docRowCache.splice(F,S),this.$screenRowCache.splice(F,S))},w.prototype.$getRowCacheIndex=function(y,S){for(var F=0,M=y.length-1;F<=M;){var T=F+M>>1,B=y[T];if(S>B)F=T+1;else{if(!(S<B))return T;M=T-1}}return F-1},w.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},w.prototype.onChangeFold=function(y){var S=y.data;this.$resetRowCache(S.start.row)},w.prototype.onChange=function(y){this.$modified=!0,this.$bidiHandler.onChange(y),this.$resetRowCache(y.start.row);var S=this.$updateInternalDataOnChange(y);!this.$fromUndo&&this.$undoManager&&(S&&S.length&&(this.$undoManager.add({action:"removeFolds",folds:S},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(y,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(y),this._signal("change",y)},w.prototype.onSelectionChange=function(){this._signal("changeSelection")},w.prototype.setValue=function(y){this.doc.setValue(y),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},w.fromJSON=function(y){typeof y=="string"&&(y=JSON.parse(y));var S=new C;S.$undoStack=y.history.undo,S.$redoStack=y.history.redo,S.mark=y.history.mark,S.$rev=y.history.rev;var F=new w(y.value);return y.folds.forEach(function(M){F.addFold("...",i.fromPoints(M.start,M.end))}),F.setAnnotations(y.annotations),F.setBreakpoints(y.breakpoints),F.setMode(y.mode),F.setScrollLeft(y.scrollLeft),F.setScrollTop(y.scrollTop),F.setUndoManager(S),F.selection.fromJSON(y.selection),F},w.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(y){return y.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},w.prototype.toString=function(){return this.doc.getValue()},w.prototype.getSelection=function(){return this.selection},w.prototype.getState=function(y){return this.bgTokenizer.getState(y)},w.prototype.getTokens=function(y){return this.bgTokenizer.getTokens(y)},w.prototype.getTokenAt=function(y,S){var F=this.bgTokenizer.getTokens(y),M,T=0;if(S==null){var B=F.length-1;T=this.getLine(y).length}else for(var B=0;B<F.length&&(T+=F[B].value.length,!(T>=S));B++);return M=F[B],M?(M.index=B,M.start=T-M.value.length,M):null},w.prototype.setUndoManager=function(y){if(this.$undoManager=y,this.$informUndoManager&&this.$informUndoManager.cancel(),y){var S=this;y.addSession(this),this.$syncInformUndoManager=function(){S.$informUndoManager.cancel(),S.mergeUndoDeltas=!1},this.$informUndoManager=c.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},w.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},w.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},w.prototype.getTabString=function(){return this.getUseSoftTabs()?c.stringRepeat(" ",this.getTabSize()):" "},w.prototype.setUseSoftTabs=function(y){this.setOption("useSoftTabs",y)},w.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},w.prototype.setTabSize=function(y){this.setOption("tabSize",y)},w.prototype.getTabSize=function(){return this.$tabSize},w.prototype.isTabStop=function(y){return this.$useSoftTabs&&y.column%this.$tabSize===0},w.prototype.setNavigateWithinSoftTabs=function(y){this.setOption("navigateWithinSoftTabs",y)},w.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},w.prototype.setOverwrite=function(y){this.setOption("overwrite",y)},w.prototype.getOverwrite=function(){return this.$overwrite},w.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},w.prototype.addGutterDecoration=function(y,S){this.$decorations[y]||(this.$decorations[y]=""),this.$decorations[y]+=" "+S,this._signal("changeBreakpoint",{})},w.prototype.removeGutterDecoration=function(y,S){this.$decorations[y]=(this.$decorations[y]||"").replace(" "+S,""),this._signal("changeBreakpoint",{})},w.prototype.getBreakpoints=function(){return this.$breakpoints},w.prototype.setBreakpoints=function(y){this.$breakpoints=[];for(var S=0;S<y.length;S++)this.$breakpoints[y[S]]="ace_breakpoint";this._signal("changeBreakpoint",{})},w.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},w.prototype.setBreakpoint=function(y,S){S===void 0&&(S="ace_breakpoint"),S?this.$breakpoints[y]=S:delete this.$breakpoints[y],this._signal("changeBreakpoint",{})},w.prototype.clearBreakpoint=function(y){delete this.$breakpoints[y],this._signal("changeBreakpoint",{})},w.prototype.addMarker=function(y,S,F,M){var T=this.$markerId++,B={range:y,type:F||"line",renderer:typeof F=="function"?F:null,clazz:S,inFront:!!M,id:T};return M?(this.$frontMarkers[T]=B,this._signal("changeFrontMarker")):(this.$backMarkers[T]=B,this._signal("changeBackMarker")),T},w.prototype.addDynamicMarker=function(y,S){if(y.update){var F=this.$markerId++;return y.id=F,y.inFront=!!S,S?(this.$frontMarkers[F]=y,this._signal("changeFrontMarker")):(this.$backMarkers[F]=y,this._signal("changeBackMarker")),y}},w.prototype.removeMarker=function(y){var S=this.$frontMarkers[y]||this.$backMarkers[y];if(S){var F=S.inFront?this.$frontMarkers:this.$backMarkers;delete F[y],this._signal(S.inFront?"changeFrontMarker":"changeBackMarker")}},w.prototype.getMarkers=function(y){return y?this.$frontMarkers:this.$backMarkers},w.prototype.highlight=function(y){if(!this.$searchHighlight){var S=new g(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(S)}this.$searchHighlight.setRegexp(y)},w.prototype.highlightLines=function(y,S,F,M){typeof S!="number"&&(F=S,S=y),F||(F="ace_step");var T=new i(y,0,S,1/0);return T.id=this.addMarker(T,F,"fullLine",M),T},w.prototype.setAnnotations=function(y){this.$annotations=y,this._signal("changeAnnotation",{})},w.prototype.getAnnotations=function(){return this.$annotations||[]},w.prototype.clearAnnotations=function(){this.setAnnotations([])},w.prototype.$detectNewLine=function(y){var S=y.match(/^.*?(\r?\n)/m);S?this.$autoNewLine=S[1]:this.$autoNewLine=`
`},w.prototype.getWordRange=function(y,S){var F=this.getLine(y),M=!1;if(S>0&&(M=!!F.charAt(S-1).match(this.tokenRe)),M||(M=!!F.charAt(S).match(this.tokenRe)),M)var T=this.tokenRe;else if(/^\s+$/.test(F.slice(S-1,S+1)))var T=/\s/;else var T=this.nonTokenRe;var B=S;if(B>0){do B--;while(B>=0&&F.charAt(B).match(T));B++}for(var I=S;I<F.length&&F.charAt(I).match(T);)I++;return new i(y,B,y,I)},w.prototype.getAWordRange=function(y,S){for(var F=this.getWordRange(y,S),M=this.getLine(F.end.row);M.charAt(F.end.column).match(/[ \t]/);)F.end.column+=1;return F},w.prototype.setNewLineMode=function(y){this.doc.setNewLineMode(y)},w.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},w.prototype.setUseWorker=function(y){this.setOption("useWorker",y)},w.prototype.getUseWorker=function(){return this.$useWorker},w.prototype.onReloadTokenizer=function(y){var S=y.data;this.bgTokenizer.start(S.first),this._signal("tokenizerUpdate",y)},w.prototype.setMode=function(y,S){if(y&&typeof y=="object"){if(y.getTokenizer)return this.$onChangeMode(y);var F=y,M=F.path}else M=y||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new n),this.$modes[M]&&!F){this.$onChangeMode(this.$modes[M]),S&&S();return}this.$modeId=M,a.loadModule(["mode",M],function(T){if(this.$modeId!==M)return S&&S();this.$modes[M]&&!F?this.$onChangeMode(this.$modes[M]):T&&T.Mode&&(T=new T.Mode(F),F||(this.$modes[M]=T,T.$id=M),this.$onChangeMode(T)),S&&S()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},w.prototype.$onChangeMode=function(y,S){if(S||(this.$modeId=y.$id),this.$mode!==y){var F=this.$mode;this.$mode=y,this.$stopWorker(),this.$useWorker&&this.$startWorker();var M=y.getTokenizer();if(M.on!==void 0){var T=this.onReloadTokenizer.bind(this);M.on("update",T)}this.bgTokenizer.setTokenizer(M),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=y.tokenRe,this.nonTokenRe=y.nonTokenRe,S||(y.attachToSession&&y.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(y.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:F,mode:y}))}},w.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},w.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(y){a.warn("Could not load worker",y),this.$worker=null}},w.prototype.getMode=function(){return this.$mode},w.prototype.setScrollTop=function(y){this.$scrollTop===y||isNaN(y)||(this.$scrollTop=y,this._signal("changeScrollTop",y))},w.prototype.getScrollTop=function(){return this.$scrollTop},w.prototype.setScrollLeft=function(y){this.$scrollLeft===y||isNaN(y)||(this.$scrollLeft=y,this._signal("changeScrollLeft",y))},w.prototype.getScrollLeft=function(){return this.$scrollLeft},w.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},w.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var y=0;return this.lineWidgets.forEach(function(S){S&&S.screenWidth>y&&(y=S.screenWidth)}),this.lineWidgetWidth=y},w.prototype.$computeWidth=function(y){if(this.$modified||y){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var S=this.doc.getAllLines(),F=this.$rowLengthCache,M=0,T=0,B=this.$foldData[T],I=B?B.start.row:1/0,D=S.length,L=0;L<D;L++){if(L>I){if(L=B.end.row+1,L>=D)break;B=this.$foldData[T++],I=B?B.start.row:1/0}F[L]==null&&(F[L]=this.$getStringScreenWidth(S[L])[0]),F[L]>M&&(M=F[L])}this.screenWidth=M}},w.prototype.getLine=function(y){return this.doc.getLine(y)},w.prototype.getLines=function(y,S){return this.doc.getLines(y,S)},w.prototype.getLength=function(){return this.doc.getLength()},w.prototype.getTextRange=function(y){return this.doc.getTextRange(y||this.selection.getRange())},w.prototype.insert=function(y,S){return this.doc.insert(y,S)},w.prototype.remove=function(y){return this.doc.remove(y)},w.prototype.removeFullLines=function(y,S){return this.doc.removeFullLines(y,S)},w.prototype.undoChanges=function(y,S){if(y.length){this.$fromUndo=!0;for(var F=y.length-1;F!=-1;F--){var M=y[F];M.action=="insert"||M.action=="remove"?this.doc.revertDelta(M):M.folds&&this.addFolds(M.folds)}!S&&this.$undoSelect&&(y.selectionBefore?this.selection.fromJSON(y.selectionBefore):this.selection.setRange(this.$getUndoSelection(y,!0))),this.$fromUndo=!1}},w.prototype.redoChanges=function(y,S){if(y.length){this.$fromUndo=!0;for(var F=0;F<y.length;F++){var M=y[F];(M.action=="insert"||M.action=="remove")&&this.doc.$safeApplyDelta(M)}!S&&this.$undoSelect&&(y.selectionAfter?this.selection.fromJSON(y.selectionAfter):this.selection.setRange(this.$getUndoSelection(y,!1))),this.$fromUndo=!1}},w.prototype.setUndoSelect=function(y){this.$undoSelect=y},w.prototype.$getUndoSelection=function(y,S){function F(D){return S?D.action!=="insert":D.action==="insert"}for(var M,T,B=0;B<y.length;B++){var I=y[B];if(I.start){if(!M){F(I)?M=i.fromPoints(I.start,I.end):M=i.fromPoints(I.start,I.start);continue}F(I)?(T=I.start,M.compare(T.row,T.column)==-1&&M.setStart(T),T=I.end,M.compare(T.row,T.column)==1&&M.setEnd(T)):(T=I.start,M.compare(T.row,T.column)==-1&&(M=i.fromPoints(I.start,I.start)))}}return M},w.prototype.replace=function(y,S){return this.doc.replace(y,S)},w.prototype.moveText=function(y,S,F){var M=this.getTextRange(y),T=this.getFoldsInRange(y),B=i.fromPoints(S,S);if(!F){this.remove(y);var I=y.start.row-y.end.row,D=I?-y.end.column:y.start.column-y.end.column;D&&(B.start.row==y.end.row&&B.start.column>y.end.column&&(B.start.column+=D),B.end.row==y.end.row&&B.end.column>y.end.column&&(B.end.column+=D)),I&&B.start.row>=y.end.row&&(B.start.row+=I,B.end.row+=I)}if(B.end=this.insert(B.start,M),T.length){var L=y.start,H=B.start,I=H.row-L.row,D=H.column-L.column;this.addFolds(T.map(function(N){return N=N.clone(),N.start.row==L.row&&(N.start.column+=D),N.end.row==L.row&&(N.end.column+=D),N.start.row+=I,N.end.row+=I,N}))}return B},w.prototype.indentRows=function(y,S,F){F=F.replace(/\t/g,this.getTabString());for(var M=y;M<=S;M++)this.doc.insertInLine({row:M,column:0},F)},w.prototype.outdentRows=function(y){for(var S=y.collapseRows(),F=new i(0,0,0,0),M=this.getTabSize(),T=S.start.row;T<=S.end.row;++T){var B=this.getLine(T);F.start.row=T,F.end.row=T;for(var I=0;I<M&&B.charAt(I)==" ";++I);I<M&&B.charAt(I)==" "?(F.start.column=I,F.end.column=I+1):(F.start.column=0,F.end.column=I),this.remove(F)}},w.prototype.$moveLines=function(y,S,F){if(y=this.getRowFoldStart(y),S=this.getRowFoldEnd(S),F<0){var M=this.getRowFoldStart(y+F);if(M<0)return 0;var T=M-y}else if(F>0){var M=this.getRowFoldEnd(S+F);if(M>this.doc.getLength()-1)return 0;var T=M-S}else{y=this.$clipRowToDocument(y),S=this.$clipRowToDocument(S);var T=S-y+1}var B=new i(y,0,S,Number.MAX_VALUE),I=this.getFoldsInRange(B).map(function(L){return L=L.clone(),L.start.row+=T,L.end.row+=T,L}),D=F==0?this.doc.getLines(y,S):this.doc.removeFullLines(y,S);return this.doc.insertFullLines(y+T,D),I.length&&this.addFolds(I),T},w.prototype.moveLinesUp=function(y,S){return this.$moveLines(y,S,-1)},w.prototype.moveLinesDown=function(y,S){return this.$moveLines(y,S,1)},w.prototype.duplicateLines=function(y,S){return this.$moveLines(y,S,0)},w.prototype.$clipRowToDocument=function(y){return Math.max(0,Math.min(y,this.doc.getLength()-1))},w.prototype.$clipColumnToRow=function(y,S){return S<0?0:Math.min(this.doc.getLine(y).length,S)},w.prototype.$clipPositionToDocument=function(y,S){if(S=Math.max(0,S),y<0)y=0,S=0;else{var F=this.doc.getLength();y>=F?(y=F-1,S=this.doc.getLine(F-1).length):S=Math.min(this.doc.getLine(y).length,S)}return{row:y,column:S}},w.prototype.$clipRangeToDocument=function(y){y.start.row<0?(y.start.row=0,y.start.column=0):y.start.column=this.$clipColumnToRow(y.start.row,y.start.column);var S=this.doc.getLength()-1;return y.end.row>S?(y.end.row=S,y.end.column=this.doc.getLine(S).length):y.end.column=this.$clipColumnToRow(y.end.row,y.end.column),y},w.prototype.setUseWrapMode=function(y){if(y!=this.$useWrapMode){if(this.$useWrapMode=y,this.$modified=!0,this.$resetRowCache(0),y){var S=this.getLength();this.$wrapData=Array(S),this.$updateWrapData(0,S-1)}this._signal("changeWrapMode")}},w.prototype.getUseWrapMode=function(){return this.$useWrapMode},w.prototype.setWrapLimitRange=function(y,S){(this.$wrapLimitRange.min!==y||this.$wrapLimitRange.max!==S)&&(this.$wrapLimitRange={min:y,max:S},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},w.prototype.adjustWrapLimit=function(y,S){var F=this.$wrapLimitRange;F.max<0&&(F={min:S,max:S});var M=this.$constrainWrapLimit(y,F.min,F.max);return M!=this.$wrapLimit&&M>1?(this.$wrapLimit=M,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},w.prototype.$constrainWrapLimit=function(y,S,F){return S&&(y=Math.max(S,y)),F&&(y=Math.min(F,y)),y},w.prototype.getWrapLimit=function(){return this.$wrapLimit},w.prototype.setWrapLimit=function(y){this.setWrapLimitRange(y,y)},w.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},w.prototype.$updateInternalDataOnChange=function(y){var S=this.$useWrapMode,F=y.action,M=y.start,T=y.end,B=M.row,I=T.row,D=I-B,L=null;if(this.$updating=!0,D!=0)if(F==="remove"){this[S?"$wrapData":"$rowLengthCache"].splice(B,D);var H=this.$foldData;L=this.getFoldsInRange(y),this.removeFolds(L);var O=this.getFoldLine(T.row),P=0;if(O){O.addRemoveChars(T.row,T.column,M.column-T.column),O.shiftRow(-D);var N=this.getFoldLine(B);N&&N!==O&&(N.merge(O),O=N),P=H.indexOf(O)+1}for(P;P<H.length;P++){var O=H[P];O.start.row>=T.row&&O.shiftRow(-D)}I=B}else{var V=Array(D);V.unshift(B,0);var j=S?this.$wrapData:this.$rowLengthCache;j.splice.apply(j,V);var H=this.$foldData,O=this.getFoldLine(B),P=0;if(O){var G=O.range.compareInside(M.row,M.column);G==0?(O=O.split(M.row,M.column),O&&(O.shiftRow(D),O.addRemoveChars(I,0,T.column-M.column))):G==-1&&(O.addRemoveChars(B,0,T.column-M.column),O.shiftRow(D)),P=H.indexOf(O)+1}for(P;P<H.length;P++){var O=H[P];O.start.row>=B&&O.shiftRow(D)}}else{D=Math.abs(y.start.column-y.end.column),F==="remove"&&(L=this.getFoldsInRange(y),this.removeFolds(L),D=-D);var O=this.getFoldLine(B);O&&O.addRemoveChars(B,M.column,D)}return S&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,S?this.$updateWrapData(B,I):this.$updateRowLengthCache(B,I),L},w.prototype.$updateRowLengthCache=function(y,S){this.$rowLengthCache[y]=null,this.$rowLengthCache[S]=null},w.prototype.$updateWrapData=function(y,S){var F=this.doc.getAllLines(),M=this.getTabSize(),T=this.$wrapData,B=this.$wrapLimit,I,D,L=y;for(S=Math.min(S,F.length-1);L<=S;)D=this.getFoldLine(L,D),D?(I=[],D.walk(function(H,O,P,N){var V;if(H!=null){V=this.$getDisplayTokens(H,I.length),V[0]=f;for(var j=1;j<V.length;j++)V[j]=_}else V=this.$getDisplayTokens(F[O].substring(N,P),I.length);I=I.concat(V)}.bind(this),D.end.row,F[D.end.row].length+1),T[D.start.row]=this.$computeWrapSplits(I,B,M),L=D.end.row+1):(I=this.$getDisplayTokens(F[L]),T[L]=this.$computeWrapSplits(I,B,M),L++)},w.prototype.$computeWrapSplits=function(y,S,F){function M(){var G=0;if(P===0)return G;if(O)for(var W=0;W<y.length;W++){var K=y[W];if(K==$)G+=1;else{if(K!=v){if(K==E)continue;break}G+=F}}return H&&O!==!1&&(G+=F),Math.min(G,P)}function T(G){for(var W=G-D,K=D;K<G;K++){var Q=y[K];(Q===12||Q===2)&&(W-=1)}B.length||(N=M(),B.indent=N),L+=W,B.push(L),D=G}if(y.length==0)return[];for(var B=[],I=y.length,D=0,L=0,H=this.$wrapAsCode,O=this.$indentedSoftWrap,P=S<=Math.max(2*F,8)||O===!1?0:Math.floor(S/2),N=0;I-D>S-N;){var V=D+S-N;if(y[V-1]>=$&&y[V]>=$){T(V);continue}if(y[V]==f||y[V]==_){for(V;V!=D-1&&y[V]!=f;V--);if(V>D){T(V);continue}for(V=D+S,V;V<y.length&&y[V]==_;V++);if(V==y.length)break;T(V);continue}for(var j=Math.max(V-(S-(S>>2)),D-1);V>j&&y[V]<f;)V--;if(H){for(;V>j&&y[V]<f;)V--;for(;V>j&&y[V]==A;)V--}else for(;V>j&&y[V]<$;)V--;if(V>j){T(++V);continue}V=D+S,y[V]==b&&V--,T(V-N)}return B},w.prototype.$getDisplayTokens=function(y,S){var F=[],M;S=S||0;for(var T=0;T<y.length;T++){var B=y.charCodeAt(T);if(B==9){M=this.getScreenTabSize(F.length+S),F.push(v);for(var I=1;I<M;I++)F.push(E)}else B==32?F.push($):B>39&&B<48||B>57&&B<64?F.push(A):B>=4352&&o(B)?F.push(m,b):F.push(m)}return F},w.prototype.$getStringScreenWidth=function(y,S,F){if(S==0)return[0,0];S==null&&(S=1/0),F=F||0;var M,T;for(T=0;T<y.length&&(M=y.charCodeAt(T),M==9?F+=this.getScreenTabSize(F):M>=4352&&o(M)?F+=2:F+=1,!(F>S));T++);return[F,T]},w.prototype.getRowLength=function(y){var S=1;return this.lineWidgets&&(S+=this.lineWidgets[y]&&this.lineWidgets[y].rowCount||0),!this.$useWrapMode||!this.$wrapData[y]?S:this.$wrapData[y].length+S},w.prototype.getRowLineCount=function(y){return!this.$useWrapMode||!this.$wrapData[y]?1:this.$wrapData[y].length+1},w.prototype.getRowWrapIndent=function(y){if(this.$useWrapMode){var S=this.screenToDocumentPosition(y,Number.MAX_VALUE),F=this.$wrapData[S.row];return F.length&&F[0]<S.column?F.indent:0}return 0},w.prototype.getScreenLastRowColumn=function(y){var S=this.screenToDocumentPosition(y,Number.MAX_VALUE);return this.documentToScreenColumn(S.row,S.column)},w.prototype.getDocumentLastRowColumn=function(y,S){var F=this.documentToScreenRow(y,S);return this.getScreenLastRowColumn(F)},w.prototype.getDocumentLastRowColumnPosition=function(y,S){var F=this.documentToScreenRow(y,S);return this.screenToDocumentPosition(F,Number.MAX_VALUE/10)},w.prototype.getRowSplitData=function(y){return this.$useWrapMode?this.$wrapData[y]:void 0},w.prototype.getScreenTabSize=function(y){return this.$tabSize-(y%this.$tabSize|0)},w.prototype.screenToDocumentRow=function(y,S){return this.screenToDocumentPosition(y,S).row},w.prototype.screenToDocumentColumn=function(y,S){return this.screenToDocumentPosition(y,S).column},w.prototype.screenToDocumentPosition=function(y,S,F){if(y<0)return{row:0,column:0};var M,P=0,T=0,B,O=0,I=0,D=this.$screenRowCache,L=this.$getRowCacheIndex(D,y),H=D.length;if(H&&L>=0)var O=D[L],P=this.$docRowCache[L],N=y>D[H-1];else var N=!H;for(var V=this.getLength()-1,j=this.getNextFoldLine(P),G=j?j.start.row:1/0;O<=y&&(I=this.getRowLength(P),!(O+I>y||P>=V));)O+=I,P++,P>G&&(P=j.end.row+1,j=this.getNextFoldLine(P,j),G=j?j.start.row:1/0),N&&(this.$docRowCache.push(P),this.$screenRowCache.push(O));if(j&&j.start.row<=P)M=this.getFoldDisplayLine(j),P=j.start.row;else{if(O+I<=y||P>V)return{row:V,column:this.getLine(V).length};M=this.getLine(P),j=null}var W=0,K=Math.floor(y-O);if(this.$useWrapMode){var Q=this.$wrapData[P];Q&&(B=Q[K],K>0&&Q.length&&(W=Q.indent,T=Q[K-1]||Q[Q.length-1],M=M.substring(T)))}return F!==void 0&&this.$bidiHandler.isBidiRow(O+K,P,K)&&(S=this.$bidiHandler.offsetToCol(F)),T+=this.$getStringScreenWidth(M,S-W)[1],this.$useWrapMode&&T>=B&&(T=B-1),j?j.idxToPosition(T):{row:P,column:T}},w.prototype.documentToScreenPosition=function(y,S){if(typeof S>"u")var F=this.$clipPositionToDocument(y.row,y.column);else F=this.$clipPositionToDocument(y,S);y=F.row,S=F.column;var O=0,M=null,T=null;T=this.getFoldAt(y,S,1),T&&(y=T.start.row,S=T.start.column);var B,H=0,I=this.$docRowCache,D=this.$getRowCacheIndex(I,y),L=I.length;if(L&&D>=0)var H=I[D],O=this.$screenRowCache[D],P=y>I[L-1];else var P=!L;for(var N=this.getNextFoldLine(H),V=N?N.start.row:1/0;H<y;){if(H>=V){if(B=N.end.row+1,B>y)break;N=this.getNextFoldLine(B,N),V=N?N.start.row:1/0}else B=H+1;O+=this.getRowLength(H),H=B,P&&(this.$docRowCache.push(H),this.$screenRowCache.push(O))}var j="";N&&H>=V?(j=this.getFoldDisplayLine(N,y,S),M=N.start.row):(j=this.getLine(y).substring(0,S),M=y);var G=0;if(this.$useWrapMode){var W=this.$wrapData[M];if(W){for(var K=0;j.length>=W[K];)O++,K++;j=j.substring(W[K-1]||0,j.length),G=K>0?W.indent:0}}return this.lineWidgets&&this.lineWidgets[H]&&this.lineWidgets[H].rowsAbove&&(O+=this.lineWidgets[H].rowsAbove),{row:O,column:G+this.$getStringScreenWidth(j)[0]}},w.prototype.documentToScreenColumn=function(y,S){return this.documentToScreenPosition(y,S).column},w.prototype.documentToScreenRow=function(y,S){return this.documentToScreenPosition(y,S).row},w.prototype.getScreenLength=function(){var y=0,S=null;if(this.$useWrapMode)for(var T=this.$wrapData.length,B=0,M=0,S=this.$foldData[M++],I=S?S.start.row:1/0;B<T;){var D=this.$wrapData[B];y+=D?D.length+1:1,B++,B>I&&(B=S.end.row+1,S=this.$foldData[M++],I=S?S.start.row:1/0)}else{y=this.getLength();for(var F=this.$foldData,M=0;M<F.length;M++)S=F[M],y-=S.end.row-S.start.row}return this.lineWidgets&&(y+=this.$getWidgetScreenLength()),y},w.prototype.$setFontMetrics=function(y){this.$enableVarChar&&(this.$getStringScreenWidth=function(S,F,M){if(F===0)return[0,0];F||(F=1/0),M=M||0;var T,B;for(B=0;B<S.length&&(T=S.charAt(B),T===" "?M+=this.getScreenTabSize(M):M+=y.getCharacterWidth(T),!(M>F));B++);return[M,B]})},w.prototype.getPrecedingCharacter=function(){var y=this.selection.getCursor();if(y.column===0)return y.row===0?"":this.doc.getNewLineCharacter();var S=this.getLine(y.row);return S[y.column-1]},w.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},w}();k.$uid=0,k.prototype.$modes=a.$modes,k.prototype.getValue=k.prototype.toString,k.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},k.prototype.$overwrite=!1,k.prototype.$mode=null,k.prototype.$modeId=null,k.prototype.$scrollTop=0,k.prototype.$scrollLeft=0,k.prototype.$wrapLimit=80,k.prototype.$useWrapMode=!1,k.prototype.$wrapLimitRange={min:null,max:null},k.prototype.lineWidgets=null,k.prototype.isFullWidth=o,h.implement(k.prototype,t);var m=1,b=2,f=3,_=4,A=9,$=10,v=11,E=12;u("./edit_session/folding").Folding.call(k.prototype),u("./edit_session/bracket_match").BracketMatch.call(k.prototype),a.defineOptions(k.prototype,"session",{wrap:{set:function(w){if(!w||w=="off"?w=!1:w=="free"?w=!0:w=="printMargin"?w=-1:typeof w=="string"&&(w=parseInt(w,10)||!1),this.$wrap!=w)if(this.$wrap=w,!w)this.setUseWrapMode(!1);else{var y=typeof w=="number"?w:null;this.setWrapLimitRange(y,y),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(w){w=w=="auto"?this.$mode.type!="text":w!="text",w!=this.$wrapAsCode&&(this.$wrapAsCode=w,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(w){this.$useWorker=w,this.$stopWorker(),w&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(w){w=parseInt(w),w>0&&this.$tabSize!==w&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=w,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(w){this.setFoldStyle(w)},handlesSet:!0},overwrite:{set:function(w){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(w){this.doc.setNewLineMode(w)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(w){this.setMode(w)},get:function(){return this.$modeId},handlesSet:!0}}),d.EditSession=k}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(u,d,x){"use strict";function o(t,e){function n(g,C){C===void 0&&(C=!0);var k=i&&e.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return k.test(g)||e.regExp?i&&e.$supportsUnicodeFlag?C?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var i=h.supportsLookbehind(),r=Array.from(t),s=r[0],p=r[r.length-1];return n(s)+t+n(p,!1)}var h=u("./lib/lang"),c=u("./lib/oop"),l=u("./range").Range,a=function(){function t(){this.$options={}}return t.prototype.set=function(e){return c.mixin(this.$options,e),this},t.prototype.getOptions=function(){return h.copyObject(this.$options)},t.prototype.setOptions=function(e){this.$options=e},t.prototype.find=function(e){var n=this.$options,i=this.$matchIterator(e,n);if(!i)return!1;var r=null;return i.forEach(function(s,p,g,C){return r=new l(s,p,g,C),p==C&&n.start&&n.start.start&&n.skipCurrent!=0&&r.isEqual(n.start)?(r=null,!1):!0}),r},t.prototype.findAll=function(e){var n=this.$options;if(!n.needle)return[];this.$assembleRegExp(n);var i=n.range,r=i?e.getLines(i.start.row,i.end.row):e.doc.getAllLines(),s=[],p=n.re;if(n.$isMultiLine){var g=p.length,C=r.length-g,k;e:for(var m=p.offset||0;m<=C;m++){for(var b=0;b<g;b++)if(r[m+b].search(p[b])==-1)continue e;var f=r[m],_=r[m+g-1],A=f.length-f.match(p[0])[0].length,$=_.match(p[g-1])[0].length;k&&k.end.row===m&&k.end.column>A||(s.push(k=new l(m,A,m+g-1,$)),g>2&&(m=m+g-2))}}else for(var v=0;v<r.length;v++)for(var E=h.getMatchOffsets(r[v],p),b=0;b<E.length;b++){var w=E[b];s.push(new l(v,w.offset,v,w.offset+w.length))}if(i){for(var y=i.start.column,S=i.end.column,v=0,b=s.length-1;v<b&&s[v].start.column<y&&s[v].start.row==0;)v++;for(var F=i.end.row-i.start.row;v<b&&s[b].end.column>S&&s[b].end.row==F;)b--;for(s=s.slice(v,b+1),v=0,b=s.length;v<b;v++)s[v].start.row+=i.start.row,s[v].end.row+=i.start.row}return s},t.prototype.replace=function(e,n){var i=this.$options,r=this.$assembleRegExp(i);if(i.$isMultiLine)return n;if(r){var s=r.exec(e);if(!s||s[0].length!=e.length)return null;if(i.regExp||(n=n.replace(/\$/g,"$$$$")),n=e.replace(r,n),i.preserveCase){n=n.split("");for(var p=Math.min(e.length,e.length);p--;){var g=e[p];g&&g.toLowerCase()!=g?n[p]=n[p].toUpperCase():n[p]=n[p].toLowerCase()}n=n.join("")}return n}},t.prototype.$assembleRegExp=function(e,n){if(e.needle instanceof RegExp)return e.re=e.needle;var i=e.needle;if(!e.needle)return e.re=!1;e.regExp||(i=h.escapeRegExp(i));var r=e.caseSensitive?"gm":"gmi";try{new RegExp(i,"u"),e.$supportsUnicodeFlag=!0,r+="u"}catch{e.$supportsUnicodeFlag=!1}if(e.wholeWord&&(i=o(i,e)),e.$isMultiLine=!n&&/[\n\r]/.test(i),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(i,r);try{var s=new RegExp(i,r)}catch{s=!1}return e.re=s},t.prototype.$assembleMultilineRegExp=function(e,n){for(var i=e.replace(/\r\n|\r|\n/g,`$
^`).split(`
`),r=[],s=0;s<i.length;s++)try{r.push(new RegExp(i[s],n))}catch{return!1}return r},t.prototype.$matchIterator=function(e,n){var i=this.$assembleRegExp(n);if(!i)return!1;var r=n.backwards==1,s=n.skipCurrent!=0,p=i.unicode,g=n.range,C=n.start;C||(C=g?g[r?"end":"start"]:e.selection.getRange()),C.start&&(C=C[s!=r?"end":"start"]);var k=g?g.start.row:0,m=g?g.end.row:e.getLength()-1;if(r)var b=function(A){var $=C.row;if(!_($,C.column,A)){for($--;$>=k;$--)if(_($,Number.MAX_VALUE,A))return;if(n.wrap!=0){for($=m,k=C.row;$>=k;$--)if(_($,Number.MAX_VALUE,A))return}}};else var b=function(A){var $=C.row;if(!_($,C.column,A)){for($+=1;$<=m;$++)if(_($,0,A))return;if(n.wrap!=0){for($=k,m=C.row;$<=m;$++)if(_($,0,A))return}}};if(n.$isMultiLine)var f=i.length,_=function(A,$,v){var E=r?A-f+1:A;if(!(E<0||E+f>e.getLength())){var w=e.getLine(E),y=w.search(i[0]);if(!(!r&&y<$||y===-1)){for(var S=1;S<f;S++)if(w=e.getLine(E+S),w.search(i[S])==-1)return;var F=w.match(i[f-1])[0].length;if(!(r&&F>$)&&v(E,y,E+f-1,F))return!0}}};else if(r)var _=function(A,$,v){var E=e.getLine(A),w=[],y,S=0;for(i.lastIndex=0;y=i.exec(E);){var F=y[0].length;if(S=y.index,!F){if(S>=E.length)break;i.lastIndex=S+=h.skipEmptyMatch(E,S,p)}if(y.index+F>$)break;w.push(y.index,F)}for(var M=w.length-1;M>=0;M-=2){var T=w[M-1],F=w[M];if(v(A,T,A,T+F))return!0}};else var _=function(A,$,v){var E=e.getLine(A),w,y;for(i.lastIndex=$;y=i.exec(E);){var S=y[0].length;if(w=y.index,v(A,w,A,w+S))return!0;if(!S&&(i.lastIndex=w+=h.skipEmptyMatch(E,w,p),w>=E.length))return!1}};return{forEach:b}},t}();d.Search=a}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(u,d,x){"use strict";function o(n){return typeof n=="object"&&n.bindKey&&n.bindKey.position||(n.isDefault?-100:0)}var h=this&&this.__extends||function(){var n=function(i,r){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,p){s.__proto__=p}||function(s,p){for(var g in p)Object.prototype.hasOwnProperty.call(p,g)&&(s[g]=p[g])},n(i,r)};return function(i,r){function s(){this.constructor=i}if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");n(i,r),i.prototype=r===null?Object.create(r):(s.prototype=r.prototype,new s)}}(),c=u("../lib/keys"),l=u("../lib/useragent"),a=c.KEY_MODS,t=function(){function n(i,r){this.$init(i,r,!1)}return n.prototype.$init=function(i,r,s){this.platform=r||(l.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(i),this.$singleCommand=s},n.prototype.addCommand=function(i){this.commands[i.name]&&this.removeCommand(i),this.commands[i.name]=i,i.bindKey&&this._buildKeyHash(i)},n.prototype.removeCommand=function(i,r){var s=i&&(typeof i=="string"?i:i.name);i=this.commands[s],r||delete this.commands[s];var p=this.commandKeyBinding;for(var g in p){var C=p[g];if(C==i)delete p[g];else if(Array.isArray(C)){var k=C.indexOf(i);k!=-1&&(C.splice(k,1),C.length==1&&(p[g]=C[0]))}}},n.prototype.bindKey=function(i,r,s){if(typeof i=="object"&&i&&(s==null&&(s=i.position),i=i[this.platform]),!!i){if(typeof r=="function")return this.addCommand({exec:r,bindKey:i,name:r.name||i});i.split("|").forEach(function(p){var g="";if(p.indexOf(" ")!=-1){var C=p.split(/\s+/);p=C.pop(),C.forEach(function(b){var f=this.parseKeys(b),_=a[f.hashId]+f.key;g+=(g?" ":"")+_,this._addCommandToBinding(g,"chainKeys")},this),g+=" "}var k=this.parseKeys(p),m=a[k.hashId]+k.key;this._addCommandToBinding(g+m,r,s)},this)}},n.prototype._addCommandToBinding=function(i,r,s){var p=this.commandKeyBinding,g;if(!r)delete p[i];else if(!p[i]||this.$singleCommand)p[i]=r;else{Array.isArray(p[i])?(g=p[i].indexOf(r))!=-1&&p[i].splice(g,1):p[i]=[p[i]],typeof s!="number"&&(s=o(r));var C=p[i];for(g=0;g<C.length;g++){var k=C[g],m=o(k);if(m>s)break}C.splice(g,0,r)}},n.prototype.addCommands=function(i){i&&Object.keys(i).forEach(function(r){var s=i[r];if(s){if(typeof s=="string")return this.bindKey(s,r);typeof s=="function"&&(s={exec:s}),typeof s=="object"&&(s.name||(s.name=r),this.addCommand(s))}},this)},n.prototype.removeCommands=function(i){Object.keys(i).forEach(function(r){this.removeCommand(i[r])},this)},n.prototype.bindKeys=function(i){Object.keys(i).forEach(function(r){this.bindKey(r,i[r])},this)},n.prototype._buildKeyHash=function(i){this.bindKey(i.bindKey,i)},n.prototype.parseKeys=function(i){var r=i.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(m){return m}),s=r.pop(),p=c[s];if(c.FUNCTION_KEYS[p])s=c.FUNCTION_KEYS[p].toLowerCase();else{if(!r.length)return{key:s,hashId:-1};if(r.length==1&&r[0]=="shift")return{key:s.toUpperCase(),hashId:-1}}for(var g=0,C=r.length;C--;){var k=c.KEY_MODS[r[C]];if(k==null)return typeof console<"u"&&console.error("invalid modifier "+r[C]+" in "+i),!1;g|=k}return{key:s,hashId:g}},n.prototype.findKeyCommand=function(i,r){var s=a[i]+r;return this.commandKeyBinding[s]},n.prototype.handleKeyboard=function(i,r,s,p){if(!(p<0)){var g=a[r]+s,C=this.commandKeyBinding[g];return i.$keyChain&&(i.$keyChain+=" "+g,C=this.commandKeyBinding[i.$keyChain]||C),C&&(C=="chainKeys"||C[C.length-1]=="chainKeys")?(i.$keyChain=i.$keyChain||g,{command:"null"}):(i.$keyChain&&(r&&r!=4||s.length!=1?(r==-1||p>0)&&(i.$keyChain=""):i.$keyChain=i.$keyChain.slice(0,-g.length-1)),{command:C})}},n.prototype.getStatusText=function(i,r){return r.$keyChain||""},n}(),e=function(n){function i(r,s){var p=n.call(this,r,s)||this;return p.$singleCommand=!0,p}return h(i,n),i}(t);e.call=function(n,i,r){t.prototype.$init.call(n,i,r,!0)},t.call=function(n,i,r){t.prototype.$init.call(n,i,r,!1)},d.HashHandler=e,d.MultiHashHandler=t}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=this&&this.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i[s]=r[s])},t(e,n)};return function(e,n){function i(){this.constructor=e}if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n),e.prototype=n===null?Object.create(n):(i.prototype=n.prototype,new i)}}(),h=u("../lib/oop"),c=u("../keyboard/hash_handler").MultiHashHandler,l=u("../lib/event_emitter").EventEmitter,a=function(t){function e(n,i){var r=t.call(this,i,n)||this;return r.byName=r.commands,r.setDefaultHandler("exec",function(s){return s.args?s.command.exec(s.editor,s.args,s.event,!1):s.command.exec(s.editor,{},s.event,!0)}),r}return o(e,t),e.prototype.exec=function(n,i,r){if(Array.isArray(n)){for(var s=n.length;s--;)if(this.exec(n[s],i,r))return!0;return!1}if(typeof n=="string"&&(n=this.commands[n]),!this.canExecute(n,i))return!1;var p={editor:i,command:n,args:r};return p.returnValue=this._emit("exec",p),this._signal("afterExec",p),p.returnValue!==!1},e.prototype.canExecute=function(n,i){return typeof n=="string"&&(n=this.commands[n]),n?i&&i.$readOnly&&!n.readOnly?!1:!(this.$checkCommandState!=0&&n.isAvailable&&!n.isAvailable(i)):!1},e.prototype.toggleRecording=function(n){if(!this.$inReplay)return n&&n._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(i){this.macro.push([i.command,i.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},e.prototype.replay=function(n){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(n);try{this.$inReplay=!0,this.macro.forEach(function(i){typeof i=="string"?this.exec(i,n):this.exec(i[0],n,i[1])},this)}finally{this.$inReplay=!1}}},e.prototype.trimMacro=function(n){return n.map(function(i){return typeof i[0]!="string"&&(i[0]=i[0].name),i[1]||(i=i[0]),i})},e}(c);h.implement(a.prototype,l),d.CommandManager=a}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(u,d,x){"use strict";function o(t,e){return{win:t,mac:e}}var h=u("../lib/lang"),c=u("../config"),l=u("../range").Range;d.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:o("Ctrl-,","Command-,"),exec:function(t){c.loadModule("ace/ext/settings_menu",function(e){e.init(t),t.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:o("Alt-E","F4"),exec:function(t){c.loadModule("ace/ext/error_marker",function(e){e.showErrorMarker(t,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:o("Alt-Shift-E","Shift-F4"),exec:function(t){c.loadModule("ace/ext/error_marker",function(e){e.showErrorMarker(t,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:o("Ctrl-A","Command-A"),exec:function(t){t.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:o(null,"Ctrl-L"),exec:function(t){t.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:o("Ctrl-L","Command-L"),exec:function(t,e){typeof e=="number"&&!isNaN(e)&&t.gotoLine(e),t.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:o("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(t){t.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:o("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(t){t.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:o("F2","F2"),exec:function(t){t.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:o("Alt-F2","Alt-F2"),exec:function(t){t.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(t){t.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:o(null,"Ctrl-Command-Option-0"),exec:function(t){t.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:o("Alt-0","Command-Option-0"),exec:function(t){t.session.foldAll(),t.session.unfold(t.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:o("Alt-Shift-0","Command-Option-Shift-0"),exec:function(t){t.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:o("Ctrl-K","Command-G"),exec:function(t){t.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:o("Ctrl-Shift-K","Command-Shift-G"),exec:function(t){t.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:o("Alt-K","Ctrl-G"),exec:function(t){t.selection.isEmpty()?t.selection.selectWord():t.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:o("Alt-Shift-K","Ctrl-Shift-G"),exec:function(t){t.selection.isEmpty()?t.selection.selectWord():t.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:o("Ctrl-F","Command-F"),exec:function(t){c.loadModule("ace/ext/searchbox",function(e){e.Search(t)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(t){t.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:o("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(t){t.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:o("Ctrl-Home","Command-Home|Command-Up"),exec:function(t){t.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:o("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(t){t.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:o("Up","Up|Ctrl-P"),exec:function(t,e){t.navigateUp(e.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:o("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(t){t.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:o("Ctrl-End","Command-End|Command-Down"),exec:function(t){t.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:o("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(t){t.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:o("Down","Down|Ctrl-N"),exec:function(t,e){t.navigateDown(e.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:o("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(t){t.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:o("Ctrl-Left","Option-Left"),exec:function(t){t.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:o("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(t){t.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:o("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(t){t.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:o("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(t){t.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:o("Left","Left|Ctrl-B"),exec:function(t,e){t.navigateLeft(e.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:o("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(t){t.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:o("Ctrl-Right","Option-Right"),exec:function(t){t.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:o("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(t){t.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:o("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(t){t.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:o("Shift-Right","Shift-Right"),exec:function(t){t.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:o("Right","Right|Ctrl-F"),exec:function(t,e){t.navigateRight(e.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(t){t.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:o(null,"Option-PageDown"),exec:function(t){t.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:o("PageDown","PageDown|Ctrl-V"),exec:function(t){t.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(t){t.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:o(null,"Option-PageUp"),exec:function(t){t.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(t){t.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:o("Ctrl-Up",null),exec:function(t){t.renderer.scrollBy(0,-2*t.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:o("Ctrl-Down",null),exec:function(t){t.renderer.scrollBy(0,2*t.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(t){t.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(t){t.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:o("Ctrl-Alt-E","Command-Option-E"),exec:function(t){t.commands.toggleRecording(t)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:o("Ctrl-Shift-E","Command-Shift-E"),exec:function(t){t.commands.replay(t)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:o("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(t){t.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:o("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(t){t.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:o("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(t){t.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:o(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(t){},readOnly:!0},{name:"cut",description:"Cut",exec:function(t){var e=t.$copyWithEmptySelection&&t.selection.isEmpty(),n=e?t.selection.getLineRange():t.selection.getRange();t._emit("cut",n),n.isEmpty()||t.session.remove(n),t.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(t,e){t.$handlePaste(e)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:o("Ctrl-D","Command-D"),exec:function(t){t.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:o("Ctrl-Shift-D","Command-Shift-D"),exec:function(t){t.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:o("Ctrl-Alt-S","Command-Alt-S"),exec:function(t){t.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:o("Ctrl-/","Command-/"),exec:function(t){t.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:o("Ctrl-Shift-/","Command-Shift-/"),exec:function(t){t.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:o("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(t){t.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:o("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(t){t.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:o("Ctrl-H","Command-Option-F"),exec:function(t){c.loadModule("ace/ext/searchbox",function(e){e.Search(t,!0)})}},{name:"undo",description:"Undo",bindKey:o("Ctrl-Z","Command-Z"),exec:function(t){t.undo()}},{name:"redo",description:"Redo",bindKey:o("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(t){t.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:o("Alt-Shift-Up","Command-Option-Up"),exec:function(t){t.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:o("Alt-Up","Option-Up"),exec:function(t){t.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:o("Alt-Shift-Down","Command-Option-Down"),exec:function(t){t.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:o("Alt-Down","Option-Down"),exec:function(t){t.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:o("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(t){t.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:o("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(t){t.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:o("Shift-Delete",null),exec:function(t){if(!t.selection.isEmpty())return!1;t.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:o("Alt-Backspace","Command-Backspace"),exec:function(t){t.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:o("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(t){t.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:o("Ctrl-Shift-Backspace",null),exec:function(t){var e=t.selection.getRange();e.start.column=0,t.session.remove(e)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:o("Ctrl-Shift-Delete",null),exec:function(t){var e=t.selection.getRange();e.end.column=Number.MAX_VALUE,t.session.remove(e)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:o("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(t){t.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:o("Ctrl-Delete","Alt-Delete"),exec:function(t){t.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:o("Shift-Tab","Shift-Tab"),exec:function(t){t.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:o("Tab","Tab"),exec:function(t){t.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:o("Ctrl-[","Ctrl-["),exec:function(t){t.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:o("Ctrl-]","Ctrl-]"),exec:function(t){t.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(t,e){t.insert(e)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(t,e){t.insert(h.stringRepeat(e.text||"",e.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:o(null,"Ctrl-O"),exec:function(t){t.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:o("Alt-Shift-X","Ctrl-T"),exec:function(t){t.transposeLetters()},multiSelectAction:function(t){t.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:o("Ctrl-U","Ctrl-U"),exec:function(t){t.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:o("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(t){t.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:o(null,null),exec:function(t){t.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:o("Ctrl-Shift-L","Command-Shift-L"),exec:function(t){var e=t.selection.getRange();e.start.column=e.end.column=0,e.end.row++,t.selection.setRange(e,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:o("Ctrl+F3","F3"),exec:function(t){t.openLink()}},{name:"joinlines",description:"Join lines",bindKey:o(null,null),exec:function(t){for(var e=t.selection.isBackwards(),n=e?t.selection.getSelectionLead():t.selection.getSelectionAnchor(),i=e?t.selection.getSelectionAnchor():t.selection.getSelectionLead(),r=t.session.doc.getLine(n.row).length,s=t.session.doc.getTextRange(t.selection.getRange()),p=s.replace(/\n\s*/," ").length,g=t.session.doc.getLine(n.row),C=n.row+1;C<=i.row+1;C++){var k=h.stringTrimLeft(h.stringTrimRight(t.session.doc.getLine(C)));k.length!==0&&(k=" "+k),g+=k}i.row+1<t.session.doc.getLength()-1&&(g+=t.session.doc.getNewLineCharacter()),t.clearSelection(),t.session.doc.replace(new l(n.row,0,i.row+2,0),g),p>0?(t.selection.moveCursorTo(n.row,n.column),t.selection.selectTo(n.row,n.column+p)):(r=t.session.doc.getLine(n.row).length>r?r+1:r,t.selection.moveCursorTo(n.row,r))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:o(null,null),exec:function(t){var e=t.session.doc.getLength()-1,n=t.session.doc.getLine(e).length,i=t.selection.rangeList.ranges,r=[];i.length<1&&(i=[t.selection.getRange()]);for(var s=0;s<i.length;s++)s==i.length-1&&(i[s].end.row!==e||i[s].end.column!==n)&&r.push(new l(i[s].end.row,i[s].end.column,e,n)),s===0?(i[s].start.row!==0||i[s].start.column!==0)&&r.push(new l(0,0,i[s].start.row,i[s].start.column)):r.push(new l(i[s-1].end.row,i[s-1].end.column,i[s].start.row,i[s].start.column));t.exitMultiSelectMode(),t.clearSelection();for(var s=0;s<r.length;s++)t.selection.addRange(r[s],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(t){t.selection.clearSelection(),t.navigateLineEnd(),t.insert(`
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(t){t.selection.clearSelection();var e=t.getCursorPosition();t.selection.moveTo(e.row-1,Number.MAX_VALUE),t.insert(`
`),e.row===0&&t.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(t){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),t.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:o("F1","F1"),exec:function(t){t.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:o(null,null),exec:function(t){t.prompt({$type:"modes"})},readOnly:!0}];for(var a=1;a<9;a++)d.commands.push({name:"foldToLevel"+a,description:"Fold To Level "+a,level:a,exec:function(t){t.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(u,d,x){"use strict";var o=u("../lib/keys"),h=u("../mouse/default_gutter_handler").GutterTooltip,c=function(){function a(t){this.editor=t,this.gutterLayer=t.renderer.$gutterLayer,this.element=t.renderer.$gutter,this.lines=t.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new h(this.editor)}return a.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))},a.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))},a.prototype.$onGutterKeyDown=function(t){if(this.annotationTooltip.isOpen){t.preventDefault(),t.keyCode===o.escape&&this.annotationTooltip.hideTooltip();return}if(t.target===this.element){if(t.keyCode!=o.enter)return;t.preventDefault();var e=this.editor.getCursorPosition().row;this.editor.isRowVisible(e)||this.editor.scrollToLine(e,!0,!0),setTimeout(function(){var n=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),i=this.$findNearestFoldWidget(n),r=this.$findNearestAnnotation(n);if(!(i===null&&r===null)){if(i===null&&r!==null){this.activeRowIndex=r,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}if(i!==null&&r===null){this.activeRowIndex=i,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex);return}if(Math.abs(r-n)<Math.abs(i-n)){this.activeRowIndex=r,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}this.activeRowIndex=i,this.activeLane="fold",this.$focusFoldWidget(this.activeRowIndex)}}.bind(this),10);return}this.$handleGutterKeyboardInteraction(t),setTimeout(function(){this.editor._signal("gutterkeydown",new l(t,this))}.bind(this),10)},a.prototype.$handleGutterKeyboardInteraction=function(t){if(t.keyCode===o.tab){t.preventDefault();return}if(t.keyCode===o.escape){t.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(t.keyCode===o.up){switch(t.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp()}return}if(t.keyCode===o.down){switch(t.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown()}return}if(t.keyCode===o.left){t.preventDefault(),this.$switchLane("annotation");return}if(t.keyCode===o.right){t.preventDefault(),this.$switchLane("fold");return}if(t.keyCode===o.enter||t.keyCode===o.space){switch(t.preventDefault(),this.activeLane){case"fold":if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="start"){var e=this.$rowIndexToRow(this.activeRowIndex);this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),t),setTimeout(function(){this.$rowIndexToRow(this.activeRowIndex)!==e&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(e),this.$focusFoldWidget(this.activeRowIndex))}.bind(this),10);break}if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var n=this.lines.cells[this.activeRowIndex].element.childNodes[2],i=n.getBoundingClientRect(),r=this.annotationTooltip.getElement().style;r.left=i.right+"px",r.top=i.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex))}return}},a.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex)}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},a.prototype.$isFoldWidgetVisible=function(t){var e=this.editor.isRowFullyVisible(this.$rowIndexToRow(t)),n=this.$getFoldWidget(t).style.display!=="none";return e&&n},a.prototype.$isAnnotationVisible=function(t){var e=this.editor.isRowFullyVisible(this.$rowIndexToRow(t)),n=this.$getAnnotation(t).style.display!=="none";return e&&n},a.prototype.$getFoldWidget=function(t){var e=this.lines.get(t),n=e.element;return n.childNodes[1]},a.prototype.$getAnnotation=function(t){var e=this.lines.get(t),n=e.element;return n.childNodes[2]},a.prototype.$findNearestFoldWidget=function(t){if(this.$isFoldWidgetVisible(t))return t;for(var e=0;t-e>0||t+e<this.lines.getLength()-1;){if(e++,t-e>=0&&this.$isFoldWidgetVisible(t-e))return t-e;if(t+e<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(t+e))return t+e}return null},a.prototype.$findNearestAnnotation=function(t){if(this.$isAnnotationVisible(t))return t;for(var e=0;t-e>0||t+e<this.lines.getLength()-1;){if(e++,t-e>=0&&this.$isAnnotationVisible(t-e))return t-e;if(t+e<=this.lines.getLength()-1&&this.$isAnnotationVisible(t+e))return t+e}return null},a.prototype.$focusFoldWidget=function(t){if(t!=null){var e=this.$getFoldWidget(t);e.classList.add(this.editor.renderer.keyboardFocusClassName),e.focus()}},a.prototype.$focusAnnotation=function(t){if(t!=null){var e=this.$getAnnotation(t);e.classList.add(this.editor.renderer.keyboardFocusClassName),e.focus()}},a.prototype.$blurFoldWidget=function(t){var e=this.$getFoldWidget(t);e.classList.remove(this.editor.renderer.keyboardFocusClassName),e.blur()},a.prototype.$blurAnnotation=function(t){var e=this.$getAnnotation(t);e.classList.remove(this.editor.renderer.keyboardFocusClassName),e.blur()},a.prototype.$moveFoldWidgetUp=function(){for(var t=this.activeRowIndex;t>0;)if(t--,this.$isFoldWidgetVisible(t)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=t,this.$focusFoldWidget(this.activeRowIndex);return}},a.prototype.$moveFoldWidgetDown=function(){for(var t=this.activeRowIndex;t<this.lines.getLength()-1;)if(t++,this.$isFoldWidgetVisible(t)){this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=t,this.$focusFoldWidget(this.activeRowIndex);return}},a.prototype.$moveAnnotationUp=function(){for(var t=this.activeRowIndex;t>0;)if(t--,this.$isAnnotationVisible(t)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=t,this.$focusAnnotation(this.activeRowIndex);return}},a.prototype.$moveAnnotationDown=function(){for(var t=this.activeRowIndex;t<this.lines.getLength()-1;)if(t++,this.$isAnnotationVisible(t)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=t,this.$focusAnnotation(this.activeRowIndex);return}},a.prototype.$switchLane=function(t){switch(t){case"annotation":if(this.activeLane==="annotation")break;var e=this.$findNearestAnnotation(this.activeRowIndex);if(e==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=e,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var n=this.$findNearestFoldWidget(this.activeRowIndex);if(n==null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=n,this.$focusFoldWidget(this.activeRowIndex)}},a.prototype.$rowIndexToRow=function(t){var e=this.lines.get(t);return e?e.row:null},a.prototype.$rowToRowIndex=function(t){for(var e=0;e<this.lines.getLength();e++){var n=this.lines.get(e);if(n.row==t)return e}return null},a}();d.GutterKeyboardHandler=c;var l=function(){function a(t,e){this.gutterKeyboardHandler=e,this.domEvent=t}return a.prototype.getKey=function(){return o.keyCodeToString(this.domEvent.keyCode)},a.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},a.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},a.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},a}();d.GutterKeyboardEvent=l}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys"],function(u,d,x){"use strict";var o=this&&this.__values||function(w){var y=typeof Symbol=="function"&&Symbol.iterator,S=y&&w[y],F=0;if(S)return S.call(w);if(w&&typeof w.length=="number")return{next:function(){return w&&F>=w.length&&(w=void 0),{value:w&&w[F++],done:!w}}};throw new TypeError(y?"Object is not iterable.":"Symbol.iterator is not defined.")},h=u("./lib/oop"),c=u("./lib/dom"),l=u("./lib/lang"),a=u("./lib/useragent"),t=u("./keyboard/textinput").TextInput,e=u("./mouse/mouse_handler").MouseHandler,n=u("./mouse/fold_handler").FoldHandler,i=u("./keyboard/keybinding").KeyBinding,r=u("./edit_session").EditSession,s=u("./search").Search,p=u("./range").Range,g=u("./lib/event_emitter").EventEmitter,C=u("./commands/command_manager").CommandManager,k=u("./commands/default_commands").commands,m=u("./config"),b=u("./token_iterator").TokenIterator,f=u("./keyboard/gutter_handler").GutterKeyboardHandler,_=u("./config").nls,A=u("./clipboard"),$=u("./lib/keys"),v=function(){function w(y,S,F){this.session,this.$toDestroy=[];var M=y.getContainerElement();this.container=M,this.renderer=y,this.id="editor"+ ++w.$uid,this.commands=new C(a.isMac?"mac":"win",k),typeof document=="object"&&(this.textInput=new t(y.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new e(this),new n(this)),this.keyBinding=new i(this),this.$search=new s().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=l.delayedCall(function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function(T,B){B._$emitInputEvent.schedule(31)}),this.setSession(S||F&&F.session||new r("")),m.resetOptions(this),F&&this.setOptions(F),m._signal("editor",this)}return w.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},w.prototype.startOperation=function(y){this.session.startOperation(y)},w.prototype.endOperation=function(y){this.session.endOperation(y)},w.prototype.onStartOperation=function(y){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,y||(this.previousCommand=null)},w.prototype.onEndOperation=function(y){if(this.curOp&&this.session){if(y&&y.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var S=this.curOp.command,F=S&&S.scrollIntoView;if(F){switch(F){case"center-animate":F="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var M=this.selection.getRange(),T=this.renderer.layerConfig;(M.start.row>=T.lastRow||M.end.row<=T.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:}F=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},w.prototype.$historyTracker=function(y){if(this.$mergeUndoDeltas){var S=this.prevOp,F=this.$mergeableCommands,M=S.command&&y.command.name==S.command.name;if(y.command.name=="insertstring"){var T=y.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),M=M&&this.mergeNextCommand&&(!/\s/.test(T)||/\s/.test(S.args)),this.mergeNextCommand=!0}else M=M&&F.indexOf(y.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(M=!1),M?this.session.mergeUndoDeltas=!0:F.indexOf(y.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},w.prototype.setKeyboardHandler=function(y,S){if(y&&typeof y=="string"&&y!="ace"){this.$keybindingId=y;var F=this;m.loadModule(["keybinding",y],function(M){F.$keybindingId==y&&F.keyBinding.setKeyboardHandler(M&&M.handler),S&&S()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(y),S&&S()},w.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},w.prototype.setSession=function(y){if(this.session!=y){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),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var F=this.session.getSelection();F.off("changeCursor",this.$onCursorChange),F.off("changeSelection",this.$onSelectionChange)}this.session=y,y?(this.$onDocumentChange=this.onDocumentChange.bind(this),y.on("change",this.$onDocumentChange),this.renderer.setSession(y),this.$onChangeMode=this.onChangeMode.bind(this),y.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),y.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),y.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),y.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),y.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),y.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=y.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),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(y)),this._signal("changeSession",{session:y,oldSession:S}),this.curOp=null,S&&S._signal("changeEditor",{oldEditor:this}),S&&(S.$editor=null),y&&y._signal("changeEditor",{editor:this}),y&&(y.$editor=this),y&&!y.destroyed&&y.bgTokenizer.scheduleStart()}},w.prototype.getSession=function(){return this.session},w.prototype.setValue=function(y,S){return this.session.doc.setValue(y),S?S==1?this.navigateFileEnd():S==-1&&this.navigateFileStart():this.selectAll(),y},w.prototype.getValue=function(){return this.session.getValue()},w.prototype.getSelection=function(){return this.selection},w.prototype.resize=function(y){this.renderer.onResize(y)},w.prototype.setTheme=function(y,S){this.renderer.setTheme(y,S)},w.prototype.getTheme=function(){return this.renderer.getTheme()},w.prototype.setStyle=function(y){this.renderer.setStyle(y)},w.prototype.unsetStyle=function(y){this.renderer.unsetStyle(y)},w.prototype.getFontSize=function(){return this.getOption("fontSize")||c.computedStyle(this.container).fontSize},w.prototype.setFontSize=function(y){this.setOption("fontSize",y)},w.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var y=this;this.$highlightPending=!0,setTimeout(function(){y.$highlightPending=!1;var S=y.session;if(!(!S||S.destroyed)){S.$bracketHighlight&&(S.$bracketHighlight.markerIds.forEach(function(O){S.removeMarker(O)}),S.$bracketHighlight=null);var F=y.getCursorPosition(),M=y.getKeyboardHandler(),T=M&&M.$getDirectionForHighlight&&M.$getDirectionForHighlight(y),B=S.getMatchingBracketRanges(F,T);if(!B){var I=new b(S,F.row,F.column),D=I.getCurrentToken();if(D&&/\b(?:tag-open|tag-name)/.test(D.type)){var L=S.getMatchingTags(F);L&&(B=[L.openTagName.isEmpty()?L.openTag:L.openTagName,L.closeTagName.isEmpty()?L.closeTag:L.closeTagName])}}if(!B&&S.$mode.getMatching&&(B=S.$mode.getMatching(y.session)),!B){y.getHighlightIndentGuides()&&y.renderer.$textLayer.$highlightIndentGuide();return}var H="ace_bracket";Array.isArray(B)?B.length==1&&(H="ace_error_bracket"):B=[B],B.length==2&&(p.comparePoints(B[0].end,B[1].start)==0?B=[p.fromPoints(B[0].start,B[1].end)]:p.comparePoints(B[0].start,B[1].end)==0&&(B=[p.fromPoints(B[1].start,B[0].end)])),S.$bracketHighlight={ranges:B,markerIds:B.map(function(O){return S.addMarker(O,H,"text")})},y.getHighlightIndentGuides()&&y.renderer.$textLayer.$highlightIndentGuide()}},50)}},w.prototype.focus=function(){this.textInput.focus()},w.prototype.isFocused=function(){return this.textInput.isFocused()},w.prototype.blur=function(){this.textInput.blur()},w.prototype.onFocus=function(y){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",y))},w.prototype.onBlur=function(y){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",y))},w.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},w.prototype.onDocumentChange=function(y){var S=this.session.$useWrapMode,F=y.start.row==y.end.row?y.end.row:1/0;this.renderer.updateLines(y.start.row,F,S),this._signal("change",y),this.$cursorChange()},w.prototype.onTokenizerUpdate=function(y){var S=y.data;this.renderer.updateLines(S.first,S.last)},w.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},w.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},w.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},w.prototype.$updateHighlightActiveLine=function(){var y=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)),y.$highlightLineMarker&&!S)y.removeMarker(y.$highlightLineMarker.id),y.$highlightLineMarker=null;else if(!y.$highlightLineMarker&&S){var F=new p(S.row,S.column,S.row,1/0);F.id=y.addMarker(F,"ace_active-line","screenLine"),y.$highlightLineMarker=F}else S&&(y.$highlightLineMarker.start.row=S.row,y.$highlightLineMarker.end.row=S.row,y.$highlightLineMarker.start.column=S.column,y._signal("changeBackMarker"))},w.prototype.onSelectionChange=function(y){var S=this.session;if(S.$selectionMarker&&S.removeMarker(S.$selectionMarker),S.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var F=this.selection.getRange(),M=this.getSelectionStyle();S.$selectionMarker=S.addMarker(F,"ace_selection",M)}var T=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(T),this._signal("changeSelection")},w.prototype.$getSelectionHighLightRegexp=function(){var y=this.session,S=this.getSelectionRange();if(!(S.isEmpty()||S.isMultiLine())){var F=S.start.column,M=S.end.column,T=y.getLine(S.start.row),B=T.substring(F,M);if(!(B.length>5e3||!/[\w\d]/.test(B))){var I=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:B}),D=T.substring(F-1,M+1);if(I.test(D))return I}}},w.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},w.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},w.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},w.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},w.prototype.onChangeMode=function(y){this.renderer.updateText(),this._emit("changeMode",y)},w.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},w.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},w.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},w.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},w.prototype.getCopyText=function(){var y=this.getSelectedText(),S=this.session.doc.getNewLineCharacter(),F=!1;if(!y&&this.$copyWithEmptySelection){F=!0;for(var M=this.selection.getAllRanges(),T=0;T<M.length;T++){var B=M[T];T&&M[T-1].start.row==B.start.row||(y+=this.session.getLine(B.start.row)+S)}}var I={text:y};return this._signal("copy",I),A.lineMode=F?I.text:!1,I.text},w.prototype.onCopy=function(){this.commands.exec("copy",this)},w.prototype.onCut=function(){this.commands.exec("cut",this)},w.prototype.onPaste=function(y,S){var F={text:y,event:S};this.commands.exec("paste",this,F)},w.prototype.$handlePaste=function(y){typeof y=="string"&&(y={text:y}),this._signal("paste",y);var S=y.text,F=S===A.lineMode,M=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)F?M.insert({row:this.selection.lead.row,column:0},S):this.insert(S);else if(F)this.selection.rangeList.ranges.forEach(function(H){M.insert({row:H.start.row,column:0},S)});else{var T=S.split(/\r\n|\r|\n/),B=this.selection.rangeList.ranges,I=T.length==2&&(!T[0]||!T[1]);if(T.length!=B.length||I)return this.commands.exec("insertstring",this,S);for(var D=B.length;D--;){var L=B[D];L.isEmpty()||M.remove(L),M.insert(L.start,T[D])}}},w.prototype.execCommand=function(y,S){return this.commands.exec(y,this,S)},w.prototype.insert=function(y,S){var F=this.session,M=F.getMode(),T=this.getCursorPosition();if(this.getBehavioursEnabled()&&!S){var B=M.transformAction(F.getState(T.row),"insertion",this,F,y);B&&(y!==B.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),y=B.text)}if(y==" "&&(y=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&y.indexOf(`
`)==-1){var I=p.fromPoints(T,T);I.end.column+=y.length,this.session.remove(I)}}else{var I=this.getSelectionRange();T=this.session.remove(I),this.clearSelection()}if(y==`
`||y==`\r
`){var O=F.getLine(T.row);if(T.column>O.search(/\S|$/)){var D=O.substr(T.column).search(/\S|$/);F.doc.removeInLine(T.row,T.column,T.column+D)}}this.clearSelection();var L=T.column,H=F.getState(T.row),O=F.getLine(T.row),P=M.checkOutdent(H,O,y);if(F.insert(T,y),B&&B.selection&&(B.selection.length==2?this.selection.setSelectionRange(new p(T.row,L+B.selection[0],T.row,L+B.selection[1])):this.selection.setSelectionRange(new p(T.row+B.selection[0],B.selection[1],T.row+B.selection[2],B.selection[3]))),this.$enableAutoIndent){if(F.getDocument().isNewLine(y)){var N=M.getNextLineIndent(H,O.slice(0,T.column),F.getTabString());F.insert({row:T.row+1,column:0},N)}P&&M.autoOutdent(H,F,T.row)}},w.prototype.autoIndent=function(){for(var y=this.session,S=y.getMode(),F=this.selection.isEmpty()?[new p(0,0,y.doc.getLength()-1,0)]:this.selection.getAllRanges(),M="",T="",B="",I=y.getTabString(),D=0;D<F.length;D++)for(var L=F[D].start.row,H=F[D].end.row,O=L;O<=H;O++){O>0&&(M=y.getState(O-1),T=y.getLine(O-1),B=S.getNextLineIndent(M,T,I));var P=y.getLine(O),N=S.$getIndent(P);if(B!==N){if(N.length>0){var V=new p(O,0,O,N.length);y.remove(V)}B.length>0&&y.insert({row:O,column:0},B)}S.autoOutdent(M,y,O)}},w.prototype.onTextInput=function(y,S){if(!S)return this.keyBinding.onTextInput(y);this.startOperation({command:{name:"insertstring"}});var F=this.applyComposition.bind(this,y,S);this.selection.rangeCount?this.forEachSelection(F):F(),this.endOperation()},w.prototype.applyComposition=function(y,S){if(S.extendLeft||S.extendRight){var F=this.selection.getRange();F.start.column-=S.extendLeft,F.end.column+=S.extendRight,F.start.column<0&&(F.start.row--,F.start.column+=this.session.getLine(F.start.row).length+1),this.selection.setRange(F),!y&&!F.isEmpty()&&this.remove()}if((y||!this.selection.isEmpty())&&this.insert(y,!0),S.restoreStart||S.restoreEnd){var F=this.selection.getRange();F.start.column-=S.restoreStart,F.end.column-=S.restoreEnd,this.selection.setRange(F)}},w.prototype.onCommandKey=function(y,S,F){return this.keyBinding.onCommandKey(y,S,F)},w.prototype.setOverwrite=function(y){this.session.setOverwrite(y)},w.prototype.getOverwrite=function(){return this.session.getOverwrite()},w.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},w.prototype.setScrollSpeed=function(y){this.setOption("scrollSpeed",y)},w.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},w.prototype.setDragDelay=function(y){this.setOption("dragDelay",y)},w.prototype.getDragDelay=function(){return this.getOption("dragDelay")},w.prototype.setSelectionStyle=function(y){this.setOption("selectionStyle",y)},w.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},w.prototype.setHighlightActiveLine=function(y){this.setOption("highlightActiveLine",y)},w.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},w.prototype.setHighlightGutterLine=function(y){this.setOption("highlightGutterLine",y)},w.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},w.prototype.setHighlightSelectedWord=function(y){this.setOption("highlightSelectedWord",y)},w.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},w.prototype.setAnimatedScroll=function(y){this.renderer.setAnimatedScroll(y)},w.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},w.prototype.setShowInvisibles=function(y){this.renderer.setShowInvisibles(y)},w.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},w.prototype.setDisplayIndentGuides=function(y){this.renderer.setDisplayIndentGuides(y)},w.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},w.prototype.setHighlightIndentGuides=function(y){this.renderer.setHighlightIndentGuides(y)},w.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},w.prototype.setShowPrintMargin=function(y){this.renderer.setShowPrintMargin(y)},w.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},w.prototype.setPrintMarginColumn=function(y){this.renderer.setPrintMarginColumn(y)},w.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},w.prototype.setReadOnly=function(y){this.setOption("readOnly",y)},w.prototype.getReadOnly=function(){return this.getOption("readOnly")},w.prototype.setBehavioursEnabled=function(y){this.setOption("behavioursEnabled",y)},w.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},w.prototype.setWrapBehavioursEnabled=function(y){this.setOption("wrapBehavioursEnabled",y)},w.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},w.prototype.setShowFoldWidgets=function(y){this.setOption("showFoldWidgets",y)},w.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},w.prototype.setFadeFoldWidgets=function(y){this.setOption("fadeFoldWidgets",y)},w.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},w.prototype.remove=function(y){this.selection.isEmpty()&&(y=="left"?this.selection.selectLeft():this.selection.selectRight());var S=this.getSelectionRange();if(this.getBehavioursEnabled()){var F=this.session,M=F.getState(S.start.row),T=F.getMode().transformAction(M,"deletion",this,F,S);if(S.end.column===0){var B=F.getTextRange(S);if(B[B.length-1]==`
`){var I=F.getLine(S.end.row);/^\s+$/.test(I)&&(S.end.column=I.length)}}T&&(S=T)}this.session.remove(S),this.clearSelection()},w.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},w.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},w.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},w.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var y=this.getSelectionRange();y.start.column==y.end.column&&y.start.row==y.end.row&&(y.end.column=0,y.end.row++),this.session.remove(y),this.clearSelection()},w.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var y=this.getCursorPosition();this.insert(`
`),this.moveCursorToPosition(y)},w.prototype.setGhostText=function(y,S){this.renderer.setGhostText(y,S)},w.prototype.removeGhostText=function(){this.renderer.removeGhostText()},w.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var y=this.getCursorPosition(),S=y.column;if(S!==0){var F=this.session.getLine(y.row),M,T;S<F.length?(M=F.charAt(S)+F.charAt(S-1),T=new p(y.row,S-1,y.row,S+1)):(M=F.charAt(S-1)+F.charAt(S-2),T=new p(y.row,S-2,y.row,S)),this.session.replace(T,M),this.session.selection.moveToPosition(T.end)}}},w.prototype.toLowerCase=function(){var y=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var S=this.getSelectionRange(),F=this.session.getTextRange(S);this.session.replace(S,F.toLowerCase()),this.selection.setSelectionRange(y)},w.prototype.toUpperCase=function(){var y=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var S=this.getSelectionRange(),F=this.session.getTextRange(S);this.session.replace(S,F.toUpperCase()),this.selection.setSelectionRange(y)},w.prototype.indent=function(){var y=this.session,S=this.getSelectionRange();if(S.start.row<S.end.row){var F=this.$getSelectedRows();y.indentRows(F.first,F.last," ");return}if(S.start.column<S.end.column){var M=y.getTextRange(S);if(!/^\s+$/.test(M)){var F=this.$getSelectedRows();y.indentRows(F.first,F.last," ");return}}var T=y.getLine(S.start.row),B=S.start,I=y.getTabSize(),D=y.documentToScreenColumn(B.row,B.column);if(this.session.getUseSoftTabs())var L=I-D%I,H=l.stringRepeat(" ",L);else{for(var L=D%I;T[S.start.column-1]==" "&&L;)S.start.column--,L--;this.selection.setSelectionRange(S),H=" "}return this.insert(H)},w.prototype.blockIndent=function(){var y=this.$getSelectedRows();this.session.indentRows(y.first,y.last," ")},w.prototype.blockOutdent=function(){var y=this.session.getSelection();this.session.outdentRows(y.getRange())},w.prototype.sortLines=function(){for(var y=this.$getSelectedRows(),S=this.session,F=[],M=y.first;M<=y.last;M++)F.push(S.getLine(M));F.sort(function(I,D){return I.toLowerCase()<D.toLowerCase()?-1:I.toLowerCase()>D.toLowerCase()?1:0});for(var T=new p(0,0,0,0),M=y.first;M<=y.last;M++){var B=S.getLine(M);T.start.row=M,T.end.row=M,T.end.column=B.length,S.replace(T,F[M-y.first])}},w.prototype.toggleCommentLines=function(){var y=this.session.getState(this.getCursorPosition().row),S=this.$getSelectedRows();this.session.getMode().toggleCommentLines(y,this.session,S.first,S.last)},w.prototype.toggleBlockComment=function(){var y=this.getCursorPosition(),S=this.session.getState(y.row),F=this.getSelectionRange();this.session.getMode().toggleBlockComment(S,this.session,F,y)},w.prototype.getNumberAt=function(y,S){var F=/[\-]?[0-9]+(?:\.[0-9]+)?/g;F.lastIndex=0;for(var M=this.session.getLine(y);F.lastIndex<S;){var T=F.exec(M);if(T.index<=S&&T.index+T[0].length>=S){var B={value:T[0],start:T.index,end:T.index+T[0].length};return B}}return null},w.prototype.modifyNumber=function(y){var S=this.selection.getCursor().row,F=this.selection.getCursor().column,M=new p(S,F-1,S,F),T=this.session.getTextRange(M);if(!isNaN(parseFloat(T))&&isFinite(T)){var B=this.getNumberAt(S,F);if(B){var I=B.value.indexOf(".")>=0?B.start+B.value.indexOf(".")+1:B.end,D=B.start+B.value.length-I,L=parseFloat(B.value);L*=Math.pow(10,D),I!==B.end&&F<I?y*=Math.pow(10,B.end-F-1):y*=Math.pow(10,B.end-F),L+=y,L/=Math.pow(10,D);var H=L.toFixed(D),O=new p(S,B.start,S,B.end);this.session.replace(O,H),this.moveCursorTo(S,Math.max(B.start+1,F+H.length-B.value.length))}}else this.toggleWord()},w.prototype.toggleWord=function(){var y=this.selection.getCursor().row,S=this.selection.getCursor().column;this.selection.selectWord();var F=this.getSelectedText(),M=this.selection.getWordRange().start.column,T=F.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),B=S-M-1;B<0&&(B=0);var I=0,D=0,L=this;F.match(/[A-Za-z0-9_]+/)&&T.forEach(function(K,Q){D=I+K.length,B>=I&&B<=D&&(F=K,L.selection.clearSelection(),L.moveCursorTo(y,I+M),L.selection.selectTo(y,D+M)),I=D});for(var H=this.$toggleWordPairs,O,P=0;P<H.length;P++)for(var N=H[P],V=0;V<=1;V++){var j=+!V,G=F.match(new RegExp("^\\s?_?("+l.escapeRegExp(N[V])+")\\s?$","i"));if(G){var W=F.match(new RegExp("([_]|^|\\s)("+l.escapeRegExp(G[1])+")($|\\s)","g"));W&&(O=F.replace(new RegExp(l.escapeRegExp(N[V]),"i"),function(K){var Q=N[j];return K.toUpperCase()==K?Q=Q.toUpperCase():K.charAt(0).toUpperCase()==K.charAt(0)&&(Q=Q.substr(0,0)+N[j].charAt(0).toUpperCase()+Q.substr(1)),Q}),this.insert(O),O="")}}},w.prototype.findLinkAt=function(y,S){var F,M,T=this.session.getLine(y),B=T.split(/((?:https?|ftp):\/\/[\S]+)/),I=S;I<0&&(I=0);var D=0,L=0,H;try{for(var O=o(B),P=O.next();!P.done;P=O.next()){var N=P.value;if(L=D+N.length,I>=D&&I<=L&&N.match(/((?:https?|ftp):\/\/[\S]+)/)){H=N.replace(/[\s:.,'";}\]]+$/,"");break}D=L}}catch(V){F={error:V}}finally{try{P&&!P.done&&(M=O.return)&&M.call(O)}finally{if(F)throw F.error}}return H},w.prototype.openLink=function(){var y=this.selection.getCursor(),S=this.findLinkAt(y.row,y.column);return S&&window.open(S,"_blank"),S!=null},w.prototype.removeLines=function(){var y=this.$getSelectedRows();this.session.removeFullLines(y.first,y.last),this.clearSelection()},w.prototype.duplicateSelection=function(){var y=this.selection,S=this.session,F=y.getRange(),M=y.isBackwards();if(F.isEmpty()){var T=F.start.row;S.duplicateLines(T,T)}else{var B=M?F.start:F.end,I=S.insert(B,S.getTextRange(F));F.start=B,F.end=I,y.setSelectionRange(F,M)}},w.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},w.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},w.prototype.moveText=function(y,S,F){return this.session.moveText(y,S,F)},w.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},w.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},w.prototype.$moveLines=function(y,S){var F,M,T=this.selection;if(!T.inMultiSelectMode||this.inVirtualSelectionMode){var B=T.toOrientedRange();F=this.$getSelectedRows(B),M=this.session.$moveLines(F.first,F.last,S?0:y),S&&y==-1&&(M=0),B.moveBy(M,0),T.fromOrientedRange(B)}else{var I=T.rangeList.ranges;T.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var D=0,L=0,H=I.length,O=0;O<H;O++){var P=O;I[O].moveBy(D,0),F=this.$getSelectedRows(I[O]);for(var N=F.first,V=F.last;++O<H;){L&&I[O].moveBy(L,0);var j=this.$getSelectedRows(I[O]);if(S&&j.first!=V||!S&&j.first>V+1)break;V=j.last}for(O--,D=this.session.$moveLines(N,V,S?0:y),S&&y==-1&&(P=O+1);P<=O;)I[P].moveBy(D,0),P++;S||(D=0),L+=D}T.fromOrientedRange(T.ranges[0]),T.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},w.prototype.$getSelectedRows=function(y){return y=(y||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(y.start.row),last:this.session.getRowFoldEnd(y.end.row)}},w.prototype.onCompositionStart=function(y){this.renderer.showComposition(y)},w.prototype.onCompositionUpdate=function(y){this.renderer.setCompositionText(y)},w.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},w.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},w.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},w.prototype.isRowVisible=function(y){return y>=this.getFirstVisibleRow()&&y<=this.getLastVisibleRow()},w.prototype.isRowFullyVisible=function(y){return y>=this.renderer.getFirstFullyVisibleRow()&&y<=this.renderer.getLastFullyVisibleRow()},w.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},w.prototype.$moveByPage=function(y,S){var F=this.renderer,M=this.renderer.layerConfig,T=y*Math.floor(M.height/M.lineHeight);S===!0?this.selection.$moveSelection(function(){this.moveCursorBy(T,0)}):S===!1&&(this.selection.moveCursorBy(T,0),this.selection.clearSelection());var B=F.scrollTop;F.scrollBy(0,T*M.lineHeight),S!=null&&F.scrollCursorIntoView(null,.5),F.animateScrolling(B)},w.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},w.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},w.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},w.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},w.prototype.scrollPageDown=function(){this.$moveByPage(1)},w.prototype.scrollPageUp=function(){this.$moveByPage(-1)},w.prototype.scrollToRow=function(y){this.renderer.scrollToRow(y)},w.prototype.scrollToLine=function(y,S,F,M){this.renderer.scrollToLine(y,S,F,M)},w.prototype.centerSelection=function(){var y=this.getSelectionRange(),S={row:Math.floor(y.start.row+(y.end.row-y.start.row)/2),column:Math.floor(y.start.column+(y.end.column-y.start.column)/2)};this.renderer.alignCursor(S,.5)},w.prototype.getCursorPosition=function(){return this.selection.getCursor()},w.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},w.prototype.getSelectionRange=function(){return this.selection.getRange()},w.prototype.selectAll=function(){this.selection.selectAll()},w.prototype.clearSelection=function(){this.selection.clearSelection()},w.prototype.moveCursorTo=function(y,S){this.selection.moveCursorTo(y,S)},w.prototype.moveCursorToPosition=function(y){this.selection.moveCursorToPosition(y)},w.prototype.jumpToMatching=function(y,S){var F=this.getCursorPosition(),M=new b(this.session,F.row,F.column),T=M.getCurrentToken(),B=0;T&&T.type.indexOf("tag-name")!==-1&&(T=M.stepBackward());var I=T||M.stepForward();if(I){var D,L=!1,H={},O=F.column-I.start,P,N={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(I.value.match(/[{}()\[\]]/g)){for(;O<I.value.length&&!L;O++)if(N[I.value[O]])switch(P=N[I.value[O]]+"."+I.type.replace("rparen","lparen"),isNaN(H[P])&&(H[P]=0),I.value[O]){case"(":case"[":case"{":H[P]++;break;case")":case"]":case"}":H[P]--,H[P]===-1&&(D="bracket",L=!0)}}else I.type.indexOf("tag-name")!==-1&&(isNaN(H[I.value])&&(H[I.value]=0),T.value==="<"&&B>1?H[I.value]++:T.value==="</"&&H[I.value]--,H[I.value]===-1&&(D="tag",L=!0));L||(T=I,B++,I=M.stepForward(),O=0)}while(I&&!L);if(D){var V,j;if(D==="bracket")V=this.session.getBracketRange(F),V||(V=new p(M.getCurrentTokenRow(),M.getCurrentTokenColumn()+O-1,M.getCurrentTokenRow(),M.getCurrentTokenColumn()+O-1),j=V.start,(S||j.row===F.row&&Math.abs(j.column-F.column)<2)&&(V=this.session.getBracketRange(j)));else if(D==="tag"){if(!I||I.type.indexOf("tag-name")===-1)return;if(V=new p(M.getCurrentTokenRow(),M.getCurrentTokenColumn()-2,M.getCurrentTokenRow(),M.getCurrentTokenColumn()-2),V.compare(F.row,F.column)===0){var G=this.session.getMatchingTags(F);G&&(G.openTag.contains(F.row,F.column)?(V=G.closeTag,j=V.start):(V=G.openTag,G.closeTag.start.row===F.row&&G.closeTag.start.column===F.column?j=V.end:j=V.start))}j=j||V.start}j=V&&V.cursor||j,j&&(y?V&&S?this.selection.setRange(V):V&&V.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(j.row,j.column):this.selection.moveTo(j.row,j.column))}}},w.prototype.gotoLine=function(y,S,F){this.selection.clearSelection(),this.session.unfold({row:y-1,column:S||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(y-1,S||0),this.isRowFullyVisible(y-1)||this.scrollToLine(y-1,!0,F)},w.prototype.navigateTo=function(y,S){this.selection.moveTo(y,S)},w.prototype.navigateUp=function(y){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(-y||-1,0)},w.prototype.navigateDown=function(y){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var S=this.selection.anchor.getPosition();return this.moveCursorToPosition(S)}this.selection.clearSelection(),this.selection.moveCursorBy(y||1,0)},w.prototype.navigateLeft=function(y){if(this.selection.isEmpty())for(y=y||1;y--;)this.selection.moveCursorLeft();else{var S=this.getSelectionRange().start;this.moveCursorToPosition(S)}this.clearSelection()},w.prototype.navigateRight=function(y){if(this.selection.isEmpty())for(y=y||1;y--;)this.selection.moveCursorRight();else{var S=this.getSelectionRange().end;this.moveCursorToPosition(S)}this.clearSelection()},w.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},w.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},w.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},w.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},w.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},w.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},w.prototype.replace=function(y,S){S&&this.$search.set(S);var F=this.$search.find(this.session),M=0;return F&&(this.$tryReplace(F,y)&&(M=1),this.selection.setSelectionRange(F),this.renderer.scrollSelectionIntoView(F.start,F.end)),M},w.prototype.replaceAll=function(y,S){S&&this.$search.set(S);var F=this.$search.findAll(this.session),M=0;if(!F.length)return M;var T=this.getSelectionRange();this.selection.moveTo(0,0);for(var B=F.length-1;B>=0;--B)this.$tryReplace(F[B],y)&&M++;return this.selection.setSelectionRange(T),M},w.prototype.$tryReplace=function(y,S){var F=this.session.getTextRange(y);return S=this.$search.replace(F,S),S!==null?(y.end=this.session.replace(y,S),y):null},w.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},w.prototype.find=function(y,S,F){S||(S={}),typeof y=="string"||y instanceof RegExp?S.needle=y:typeof y=="object"&&h.mixin(S,y);var M=this.selection.getRange();S.needle==null&&(y=this.session.getTextRange(M)||this.$search.$options.needle,y||(M=this.session.getWordRange(M.start.row,M.start.column),y=this.session.getTextRange(M)),this.$search.set({needle:y})),this.$search.set(S),S.start||this.$search.set({start:M});var T=this.$search.find(this.session);if(S.preventScroll)return T;if(T)return this.revealRange(T,F),T;S.backwards?M.start=M.end:M.end=M.start,this.selection.setRange(M)},w.prototype.findNext=function(y,S){this.find({skipCurrent:!0,backwards:!1},y,S)},w.prototype.findPrevious=function(y,S){this.find(y,{skipCurrent:!0,backwards:!0},S)},w.prototype.revealRange=function(y,S){this.session.unfold(y),this.selection.setSelectionRange(y);var F=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(y.start,y.end,.5),S!==!1&&this.renderer.animateScrolling(F)},w.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},w.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},w.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(y){y.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()},w.prototype.setAutoScrollEditorIntoView=function(y){if(y){var S,F=this,M=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var T=this.$scrollAnchor;T.style.cssText="position:absolute",this.container.insertBefore(T,this.container.firstChild);var B=this.on("changeSelection",function(){M=!0}),I=this.renderer.on("beforeRender",function(){M&&(S=F.renderer.container.getBoundingClientRect())}),D=this.renderer.on("afterRender",function(){if(M&&S&&(F.isFocused()||F.searchBox&&F.searchBox.isFocused())){var L=F.renderer,H=L.$cursorLayer.$pixelPos,O=L.layerConfig,P=H.top-O.offset;H.top>=0&&P+S.top<0?M=!0:H.top<O.height&&H.top+S.top+O.lineHeight>window.innerHeight?M=!1:M=null,M!=null&&(T.style.top=P+"px",T.style.left=H.left+"px",T.style.height=O.lineHeight+"px",T.scrollIntoView(M)),M=S=null}});this.setAutoScrollEditorIntoView=function(L){L||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",B),this.renderer.off("afterRender",D),this.renderer.off("beforeRender",I))}}},w.prototype.$resetCursorStyle=function(){var y=this.$cursorStyle||"ace",S=this.renderer.$cursorLayer;S&&(S.setSmoothBlinking(/smooth/.test(y)),S.isBlinking=!this.$readOnly&&y!="wide",c.setCssClass(S.element,"ace_slim-cursors",/slim/.test(y)))},w.prototype.prompt=function(y,S,F){var M=this;m.loadModule("ace/ext/prompt",function(T){T.prompt(M,y,S,F)})},w}();v.$uid=0,v.prototype.curOp=null,v.prototype.prevOp={},v.prototype.$mergeableCommands=["backspace","del","insertstring"],v.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"],["&&","||"],["==","!="]],h.implement(v.prototype,g),m.defineOptions(v.prototype,"editor",{selectionStyle:{set:function(w){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:w})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(w){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(w){this.textInput.setReadOnly(w),this.$resetCursorStyle()},initialValue:!1},copyWithEmptySelection:{set:function(w){this.textInput.setCopyWithEmptySelection(w)},initialValue:!1},cursorStyle:{set:function(w){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(w){this.setAutoScrollEditorIntoView(w)}},keyboardHandler:{set:function(w){this.setKeyboardHandler(w)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(w){this.session.setValue(w)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(w){this.setSession(w)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(w){this.renderer.$gutterLayer.setShowLineNumbers(w),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),w&&this.$relativeLineNumbers?E.attach(this):E.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(w){this.$showLineNumbers&&w?E.attach(this):E.detach(this)}},placeholder:{set:function(w){this.$updatePlaceholder||(this.$updatePlaceholder=function(){var y=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(y&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),c.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!y&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),c.addCssClass(this.container,"ace_hasPlaceholder");var S=c.createElement("div");S.className="ace_placeholder",S.textContent=this.$placeholder||"",this.renderer.placeholderNode=S,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!y&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}.bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(w){var y={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(M){M.blur(),M.renderer.scroller.focus()},readOnly:!0},S=function(M){if(M.target==this.renderer.scroller&&M.keyCode===$.enter){M.preventDefault();var T=this.getCursorPosition().row;this.isRowVisible(T)||this.scrollToLine(T,!0,!0),this.focus()}},F;w?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(a.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",_("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",_("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(y),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",_("editor.gutter.aria-roledescription","editor")),this.renderer.$gutter.setAttribute("aria-label",_("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),F||(F=new f(this)),F.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(y),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),F&&F.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(w){this.$textInputAriaLabel=w},initialValue:""},enableMobileMenu:{set:function(w){this.$enableMobileMenu=w},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 E={getText:function(w,y){return(Math.abs(w.selection.lead.row-y)||y+1+(y<9?"\xB7":""))+""},getWidth:function(w,y,S){return Math.max(y.toString().length,(S.lastRow+1).toString().length,2)*S.characterWidth},update:function(w,y){y.renderer.$loop.schedule(y.renderer.CHANGE_GUTTER)},attach:function(w){w.renderer.$gutterLayer.$renderer=this,w.on("changeSelection",this.update),this.update(null,w)},detach:function(w){w.renderer.$gutterLayer.$renderer==this&&(w.renderer.$gutterLayer.$renderer=null),w.off("changeSelection",this.update),this.update(null,w)}};d.Editor=v}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=function(){function c(l,a){this.element=l,this.canvasHeight=a||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return c.prototype.moveContainer=function(l){o.translate(this.element,0,-(l.firstRowScreen*l.lineHeight%this.canvasHeight)-l.offset*this.$offsetCoefficient)},c.prototype.pageChanged=function(l,a){return Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)!==Math.floor(a.firstRowScreen*a.lineHeight/this.canvasHeight)},c.prototype.computeLineTop=function(l,a,t){var e=a.firstRowScreen*a.lineHeight,n=Math.floor(e/this.canvasHeight),i=t.documentToScreenRow(l,0)*a.lineHeight;return i-n*this.canvasHeight},c.prototype.computeLineHeight=function(l,a,t){return a.lineHeight*t.getRowLineCount(l)},c.prototype.getLength=function(){return this.cells.length},c.prototype.get=function(l){return this.cells[l]},c.prototype.shift=function(){this.$cacheCell(this.cells.shift())},c.prototype.pop=function(){this.$cacheCell(this.cells.pop())},c.prototype.push=function(l){if(Array.isArray(l)){this.cells.push.apply(this.cells,l);for(var a=o.createFragment(this.element),t=0;t<l.length;t++)a.appendChild(l[t].element);this.element.appendChild(a)}else this.cells.push(l),this.element.appendChild(l.element)},c.prototype.unshift=function(l){if(Array.isArray(l)){this.cells.unshift.apply(this.cells,l);for(var a=o.createFragment(this.element),t=0;t<l.length;t++)a.appendChild(l[t].element);this.element.firstChild?this.element.insertBefore(a,this.element.firstChild):this.element.appendChild(a)}else this.cells.unshift(l),this.element.insertAdjacentElement("afterbegin",l.element)},c.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},c.prototype.$cacheCell=function(l){l&&(l.element.remove(),this.cellCache.push(l))},c.prototype.createCell=function(l,a,t,e){var n=this.cellCache.pop();if(!n){var i=o.createElement("div");e&&e(i),this.element.appendChild(i),n={element:i,text:"",row:l}}return n.row=l,n},c}();d.Lines=h}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(u,d,x){"use strict";function o(i){var r=document.createTextNode("");i.appendChild(r);var s=h.createElement("span");i.appendChild(s);var p=h.createElement("span");i.appendChild(p);var g=h.createElement("span");return p.appendChild(g),i}var h=u("../lib/dom"),c=u("../lib/oop"),l=u("../lib/lang"),a=u("../lib/event_emitter").EventEmitter,t=u("./lines").Lines,e=u("../config").nls,n=function(){function i(r){this.element=h.createElement("div"),this.element.className="ace_layer ace_gutter-layer",r.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new t(this.element),this.$lines.$offsetCoefficient=1}return i.prototype.setSession=function(r){this.session&&this.session.off("change",this.$updateAnnotations),this.session=r,r&&r.on("change",this.$updateAnnotations)},i.prototype.addGutterDecoration=function(r,s){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(r,s)},i.prototype.removeGutterDecoration=function(r,s){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(r,s)},i.prototype.setAnnotations=function(r){this.$annotations=[];for(var s=0;s<r.length;s++){var p=r[s],g=p.row,C=this.$annotations[g];C||(C=this.$annotations[g]={text:[],type:[],displayText:[]});var k=p.text,m=p.text,b=p.type;k=k?l.escapeHTML(k):p.html||"",m=m||p.html||"",C.text.indexOf(k)===-1&&(C.text.push(k),C.type.push(b),C.displayText.push(m));var f=p.className;f?C.className=f:b==="error"?C.className=" ace_error":b==="security"&&!/\bace_error\b/.test(C.className)?C.className=" ace_security":b==="warning"&&!/\bace_(error|security)\b/.test(C.className)?C.className=" ace_warning":b==="info"&&!C.className?C.className=" ace_info":b==="hint"&&!C.className&&(C.className=" ace_hint")}},i.prototype.$updateAnnotations=function(r){if(this.$annotations.length){var s=r.start.row,p=r.end.row-s;if(p!==0)if(r.action=="remove")this.$annotations.splice(s,p+1,null);else{var g=new Array(p+1);g.unshift(s,1),this.$annotations.splice.apply(this.$annotations,g)}}},i.prototype.update=function(r){this.config=r;var s=this.session,p=r.firstRow,g=Math.min(r.lastRow+r.gutterOffset,s.getLength()-1);this.oldLastRow=g,this.config=r,this.$lines.moveContainer(r),this.$updateCursorRow();for(var C=s.getNextFoldLine(p),k=C?C.start.row:1/0,m=null,b=-1,f=p;;){if(f>k&&(f=C.end.row+1,C=s.getNextFoldLine(f,C),k=C?C.start.row:1/0),f>g){for(;this.$lines.getLength()>b+1;)this.$lines.pop();break}m=this.$lines.get(++b),m?m.row=f:(m=this.$lines.createCell(f,r,this.session,o),this.$lines.push(m)),this.$renderCell(m,r,C,f),f++}this._signal("afterRender"),this.$updateGutterWidth(r)},i.prototype.$updateGutterWidth=function(r){var s=this.session,p=s.gutterRenderer||this.$renderer,g=s.$firstLineNumber,C=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||s.$useWrapMode)&&(C=s.getLength()+g-1);var k=p?p.getWidth(s,C,r):C.toString().length*r.characterWidth,m=this.$padding||this.$computePadding();k+=m.left+m.right,k!==this.gutterWidth&&!isNaN(k)&&(this.gutterWidth=k,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",k))},i.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var r=this.session.selection.getCursor();this.$cursorRow!==r.row&&(this.$cursorRow=r.row)}},i.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var r=this.session.selection.cursor.row;if(this.$cursorRow=r,!(this.$cursorCell&&this.$cursorCell.row==r)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var s=this.$lines.cells;this.$cursorCell=null;for(var p=0;p<s.length;p++){var g=s[p];if(g.row>=this.$cursorRow){if(g.row>this.$cursorRow){var C=this.session.getFoldLine(this.$cursorRow);if(!(p>0&&C&&C.start.row==s[p-1].row))break;g=s[p-1]}g.element.className="ace_gutter-active-line "+g.element.className,this.$cursorCell=g;break}}}}},i.prototype.scrollLines=function(r){var s=this.config;if(this.config=r,this.$updateCursorRow(),this.$lines.pageChanged(s,r))return this.update(r);this.$lines.moveContainer(r);var p=Math.min(r.lastRow+r.gutterOffset,this.session.getLength()-1),g=this.oldLastRow;if(this.oldLastRow=p,!s||g<r.firstRow)return this.update(r);if(p<s.firstRow)return this.update(r);if(s.firstRow<r.firstRow)for(var C=this.session.getFoldedRowCount(s.firstRow,r.firstRow-1);C>0;C--)this.$lines.shift();if(g>p)for(var C=this.session.getFoldedRowCount(p+1,g);C>0;C--)this.$lines.pop();r.firstRow<s.firstRow&&this.$lines.unshift(this.$renderLines(r,r.firstRow,s.firstRow-1)),p>g&&this.$lines.push(this.$renderLines(r,g+1,p)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(r)},i.prototype.$renderLines=function(r,s,p){for(var g=[],C=s,k=this.session.getNextFoldLine(C),m=k?k.start.row:1/0;C>m&&(C=k.end.row+1,k=this.session.getNextFoldLine(C,k),m=k?k.start.row:1/0),!(C>p);){var b=this.$lines.createCell(C,r,this.session,o);this.$renderCell(b,r,k,C),g.push(b),C++}return g},i.prototype.$renderCell=function(r,s,p,g){var C=r.element,k=this.session,m=C.childNodes[0],b=C.childNodes[1],f=C.childNodes[2],_=f.firstChild,A=k.$firstLineNumber,$=k.$breakpoints,v=k.$decorations,E=k.gutterRenderer||this.$renderer,w=this.$showFoldWidgets&&k.foldWidgets,y=p?p.start.row:Number.MAX_VALUE,S=s.lineHeight+"px",F=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",M=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",T=(E?E.getText(k,g):g+A).toString();if(this.$highlightGutterLine&&(g==this.$cursorRow||p&&g<this.$cursorRow&&g>=y&&this.$cursorRow<=p.end.row)&&(F+="ace_gutter-active-line ",this.$cursorCell!=r&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=r)),$[g]&&(F+=$[g]),v[g]&&(F+=v[g]),this.$annotations[g]&&g!==y&&(F+=this.$annotations[g].className),w){var B=w[g];B==null&&(B=w[g]=k.getFoldWidget(g))}if(B){var I="ace_fold-widget ace_"+B,D=B=="start"&&g==y&&g<p.end.row;if(D){I+=" ace_closed";for(var L="",H=!1,O=g+1;O<=p.end.row;O++)if(this.$annotations[O]){if(this.$annotations[O].className===" ace_error"){H=!0,L=" ace_error_fold";break}this.$annotations[O].className===" ace_security"?(H=!0,L=" ace_security_fold"):this.$annotations[O].className===" ace_warning"&&L!==" ace_security_fold"&&(H=!0,L=" ace_warning_fold")}F+=L}else I+=" ace_open";b.className!=I&&(b.className=I),h.setStyle(b.style,"height",S),h.setStyle(b.style,"display","inline-block"),b.setAttribute("role","button"),b.setAttribute("tabindex","-1");var P=k.getFoldWidgetRange(g);P?b.setAttribute("aria-label",e("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[P.start.row+1,P.end.row+1])):p?b.setAttribute("aria-label",e("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[p.start.row+1,p.end.row+1])):b.setAttribute("aria-label",e("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[g+1])),D?(b.setAttribute("aria-expanded","false"),b.setAttribute("title",e("gutter.code-folding.closed.title","Unfold code"))):(b.setAttribute("aria-expanded","true"),b.setAttribute("title",e("gutter.code-folding.open.title","Fold code")))}else b&&(h.setStyle(b.style,"display","none"),b.setAttribute("tabindex","0"),b.removeAttribute("role"),b.removeAttribute("aria-label"));if(H&&this.$showFoldedAnnotations){f.className="ace_gutter_annotation",_.className=M,_.className+=L,h.setStyle(_.style,"height",S),h.setStyle(f.style,"display","block"),h.setStyle(f.style,"height",S);var N;switch(L){case" ace_error_fold":N=e("gutter.annotation.aria-label.error","Error, read annotations row $0",[T]);break;case" ace_security_fold":N=e("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[T]);break;case" ace_warning_fold":N=e("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[T])}f.setAttribute("aria-label",N),f.setAttribute("tabindex","-1"),f.setAttribute("role","button")}else if(this.$annotations[g]){f.className="ace_gutter_annotation",_.className=M,this.$useSvgGutterIcons?_.className+=this.$annotations[g].className:C.classList.add(this.$annotations[g].className.replace(" ","")),h.setStyle(_.style,"height",S),h.setStyle(f.style,"display","block"),h.setStyle(f.style,"height",S);var N;switch(this.$annotations[g].className){case" ace_error":N=e("gutter.annotation.aria-label.error","Error, read annotations row $0",[T]);break;case" ace_security":N=e("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[T]);break;case" ace_warning":N=e("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[T]);break;case" ace_info":N=e("gutter.annotation.aria-label.info","Info, read annotations row $0",[T]);break;case" ace_hint":N=e("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[T])}f.setAttribute("aria-label",N),f.setAttribute("tabindex","-1"),f.setAttribute("role","button")}else h.setStyle(f.style,"display","none"),f.removeAttribute("aria-label"),f.removeAttribute("role"),f.setAttribute("tabindex","0");return T!==m.data&&(m.data=T),C.className!=F&&(C.className=F),h.setStyle(r.element.style,"height",this.$lines.computeLineHeight(g,s,k)+"px"),h.setStyle(r.element.style,"top",this.$lines.computeLineTop(g,s,k)+"px"),r.text=T,f.style.display==="none"&&b.style.display==="none"?r.element.setAttribute("aria-hidden",!0):r.element.setAttribute("aria-hidden",!1),r},i.prototype.setHighlightGutterLine=function(r){this.$highlightGutterLine=r},i.prototype.setShowLineNumbers=function(r){this.$renderer=!r&&{getWidth:function(){return 0},getText:function(){return""}}},i.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},i.prototype.setShowFoldWidgets=function(r){r?h.addCssClass(this.element,"ace_folding-enabled"):h.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=r,this.$padding=null},i.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},i.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var r=h.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(r.borderLeftWidth)||0)+(parseInt(r.paddingLeft)||0)+1,this.$padding.right=(parseInt(r.borderRightWidth)||0)+(parseInt(r.paddingRight)||0),this.$padding},i.prototype.getRegion=function(r){var s=this.$padding||this.$computePadding(),p=this.element.getBoundingClientRect();if(r.x<s.left+p.left)return"markers";if(this.$showFoldWidgets&&r.x>p.right-s.right)return"foldWidgets"},i}();n.prototype.$fixedWidth=!1,n.prototype.$highlightGutterLine=!0,n.prototype.$renderer="",n.prototype.$showLineNumbers=!0,n.prototype.$showFoldWidgets=!0,c.implement(n.prototype,a),d.Gutter=n}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(u,d,x){"use strict";function o(a,t,e,n){return(a?1:0)|(t?2:0)|(e?4:0)|(n?8:0)}var h=u("../range").Range,c=u("../lib/dom"),l=function(){function a(t){this.element=c.createElement("div"),this.element.className="ace_layer ace_marker-layer",t.appendChild(this.element)}return a.prototype.setPadding=function(t){this.$padding=t},a.prototype.setSession=function(t){this.session=t},a.prototype.setMarkers=function(t){this.markers=t},a.prototype.elt=function(t,e){var n=this.i!=-1&&this.element.childNodes[this.i];n?this.i++:(n=document.createElement("div"),this.element.appendChild(n),this.i=-1),n.style.cssText=e,n.className=t},a.prototype.update=function(t){if(t){this.config=t,this.i=0;var e;for(var n in this.markers){var i=this.markers[n];if(!i.range){i.update(e,this,this.session,t);continue}var r=i.range.clipRows(t.firstRow,t.lastRow);if(!r.isEmpty())if(r=r.toScreenRange(this.session),i.renderer){var s=this.$getTop(r.start.row,t),p=this.$padding+r.start.column*t.characterWidth;i.renderer(e,r,p,s,t)}else i.type=="fullLine"?this.drawFullLineMarker(e,r,i.clazz,t):i.type=="screenLine"?this.drawScreenLineMarker(e,r,i.clazz,t):r.isMultiLine()?i.type=="text"?this.drawTextMarker(e,r,i.clazz,t):this.drawMultiLineMarker(e,r,i.clazz,t):this.drawSingleLineMarker(e,r,i.clazz+" ace_start ace_br15",t)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},a.prototype.$getTop=function(t,e){return(t-e.firstRowScreen)*e.lineHeight},a.prototype.drawTextMarker=function(t,e,n,i,r){for(var s=this.session,p=e.start.row,g=e.end.row,C=p,k=0,m=0,b=s.getScreenLastRowColumn(C),f=new h(C,e.start.column,C,m);C<=g;C++)f.start.row=f.end.row=C,f.start.column=C==p?e.start.column:s.getRowWrapIndent(C),f.end.column=b,k=m,m=b,b=C+1<g?s.getScreenLastRowColumn(C+1):C==g?0:e.end.column,this.drawSingleLineMarker(t,f,n+(C==p?" ace_start":"")+" ace_br"+o(C==p||C==p+1&&e.start.column,k<m,m>b,C==g),i,C==g?0:1,r)},a.prototype.drawMultiLineMarker=function(t,e,n,i,r){var s=this.$padding,p=i.lineHeight,g=this.$getTop(e.start.row,i),C=s+e.start.column*i.characterWidth;if(r=r||"",this.session.$bidiHandler.isBidiRow(e.start.row)){var k=e.clone();k.end.row=k.start.row,k.end.column=this.session.getLine(k.start.row).length,this.drawBidiSingleLineMarker(t,k,n+" ace_br1 ace_start",i,null,r)}else this.elt(n+" ace_br1 ace_start","height:"+p+"px;right:"+s+"px;top:"+g+"px;left:"+C+"px;"+(r||""));if(this.session.$bidiHandler.isBidiRow(e.end.row)){var k=e.clone();k.start.row=k.end.row,k.start.column=0,this.drawBidiSingleLineMarker(t,k,n+" ace_br12",i,null,r)}else{g=this.$getTop(e.end.row,i);var m=e.end.column*i.characterWidth;this.elt(n+" ace_br12","height:"+p+"px;width:"+m+"px;top:"+g+"px;left:"+s+"px;"+(r||""))}if(p=(e.end.row-e.start.row-1)*i.lineHeight,!(p<=0)){g=this.$getTop(e.start.row+1,i);var b=(e.start.column?1:0)|(e.end.column?0:8);this.elt(n+(b?" ace_br"+b:""),"height:"+p+"px;right:"+s+"px;top:"+g+"px;left:"+s+"px;"+(r||""))}},a.prototype.drawSingleLineMarker=function(t,e,n,i,r,s){if(this.session.$bidiHandler.isBidiRow(e.start.row))return this.drawBidiSingleLineMarker(t,e,n,i,r,s);var p=i.lineHeight,g=(e.end.column+(r||0)-e.start.column)*i.characterWidth,C=this.$getTop(e.start.row,i),k=this.$padding+e.start.column*i.characterWidth;this.elt(n,"height:"+p+"px;width:"+g+"px;top:"+C+"px;left:"+k+"px;"+(s||""))},a.prototype.drawBidiSingleLineMarker=function(t,e,n,i,r,s){var p=i.lineHeight,g=this.$getTop(e.start.row,i),C=this.$padding,k=this.session.$bidiHandler.getSelections(e.start.column,e.end.column);k.forEach(function(m){this.elt(n,"height:"+p+"px;width:"+(m.width+(r||0))+"px;top:"+g+"px;left:"+(C+m.left)+"px;"+(s||""))},this)},a.prototype.drawFullLineMarker=function(t,e,n,i,r){var s=this.$getTop(e.start.row,i),p=i.lineHeight;e.start.row!=e.end.row&&(p+=this.$getTop(e.end.row,i)-s),this.elt(n,"height:"+p+"px;top:"+s+"px;left:0;right:0;"+(r||""))},a.prototype.drawScreenLineMarker=function(t,e,n,i,r){var s=this.$getTop(e.start.row,i),p=i.lineHeight;this.elt(n,"height:"+p+"px;top:"+s+"px;left:0;right:0;"+(r||""))},a}();l.prototype.$padding=0,d.Marker=l}),ace.define("ace/layer/text_util",["require","exports","module"],function(u,d,x){var o=new Set(["text","rparen","lparen"]);d.isTextToken=function(h){return o.has(h)}}),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(u,d,x){"use strict";var o=u("../lib/oop"),h=u("../lib/dom"),c=u("../lib/lang"),l=u("./lines").Lines,a=u("../lib/event_emitter").EventEmitter,t=u("../config").nls,e=u("./text_util").isTextToken,n=function(){function i(r){this.dom=h,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",r.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new l(this.element)}return i.prototype.$updateEolChar=function(){var r=this.session.doc,s=r.getNewLineCharacter()==`
`&&r.getNewLineMode()!="windows",p=s?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=p)return this.EOL_CHAR=p,!0},i.prototype.setPadding=function(r){this.$padding=r,this.element.style.margin="0 "+r+"px"},i.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},i.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},i.prototype.$setFontMetrics=function(r){this.$fontMetrics=r,this.$fontMetrics.on("changeCharacterSize",function(s){this._signal("changeCharacterSize",s)}.bind(this)),this.$pollSizeChanges()},i.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},i.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},i.prototype.setSession=function(r){this.session=r,r&&this.$computeTabString()},i.prototype.setShowInvisibles=function(r){return this.showInvisibles==r?!1:(this.showInvisibles=r,typeof r=="string"?(this.showSpaces=/tab/i.test(r),this.showTabs=/space/i.test(r),this.showEOL=/eol/i.test(r)):this.showSpaces=this.showTabs=this.showEOL=r,this.$computeTabString(),!0)},i.prototype.setDisplayIndentGuides=function(r){return this.displayIndentGuides==r?!1:(this.displayIndentGuides=r,this.$computeTabString(),!0)},i.prototype.setHighlightIndentGuides=function(r){return this.$highlightIndentGuides===r?!1:(this.$highlightIndentGuides=r,r)},i.prototype.$computeTabString=function(){var r=this.session.getTabSize();this.tabSize=r;for(var s=this.$tabStrings=[0],p=1;p<r+1;p++)if(this.showTabs){var g=this.dom.createElement("span");g.className="ace_invisible ace_invisible_tab",g.textContent=c.stringRepeat(this.TAB_CHAR,p),s.push(g)}else s.push(this.dom.createTextNode(c.stringRepeat(" ",p),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var C="ace_indent-guide",k=this.showSpaces?" ace_invisible ace_invisible_space":"",m=this.showSpaces?c.stringRepeat(this.SPACE_CHAR,this.tabSize):c.stringRepeat(" ",this.tabSize),b=this.showTabs?" ace_invisible ace_invisible_tab":"",f=this.showTabs?c.stringRepeat(this.TAB_CHAR,this.tabSize):m,g=this.dom.createElement("span");g.className=C+k,g.textContent=m,this.$tabStrings[" "]=g;var g=this.dom.createElement("span");g.className=C+b,g.textContent=f,this.$tabStrings[" "]=g}},i.prototype.updateLines=function(r,s,p){if(this.config.lastRow!=r.lastRow||this.config.firstRow!=r.firstRow)return this.update(r);this.config=r;for(var g=Math.max(s,r.firstRow),C=Math.min(p,r.lastRow),k=this.element.childNodes,m=0,f=r.firstRow;f<g;f++){var _=this.session.getFoldLine(f);if(_){if(_.containsRow(g)){g=_.start.row;break}f=_.end.row}m++}for(var b=!1,f=g,_=this.session.getNextFoldLine(f),A=_?_.start.row:1/0;f>A&&(f=_.end.row+1,_=this.session.getNextFoldLine(f,_),A=_?_.start.row:1/0),!(f>C);){var $=k[m++];if($){this.dom.removeChildren($),this.$renderLine($,f,f==A?_:!1),b&&($.style.top=this.$lines.computeLineTop(f,r,this.session)+"px");var v=r.lineHeight*this.session.getRowLength(f)+"px";$.style.height!=v&&(b=!0,$.style.height=v)}f++}if(b)for(;m<this.$lines.cells.length;){var E=this.$lines.cells[m++];E.element.style.top=this.$lines.computeLineTop(E.row,r,this.session)+"px"}},i.prototype.scrollLines=function(r){var s=this.config;if(this.config=r,this.$lines.pageChanged(s,r))return this.update(r);this.$lines.moveContainer(r);var p=r.lastRow,g=s?s.lastRow:-1;if(!s||g<r.firstRow)return this.update(r);if(p<s.firstRow)return this.update(r);if(!s||s.lastRow<r.firstRow)return this.update(r);if(r.lastRow<s.firstRow)return this.update(r);if(s.firstRow<r.firstRow)for(var C=this.session.getFoldedRowCount(s.firstRow,r.firstRow-1);C>0;C--)this.$lines.shift();if(s.lastRow>r.lastRow)for(var C=this.session.getFoldedRowCount(r.lastRow+1,s.lastRow);C>0;C--)this.$lines.pop();r.firstRow<s.firstRow&&this.$lines.unshift(this.$renderLinesFragment(r,r.firstRow,s.firstRow-1)),r.lastRow>s.lastRow&&this.$lines.push(this.$renderLinesFragment(r,s.lastRow+1,r.lastRow)),this.$highlightIndentGuide()},i.prototype.$renderLinesFragment=function(r,s,p){for(var g=[],C=s,k=this.session.getNextFoldLine(C),m=k?k.start.row:1/0;C>m&&(C=k.end.row+1,k=this.session.getNextFoldLine(C,k),m=k?k.start.row:1/0),!(C>p);){var b=this.$lines.createCell(C,r,this.session),f=b.element;this.dom.removeChildren(f),h.setStyle(f.style,"height",this.$lines.computeLineHeight(C,r,this.session)+"px"),h.setStyle(f.style,"top",this.$lines.computeLineTop(C,r,this.session)+"px"),this.$renderLine(f,C,C==m?k:!1),this.$useLineGroups()?f.className="ace_line_group":f.className="ace_line",g.push(b),C++}return g},i.prototype.update=function(r){this.$lines.moveContainer(r),this.config=r;for(var s=r.firstRow,p=r.lastRow,g=this.$lines;g.getLength();)g.pop();g.push(this.$renderLinesFragment(r,s,p))},i.prototype.$renderToken=function(r,s,p,g){for(var C=this,k=/(\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\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\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,m=this.dom.createFragment(this.element),b,f=0;b=k.exec(g);){var _=b[1],A=b[2],$=b[3],v=b[4],E=b[5];if(!(!C.showSpaces&&A)){var w=f!=b.index?g.slice(f,b.index):"";if(f=b.index+b[0].length,w&&m.appendChild(this.dom.createTextNode(w,this.element)),_){var y=C.session.getScreenTabSize(s+b.index);m.appendChild(C.$tabStrings[y].cloneNode(!0)),s+=y-1}else if(A)if(C.showSpaces){var S=this.dom.createElement("span");S.className="ace_invisible ace_invisible_space",S.textContent=c.stringRepeat(C.SPACE_CHAR,A.length),m.appendChild(S)}else m.appendChild(this.dom.createTextNode(A,this.element));else if($){var S=this.dom.createElement("span");S.className="ace_invisible ace_invisible_space ace_invalid",S.textContent=c.stringRepeat(C.SPACE_CHAR,$.length),m.appendChild(S)}else if(v){s+=1;var S=this.dom.createElement("span");S.style.width=C.config.characterWidth*2+"px",S.className=C.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",S.textContent=C.showSpaces?C.SPACE_CHAR:v,m.appendChild(S)}else if(E){s+=1;var S=this.dom.createElement("span");S.style.width=C.config.characterWidth*2+"px",S.className="ace_cjk",S.textContent=E,m.appendChild(S)}}}if(m.appendChild(this.dom.createTextNode(f?g.slice(f):g,this.element)),e(p.type))r.appendChild(m);else{var F="ace_"+p.type.replace(/\./g," ace_"),S=this.dom.createElement("span");p.type=="fold"&&(S.style.width=p.value.length*this.config.characterWidth+"px",S.setAttribute("title",t("inline-fold.closed.title","Unfold code"))),S.className=F,S.appendChild(m),r.appendChild(S)}return s+g.length},i.prototype.renderIndentGuide=function(r,s,p){var g=s.search(this.$indentGuideRe);if(g<=0||g>=p)return s;if(s[0]==" "){g-=g%this.tabSize;for(var C=g/this.tabSize,k=0;k<C;k++)r.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),s.substr(g)}if(s[0]==" "){for(var k=0;k<g;k++)r.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),s.substr(g)}return this.$highlightIndentGuide(),s},i.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var r=this.session.doc.$lines;if(r){var s=this.session.selection.getCursor(),p=/^\s*/.exec(this.session.doc.getLine(s.row))[0].length,g=Math.floor(p/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:g,start:s.row};var C=this.session.$bracketHighlight;if(C){for(var k=this.session.$bracketHighlight.ranges,m=0;m<k.length;m++)if(s.row!==k[m].start.row){this.$highlightIndentGuideMarker.end=k[m].start.row,s.row>k[m].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&r[s.row]!==""&&s.column===r[s.row].length){this.$highlightIndentGuideMarker.dir=1;for(var m=s.row+1;m<r.length;m++){var b=r[m],f=/^\s*/.exec(b)[0].length;if(b!==""&&(this.$highlightIndentGuideMarker.end=m,f<=p))break}}this.$renderHighlightIndentGuide()}}},i.prototype.$clearActiveIndentGuide=function(){for(var r=this.$lines.cells,s=0;s<r.length;s++){var p=r[s],g=p.element.childNodes;if(g.length>0){for(var C=0;C<g.length;C++)if(g[C].classList&&g[C].classList.contains("ace_indent-guide-active")){g[C].classList.remove("ace_indent-guide-active");break}}}},i.prototype.$setIndentGuideActive=function(r,s){var p=this.session.doc.getLine(r.row);if(p!==""){var g=r.element.childNodes;if(g){var C=g[s-1];C&&C.classList&&C.classList.contains("ace_indent-guide")&&C.classList.add("ace_indent-guide-active")}}},i.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var r=this.$lines.cells;this.$clearActiveIndentGuide();var s=this.$highlightIndentGuideMarker.indentLevel;if(s!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var p=0;p<r.length;p++){var g=r[p];if(this.$highlightIndentGuideMarker.end&&g.row>=this.$highlightIndentGuideMarker.start+1){if(g.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(g,s)}}else for(var p=r.length-1;p>=0;p--){var g=r[p];if(this.$highlightIndentGuideMarker.end&&g.row<this.$highlightIndentGuideMarker.start){if(g.row<=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(g,s)}}}},i.prototype.$createLineElement=function(r){var s=this.dom.createElement("div");return s.className="ace_line",s.style.height=this.config.lineHeight+"px",s},i.prototype.$renderWrappedLine=function(r,s,p){var g=0,C=0,k=p[0],m=0,b=this.$createLineElement();r.appendChild(b);for(var f=0;f<s.length;f++){var _=s[f],A=_.value;if(f==0&&this.displayIndentGuides){if(g=A.length,A=this.renderIndentGuide(b,A,k),!A)continue;g-=A.length}if(g+A.length<k)m=this.$renderToken(b,m,_,A),g+=A.length;else{for(;g+A.length>=k;)m=this.$renderToken(b,m,_,A.substring(0,k-g)),A=A.substring(k-g),g=k,b=this.$createLineElement(),r.appendChild(b),b.appendChild(this.dom.createTextNode(c.stringRepeat("\xA0",p.indent),this.element)),C++,m=0,k=p[C]||Number.MAX_VALUE;A.length!=0&&(g+=A.length,m=this.$renderToken(b,m,_,A))}}p[p.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(b,m,null,"",!0)},i.prototype.$renderSimpleLine=function(r,s){for(var p=0,g=0;g<s.length;g++){var C=s[g],k=C.value;if(!(g==0&&this.displayIndentGuides&&(k=this.renderIndentGuide(r,k),!k))){if(p+k.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(r,p,C,k);p=this.$renderToken(r,p,C,k)}}},i.prototype.$renderOverflowMessage=function(r,s,p,g,C){p&&this.$renderToken(r,s,p,g.slice(0,this.MAX_LINE_LENGTH-s));var k=this.dom.createElement("span");k.className="ace_inline_button ace_keyword ace_toggle_wrap",k.textContent=C?"<hide>":"<click to see more...>",r.appendChild(k)},i.prototype.$renderLine=function(r,s,p){if(!p&&p!=0&&(p=this.session.getFoldLine(s)),p)var g=this.$getFoldLineTokens(s,p);else var g=this.session.getTokens(s);var C=r;if(g.length){var k=this.session.getRowSplitData(s);if(k&&k.length){this.$renderWrappedLine(r,g,k);var C=r.lastChild}else{var C=r;this.$useLineGroups()&&(C=this.$createLineElement(),r.appendChild(C)),this.$renderSimpleLine(C,g)}}else this.$useLineGroups()&&(C=this.$createLineElement(),r.appendChild(C));if(this.showEOL&&C){p&&(s=p.end.row);var m=this.dom.createElement("span");m.className="ace_invisible ace_invisible_eol",m.textContent=s==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,C.appendChild(m)}},i.prototype.$getFoldLineTokens=function(r,s){function p(m,b,f){for(var _=0,A=0;A+m[_].value.length<b;)if(A+=m[_].value.length,_++,_==m.length)return;if(A!=b){var $=m[_].value.substring(b-A);$.length>f-b&&($=$.substring(0,f-b)),C.push({type:m[_].type,value:$}),A=b+$.length,_+=1}for(;A<f&&_<m.length;){var $=m[_].value;$.length+A>f?C.push({type:m[_].type,value:$.substring(0,f-A)}):C.push(m[_]),A+=$.length,_+=1}}var g=this.session,C=[],k=g.getTokens(r);return s.walk(function(m,b,f,_,A){m!=null?C.push({type:"fold",value:m}):(A&&(k=g.getTokens(b)),k.length&&p(k,_,f))},s.end.row,this.session.getLine(s.end.row).length),C},i.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},i}();n.prototype.EOF_CHAR="\xB6",n.prototype.EOL_CHAR_LF="\xAC",n.prototype.EOL_CHAR_CRLF="\xA4",n.prototype.EOL_CHAR=n.prototype.EOL_CHAR_LF,n.prototype.TAB_CHAR="\u2014",n.prototype.SPACE_CHAR="\xB7",n.prototype.$padding=0,n.prototype.MAX_LINE_LENGTH=1e4,n.prototype.showInvisibles=!1,n.prototype.showSpaces=!1,n.prototype.showTabs=!1,n.prototype.showEOL=!1,n.prototype.displayIndentGuides=!0,n.prototype.$highlightIndentGuides=!0,n.prototype.$tabStrings=[],n.prototype.destroy={},n.prototype.onChangeTabSize=n.prototype.$computeTabString,o.implement(n.prototype,a),d.Text=n}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=function(){function c(l){this.element=o.createElement("div"),this.element.className="ace_layer ace_cursor-layer",l.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),o.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return c.prototype.$updateOpacity=function(l){for(var a=this.cursors,t=a.length;t--;)o.setStyle(a[t].style,"opacity",l?"":"0")},c.prototype.$startCssAnimation=function(){for(var l=this.cursors,a=l.length;a--;)l[a].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout(function(){this.$isAnimating&&o.addCssClass(this.element,"ace_animate-blinking")}.bind(this))},c.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,o.removeCssClass(this.element,"ace_animate-blinking")},c.prototype.setPadding=function(l){this.$padding=l},c.prototype.setSession=function(l){this.session=l},c.prototype.setBlinking=function(l){l!=this.isBlinking&&(this.isBlinking=l,this.restartTimer())},c.prototype.setBlinkInterval=function(l){l!=this.blinkInterval&&(this.blinkInterval=l,this.restartTimer())},c.prototype.setSmoothBlinking=function(l){l!=this.smoothBlinking&&(this.smoothBlinking=l,o.setCssClass(this.element,"ace_smooth-blinking",l),this.$updateCursors(!0),this.restartTimer())},c.prototype.addCursor=function(){var l=o.createElement("div");return l.className="ace_cursor",this.element.appendChild(l),this.cursors.push(l),l},c.prototype.removeCursor=function(){if(this.cursors.length>1){var l=this.cursors.pop();return l.parentNode.removeChild(l),l}},c.prototype.hideCursor=function(){this.isVisible=!1,o.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},c.prototype.showCursor=function(){this.isVisible=!0,o.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},c.prototype.restartTimer=function(){var l=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,o.removeCssClass(this.element,"ace_smooth-blinking")),l(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout(function(){this.$isSmoothBlinking&&o.addCssClass(this.element,"ace_smooth-blinking")}.bind(this))),o.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var a=function(){this.timeoutId=setTimeout(function(){l(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){l(!0),a()},this.blinkInterval),a()}},c.prototype.getPixelPosition=function(l,a){if(!this.config||!this.session)return{left:0,top:0};l||(l=this.session.selection.getCursor());var t=this.session.documentToScreenPosition(l),e=this.$padding+(this.session.$bidiHandler.isBidiRow(t.row,l.row)?this.session.$bidiHandler.getPosLeft(t.column):t.column*this.config.characterWidth),n=(t.row-(a?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:e,top:n}},c.prototype.isCursorInView=function(l,a){return l.top>=0&&l.top<a.maxHeight},c.prototype.update=function(l){this.config=l;var a=this.session.$selectionMarkers,t=0,e=0;(a===void 0||a.length===0)&&(a=[{cursor:null}]);for(var t=0,n=a.length;t<n;t++){var i=this.getPixelPosition(a[t].cursor,!0);if(!((i.top>l.height+l.offset||i.top<0)&&t>1)){var r=this.cursors[e++]||this.addCursor(),s=r.style;this.drawCursor?this.drawCursor(r,i,l,a[t],this.session):this.isCursorInView(i,l)?(o.setStyle(s,"display","block"),o.translate(r,i.left,i.top),o.setStyle(s,"width",Math.round(l.characterWidth)+"px"),o.setStyle(s,"height",l.lineHeight+"px")):o.setStyle(s,"display","none")}}for(;this.cursors.length>e;)this.removeCursor();var p=this.session.getOverwrite();this.$setOverwrite(p),this.$pixelPos=i,this.restartTimer()},c.prototype.$setOverwrite=function(l){l!=this.overwrite&&(this.overwrite=l,l?o.addCssClass(this.element,"ace_overwrite-cursors"):o.removeCssClass(this.element,"ace_overwrite-cursors"))},c.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},c}();h.prototype.$padding=0,h.prototype.drawCursor=null,d.Cursor=h}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=this&&this.__extends||function(){var r=function(s,p){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(g,C){g.__proto__=C}||function(g,C){for(var k in C)Object.prototype.hasOwnProperty.call(C,k)&&(g[k]=C[k])},r(s,p)};return function(s,p){function g(){this.constructor=s}if(typeof p!="function"&&p!==null)throw new TypeError("Class extends value "+String(p)+" is not a constructor or null");r(s,p),s.prototype=p===null?Object.create(p):(g.prototype=p.prototype,new g)}}(),h=u("./lib/oop"),c=u("./lib/dom"),l=u("./lib/event"),a=u("./lib/event_emitter").EventEmitter,t=32768,e=function(){function r(s,p){this.element=c.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+p,this.inner=c.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent="\xA0",this.element.appendChild(this.inner),s.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addListener(this.element,"scroll",this.onScroll.bind(this)),l.addListener(this.element,"mousedown",l.preventDefault)}return r.prototype.setVisible=function(s){this.element.style.display=s?"":"none",this.isVisible=s,this.coeff=1},r}();h.implement(e.prototype,a);var n=function(r){function s(p,g){var C=r.call(this,p,"-v")||this;return C.scrollTop=0,C.scrollHeight=0,g.$scrollbarWidth=C.width=c.scrollbarWidth(p.ownerDocument),C.inner.style.width=C.element.style.width=(C.width||15)+5+"px",C.$minWidth=0,C}return o(s,r),s.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var p=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-p)/(this.coeff-p)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},s.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},s.prototype.setHeight=function(p){this.element.style.height=p+"px"},s.prototype.setScrollHeight=function(p){this.scrollHeight=p,p>t?(this.coeff=t/p,p=t):this.coeff!=1&&(this.coeff=1),this.inner.style.height=p+"px"},s.prototype.setScrollTop=function(p){this.scrollTop!=p&&(this.skipEvent=!0,this.scrollTop=p,this.element.scrollTop=p*this.coeff)},s}(e);n.prototype.setInnerHeight=n.prototype.setScrollHeight;var i=function(r){function s(p,g){var C=r.call(this,p,"-h")||this;return C.scrollLeft=0,C.height=g.$scrollbarWidth,C.inner.style.height=C.element.style.height=(C.height||15)+5+"px",C}return o(s,r),s.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},s.prototype.getHeight=function(){return this.isVisible?this.height:0},s.prototype.setWidth=function(p){this.element.style.width=p+"px"},s.prototype.setInnerWidth=function(p){this.inner.style.width=p+"px"},s.prototype.setScrollWidth=function(p){this.inner.style.width=p+"px"},s.prototype.setScrollLeft=function(p){this.scrollLeft!=p&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=p)},s}(e);d.ScrollBar=n,d.ScrollBarV=n,d.ScrollBarH=i,d.VScrollBar=n,d.HScrollBar=i}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=this&&this.__extends||function(){var i=function(r,s){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(p,g){p.__proto__=g}||function(p,g){for(var C in g)Object.prototype.hasOwnProperty.call(g,C)&&(p[C]=g[C])},i(r,s)};return function(r,s){function p(){this.constructor=r}if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");i(r,s),r.prototype=s===null?Object.create(s):(p.prototype=s.prototype,new p)}}(),h=u("./lib/oop"),c=u("./lib/dom"),l=u("./lib/event"),a=u("./lib/event_emitter").EventEmitter;c.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 t=function(){function i(r,s){this.element=c.createElement("div"),this.element.className="ace_sb"+s,this.inner=c.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,r.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return i.prototype.setVisible=function(r){this.element.style.display=r?"":"none",this.isVisible=r,this.coeff=1},i}();h.implement(t.prototype,a);var e=function(i){function r(s,p){var g=i.call(this,s,"-v")||this;return g.scrollTop=0,g.scrollHeight=0,g.parent=s,g.width=g.VScrollWidth,g.renderer=p,g.inner.style.width=g.element.style.width=(g.width||15)+"px",g.$minWidth=0,g}return o(r,i),r.prototype.onMouseDown=function(s,p){if(s==="mousedown"&&!(l.getButton(p)!==0||p.detail===2)){if(p.target===this.inner){var g=this,C=p.clientY,k=function(v){C=v.clientY},m=function(){clearInterval(A)},b=p.clientY,f=this.thumbTop,_=function(){if(C!==void 0){var v=g.scrollTopFromThumbTop(f+C-b);v!==g.scrollTop&&g._emit("scroll",{data:v})}};l.capture(this.inner,k,m);var A=setInterval(_,20);return l.preventDefault(p)}var $=p.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop($)}),l.preventDefault(p)}},r.prototype.getHeight=function(){return this.height},r.prototype.scrollTopFromThumbTop=function(s){var p=s*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return p>>=0,p<0?p=0:p>this.pageHeight-this.viewHeight&&(p=this.pageHeight-this.viewHeight),p},r.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},r.prototype.setHeight=function(s){this.height=Math.max(0,s),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},r.prototype.setScrollHeight=function(s,p){this.pageHeight===s&&!p||(this.pageHeight=s,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})))},r.prototype.setScrollTop=function(s){this.scrollTop=s,s<0&&(s=0),this.thumbTop=s*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},r}(t);e.prototype.setInnerHeight=e.prototype.setScrollHeight;var n=function(i){function r(s,p){var g=i.call(this,s,"-h")||this;return g.scrollLeft=0,g.scrollWidth=0,g.height=g.HScrollHeight,g.inner.style.height=g.element.style.height=(g.height||12)+"px",g.renderer=p,g}return o(r,i),r.prototype.onMouseDown=function(s,p){if(s==="mousedown"&&!(l.getButton(p)!==0||p.detail===2)){if(p.target===this.inner){var g=this,C=p.clientX,k=function(v){C=v.clientX},m=function(){clearInterval(A)},b=p.clientX,f=this.thumbLeft,_=function(){if(C!==void 0){var v=g.scrollLeftFromThumbLeft(f+C-b);v!==g.scrollLeft&&g._emit("scroll",{data:v})}};l.capture(this.inner,k,m);var A=setInterval(_,20);return l.preventDefault(p)}var $=p.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft($)}),l.preventDefault(p)}},r.prototype.getHeight=function(){return this.isVisible?this.height:0},r.prototype.scrollLeftFromThumbLeft=function(s){var p=s*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return p>>=0,p<0?p=0:p>this.pageWidth-this.viewWidth&&(p=this.pageWidth-this.viewWidth),p},r.prototype.setWidth=function(s){this.width=Math.max(0,s),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},r.prototype.setScrollWidth=function(s,p){this.pageWidth===s&&!p||(this.pageWidth=s,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})))},r.prototype.setScrollLeft=function(s){this.scrollLeft=s,s<0&&(s=0),this.thumbLeft=s*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},r}(t);n.prototype.setInnerWidth=n.prototype.setScrollWidth,d.ScrollBar=e,d.ScrollBarV=e,d.ScrollBarH=n,d.VScrollBar=e,d.HScrollBar=n}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(u,d,x){"use strict";var o=u("./lib/event"),h=function(){function c(l,a){this.onRender=l,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=a||window;var t=this;this._flush=function(e){t.pending=!1;var n=t.changes;if(n&&(o.blockIdle(100),t.changes=0,t.onRender(n)),t.changes){if(t.$recursionLimit--<0)return;t.schedule()}else t.$recursionLimit=2}}return c.prototype.schedule=function(l){this.changes=this.changes|l,this.changes&&!this.pending&&(o.nextFrame(this._flush),this.pending=!0)},c.prototype.clear=function(l){var a=this.changes;return this.changes=0,a},c}();d.RenderLoop=h}),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(u,d,x){var o=u("../lib/oop"),h=u("../lib/dom"),c=u("../lib/lang"),l=u("../lib/event"),a=u("../lib/useragent"),t=u("../lib/event_emitter").EventEmitter,e=512,n=typeof ResizeObserver=="function",i=200,r=function(){function s(p){this.el=h.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=h.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=h.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),p.appendChild(this.el),this.$measureNode.textContent=c.stringRepeat("X",e),this.$characterSize={width:0,height:0},n?this.$addObserver():this.checkForSizeChanges()}return s.prototype.$setMeasureNodeStyles=function(p,g){p.width=p.height="auto",p.left=p.top="0px",p.visibility="hidden",p.position="absolute",p.whiteSpace="pre",a.isIE<8?p["font-family"]="inherit":p.font="inherit",p.overflow=g?"hidden":"visible"},s.prototype.checkForSizeChanges=function(p){if(p===void 0&&(p=this.$measureSizes()),p&&(this.$characterSize.width!==p.width||this.$characterSize.height!==p.height)){this.$measureNode.style.fontWeight="bold";var g=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=p,this.charSizes=Object.create(null),this.allowBoldFonts=g&&g.width===p.width&&g.height===p.height,this._emit("changeCharacterSize",{data:p})}},s.prototype.$addObserver=function(){var p=this;this.$observer=new window.ResizeObserver(function(g){p.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},s.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var p=this;return this.$pollSizeChangesTimer=l.onIdle(function g(){p.checkForSizeChanges(),l.onIdle(g,500)},500)},s.prototype.setPolling=function(p){p?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},s.prototype.$measureSizes=function(p){var g={height:(p||this.$measureNode).clientHeight,width:(p||this.$measureNode).clientWidth/e};return g.width===0||g.height===0?null:g},s.prototype.$measureCharWidth=function(p){this.$main.textContent=c.stringRepeat(p,e);var g=this.$main.getBoundingClientRect();return g.width/e},s.prototype.getCharacterWidth=function(p){var g=this.charSizes[p];return g===void 0&&(g=this.charSizes[p]=this.$measureCharWidth(p)/this.$characterSize.width),g},s.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},s.prototype.$getZoom=function(p){return!p||!p.parentElement?1:(Number(window.getComputedStyle(p).zoom)||1)*this.$getZoom(p.parentElement)},s.prototype.$initTransformMeasureNodes=function(){var p=function(g,C){return["div",{style:"position: absolute;top:"+g+"px;left:"+C+"px;"}]};this.els=h.buildDom([p(0,0),p(i,0),p(0,i),p(i,i)],this.el)},s.prototype.transformCoordinates=function(p,g){function C(D,L,H){var O=D[1]*L[0]-D[0]*L[1];return[(-L[1]*H[0]+L[0]*H[1])/O,(+D[1]*H[0]-D[0]*H[1])/O]}function k(D,L){return[D[0]-L[0],D[1]-L[1]]}function m(D,L){return[D[0]+L[0],D[1]+L[1]]}function b(D,L){return[D*L[0],D*L[1]]}function f(D){var L=D.getBoundingClientRect();return[L.left,L.top]}if(p){var _=this.$getZoom(this.el);p=b(1/_,p)}this.els||this.$initTransformMeasureNodes();var A=f(this.els[0]),$=f(this.els[1]),v=f(this.els[2]),E=f(this.els[3]),w=C(k(E,$),k(E,v),k(m($,v),m(E,A))),y=b(1+w[0],k($,A)),S=b(1+w[1],k(v,A));if(g){var F=g,M=w[0]*F[0]/i+w[1]*F[1]/i+1,T=m(b(F[0],y),b(F[1],S));return m(b(1/M/i,T),A)}var B=k(p,A),I=C(k(y,b(w[0],B)),k(S,b(w[1],B)),B);return b(i,I)},s}();r.prototype.$characterSize={width:0,height:0},o.implement(r.prototype,t),d.FontMetrics=r}),ace.define("ace/css/editor-css",["require","exports","module"],function(u,d,x){x.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: "\u21A9";
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(u,d,x){"use strict";var o=u("../lib/dom"),h=u("../lib/oop"),c=u("../lib/event_emitter").EventEmitter,l=function(){function a(t,e){this.canvas=o.createElement("canvas"),this.renderer=e,this.pixelRatio=1,this.maxHeight=e.layerConfig.maxHeight,this.lineHeight=e.layerConfig.lineHeight,this.canvasHeight=t.parent.scrollHeight,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvasWidth=t.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)"},t.element.appendChild(this.canvas)}return a.prototype.$updateDecorators=function(t){function e(E,w){return E.priority<w.priority?-1:E.priority>w.priority?1:0}var n=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;if(t){this.maxHeight=t.maxHeight,this.lineHeight=t.lineHeight,this.canvasHeight=t.height;var i=(t.lastRow+1)*this.lineHeight;i<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight}var r=this.canvas.getContext("2d"),s=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),s){var p={info:1,warning:2,error:3};s.forEach(function(E){E.priority=p[E.type]||null}),s=s.sort(e);for(var g=this.renderer.session.$foldData,C=0;C<s.length;C++){var k=s[C].row,m=this.compensateFoldRows(k,g),b=Math.round((k-m)*this.lineHeight*this.heightRatio),f=Math.round((k-m)*this.lineHeight*this.heightRatio),_=Math.round(((k-m)*this.lineHeight+this.lineHeight)*this.heightRatio),A=_-f;if(A<this.minDecorationHeight){var $=(f+_)/2|0;$<this.halfMinDecorationHeight?$=this.halfMinDecorationHeight:$+this.halfMinDecorationHeight>this.canvasHeight&&($=this.canvasHeight-this.halfMinDecorationHeight),f=Math.round($-this.halfMinDecorationHeight),_=Math.round($+this.halfMinDecorationHeight)}r.fillStyle=n[s[C].type]||null,r.fillRect(0,b,this.canvasWidth,_-f)}}var v=this.renderer.session.selection.getCursor();if(v){var m=this.compensateFoldRows(v.row,g),b=Math.round((v.row-m)*this.lineHeight*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,b,this.canvasWidth,2)}},a.prototype.compensateFoldRows=function(t,e){var n=0;if(e&&e.length>0)for(var i=0;i<e.length;i++)t>e[i].start.row&&t<e[i].end.row?n+=t-e[i].start.row:t>=e[i].end.row&&(n+=e[i].end.row-e[i].start.row);return n},a}();h.implement(l.prototype,c),d.Decorator=l}),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(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/dom"),c=u("./lib/lang"),l=u("./config"),a=u("./layer/gutter").Gutter,t=u("./layer/marker").Marker,e=u("./layer/text").Text,n=u("./layer/cursor").Cursor,i=u("./scrollbar").HScrollBar,r=u("./scrollbar").VScrollBar,s=u("./scrollbar_custom").HScrollBar,p=u("./scrollbar_custom").VScrollBar,g=u("./renderloop").RenderLoop,C=u("./layer/font_metrics").FontMetrics,k=u("./lib/event_emitter").EventEmitter,m=u("./css/editor-css"),b=u("./layer/decorators").Decorator,f=u("./lib/useragent"),_=u("./layer/text_util").isTextToken;h.importCssString(m,"ace_editor.css",!1);var A=function(){function $(v,E){var w=this;this.container=v||h.createElement("div"),h.addCssClass(this.container,"ace_editor"),h.HI_DPI&&h.addCssClass(this.container,"ace_hidpi"),this.setTheme(E),l.get("useStrictCSP")==null&&l.set("useStrictCSP",!1),this.$gutter=h.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=h.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=h.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new t(this.content);var y=this.$textLayer=new e(this.content);this.canvas=y.element,this.$markerFront=new t(this.content),this.$cursorLayer=new n(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new r(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.on("scroll",function(S){w.$scrollAnimation||w.session.setScrollTop(S.data-w.scrollMargin.top)}),this.scrollBarH.on("scroll",function(S){w.$scrollAnimation||w.session.setScrollLeft(S.data-w.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new C(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(S){w.updateCharacterSize(),w.onResize(!0,w.gutterWidth,w.$size.width,w.$size.height),w._signal("changeCharacterSize",S)}),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=!f.isIOS,this.$loop=new g(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),l.resetOptions(this),l._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(),h.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},$.prototype.setSession=function(v){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=v,v&&this.scrollMargin.top&&v.getScrollTop()<=0&&v.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(v),this.$markerBack.setSession(v),this.$markerFront.setSession(v),this.$gutterLayer.setSession(v),this.$textLayer.setSession(v),v&&(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(v,E,w){if(E===void 0&&(E=1/0),this.$changedLines?(this.$changedLines.firstRow>v&&(this.$changedLines.firstRow=v),this.$changedLines.lastRow<E&&(this.$changedLines.lastRow=E)):this.$changedLines={firstRow:v,lastRow:E},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!w)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.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(v){v?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(v,E,w,y){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=v?1:0;var S=this.container;y||(y=S.clientHeight||S.scrollHeight),!y&&this.$maxLines&&this.lineHeight>1&&(!S.style.height||S.style.height=="0px")&&(S.style.height="1px",y=S.clientHeight||S.scrollHeight),w||(w=S.clientWidth||S.scrollWidth);var F=this.$updateCachedSize(v,E,w,y);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!w&&!y)return this.resizing=0;v&&(this.$gutterLayer.$padding=null),v?this.$renderChanges(F|this.$changes,!0):this.$loop.schedule(F|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},$.prototype.$updateCachedSize=function(v,E,w,y){y-=this.$extraHeight||0;var S=0,F=this.$size,M={width:F.width,height:F.height,scrollerHeight:F.scrollerHeight,scrollerWidth:F.scrollerWidth};if(y&&(v||F.height!=y)&&(F.height=y,S|=this.CHANGE_SIZE,F.scrollerHeight=F.height,this.$horizScroll&&(F.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(F.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",S|=this.CHANGE_SCROLL),w&&(v||F.width!=w)){S|=this.CHANGE_SIZE,F.width=w,E==null&&(E=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=E,h.setStyle(this.scrollBarH.element.style,"left",E+"px"),h.setStyle(this.scroller.style,"left",E+this.margin.left+"px"),F.scrollerWidth=Math.max(0,w-E-this.scrollBarV.getWidth()-this.margin.h),h.setStyle(this.$gutter.style,"left",this.margin.left+"px");var T=this.scrollBarV.getWidth()+"px";h.setStyle(this.scrollBarH.element.style,"right",T),h.setStyle(this.scroller.style,"right",T),h.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(F.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||v)&&(S|=this.CHANGE_FULL)}return F.$dirty=!w||!y,S&&this._signal("resize",M),S},$.prototype.onGutterResize=function(v){var E=this.$showGutter?v:0;E!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,E,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 v=this.$size.scrollerWidth-this.$padding*2,E=Math.floor(v/this.characterWidth);return this.session.adjustWrapLimit(E,this.$showPrintMargin&&this.$printMarginColumn)},$.prototype.setAnimatedScroll=function(v){this.setOption("animatedScroll",v)},$.prototype.getAnimatedScroll=function(){return this.$animatedScroll},$.prototype.setShowInvisibles=function(v){this.setOption("showInvisibles",v),this.session.$bidiHandler.setShowInvisibles(v)},$.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},$.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},$.prototype.setDisplayIndentGuides=function(v){this.setOption("displayIndentGuides",v)},$.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},$.prototype.setHighlightIndentGuides=function(v){this.setOption("highlightIndentGuides",v)},$.prototype.setShowPrintMargin=function(v){this.setOption("showPrintMargin",v)},$.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},$.prototype.setPrintMarginColumn=function(v){this.setOption("printMarginColumn",v)},$.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},$.prototype.getShowGutter=function(){return this.getOption("showGutter")},$.prototype.setShowGutter=function(v){return this.setOption("showGutter",v)},$.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},$.prototype.setFadeFoldWidgets=function(v){this.setOption("fadeFoldWidgets",v)},$.prototype.setHighlightGutterLine=function(v){this.setOption("highlightGutterLine",v)},$.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},$.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var v=h.createElement("div");v.className="ace_layer ace_print-margin-layer",this.$printMarginEl=h.createElement("div"),this.$printMarginEl.className="ace_print-margin",v.appendChild(this.$printMarginEl),this.content.insertBefore(v,this.content.firstChild)}var E=this.$printMarginEl.style;E.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",E.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 v=this.textarea.style,E=this.$composition;if(!this.$keepTextAreaAtCursor&&!E){h.translate(this.textarea,-100,0);return}var w=this.$cursorLayer.$pixelPos;if(w){E&&E.markerRange&&(w=this.$cursorLayer.getPixelPosition(E.markerRange.start,!0));var y=this.layerConfig,S=w.top,F=w.left;S-=y.offset;var M=E&&E.useTextareaForIME||f.isMobile?this.lineHeight:1;if(S<0||S>y.height-M){h.translate(this.textarea,0,0);return}var T=1,B=this.$size.height-M;if(!E)S+=this.lineHeight;else if(E.useTextareaForIME){var I=this.textarea.value;T=this.characterWidth*this.session.$getStringScreenWidth(I)[0]}else S+=this.lineHeight+2;F-=this.scrollLeft,F>this.$size.scrollerWidth-T&&(F=this.$size.scrollerWidth-T),F+=this.gutterWidth+this.margin.left,h.setStyle(v,"height",M+"px"),h.setStyle(v,"width",T+"px"),h.translate(this.textarea,Math.min(F,this.$size.scrollerWidth-T),Math.min(S,B))}}},$.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},$.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},$.prototype.getLastFullyVisibleRow=function(){var v=this.layerConfig,E=v.lastRow,w=this.session.documentToScreenRow(E,0)*v.lineHeight;return w-this.session.getScrollTop()>v.height-v.lineHeight?E-1:E},$.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},$.prototype.setPadding=function(v){this.$padding=v,this.$textLayer.setPadding(v),this.$cursorLayer.setPadding(v),this.$markerFront.setPadding(v),this.$markerBack.setPadding(v),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},$.prototype.setScrollMargin=function(v,E,w,y){var S=this.scrollMargin;S.top=v|0,S.bottom=E|0,S.right=y|0,S.left=w|0,S.v=S.top+S.bottom,S.h=S.left+S.right,S.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-S.top),this.updateFull()},$.prototype.setMargin=function(v,E,w,y){var S=this.margin;S.top=v|0,S.bottom=E|0,S.right=y|0,S.left=w|0,S.v=S.top+S.bottom,S.h=S.left+S.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},$.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},$.prototype.setHScrollBarAlwaysVisible=function(v){this.setOption("hScrollBarAlwaysVisible",v)},$.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},$.prototype.setVScrollBarAlwaysVisible=function(v){this.setOption("vScrollBarAlwaysVisible",v)},$.prototype.$updateScrollBarV=function(){var v=this.layerConfig.maxHeight,E=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(v-=(E-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>v-E&&(v=this.scrollTop+E,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(v+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(v,E){if(this.$changes&&(v|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!v&&!E){this.$changes|=v;return}if(this.$size.$dirty)return this.$changes|=v,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",v),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var w=this.layerConfig;if(v&this.CHANGE_FULL||v&this.CHANGE_SIZE||v&this.CHANGE_TEXT||v&this.CHANGE_LINES||v&this.CHANGE_SCROLL||v&this.CHANGE_H_SCROLL){if(v|=this.$computeLayerConfig()|this.$loop.clear(),w.firstRow!=this.layerConfig.firstRow&&w.firstRowScreen==this.layerConfig.firstRowScreen){var y=this.scrollTop+(w.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;y>0&&(this.scrollTop=y,v|=this.CHANGE_SCROLL,v|=this.$computeLayerConfig()|this.$loop.clear())}w=this.layerConfig,this.$updateScrollBarV(),v&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),h.translate(this.content,-this.scrollLeft,-w.offset);var S=w.width+2*this.$padding+"px",F=w.minHeight+"px";h.setStyle(this.content.style,"width",S),h.setStyle(this.content.style,"height",F)}if(v&this.CHANGE_H_SCROLL&&(h.translate(this.content,-this.scrollLeft,-w.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),v&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(w),this.$showGutter&&this.$gutterLayer.update(w),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(w),this.$markerBack.update(w),this.$markerFront.update(w),this.$cursorLayer.update(w),this.$moveTextAreaToCursor(),this._signal("afterRender",v);return}if(v&this.CHANGE_SCROLL){this.$changedLines=null,v&this.CHANGE_TEXT||v&this.CHANGE_LINES?this.$textLayer.update(w):this.$textLayer.scrollLines(w),this.$showGutter&&(v&this.CHANGE_GUTTER||v&this.CHANGE_LINES?this.$gutterLayer.update(w):this.$gutterLayer.scrollLines(w)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(w),this.$markerBack.update(w),this.$markerFront.update(w),this.$cursorLayer.update(w),this.$moveTextAreaToCursor(),this._signal("afterRender",v);return}v&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(w),this.$showGutter&&this.$gutterLayer.update(w),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(w)):v&this.CHANGE_LINES?((this.$updateLines()||v&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(w),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(w)):v&this.CHANGE_TEXT||v&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(w),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(w)):v&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(w),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(w)),v&this.CHANGE_CURSOR&&(this.$cursorLayer.update(w),this.$moveTextAreaToCursor()),v&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(w),v&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(w),this._signal("afterRender",v)},$.prototype.$autosize=function(){var v=this.session.getScreenLength()*this.lineHeight,E=this.$maxLines*this.lineHeight,w=Math.min(E,Math.max((this.$minLines||1)*this.lineHeight,v))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(w+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&w>this.$maxPixelHeight&&(w=this.$maxPixelHeight);var y=w<=2*this.lineHeight,S=!y&&v>E;if(w!=this.desiredHeight||this.$size.height!=this.desiredHeight||S!=this.$vScroll){S!=this.$vScroll&&(this.$vScroll=S,this.scrollBarV.setVisible(S));var F=this.container.clientWidth;this.container.style.height=w+"px",this.$updateCachedSize(!0,this.$gutterWidth,F,w),this.desiredHeight=w,this._signal("autosize")}},$.prototype.$computeLayerConfig=function(){var v=this.session,E=this.$size,w=E.height<=2*this.lineHeight,y=this.session.getScreenLength(),S=y*this.lineHeight,F=this.$getLongestLine(),M=!w&&(this.$hScrollBarAlwaysVisible||E.scrollerWidth-F-2*this.$padding<0),T=this.$horizScroll!==M;T&&(this.$horizScroll=M,this.scrollBarH.setVisible(M));var B=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var I=E.scrollerHeight+this.lineHeight,D=!this.$maxLines&&this.$scrollPastEnd?(E.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;S+=D;var L=this.scrollMargin;this.session.setScrollTop(Math.max(-L.top,Math.min(this.scrollTop,S-E.scrollerHeight+L.bottom))),this.session.setScrollLeft(Math.max(-L.left,Math.min(this.scrollLeft,F+2*this.$padding-E.scrollerWidth+L.right)));var H=!w&&(this.$vScrollBarAlwaysVisible||E.scrollerHeight-S+D<0||this.scrollTop>L.top),O=B!==H;O&&(this.$vScroll=H,this.scrollBarV.setVisible(H));var P=this.scrollTop%this.lineHeight,N=Math.ceil(I/this.lineHeight)-1,V=Math.max(0,Math.round((this.scrollTop-P)/this.lineHeight)),j=V+N,G,W,K=this.lineHeight;V=v.screenToDocumentRow(V,0);var Q=v.getFoldLine(V);Q&&(V=Q.start.row),G=v.documentToScreenRow(V,0),W=v.getRowLength(V)*K,j=Math.min(v.screenToDocumentRow(j,0),v.getLength()-1),I=E.scrollerHeight+v.getRowLength(j)*K+W,P=this.scrollTop-G*K;var Y=0;return(this.layerConfig.width!=F||T)&&(Y=this.CHANGE_H_SCROLL),(T||O)&&(Y|=this.$updateCachedSize(!0,this.gutterWidth,E.width,E.height),this._signal("scrollbarVisibilityChanged"),O&&(F=this.$getLongestLine())),this.layerConfig={width:F,padding:this.$padding,firstRow:V,firstRowScreen:G,lastRow:j,lineHeight:K,characterWidth:this.characterWidth,minHeight:I,maxHeight:S,offset:P,gutterOffset:K?Math.max(0,Math.ceil((P+E.height-E.scrollerHeight)/K)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(F-this.$padding),Y},$.prototype.$updateLines=function(){if(this.$changedLines){var v=this.$changedLines.firstRow,E=this.$changedLines.lastRow;this.$changedLines=null;var w=this.layerConfig;if(!(v>w.lastRow+1)&&!(E<w.firstRow)){if(E===1/0){this.$showGutter&&this.$gutterLayer.update(w),this.$textLayer.update(w);return}return this.$textLayer.updateLines(w,v,E),!0}}},$.prototype.$getLongestLine=function(){var v=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(v+=1),this.$textLayer&&v>this.$textLayer.MAX_LINE_LENGTH&&(v=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(v*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(v,E){this.$gutterLayer.addGutterDecoration(v,E)},$.prototype.removeGutterDecoration=function(v,E){this.$gutterLayer.removeGutterDecoration(v,E)},$.prototype.updateBreakpoints=function(v){this._rows=v,this.$loop.schedule(this.CHANGE_GUTTER)},$.prototype.setAnnotations=function(v){this.$gutterLayer.setAnnotations(v),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(v,E,w){this.scrollCursorIntoView(v,w),this.scrollCursorIntoView(E,w)},$.prototype.scrollCursorIntoView=function(v,E,w){if(this.$size.scrollerHeight!==0){var y=this.$cursorLayer.getPixelPosition(v),S=y.left,F=y.top,M=w&&w.top||0,T=w&&w.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var B=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;B+M>F?(E&&B+M>F+this.lineHeight&&(F-=E*this.$size.scrollerHeight),F===0&&(F=-this.scrollMargin.top),this.session.setScrollTop(F)):B+this.$size.scrollerHeight-T<F+this.lineHeight&&(E&&B+this.$size.scrollerHeight-T<F-this.lineHeight&&(F+=E*this.$size.scrollerHeight),this.session.setScrollTop(F+this.lineHeight+T-this.$size.scrollerHeight));var I=this.scrollLeft,D=2*this.layerConfig.characterWidth;S-D<I?(S-=D,S<this.$padding+D&&(S=-this.scrollMargin.left),this.session.setScrollLeft(S)):(S+=D,I+this.$size.scrollerWidth<S+this.characterWidth?this.session.setScrollLeft(Math.round(S+this.characterWidth-this.$size.scrollerWidth)):I<=this.$padding&&S-I<this.characterWidth&&this.session.setScrollLeft(0))}},$.prototype.getScrollTop=function(){return this.session.getScrollTop()},$.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},$.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},$.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},$.prototype.scrollToRow=function(v){this.session.setScrollTop(v*this.lineHeight)},$.prototype.alignCursor=function(v,E){typeof v=="number"&&(v={row:v,column:0});var w=this.$cursorLayer.getPixelPosition(v),y=this.$size.scrollerHeight-this.lineHeight,S=w.top-y*(E||0);return this.session.setScrollTop(S),S},$.prototype.$calcSteps=function(v,E){var w=0,y=this.STEPS,S=[],F=function(M,T,B){return B*(Math.pow(M-1,3)+1)+T};for(w=0;w<y;++w)S.push(F(w/this.STEPS,v,E-v));return S},$.prototype.scrollToLine=function(v,E,w,y){var S=this.$cursorLayer.getPixelPosition({row:v,column:0}),F=S.top;E&&(F-=this.$size.scrollerHeight/2);var M=this.scrollTop;this.session.setScrollTop(F),w!==!1&&this.animateScrolling(M,y)},$.prototype.animateScrolling=function(v,E){function w(){S.$timer=clearInterval(S.$timer),S.$scrollAnimation=null,S.$stopAnimation=!1,E&&E()}var y=this.scrollTop;if(this.$animatedScroll){var S=this;if(v!=y){if(this.$scrollAnimation){var F=this.$scrollAnimation.steps;if(F.length&&(v=F[0],v==y))return}var M=S.$calcSteps(v,y);this.$scrollAnimation={from:v,to:y,steps:M},clearInterval(this.$timer),S.session.setScrollTop(M.shift()),S.session.$scrollTop=y,this.$timer=setInterval(function(){if(S.$stopAnimation){w();return}if(!S.session)return clearInterval(S.$timer);M.length?(S.session.setScrollTop(M.shift()),S.session.$scrollTop=y):y!=null?(S.session.$scrollTop=-1,S.session.setScrollTop(y),y=null):w()},10)}}},$.prototype.scrollToY=function(v){this.scrollTop!==v&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=v)},$.prototype.scrollToX=function(v){this.scrollLeft!==v&&(this.scrollLeft=v),this.$loop.schedule(this.CHANGE_H_SCROLL)},$.prototype.scrollTo=function(v,E){this.session.setScrollTop(E),this.session.setScrollLeft(v)},$.prototype.scrollBy=function(v,E){E&&this.session.setScrollTop(this.session.getScrollTop()+E),v&&this.session.setScrollLeft(this.session.getScrollLeft()+v)},$.prototype.isScrollableBy=function(v,E){if(E<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||E>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||v<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||v>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},$.prototype.pixelToScreenCoordinates=function(v,E){var w;if(this.$hasCssTransforms){w={top:0,left:0};var y=this.$fontMetrics.transformCoordinates([v,E]);v=y[1]-this.gutterWidth-this.margin.left,E=y[0]}else w=this.scroller.getBoundingClientRect();var S=v+this.scrollLeft-w.left-this.$padding,F=S/this.characterWidth,M=Math.floor((E+this.scrollTop-w.top)/this.lineHeight),T=this.$blockCursor?Math.floor(F):Math.round(F);return{row:M,column:T,side:F-T>0?1:-1,offsetX:S}},$.prototype.screenToTextCoordinates=function(v,E){var w;if(this.$hasCssTransforms){w={top:0,left:0};var y=this.$fontMetrics.transformCoordinates([v,E]);v=y[1]-this.gutterWidth-this.margin.left,E=y[0]}else w=this.scroller.getBoundingClientRect();var S=v+this.scrollLeft-w.left-this.$padding,F=S/this.characterWidth,M=this.$blockCursor?Math.floor(F):Math.round(F),T=Math.floor((E+this.scrollTop-w.top)/this.lineHeight);return this.session.screenToDocumentPosition(T,Math.max(M,0),S)},$.prototype.textToScreenCoordinates=function(v,E){var w=this.scroller.getBoundingClientRect(),y=this.session.documentToScreenPosition(v,E),S=this.$padding+(this.session.$bidiHandler.isBidiRow(y.row,v)?this.session.$bidiHandler.getPosLeft(y.column):Math.round(y.column*this.characterWidth)),F=y.row*this.lineHeight;return{pageX:w.left+S-this.scrollLeft,pageY:w.top+F-this.scrollTop}},$.prototype.visualizeFocus=function(){h.addCssClass(this.container,"ace_focus")},$.prototype.visualizeBlur=function(){h.removeCssClass(this.container,"ace_focus")},$.prototype.showComposition=function(v){this.$composition=v,v.cssText||(v.cssText=this.textarea.style.cssText),v.useTextareaForIME==null&&(v.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(h.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):v.markerId=this.session.addMarker(v.markerRange,"ace_composition_marker","text")},$.prototype.setCompositionText=function(v){var E=this.session.selection.cursor;this.addToken(v,"composition_placeholder",E.row,E.column),this.$moveTextAreaToCursor()},$.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),h.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var v=this.session.selection.cursor;this.removeExtraToken(v.row,v.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},$.prototype.setGhostText=function(v,E){var w=this.session.selection.cursor,y=E||{row:w.row,column:w.column};this.removeGhostText();var S=this.$calculateWrappedTextChunks(v,y);this.addToken(S[0].text,"ghost_text",y.row,y.column),this.$ghostText={text:v,position:{row:y.row,column:y.column}};var F=h.createElement("div");if(S.length>1){var M=this.hideTokensAfterPosition(y.row,y.column),T;S.slice(1).forEach(function(O){var P=h.createElement("div"),N=h.createElement("span");N.className="ace_ghost_text",O.wrapped&&(P.className="ghost_text_line_wrapped"),O.text.length===0&&(O.text=" "),N.appendChild(h.createTextNode(O.text)),P.appendChild(N),F.appendChild(P),T=P}),M.forEach(function(O){var P=h.createElement("span");_(O.type)||(P.className="ace_"+O.type.replace(/\./g," ace_")),P.appendChild(h.createTextNode(O.value)),T.appendChild(P)}),this.$ghostTextWidget={el:F,row:y.row,column:y.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var B=this.$cursorLayer.getPixelPosition(y,!0),I=this.container,D=I.getBoundingClientRect().height,L=S.length*this.lineHeight,H=L<D-B.top;if(H)return;L<D?this.scrollBy(0,(S.length-1)*this.lineHeight):this.scrollToRow(y.row)}},$.prototype.$calculateWrappedTextChunks=function(v,E){var w=this.$size.scrollerWidth-this.$padding*2,y=Math.floor(w/this.characterWidth)-2;y=y<=0?60:y;for(var S=v.split(/\r?\n/),F=[],M=0;M<S.length;M++){var T=this.session.$getDisplayTokens(S[M],E.column),B=this.session.$computeWrapSplits(T,y,this.session.$tabSize);if(B.length>0){var I=0;B.push(S[M].length);for(var D=0;D<B.length;D++){var L=S[M].slice(I,B[D]);F.push({text:L,wrapped:!0}),I=B[D]}}else F.push({text:S[M],wrapped:!1})}return F},$.prototype.removeGhostText=function(){if(this.$ghostText){var v=this.$ghostText.position;this.removeExtraToken(v.row,v.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},$.prototype.addToken=function(v,E,w,y){var S=this.session;S.bgTokenizer.lines[w]=null;var F={type:E,value:v},M=S.getTokens(w);if(y==null||!M.length)M.push(F);else for(var T=0,B=0;B<M.length;B++){var I=M[B];if(T+=I.value.length,y<=T){var D=I.value.length-(T-y),L=I.value.slice(0,D),H=I.value.slice(D);M.splice(B,1,{type:I.type,value:L},F,{type:I.type,value:H});break}}this.updateLines(w,w)},$.prototype.hideTokensAfterPosition=function(v,E){for(var w=this.session.getTokens(v),y=0,S=!1,F=[],M=0;M<w.length;M++){var T=w[M];if(y+=T.value.length,T.type!=="ghost_text"){if(S){F.push({type:T.type,value:T.value}),T.type="hidden_token";continue}y===E&&(S=!0)}}return this.updateLines(v,v),F},$.prototype.removeExtraToken=function(v,E){this.session.bgTokenizer.lines[v]=null,this.updateLines(v,v)},$.prototype.setTheme=function(v,E){function w(F){if(y.$themeId!=v)return E&&E();if(!F||!F.cssClass)throw new Error("couldn't load module "+v+" or it didn't call define");F.$id&&(y.$themeId=F.$id),h.importCssString(F.cssText,F.cssClass,y.container),y.theme&&h.removeCssClass(y.container,y.theme.cssClass);var M="padding"in F?F.padding:"padding"in(y.theme||{})?4:y.$padding;y.$padding&&M!=y.$padding&&y.setPadding(M),y.$theme=F.cssClass,y.theme=F,h.addCssClass(y.container,F.cssClass),h.setCssClass(y.container,"ace_dark",F.isDark),y.$size&&(y.$size.width=0,y.$updateSizeAsync()),y._dispatchEvent("themeLoaded",{theme:F}),E&&E(),f.isSafari&&y.scroller&&(y.scroller.style.background="red",y.scroller.style.background="")}var y=this;if(this.$themeId=v,y._dispatchEvent("themeChange",{theme:v}),!v||typeof v=="string"){var S=v||this.$options.theme.initialValue;l.loadModule(["theme",S],w)}else w(v)},$.prototype.getTheme=function(){return this.$themeId},$.prototype.setStyle=function(v,E){h.setCssClass(this.container,v,E!==!1)},$.prototype.unsetStyle=function(v){h.removeCssClass(this.container,v)},$.prototype.setCursorStyle=function(v){h.setStyle(this.scroller.style,"cursor",v)},$.prototype.setMouseCursor=function(v){h.setStyle(this.scroller.style,"cursor",v)},$.prototype.attachToShadowRoot=function(){h.importCssString(m,"ace_editor.css",this.container)},$.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},$.prototype.$updateCustomScrollbar=function(v){var E=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,v===!0?(this.scrollBarV=new p(this.container,this),this.scrollBarH=new s(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(w){E.$scrollAnimation||E.session.setScrollTop(w.data-E.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(w){E.$scrollAnimation||E.session.setScrollLeft(w.data-E.scrollMargin.left)}),this.$scrollDecorator=new b(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new r(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.addEventListener("scroll",function(w){E.$scrollAnimation||E.session.setScrollTop(w.data-E.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(w){E.$scrollAnimation||E.session.setScrollLeft(w.data-E.scrollMargin.left)}))},$.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var v=this;this.$resizeTimer=c.delayedCall(function(){v.destroyed||v.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(E){var w=E[0].contentRect.width,y=E[0].contentRect.height;Math.abs(v.$size.width-w)>1||Math.abs(v.$size.height-y)>1?v.$resizeTimer.delay():v.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},$}();A.prototype.CHANGE_CURSOR=1,A.prototype.CHANGE_MARKER=2,A.prototype.CHANGE_GUTTER=4,A.prototype.CHANGE_SCROLL=8,A.prototype.CHANGE_LINES=16,A.prototype.CHANGE_TEXT=32,A.prototype.CHANGE_SIZE=64,A.prototype.CHANGE_MARKER_BACK=128,A.prototype.CHANGE_MARKER_FRONT=256,A.prototype.CHANGE_FULL=512,A.prototype.CHANGE_H_SCROLL=1024,A.prototype.$changes=0,A.prototype.$padding=null,A.prototype.$frozen=!1,A.prototype.STEPS=8,o.implement(A.prototype,k),l.defineOptions(A.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($){h.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($)==1?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:!f.isMobile&&!f.isIE}}),d.VirtualRenderer=A}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(u,d,x){"use strict";function o(i){var r="importScripts('"+l.qualifyURL(i)+"');";try{return new Blob([r],{type:"application/javascript"})}catch{var s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,p=new s;return p.append(r),p.getBlob("application/javascript")}}function h(i){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(t.get("loadWorkerFromBlob")){var r=o(i),s=window.URL||window.webkitURL,p=s.createObjectURL(r);return new Worker(p)}return new Worker(i)}var c=u("../lib/oop"),l=u("../lib/net"),a=u("../lib/event_emitter").EventEmitter,t=u("../config"),e=function(i){i.postMessage||(i=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=i,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(){c.implement(this,a),this.$createWorkerFromOldConfig=function(i,r,s,p,g){if(u.nameToUrl&&!u.toUrl&&(u.toUrl=u.nameToUrl),t.get("packaged")||!u.toUrl)p=p||t.moduleUrl(r,"worker");else{var C=this.$normalizePath;p=p||C(u.toUrl("ace/worker/worker.js",null,"_"));var k={};i.forEach(function(m){k[m]=C(u.toUrl(m,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=h(p),g&&this.send("importScripts",g),this.$worker.postMessage({init:!0,tlns:k,module:r,classname:s}),this.$worker},this.onMessage=function(i){var r=i.data;switch(r.type){case"event":this._signal(r.name,{data:r.data});break;case"call":var s=this.callbacks[r.id];s&&(s(r.data),delete this.callbacks[r.id]);break;case"error":this.reportError(r.data);break;case"log":window.console&&console.log&&console.log.apply(console,r.data)}},this.reportError=function(i){window.console&&console.error&&console.error(i)},this.$normalizePath=function(i){return l.qualifyURL(i)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(i){i.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(i,r){this.$worker.postMessage({command:i,args:r})},this.call=function(i,r,s){if(s){var p=this.callbackId++;this.callbacks[p]=s,r.push(p)}this.send(i,r)},this.emit=function(i,r){try{r.data&&r.data.err&&(r.data.err={message:r.data.err.message,stack:r.data.err.stack,code:r.data.err.code}),this.$worker&&this.$worker.postMessage({event:i,data:{data:r.data}})}catch(s){console.error(s.stack)}},this.attachToDocument=function(i){this.$doc&&this.terminate(),this.$doc=i,this.call("setValue",[i.getValue()]),i.on("change",this.changeListener,!0)},this.changeListener=function(i){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),i.action=="insert"?this.deltaQueue.push(i.start,i.lines):this.deltaQueue.push(i.start,i.end)},this.$sendDeltaQueue=function(){var i=this.deltaQueue;i&&(this.deltaQueue=null,i.length>50&&i.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:i}))}}).call(e.prototype);var n=function(i,r,s){var p=null,g=!1,C=Object.create(a),k=[],m=new e({messageBuffer:k,terminate:function(){},postMessage:function(f){k.push(f),p&&(g?setTimeout(b):b())}});m.setEmitSync=function(f){g=f};var b=function(){var f=k.shift();f.command?p[f.command].apply(p,f.args):f.event&&C._signal(f.event,f.data)};return C.postMessage=function(f){m.onMessage({data:f})},C.callback=function(f,_){this.postMessage({type:"call",id:_,data:f})},C.emit=function(f,_){this.postMessage({type:"event",name:f,data:_})},t.loadModule(["worker",r],function(f){for(p=new f[s](C);k.length;)b()}),m};d.UIWorkerClient=n,d.WorkerClient=e,d.createWorker=h}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(u,d,x){"use strict";var o=u("./range").Range,h=u("./lib/event_emitter").EventEmitter,c=u("./lib/oop"),l=function(){function a(t,e,n,i,r,s){var p=this;this.length=e,this.session=t,this.doc=t.getDocument(),this.mainClass=r,this.othersClass=s,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=i,this.$onCursorChange=function(){setTimeout(function(){p.onCursorChange()})},this.$pos=n;var g=t.getUndoManager().$undoStack||t.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=g.length,this.setup(),t.selection.on("changeCursor",this.$onCursorChange)}return a.prototype.setup=function(){var t=this,e=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=e.createAnchor(this.$pos.row,this.$pos.column);var i=this.pos;i.$insertRight=!0,i.detach(),i.markerId=n.addMarker(new o(i.row,i.column,i.row,i.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(r){var s=e.createAnchor(r.row,r.column);s.$insertRight=!0,s.detach(),t.others.push(s)}),n.setUndoSelect(!1)},a.prototype.showOtherMarkers=function(){if(!this.othersActive){var t=this.session,e=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=t.addMarker(new o(n.row,n.column,n.row,n.column+e.length),e.othersClass,null,!1)})}},a.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var t=0;t<this.others.length;t++)this.session.removeMarker(this.others[t].markerId)}},a.prototype.onUpdate=function(t){if(this.$updating)return this.updateAnchors(t);var e=t;if(e.start.row===e.end.row&&e.start.row===this.pos.row){this.$updating=!0;var n=t.action==="insert"?e.end.column-e.start.column:e.start.column-e.end.column,i=e.start.column>=this.pos.column&&e.start.column<=this.pos.column+this.length+1,r=e.start.column-this.pos.column;if(this.updateAnchors(t),i&&(this.length+=n),i&&!this.session.$fromUndo){if(t.action==="insert")for(var s=this.others.length-1;s>=0;s--){var p=this.others[s],g={row:p.row,column:p.column+r};this.doc.insertMergedLines(g,t.lines)}else if(t.action==="remove")for(var s=this.others.length-1;s>=0;s--){var p=this.others[s],g={row:p.row,column:p.column+r};this.doc.remove(new o(g.row,g.column,g.row,g.column-n))}}this.$updating=!1,this.updateMarkers()}},a.prototype.updateAnchors=function(t){this.pos.onChange(t);for(var e=this.others.length;e--;)this.others[e].onChange(t);this.updateMarkers()},a.prototype.updateMarkers=function(){if(!this.$updating){var t=this,e=this.session,n=function(r,s){e.removeMarker(r.markerId),r.markerId=e.addMarker(new o(r.row,r.column,r.row,r.column+t.length),s,null,!1)};n(this.pos,this.mainClass);for(var i=this.others.length;i--;)n(this.others[i],this.othersClass)}},a.prototype.onCursorChange=function(t){if(!(this.$updating||!this.session)){var e=this.session.selection.getCursor();e.row===this.pos.row&&e.column>=this.pos.column&&e.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",t)):(this.hideOtherMarkers(),this._emit("cursorLeave",t))}},a.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},a.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var t=this.session.getUndoManager(),e=(t.$undoStack||t.$undostack).length-this.$undoStackDepth,n=0;n<e;n++)t.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},a}();c.implement(l.prototype,h),d.PlaceHolder=l}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(u,d,x){function o(a,t){return a.row==t.row&&a.column==t.column}function h(a){var t=a.domEvent,e=t.altKey,n=t.shiftKey,i=t.ctrlKey,r=a.getAccelKey(),s=a.getButton();if(i&&l.isMac&&(s=t.button),a.editor.inMultiSelectMode&&s==2){a.editor.textInput.onContextMenu(a.domEvent);return}if(!i&&!e&&!r){s===0&&a.editor.inMultiSelectMode&&a.editor.exitMultiSelectMode();return}if(s===0){var p=a.editor,g=p.selection,C=p.inMultiSelectMode,k=a.getDocumentPosition(),m=g.getCursor(),b=a.inSelection()||g.isEmpty()&&o(k,m),f=a.x,_=a.y,A=function(L){f=L.clientX,_=L.clientY},$=p.session,v=p.renderer.pixelToScreenCoordinates(f,_),E=v,w;if(p.$mouseHandler.$enableJumpToDef)i&&e||r&&e?w=n?"block":"add":e&&p.$blockSelectEnabled&&(w="block");else if(r&&!e){if(w="add",!C&&n)return}else e&&p.$blockSelectEnabled&&(w="block");if(w&&l.isMac&&t.ctrlKey&&p.$mouseHandler.cancelContextMenu(),w=="add"){if(!C&&b)return;if(!C){var y=g.toOrientedRange();p.addSelectionMarker(y)}var S=g.rangeList.rangeAtPoint(k);p.inVirtualSelectionMode=!0,n&&(S=null,y=g.ranges[0]||y,p.removeSelectionMarker(y)),p.once("mouseup",function(){var L=g.toOrientedRange();S&&L.isEmpty()&&o(S.cursor,L.cursor)?g.substractPoint(L.cursor):(n?g.substractPoint(y.cursor):y&&(p.removeSelectionMarker(y),g.addRange(y)),g.addRange(L)),p.inVirtualSelectionMode=!1})}else if(w=="block"){a.stop(),p.inVirtualSelectionMode=!0;var F,M=[],T=function(){var L=p.renderer.pixelToScreenCoordinates(f,_),H=$.screenToDocumentPosition(L.row,L.column,L.offsetX);o(E,L)&&o(H,g.lead)||(E=L,p.selection.moveToPosition(H),p.renderer.scrollCursorIntoView(),p.removeSelectionMarkers(M),M=g.rectangularRangeBlock(E,v),p.$mouseHandler.$clickSelection&&M.length==1&&M[0].isEmpty()&&(M[0]=p.$mouseHandler.$clickSelection.clone()),M.forEach(p.addSelectionMarker,p),p.updateSelectionMarkers())};C&&!r?g.toSingleRange():!C&&r&&(F=g.toOrientedRange(),p.addSelectionMarker(F)),n?v=$.documentToScreenPosition(g.lead):g.moveToPosition(k),E={row:-1,column:-1};var B=function(L){T(),clearInterval(D),p.removeSelectionMarkers(M),M.length||(M=[g.toOrientedRange()]),F&&(p.removeSelectionMarker(F),g.toSingleRange(F));for(var H=0;H<M.length;H++)g.addRange(M[H]);p.inVirtualSelectionMode=!1,p.$mouseHandler.$clickSelection=null},I=T;c.capture(p.container,A,B);var D=setInterval(function(){I()},20);return a.preventDefault()}}}var c=u("../lib/event"),l=u("../lib/useragent");d.onMouseDown=h}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(u,d,x){d.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(h){h.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(h){h.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(h){h.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(h){h.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(h){h.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(h){h.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(h){h.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(h){h.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(h){h.multiSelect.rangeCount>1?h.multiSelect.joinSelections():h.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(h){h.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(h){h.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(h){h.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],d.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(h){h.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(h){return h&&h.inMultiSelectMode}}];var o=u("../keyboard/hash_handler").HashHandler;d.keyboardHandler=new o(d.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(u,d,x){function o(m,b,f){return g.$options.wrap=!0,g.$options.needle=b,g.$options.backwards=f==-1,g.find(m)}function h(m,b){return m.row==b.row&&m.column==b.column}function c(m){m.$multiselectOnSessionChange||(m.$onAddRange=m.$onAddRange.bind(m),m.$onRemoveRange=m.$onRemoveRange.bind(m),m.$onMultiSelect=m.$onMultiSelect.bind(m),m.$onSingleSelect=m.$onSingleSelect.bind(m),m.$multiselectOnSessionChange=d.onSessionChange.bind(m),m.$checkMultiselectChange=m.$checkMultiselectChange.bind(m),m.$multiselectOnSessionChange(m),m.on("changeSession",m.$multiselectOnSessionChange),m.on("mousedown",n),m.commands.addCommands(s.defaultCommands),l(m))}function l(m){function b(A){_&&(m.renderer.setMouseCursor(""),_=!1)}if(m.textInput){var f=m.textInput.getElement(),_=!1;i.addListener(f,"keydown",function(A){var $=A.keyCode==18&&!(A.ctrlKey||A.shiftKey||A.metaKey);m.$blockSelectEnabled&&$?_||(m.renderer.setMouseCursor("crosshair"),_=!0):_&&b()},m),i.addListener(f,"keyup",b,m),i.addListener(f,"blur",b,m)}}var a=u("./range_list").RangeList,t=u("./range").Range,e=u("./selection").Selection,n=u("./mouse/multi_select_handler").onMouseDown,i=u("./lib/event"),r=u("./lib/lang"),s=u("./commands/multi_select_commands");d.commands=s.defaultCommands.concat(s.multiSelectCommands);var p=u("./search").Search,g=new p,C=u("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(C.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(m,b){if(m){if(!this.inMultiSelectMode&&this.rangeCount===0){var f=this.toOrientedRange();if(this.rangeList.add(f),this.rangeList.add(m),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),b||this.fromOrientedRange(m);this.rangeList.removeAll(),this.rangeList.add(f),this.$onAddRange(f)}m.cursor||(m.cursor=m.end);var _=this.rangeList.add(m);return this.$onAddRange(m),_.length&&this.$onRemoveRange(_),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(m)}},this.toSingleRange=function(m){m=m||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),m&&this.fromOrientedRange(m)},this.substractPoint=function(m){var b=this.rangeList.substractPoint(m);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var m=this.rangeList.merge();m.length&&this.$onRemoveRange(m)},this.$onAddRange=function(m){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(m),this._signal("addRange",{range:m})},this.$onRemoveRange=function(m){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();m.push(b),this.rangeCount=0}for(var f=m.length;f--;){var _=this.ranges.indexOf(m[f]);this.ranges.splice(_,1)}this._signal("removeRange",{ranges:m}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new a,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var m=this.ranges.length?this.ranges:[this.getRange()],b=[],f=0;f<m.length;f++){var _=m[f],A=_.start.row,$=_.end.row;if(A===$)b.push(_.clone());else{for(b.push(new t(A,_.start.column,A,this.session.getLine(A).length));++A<$;)b.push(this.getLineRange(A,!0));b.push(new t($,0,$,_.end.column))}f==0&&!this.isBackwards()&&(b=b.reverse())}this.toSingleRange();for(var f=b.length;f--;)this.addRange(b[f])},this.joinSelections=function(){var m=this.rangeList.ranges,b=m[m.length-1],f=t.fromPoints(m[0].start,b.end);this.toSingleRange(),this.setSelectionRange(f,b.cursor==b.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var m=this.rangeList.ranges,b=m[m.length-1],f=t.fromPoints(m[0].start,b.end);this.toSingleRange(),this.setSelectionRange(f,b.cursor==b.start)}else{var _=this.session.documentToScreenPosition(this.cursor),A=this.session.documentToScreenPosition(this.anchor),$=this.rectangularRangeBlock(_,A);$.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(m,b,f){var _=[],A=m.column<b.column;if(A)var $=m.column,v=b.column,E=m.offsetX,w=b.offsetX;else var $=b.column,v=m.column,E=b.offsetX,w=m.offsetX;var y=m.row<b.row;if(y)var S=m.row,F=b.row;else var S=b.row,F=m.row;$<0&&($=0),S<0&&(S=0),S==F&&(f=!0);for(var M,T=S;T<=F;T++){var B=t.fromPoints(this.session.screenToDocumentPosition(T,$,E),this.session.screenToDocumentPosition(T,v,w));if(B.isEmpty()){if(M&&h(B.end,M))break;M=B.end}B.cursor=A?B.start:B.end,_.push(B)}if(y&&_.reverse(),!f){for(var I=_.length-1;_[I].isEmpty()&&I>0;)I--;if(I>0)for(var D=0;_[D].isEmpty();)D++;for(var L=I;L>=D;L--)_[L].isEmpty()&&_.splice(L,1)}return _}}.call(e.prototype);var k=u("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(m){m.cursor||(m.cursor=m.end);var b=this.getSelectionStyle();return m.marker=this.session.addMarker(m,"ace_selection",b),this.session.$selectionMarkers.push(m),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,m},this.removeSelectionMarker=function(m){if(m.marker){this.session.removeMarker(m.marker);var b=this.session.$selectionMarkers.indexOf(m);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(m){for(var b=this.session.$selectionMarkers,f=m.length;f--;){var _=m[f];if(_.marker){this.session.removeMarker(_.marker);var A=b.indexOf(_);A!=-1&&b.splice(A,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(m){this.addSelectionMarker(m.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(m){this.removeSelectionMarkers(m.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(m){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(s.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(m){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(s.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(m){var b=m.command,f=m.editor;if(f.multiSelect){if(b.multiSelectAction)b.multiSelectAction=="forEach"?_=f.forEachSelection(b,m.args):b.multiSelectAction=="forEachLine"?_=f.forEachSelection(b,m.args,!0):b.multiSelectAction=="single"?(f.exitMultiSelectMode(),_=b.exec(f,m.args||{})):_=b.multiSelectAction(f,m.args||{});else{var _=b.exec(f,m.args||{});f.multiSelect.addRange(f.multiSelect.toOrientedRange()),f.multiSelect.mergeOverlappingRanges()}return _}},this.forEachSelection=function(m,b,f){if(!this.inVirtualSelectionMode){var _=f&&f.keepOrder,A=f==1||f&&f.$byLines,$=this.session,v=this.selection,E=v.rangeList,w=(_?v:E).ranges,y;if(!w.length)return m.exec?m.exec(this,b||{}):m(this,b||{});var S=v._eventRegistry;v._eventRegistry={};var F=new e($);this.inVirtualSelectionMode=!0;for(var M=w.length;M--;){if(A)for(;M>0&&w[M].start.row==w[M-1].end.row;)M--;F.fromOrientedRange(w[M]),F.index=M,this.selection=$.selection=F;var T=m.exec?m.exec(this,b||{}):m(this,b||{});!y&&T!==void 0&&(y=T),F.toOrientedRange(w[M])}F.detach(),this.selection=$.selection=v,this.inVirtualSelectionMode=!1,v._eventRegistry=S,v.mergeOverlappingRanges(),v.ranges[0]&&v.fromOrientedRange(v.ranges[0]);var B=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),B&&B.from==B.to&&this.renderer.animateScrolling(B.from),y}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var m="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,f=[],_=0;_<b.length;_++)f.push(this.session.getTextRange(b[_]));var A=this.session.getDocument().getNewLineCharacter();m=f.join(A),m.length==(f.length-1)*A.length&&(m="")}else this.selection.isEmpty()||(m=this.session.getTextRange(this.getSelectionRange()));return m},this.$checkMultiselectChange=function(m,b){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var f=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&b==this.multiSelect.anchor)return;var _=b==this.multiSelect.anchor?f.cursor==f.start?f.end:f.start:f.cursor;_.row!=b.row||this.session.$clipPositionToDocument(_.row,_.column).column!=b.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(m,b,f){if(b=b||{},b.needle=m||b.needle,b.needle==null){var _=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();b.needle=this.session.getTextRange(_)}this.$search.set(b);var A=this.$search.findAll(this.session);if(!A.length)return 0;var $=this.multiSelect;f||$.toSingleRange(A[0]);for(var v=A.length;v--;)$.addRange(A[v],!0);return _&&$.rangeList.rangeAtPoint(_.start)&&$.addRange(_,!0),A.length},this.selectMoreLines=function(m,b){var f=this.selection.toOrientedRange(),_=f.cursor==f.end,A=this.session.documentToScreenPosition(f.cursor);this.selection.$desiredColumn&&(A.column=this.selection.$desiredColumn);var $=this.session.screenToDocumentPosition(A.row+m,A.column);if(f.isEmpty())var E=$;else var v=this.session.documentToScreenPosition(_?f.end:f.start),E=this.session.screenToDocumentPosition(v.row+m,v.column);if(_){var w=t.fromPoints($,E);w.cursor=w.start}else{var w=t.fromPoints(E,$);w.cursor=w.end}if(w.desiredColumn=A.column,!this.selection.inMultiSelectMode)this.selection.addRange(f);else if(b)var y=f.cursor;this.selection.addRange(w),y&&this.selection.substractPoint(y)},this.transposeSelections=function(m){for(var b=this.session,f=b.multiSelect,_=f.ranges,A=_.length;A--;){var $=_[A];if($.isEmpty()){var v=b.getWordRange($.start.row,$.start.column);$.start.row=v.start.row,$.start.column=v.start.column,$.end.row=v.end.row,$.end.column=v.end.column}}f.mergeOverlappingRanges();for(var E=[],A=_.length;A--;){var $=_[A];E.unshift(b.getTextRange($))}m<0?E.unshift(E.pop()):E.push(E.shift());for(var A=_.length;A--;){var $=_[A],w=$.clone();b.replace($,E[A]),$.start.row=w.start.row,$.start.column=w.start.column}f.fromOrientedRange(f.ranges[0])},this.selectMore=function(m,b,f){var _=this.session,A=_.multiSelect,$=A.toOrientedRange();if(!($.isEmpty()&&($=_.getWordRange($.start.row,$.start.column),$.cursor=m==-1?$.start:$.end,this.multiSelect.addRange($),f))){var v=_.getTextRange($),E=o(_,v,m);E&&(E.cursor=m==-1?E.start:E.end,this.session.unfold(E),this.multiSelect.addRange(E),this.renderer.scrollCursorIntoView(null,.5)),b&&this.multiSelect.substractPoint($.cursor)}},this.alignCursors=function(){var m=this.session,b=m.multiSelect,f=b.ranges,_=-1,A=f.filter(function(I){if(I.cursor.row==_)return!0;_=I.cursor.row});if(!f.length||A.length==f.length-1){var $=this.selection.getRange(),v=$.start.row,E=$.end.row,w=v==E;if(w){var y=this.session.getLength(),S;do S=this.session.getLine(E);while(/[=:]/.test(S)&&++E<y);do S=this.session.getLine(v);while(/[=:]/.test(S)&&--v>0);v<0&&(v=0),E>=y&&(E=y-1)}var F=this.session.removeFullLines(v,E);F=this.$reAlignText(F,w),this.session.insert({row:v,column:0},F.join(`
`)+`
`),w||($.start.column=0,$.end.column=F[F.length-1].length),this.selection.setRange($)}else{A.forEach(function(I){b.substractPoint(I.cursor)});var M=0,T=1/0,B=f.map(function(I){var D=I.cursor,L=m.getLine(D.row),H=L.substr(D.column).search(/\S/g);return H==-1&&(H=0),D.column>M&&(M=D.column),H<T&&(T=H),H});f.forEach(function(I,D){var L=I.cursor,H=M-L.column,O=B[D]-T;H>O?m.insert(L,r.stringRepeat(" ",H-O)):m.remove(new t(L.row,L.column,L.row,L.column-H+O)),I.start.column=I.end.column=M,I.start.row=I.end.row=L.row,I.cursor=I.end}),b.fromOrientedRange(f[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(m,b){function f(F){return r.stringRepeat(" ",F)}function _(F){return F[2]?f(w)+F[2]+f(y-F[2].length+S)+F[4].replace(/^([=:])\s+/,"$1 "):F[0]}function A(F){return F[2]?f(w+y-F[2].length)+F[2]+f(S)+F[4].replace(/^([=:])\s+/,"$1 "):F[0]}function $(F){return F[2]?f(w)+F[2]+f(S)+F[4].replace(/^([=:])\s+/,"$1 "):F[0]}var v=!0,E=!0,w,y,S;return m.map(function(F){var M=F.match(/(\s*)(.*?)(\s*)([=:].*)/);return M?w==null?(w=M[1].length,y=M[2].length,S=M[3].length,M):(w+y+S!=M[1].length+M[2].length+M[3].length&&(E=!1),w!=M[1].length&&(v=!1),w>M[1].length&&(w=M[1].length),y<M[2].length&&(y=M[2].length),S>M[3].length&&(S=M[3].length),M):[F]}).map(b?_:v?E?A:_:$)}}).call(k.prototype),d.onSessionChange=function(m){var b=m.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var f=m.oldSession;f&&(f.multiSelect.off("addRange",this.$onAddRange),f.multiSelect.off("removeRange",this.$onRemoveRange),f.multiSelect.off("multiSelect",this.$onMultiSelect),f.multiSelect.off("singleSelect",this.$onSingleSelect),f.multiSelect.lead.off("change",this.$checkMultiselectChange),f.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},d.MultiSelect=c,u("./config").defineOptions(k.prototype,"editor",{enableMultiselect:{set:function(m){c(this),m?this.on("mousedown",n):this.off("mousedown",n)},value:!0},enableBlockSelect:{set:function(m){this.$blockSelectEnabled=m},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("../../range").Range,h=d.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(c,l,a){var t=c.getLine(a);return this.foldingStartMarker.test(t)?"start":l=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(t)?"end":""},this.getFoldWidgetRange=function(c,l,a){return null},this.indentationBlock=function(c,l,a){var t=/\S/,e=c.getLine(l),n=e.search(t);if(n!=-1){for(var i=a||e.length,r=c.getLength(),s=l,p=l;++l<r;){var g=c.getLine(l).search(t);if(g!=-1){if(g<=n){var C=c.getTokenAt(l,0);if(!C||C.type!=="string")break}p=l}}if(p>s){var k=c.getLine(p).length;return new o(s,i,p,k)}}},this.openingBracketBlock=function(c,l,a,t,e){var n={row:a,column:t+1},i=c.$findClosingBracket(l,n,e);if(i){var r=c.foldWidgets[i.row];return r==null&&(r=c.getFoldWidget(i.row)),r=="start"&&i.row>n.row&&(i.row--,i.column=c.getLine(i.row).length),o.fromPoints(n,i)}},this.closingBracketBlock=function(c,l,a,t,e){var n={row:a,column:t},i=c.$findOpeningBracket(l,n);if(i)return i.column++,n.column--,o.fromPoints(i,n)}}).call(h.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(u,d,x){"use strict";function o(t,e,n){for(var i=0,r=t.length-1;i<=r;){var s=i+r>>1,p=n(e,t[s]);if(p>0)i=s+1;else{if(!(p<0))return s;r=s-1}}return-(i+1)}function h(t,e,n){var i=t.getAnnotations().sort(l.comparePoints);if(i.length){var r=o(i,{row:e,column:-1},l.comparePoints);r<0&&(r=-r-1),r>=i.length?r=n>0?0:i.length-1:r===0&&n<0&&(r=i.length-1);var s=i[r];if(!(!s||!n)){if(s.row===e){do s=i[r+=n];while(s&&s.row===e);if(!s)return i.slice()}var p=[];e=s.row;do p[n<0?"unshift":"push"](s),s=i[r+=n];while(s&&s.row==e);return p.length&&p}}}var c=u("../lib/dom"),l=u("../range").Range,a=u("../config").nls;d.showErrorMarker=function(t,e){var n=t.session,i=t.getCursorPosition(),r=i.row,s=n.widgetManager.getWidgetsAtRow(r).filter(function(A){return A.type=="errorMarker"})[0];s?s.destroy():r-=e;var p=h(n,r,e),g;if(p){var C=p[0];i.column=(C.pos&&typeof C.column!="number"?C.pos.sc:C.column)||0,i.row=C.row,g=t.renderer.$gutterLayer.$annotations[i.row]}else{if(s)return;g={displayText:[a("error-marker.good-state","Looks good!")],className:"ace_ok"}}t.session.unfold(i.row),t.selection.moveToPosition(i);var k={row:i.row,fixedWidth:!0,coverGutter:!0,el:c.createElement("div"),type:"errorMarker"},m=k.el.appendChild(c.createElement("div")),b=k.el.appendChild(c.createElement("div"));b.className="error_widget_arrow "+g.className;var f=t.renderer.$cursorLayer.getPixelPosition(i).left;b.style.left=f+t.renderer.gutterWidth-5+"px",k.el.className="error_widget_wrapper",m.className="error_widget "+g.className,g.displayText.forEach(function(A,$){m.appendChild(c.createTextNode(A)),$<g.displayText.length-1&&m.appendChild(c.createElement("br"))}),m.appendChild(c.createElement("div"));var _=function(A,$,v){if($===0&&(v==="esc"||v==="return"))return k.destroy(),{command:"null"}};k.destroy=function(){t.$mouseHandler.isMousePressed||(t.keyBinding.removeKeyboardHandler(_),n.widgetManager.removeLineWidget(k),t.off("changeSelection",k.destroy),t.off("changeSession",k.destroy),t.off("mouseup",k.destroy),t.off("change",k.destroy))},t.keyBinding.addKeyboardHandler(_),t.on("changeSelection",k.destroy),t.on("changeSession",k.destroy),t.on("mouseup",k.destroy),t.on("change",k.destroy),t.session.widgetManager.addLineWidget(k),k.el.onmousedown=t.focus.bind(t),t.renderer.scrollCursorIntoView(null,.5,{bottom:k.el.offsetHeight})},c.importCssString(`
.error_widget_wrapper {
background: inherit;
color: inherit;
border:none
}
.error_widget {
border-top: solid 2px;
border-bottom: solid 2px;
margin: 5px 0;
padding: 10px 40px;
white-space: pre-wrap;
}
.error_widget.ace_error, .error_widget_arrow.ace_error{
border-color: #ff5a5a
}
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
border-color: #F1D817
}
.error_widget.ace_info, .error_widget_arrow.ace_info{
border-color: #5a5a5a
}
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
border-color: #5aaa5a
}
.error_widget_arrow {
position: absolute;
border: solid 5px;
border-top-color: transparent!important;
border-right-color: transparent!important;
border-left-color: transparent!important;
top: -5px;
}
`,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(u,d,x){"use strict";u("./loader_build")(d);var o=u("./lib/dom"),h=u("./range").Range,c=u("./editor").Editor,l=u("./edit_session").EditSession,a=u("./undomanager").UndoManager,t=u("./virtual_renderer").VirtualRenderer;u("./worker/worker_client"),u("./keyboard/hash_handler"),u("./placeholder"),u("./multi_select"),u("./mode/folding/fold_mode"),u("./theme/textmate"),u("./ext/error_marker"),d.config=u("./config"),d.edit=function(n,i){if(typeof n=="string"){var r=n;if(n=document.getElementById(r),!n)throw new Error("ace.edit can't find div #"+r)}if(n&&n.env&&n.env.editor instanceof c)return n.env.editor;var s="";if(n&&/input|textarea/i.test(n.tagName)){var p=n;s=p.value,n=o.createElement("pre"),p.parentNode.replaceChild(n,p)}else n&&(s=n.textContent,n.innerHTML="");var g=d.createEditSession(s),C=new c(new t(n),g,i),k={document:g,editor:C,onResize:C.resize.bind(C,null)};return p&&(k.textarea=p),C.on("destroy",function(){k.editor.container.env=null}),C.container.env=C.env=k,C},d.createEditSession=function(n,i){var r=new l(n,i);return r.setUndoManager(new a),r},d.Range=h,d.Editor=c,d.EditSession=l,d.UndoManager=a,d.VirtualRenderer=t;var e=d.config.version;d.version=e});(function(){ace.require(["ace/ace"],function(u){u&&(u.config.init(!0),u.define=ace.define);var d=function(){return this}();!d&&typeof window<"u"&&(d=window),!d&&typeof self<"u"&&(d=self),d.ace||(d.ace=u);for(var x in u)u.hasOwnProperty(x)&&(d.ace[x]=u[x]);d.ace.default=d.ace,typeof Cn=="object"&&typeof fs=="object"&&Cn&&(Cn.exports=d.ace)})})()});var pa=Pn((I_,da)=>{(function(){var u="ace",d=function(){return this}();if(!d&&typeof window<"u"&&(d=window),!u&&typeof acequirejs<"u")return;var x=function(t,e,n){if(typeof t!="string"){x.original?x.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(n=e),x.modules[t]||(x.payloads[t]=n,x.modules[t]=null)};x.modules={},x.payloads={};var o=function(t,e,n){if(typeof e=="string"){var i=l(t,e);if(i!=null)return n&&n(),i}else if(Object.prototype.toString.call(e)==="[object Array]"){for(var r=[],s=0,p=e.length;s<p;++s){var g=l(t,e[s]);if(g==null&&h.original)return;r.push(g)}return n&&n.apply(null,r)||!0}},h=function(t,e){var n=o("",t,e);return n==null&&h.original?h.original.apply(this,arguments):n},c=function(t,e){if(e.indexOf("!")!==-1){var n=e.split("!");return c(t,n[0])+"!"+c(t,n[1])}if(e.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");for(e=i+"/"+e;e.indexOf(".")!==-1&&r!=e;){var r=e;e=e.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return e},l=function(t,e){e=c(t,e);var n=x.modules[e];if(!n){if(n=x.payloads[e],typeof n=="function"){var i={},r={id:e,uri:"",exports:i,packaged:!0},s=function(g,C){return o(e,g,C)},p=n(s,i,r);i=p||r.exports,x.modules[e]=i,delete x.payloads[e]}n=x.modules[e]=i||n}return n};function a(t){var e=d;t&&(d[t]||(d[t]={}),e=d[t]),(!e.define||!e.define.packaged)&&(x.original=e.define,e.define=x,e.define.packaged=!0),(!e.acequire||!e.acequire.packaged)&&(h.original=e.acequire,e.acequire=h,e.acequire.packaged=!0)}a(u)})();ace.define("ace/lib/regexp",["require","exports","module"],function(u,d,x){"use strict";var o={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},h=o.exec.call(/()??/,"")[1]===void 0,c=function(){var t=/^/g;return o.test.call(t,""),!t.lastIndex}();if(c&&h)return;RegExp.prototype.exec=function(t){var e=o.exec.apply(this,arguments),n,i;if(typeof t=="string"&&e){if(!h&&e.length>1&&a(e,"")>-1&&(i=RegExp(this.source,o.replace.call(l(this),"g","")),o.replace.call(t.slice(e.index),i,function(){for(var s=1;s<arguments.length-2;s++)arguments[s]===void 0&&(e[s]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var r=1;r<e.length;r++)n=this._xregexp.captureNames[r-1],n&&(e[n]=e[r]);!c&&this.global&&!e[0].length&&this.lastIndex>e.index&&this.lastIndex--}return e},c||(RegExp.prototype.test=function(t){var e=o.exec.call(this,t);return e&&this.global&&!e[0].length&&this.lastIndex>e.index&&this.lastIndex--,!!e});function l(t){return(t.global?"g":"")+(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.extended?"x":"")+(t.sticky?"y":"")}function a(t,e,n){if(Array.prototype.indexOf)return t.indexOf(e,n);for(var i=n||0;i<t.length;i++)if(t[i]===e)return i;return-1}});ace.define("ace/lib/es5-shim",["require","exports","module"],function(u,d,x){function o(){}Function.prototype.bind||(Function.prototype.bind=function(N){var V=this;if(typeof V!="function")throw new TypeError("Function.prototype.bind called on incompatible "+V);var j=a.call(arguments,1),G=function(){if(this instanceof G){var W=V.apply(this,j.concat(a.call(arguments)));return Object(W)===W?W:this}else return V.apply(N,j.concat(a.call(arguments)))};return V.prototype&&(o.prototype=V.prototype,G.prototype=new o,o.prototype=null),G});var h=Function.prototype.call,c=Array.prototype,l=Object.prototype,a=c.slice,t=h.bind(l.toString),e=h.bind(l.hasOwnProperty),n,i,r,s,p;if((p=e(l,"__defineGetter__"))&&(n=h.bind(l.__defineGetter__),i=h.bind(l.__defineSetter__),r=h.bind(l.__lookupGetter__),s=h.bind(l.__lookupSetter__)),[1,2].splice(0).length!=2)if(function(){function P(j){var G=new Array(j+2);return G[0]=G[1]=0,G}var N=[],V;if(N.splice.apply(N,P(20)),N.splice.apply(N,P(26)),V=N.length,N.splice(5,0,"XXX"),V+1==N.length,V+1==N.length)return!0}()){var g=Array.prototype.splice;Array.prototype.splice=function(P,N){return arguments.length?g.apply(this,[P===void 0?0:P,N===void 0?this.length-P:N].concat(a.call(arguments,2))):[]}}else Array.prototype.splice=function(P,N){var V=this.length;P>0?P>V&&(P=V):P==null?P=0:P<0&&(P=Math.max(V+P,0)),P+N<V||(N=V-P);var j=this.slice(P,P+N),G=a.call(arguments,2),W=G.length;if(P===V)W&&this.push.apply(this,G);else{var K=Math.min(N,V-P),Q=P+K,Y=Q+W-K,ae=V-Q,re=V-K;if(Y<Q)for(var q=0;q<ae;++q)this[Y+q]=this[Q+q];else if(Y>Q)for(q=ae;q--;)this[Y+q]=this[Q+q];if(W&&P===re)this.length=re,this.push.apply(this,G);else for(this.length=re+W,q=0;q<W;++q)this[P+q]=G[q]}return j};Array.isArray||(Array.isArray=function(N){return t(N)=="[object Array]"});var C=Object("a"),k=C[0]!="a"||!(0 in C);if(Array.prototype.forEach||(Array.prototype.forEach=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=arguments[1],W=-1,K=j.length>>>0;if(t(N)!="[object Function]")throw new TypeError;for(;++W<K;)W in j&&N.call(G,j[W],W,V)}),Array.prototype.map||(Array.prototype.map=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=j.length>>>0,W=Array(G),K=arguments[1];if(t(N)!="[object Function]")throw new TypeError(N+" is not a function");for(var Q=0;Q<G;Q++)Q in j&&(W[Q]=N.call(K,j[Q],Q,V));return W}),Array.prototype.filter||(Array.prototype.filter=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=j.length>>>0,W=[],K,Q=arguments[1];if(t(N)!="[object Function]")throw new TypeError(N+" is not a function");for(var Y=0;Y<G;Y++)Y in j&&(K=j[Y],N.call(Q,K,Y,V)&&W.push(K));return W}),Array.prototype.every||(Array.prototype.every=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=j.length>>>0,W=arguments[1];if(t(N)!="[object Function]")throw new TypeError(N+" is not a function");for(var K=0;K<G;K++)if(K in j&&!N.call(W,j[K],K,V))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=j.length>>>0,W=arguments[1];if(t(N)!="[object Function]")throw new TypeError(N+" is not a function");for(var K=0;K<G;K++)if(K in j&&N.call(W,j[K],K,V))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=j.length>>>0;if(t(N)!="[object Function]")throw new TypeError(N+" is not a function");if(!G&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var W=0,K;if(arguments.length>=2)K=arguments[1];else do{if(W in j){K=j[W++];break}if(++W>=G)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;W<G;W++)W in j&&(K=N.call(void 0,K,j[W],W,V));return K}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(N){var V=O(this),j=k&&t(this)=="[object String]"?this.split(""):V,G=j.length>>>0;if(t(N)!="[object Function]")throw new TypeError(N+" is not a function");if(!G&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var W,K=G-1;if(arguments.length>=2)W=arguments[1];else do{if(K in j){W=j[K--];break}if(--K<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do K in this&&(W=N.call(void 0,W,j[K],K,V));while(K--);return W}),(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)&&(Array.prototype.indexOf=function(N){var V=k&&t(this)=="[object String]"?this.split(""):O(this),j=V.length>>>0;if(!j)return-1;var G=0;for(arguments.length>1&&(G=D(arguments[1])),G=G>=0?G:Math.max(0,j+G);G<j;G++)if(G in V&&V[G]===N)return G;return-1}),(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)&&(Array.prototype.lastIndexOf=function(N){var V=k&&t(this)=="[object String]"?this.split(""):O(this),j=V.length>>>0;if(!j)return-1;var G=j-1;for(arguments.length>1&&(G=Math.min(G,D(arguments[1]))),G=G>=0?G:j-Math.abs(G);G>=0;G--)if(G in V&&N===V[G])return G;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(N){return N.__proto__||(N.constructor?N.constructor.prototype:l)}),!Object.getOwnPropertyDescriptor){var m="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(N,V){if(typeof N!="object"&&typeof N!="function"||N===null)throw new TypeError(m+N);if(e(N,V)){var j,G,W;if(j={enumerable:!0,configurable:!0},p){var K=N.__proto__;N.__proto__=l;var G=r(N,V),W=s(N,V);if(N.__proto__=K,G||W)return G&&(j.get=G),W&&(j.set=W),j}return j.value=N[V],j}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(N){return Object.keys(N)}),!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var P={};for(var N in P)P[N]=null;return P.constructor=P.hasOwnProperty=P.propertyIsEnumerable=P.isPrototypeOf=P.toLocaleString=P.toString=P.valueOf=P.__proto__=null,P},Object.create=function(N,V){var j;if(N===null)j=b();else{if(typeof N!="object")throw new TypeError("typeof prototype["+typeof N+"] != 'object'");var G=function(){};G.prototype=N,j=new G,j.__proto__=N}return V!==void 0&&Object.defineProperties(j,V),j}}function f(P){try{return Object.defineProperty(P,"sentinel",{}),"sentinel"in P}catch{}}if(Object.defineProperty){var _=f({}),A=typeof document>"u"||f(document.createElement("div"));if(!_||!A)var $=Object.defineProperty}if(!Object.defineProperty||$){var v="Property description must be an object: ",E="Object.defineProperty called on non-object: ",w="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(N,V,j){if(typeof N!="object"&&typeof N!="function"||N===null)throw new TypeError(E+N);if(typeof j!="object"&&typeof j!="function"||j===null)throw new TypeError(v+j);if($)try{return $.call(Object,N,V,j)}catch{}if(e(j,"value"))if(p&&(r(N,V)||s(N,V))){var G=N.__proto__;N.__proto__=l,delete N[V],N[V]=j.value,N.__proto__=G}else N[V]=j.value;else{if(!p)throw new TypeError(w);e(j,"get")&&n(N,V,j.get),e(j,"set")&&i(N,V,j.set)}return N}}Object.defineProperties||(Object.defineProperties=function(N,V){for(var j in V)e(V,j)&&Object.defineProperty(N,j,V[j]);return N}),Object.seal||(Object.seal=function(N){return N}),Object.freeze||(Object.freeze=function(N){return N});try{Object.freeze(function(){})}catch{Object.freeze=function(V){return function(G){return typeof G=="function"?G:V(G)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(N){return N}),Object.isSealed||(Object.isSealed=function(N){return!1}),Object.isFrozen||(Object.isFrozen=function(N){return!1}),Object.isExtensible||(Object.isExtensible=function(N){if(Object(N)===N)throw new TypeError;for(var V="";e(N,V);)V+="?";N[V]=!0;var j=e(N,V);return delete N[V],j}),!Object.keys){var y=!0,S=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],F=S.length;for(var M in{toString:null})y=!1;Object.keys=function(N){if(typeof N!="object"&&typeof N!="function"||N===null)throw new TypeError("Object.keys called on a non-object");var V=[];for(var j in N)e(N,j)&&V.push(j);if(y)for(var G=0,W=F;G<W;G++){var K=S[G];e(N,K)&&V.push(K)}return V}}Date.now||(Date.now=function(){return new Date().getTime()});var T=`
\v\f\r \xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`;if(!String.prototype.trim||T.trim()){T="["+T+"]";var B=new RegExp("^"+T+T+"*"),I=new RegExp(T+T+"*$");String.prototype.trim=function(){return String(this).replace(B,"").replace(I,"")}}function D(P){return P=+P,P!==P?P=0:P!==0&&P!==1/0&&P!==-1/0&&(P=(P>0||-1)*Math.floor(Math.abs(P))),P}function L(P){var N=typeof P;return P===null||N==="undefined"||N==="boolean"||N==="number"||N==="string"}function H(P){var N,V,j;if(L(P))return P;if(V=P.valueOf,typeof V=="function"&&(N=V.call(P),L(N))||(j=P.toString,typeof j=="function"&&(N=j.call(P),L(N))))return N;throw new TypeError}var O=function(P){if(P==null)throw new TypeError("can't convert "+P+" to object");return Object(P)}});ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/regexp","ace/lib/es5-shim"],function(u,d,x){"use strict";u("./regexp"),u("./es5-shim")});ace.define("ace/lib/dom",["require","exports","module"],function(u,d,x){"use strict";var o="http://www.w3.org/1999/xhtml";if(d.getDocumentHead=function(h){return h||(h=document),h.head||h.getElementsByTagName("head")[0]||h.documentElement},d.createElement=function(h,c){return document.createElementNS?document.createElementNS(c||o,h):document.createElement(h)},d.hasCssClass=function(h,c){var l=(h.className+"").split(/\s+/g);return l.indexOf(c)!==-1},d.addCssClass=function(h,c){d.hasCssClass(h,c)||(h.className+=" "+c)},d.removeCssClass=function(h,c){for(var l=h.className.split(/\s+/g);;){var a=l.indexOf(c);if(a==-1)break;l.splice(a,1)}h.className=l.join(" ")},d.toggleCssClass=function(h,c){for(var l=h.className.split(/\s+/g),a=!0;;){var t=l.indexOf(c);if(t==-1)break;a=!1,l.splice(t,1)}return a&&l.push(c),h.className=l.join(" "),a},d.setCssClass=function(h,c,l){l?d.addCssClass(h,c):d.removeCssClass(h,c)},d.hasCssString=function(h,c){var l=0,a;if(c=c||document,c.createStyleSheet&&(a=c.styleSheets)){for(;l<a.length;)if(a[l++].owningElement.id===h)return!0}else if(a=c.getElementsByTagName("style")){for(;l<a.length;)if(a[l++].id===h)return!0}return!1},d.importCssString=function(c,l,a){if(a=a||document,l&&d.hasCssString(l,a))return null;var t;l&&(c+=`
/*# sourceURL=ace/css/`+l+" */"),a.createStyleSheet?(t=a.createStyleSheet(),t.cssText=c,l&&(t.owningElement.id=l)):(t=d.createElement("style"),t.appendChild(a.createTextNode(c)),l&&(t.id=l),d.getDocumentHead(a).appendChild(t))},d.importCssStylsheet=function(h,c){if(c.createStyleSheet)c.createStyleSheet(h);else{var l=d.createElement("link");l.rel="stylesheet",l.href=h,d.getDocumentHead(c).appendChild(l)}},d.getInnerWidth=function(h){return parseInt(d.computedStyle(h,"paddingLeft"),10)+parseInt(d.computedStyle(h,"paddingRight"),10)+h.clientWidth},d.getInnerHeight=function(h){return parseInt(d.computedStyle(h,"paddingTop"),10)+parseInt(d.computedStyle(h,"paddingBottom"),10)+h.clientHeight},d.scrollbarWidth=function(h){var c=d.createElement("ace_inner");c.style.width="100%",c.style.minWidth="0px",c.style.height="200px",c.style.display="block";var l=d.createElement("ace_outer"),a=l.style;a.position="absolute",a.left="-10000px",a.overflow="hidden",a.width="200px",a.minWidth="0px",a.height="150px",a.display="block",l.appendChild(c);var t=h.documentElement;t.appendChild(l);var e=c.offsetWidth;a.overflow="scroll";var n=c.offsetWidth;return e==n&&(n=l.clientWidth),t.removeChild(l),e-n},typeof document>"u"){d.importCssString=function(){};return}window.pageYOffset!==void 0?(d.getPageScrollTop=function(){return window.pageYOffset},d.getPageScrollLeft=function(){return window.pageXOffset}):(d.getPageScrollTop=function(){return document.body.scrollTop},d.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?d.computedStyle=function(h,c){return c?(window.getComputedStyle(h,"")||{})[c]||"":window.getComputedStyle(h,"")||{}}:d.computedStyle=function(h,c){return c?h.currentStyle[c]:h.currentStyle},d.setInnerHtml=function(h,c){var l=h.cloneNode(!1);return l.innerHTML=c,h.parentNode.replaceChild(l,h),l},"textContent"in document.documentElement?(d.setInnerText=function(h,c){h.textContent=c},d.getInnerText=function(h){return h.textContent}):(d.setInnerText=function(h,c){h.innerText=c},d.getInnerText=function(h){return h.innerText}),d.getParentWindow=function(h){return h.defaultView||h.parentWindow}});ace.define("ace/lib/oop",["require","exports","module"],function(u,d,x){"use strict";d.inherits=function(o,h){o.super_=h,o.prototype=Object.create(h.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}})},d.mixin=function(o,h){for(var c in h)o[c]=h[c];return o},d.implement=function(o,h){d.mixin(o,h)}});ace.define("ace/lib/keys",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop"],function(u,d,x){"use strict";u("./fixoldbrowsers");var o=u("./oop"),h=function(){var c={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},l,a;for(a in c.FUNCTION_KEYS)l=c.FUNCTION_KEYS[a].toLowerCase(),c[l]=parseInt(a,10);for(a in c.PRINTABLE_KEYS)l=c.PRINTABLE_KEYS[a].toLowerCase(),c[l]=parseInt(a,10);return o.mixin(c,c.MODIFIER_KEYS),o.mixin(c,c.PRINTABLE_KEYS),o.mixin(c,c.FUNCTION_KEYS),c.enter=c.return,c.escape=c.esc,c.del=c.delete,c[173]="-",function(){for(var t=["cmd","ctrl","alt","shift"],e=Math.pow(2,t.length);e--;)c.KEY_MODS[e]=t.filter(function(n){return e&c.KEY_MODS[n]}).join("-")+"-"}(),c.KEY_MODS[0]="",c.KEY_MODS[-1]="input-",c}();o.mixin(d,h),d.keyCodeToString=function(c){var l=h[c];return typeof l!="string"&&(l=String.fromCharCode(c)),l.toLowerCase()}});ace.define("ace/lib/useragent",["require","exports","module"],function(u,d,x){"use strict";if(d.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},d.getOS=function(){return d.isMac?d.OS.MAC:d.isLinux?d.OS.LINUX:d.OS.WINDOWS},typeof navigator=="object"){var o=(navigator.platform.match(/mac|win|linux/i)||["other"])[0].toLowerCase(),h=navigator.userAgent;d.isWin=o=="win",d.isMac=o=="mac",d.isLinux=o=="linux",d.isIE=navigator.appName=="Microsoft Internet Explorer"||navigator.appName.indexOf("MSAppHost")>=0?parseFloat((h.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((h.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),d.isOldIE=d.isIE&&d.isIE<9,d.isGecko=d.isMozilla=(window.Controllers||window.controllers)&&window.navigator.product==="Gecko",d.isOldGecko=d.isGecko&&parseInt((h.match(/rv:(\d+)/)||[])[1],10)<4,d.isOpera=window.opera&&Object.prototype.toString.call(window.opera)=="[object Opera]",d.isWebKit=parseFloat(h.split("WebKit/")[1])||void 0,d.isChrome=parseFloat(h.split(" Chrome/")[1])||void 0,d.isAIR=h.indexOf("AdobeAIR")>=0,d.isIPad=h.indexOf("iPad")>=0,d.isChromeOS=h.indexOf(" CrOS ")>=0,d.isIOS=/iPad|iPhone|iPod/.test(h)&&!window.MSStream,d.isIOS&&(d.isMac=!0)}});ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("./keys"),h=u("./useragent"),c=null,l=0;d.addListener=function(i,r,s){if(i.addEventListener)return i.addEventListener(r,s,!1);if(i.attachEvent){var p=function(){s.call(i,window.event)};s._wrapper=p,i.attachEvent("on"+r,p)}},d.removeListener=function(i,r,s){if(i.removeEventListener)return i.removeEventListener(r,s,!1);i.detachEvent&&i.detachEvent("on"+r,s._wrapper||s)},d.stopEvent=function(i){return d.stopPropagation(i),d.preventDefault(i),!1},d.stopPropagation=function(i){i.stopPropagation?i.stopPropagation():i.cancelBubble=!0},d.preventDefault=function(i){i.preventDefault?i.preventDefault():i.returnValue=!1},d.getButton=function(i){return i.type=="dblclick"?0:i.type=="contextmenu"||h.isMac&&i.ctrlKey&&!i.altKey&&!i.shiftKey?2:i.preventDefault?i.button:{1:0,2:2,4:1}[i.button]},d.capture=function(i,r,s){function p(g){r&&r(g),s&&s(g),d.removeListener(document,"mousemove",r,!0),d.removeListener(document,"mouseup",p,!0),d.removeListener(document,"dragstart",p,!0)}return d.addListener(document,"mousemove",r,!0),d.addListener(document,"mouseup",p,!0),d.addListener(document,"dragstart",p,!0),p},d.addTouchMoveListener=function(i,r){var s,p;d.addListener(i,"touchstart",function(g){var C=g.touches,k=C[0];s=k.clientX,p=k.clientY}),d.addListener(i,"touchmove",function(g){var C=g.touches;if(!(C.length>1)){var k=C[0];g.wheelX=s-k.clientX,g.wheelY=p-k.clientY,s=k.clientX,p=k.clientY,r(g)}})},d.addMouseWheelListener=function(i,r){"onmousewheel"in i?d.addListener(i,"mousewheel",function(s){var p=8;s.wheelDeltaX!==void 0?(s.wheelX=-s.wheelDeltaX/p,s.wheelY=-s.wheelDeltaY/p):(s.wheelX=0,s.wheelY=-s.wheelDelta/p),r(s)}):"onwheel"in i?d.addListener(i,"wheel",function(s){var p=.35;switch(s.deltaMode){case s.DOM_DELTA_PIXEL:s.wheelX=s.deltaX*p||0,s.wheelY=s.deltaY*p||0;break;case s.DOM_DELTA_LINE:case s.DOM_DELTA_PAGE:s.wheelX=(s.deltaX||0)*5,s.wheelY=(s.deltaY||0)*5;break}r(s)}):d.addListener(i,"DOMMouseScroll",function(s){s.axis&&s.axis==s.HORIZONTAL_AXIS?(s.wheelX=(s.detail||0)*5,s.wheelY=0):(s.wheelX=0,s.wheelY=(s.detail||0)*5),r(s)})},d.addMultiMouseDownListener=function(i,r,s,p){var g=0,C,k,m,b={2:"dblclick",3:"tripleclick",4:"quadclick"};function f(A){if(d.getButton(A)!==0?g=0:A.detail>1?(g++,g>4&&(g=1)):g=1,h.isIE){var $=Math.abs(A.clientX-C)>5||Math.abs(A.clientY-k)>5;(!m||$)&&(g=1),m&&clearTimeout(m),m=setTimeout(function(){m=null},r[g-1]||600),g==1&&(C=A.clientX,k=A.clientY)}if(A._clicks=g,s[p]("mousedown",A),g>4)g=0;else if(g>1)return s[p](b[g],A)}function _(A){g=2,m&&clearTimeout(m),m=setTimeout(function(){m=null},r[g-1]||600),s[p]("mousedown",A),s[p](b[g],A)}Array.isArray(i)||(i=[i]),i.forEach(function(A){d.addListener(A,"mousedown",f),h.isOldIE&&d.addListener(A,"dblclick",_)})};var a=h.isMac&&h.isOpera&&!("KeyboardEvent"in window)?function(i){return 0|(i.metaKey?1:0)|(i.altKey?2:0)|(i.shiftKey?4:0)|(i.ctrlKey?8:0)}:function(i){return 0|(i.ctrlKey?1:0)|(i.altKey?2:0)|(i.shiftKey?4:0)|(i.metaKey?8:0)};d.getModifierString=function(i){return o.KEY_MODS[a(i)]};function t(i,r,s){var p=a(r);if(!h.isMac&&c){if(r.getModifierState&&(r.getModifierState("OS")||r.getModifierState("Win"))&&(p|=8),c.altGr)if((3&p)!=3)c.altGr=0;else return;if(s===18||s===17){var g="location"in r?r.location:r.keyLocation;if(s===17&&g===1)c[s]==1&&(l=r.timeStamp);else if(s===18&&p===3&&g===2){var C=r.timeStamp-l;C<50&&(c.altGr=!0)}}}if(s in o.MODIFIER_KEYS&&(s=-1),p&8&&s>=91&&s<=93&&(s=-1),!p&&s===13){var g="location"in r?r.location:r.keyLocation;if(g===3&&(i(r,p,-s),r.defaultPrevented))return}if(h.isChromeOS&&p&8){if(i(r,p,s),r.defaultPrevented)return;p&=-9}return!p&&!(s in o.FUNCTION_KEYS)&&!(s in o.PRINTABLE_KEYS)?!1:i(r,p,s)}d.addCommandKeyListener=function(i,r){var s=d.addListener;if(h.isOldGecko||h.isOpera&&!("KeyboardEvent"in window)){var p=null;s(i,"keydown",function(C){p=C.keyCode}),s(i,"keypress",function(C){return t(r,C,p)})}else{var g=null;s(i,"keydown",function(C){c[C.keyCode]=(c[C.keyCode]||0)+1;var k=t(r,C,C.keyCode);return g=C.defaultPrevented,k}),s(i,"keypress",function(C){g&&(C.ctrlKey||C.altKey||C.shiftKey||C.metaKey)&&(d.stopEvent(C),g=null)}),s(i,"keyup",function(C){c[C.keyCode]=null}),c||(e(),s(window,"focus",e))}};function e(){c=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!h.isOldIE){var n=1;d.nextTick=function(i,r){r=r||window;var s="zero-timeout-message-"+n;d.addListener(r,"message",function p(g){g.data==s&&(d.stopPropagation(g),d.removeListener(r,"message",p),i())}),r.postMessage(s,"*")}}d.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),d.nextFrame?d.nextFrame=d.nextFrame.bind(window):d.nextFrame=function(i){setTimeout(i,17)}});ace.define("ace/lib/lang",["require","exports","module"],function(u,d,x){"use strict";d.last=function(c){return c[c.length-1]},d.stringReverse=function(c){return c.split("").reverse().join("")},d.stringRepeat=function(c,l){for(var a="";l>0;)l&1&&(a+=c),(l>>=1)&&(c+=c);return a};var o=/^\s\s*/,h=/\s\s*$/;d.stringTrimLeft=function(c){return c.replace(o,"")},d.stringTrimRight=function(c){return c.replace(h,"")},d.copyObject=function(c){var l={};for(var a in c)l[a]=c[a];return l},d.copyArray=function(c){for(var l=[],a=0,t=c.length;a<t;a++)c[a]&&typeof c[a]=="object"?l[a]=this.copyObject(c[a]):l[a]=c[a];return l},d.deepCopy=function c(l){if(typeof l!="object"||!l)return l;var a;if(Array.isArray(l)){a=[];for(var t=0;t<l.length;t++)a[t]=c(l[t]);return a}if(Object.prototype.toString.call(l)!=="[object Object]")return l;a={};for(var t in l)a[t]=c(l[t]);return a},d.arrayToMap=function(c){for(var l={},a=0;a<c.length;a++)l[c[a]]=1;return l},d.createMap=function(c){var l=Object.create(null);for(var a in c)l[a]=c[a];return l},d.arrayRemove=function(c,l){for(var a=0;a<=c.length;a++)l===c[a]&&c.splice(a,1)},d.escapeRegExp=function(c){return c.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},d.escapeHTML=function(c){return c.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},d.getMatchOffsets=function(c,l){var a=[];return c.replace(l,function(t){a.push({offset:arguments[arguments.length-2],length:t.length})}),a},d.deferredCall=function(c){var l=null,a=function(){l=null,c()},t=function(e){return t.cancel(),l=setTimeout(a,e||0),t};return t.schedule=t,t.call=function(){return this.cancel(),c(),t},t.cancel=function(){return clearTimeout(l),l=null,t},t.isPending=function(){return l},t},d.delayedCall=function(c,l){var a=null,t=function(){a=null,c()},e=function(n){a==null&&(a=setTimeout(t,n||l))};return e.delay=function(n){a&&clearTimeout(a),a=setTimeout(t,n||l)},e.schedule=e,e.call=function(){this.cancel(),c()},e.cancel=function(){a&&clearTimeout(a),a=null},e.isPending=function(){return a},e}});ace.define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../lib/useragent"),c=u("../lib/dom"),l=u("../lib/lang"),a=u("../lib/keys"),t=a.KEY_MODS,e=h.isChrome<18,n=h.isIE,i=function(r,s){var p=this,g=c.createElement("textarea");g.className=h.isIOS?"ace_text-input ace_text-input-ios":"ace_text-input",h.isTouchPad&&g.setAttribute("x-palm-disable-auto-cap",!0),g.setAttribute("wrap","off"),g.setAttribute("autocorrect","off"),g.setAttribute("autocapitalize","off"),g.setAttribute("spellcheck",!1),g.style.opacity="0",r.insertBefore(g,r.firstChild);var C=`
aaaa a
`,k=!1,m=!1,b=!1,f=!1,_="",A=!0;try{var $=document.activeElement===g}catch{}o.addListener(g,"blur",function(q){s.onBlur(q),$=!1}),o.addListener(g,"focus",function(q){$=!0,s.onFocus(q),w()}),this.focus=function(){if(_)return g.focus();g.style.position="fixed",g.focus()},this.blur=function(){g.blur()},this.isFocused=function(){return $};var v=l.delayedCall(function(){$&&w(A)}),E=l.delayedCall(function(){f||(g.value=C,$&&w())});function w(q){if(!f){if(f=!0,M)ie=0,pe=q?0:g.value.length-1;else var ie=4,pe=5;try{g.setSelectionRange(ie,pe)}catch{}f=!1}}function y(){f||(g.value=C,h.isWebKit&&E.schedule())}h.isWebKit||s.addEventListener("changeSelection",function(){s.selection.isEmpty()!=A&&(A=!A,v.schedule())}),y(),$&&s.onFocus();var S=function(q){return q.selectionStart===0&&q.selectionEnd===q.value.length},F=function(q){S(g)?(s.selectAll(),w()):M&&w(s.selection.isEmpty())},M=null;this.setInputHandler=function(q){M=q},this.getInputHandler=function(){return M};var T=!1,B=function(q){g.selectionStart===4&&g.selectionEnd===5||(M&&(q=M(q),M=null),b?(w(),q&&s.onPaste(q),b=!1):q==C.substr(0)&&g.selectionStart===4?T?s.execCommand("del",{source:"ace"}):s.execCommand("backspace",{source:"ace"}):k||(q.substring(0,9)==C&&q.length>C.length?q=q.substr(9):q.substr(0,4)==C.substr(0,4)?q=q.substr(4,q.length-C.length+1):q.charAt(q.length-1)==C.charAt(0)&&(q=q.slice(0,-1)),q==C.charAt(0)||q.charAt(q.length-1)==C.charAt(0)&&(q=q.slice(0,-1)),q&&s.onTextInput(q)),k&&(k=!1),T&&(T=!1))},I=function(q){if(!f){var ie=g.value;B(ie),y()}},D=function(q,ie,pe){var Ie=q.clipboardData||window.clipboardData;if(!(!Ie||e)){var Oe=n||pe?"Text":"text/plain";try{return ie?Ie.setData(Oe,ie)!==!1:Ie.getData(Oe)}catch(Pe){if(!pe)return D(Pe,ie,!0)}}},L=function(q,ie){var pe=s.getCopyText();if(!pe)return o.preventDefault(q);D(q,pe)?(h.isIOS&&(m=ie,g.value=`
aa`+pe+`a a
`,g.setSelectionRange(4,4+pe.length),k={value:pe}),ie?s.onCut():s.onCopy(),h.isIOS||o.preventDefault(q)):(k=!0,g.value=pe,g.select(),setTimeout(function(){k=!1,y(),w(),ie?s.onCut():s.onCopy()}))},H=function(q){L(q,!0)},O=function(q){L(q,!1)},P=function(q){var ie=D(q);typeof ie=="string"?(ie&&s.onPaste(ie,q),h.isIE&&setTimeout(w),o.preventDefault(q)):(g.value="",b=!0)};o.addCommandKeyListener(g,s.onCommandKey.bind(s)),o.addListener(g,"select",F),o.addListener(g,"input",I),o.addListener(g,"cut",H),o.addListener(g,"copy",O),o.addListener(g,"paste",P);var N=function(q){f||!s.onCompositionStart||s.$readOnly||(f={},f.canUndo=s.session.$undoManager,s.onCompositionStart(),setTimeout(V,0),s.on("mousedown",j),f.canUndo&&!s.selection.isEmpty()&&(s.insert(""),s.session.markUndoGroup(),s.selection.clearSelection()),s.session.markUndoGroup())},V=function(){if(!(!f||!s.onCompositionUpdate||s.$readOnly)){var q=g.value.replace(/\x01/g,"");if(f.lastValue!==q&&(s.onCompositionUpdate(q),f.lastValue&&s.undo(),f.canUndo&&(f.lastValue=q),f.lastValue)){var ie=s.selection.getRange();s.insert(f.lastValue),s.session.markUndoGroup(),f.range=s.selection.getRange(),s.selection.setRange(ie),s.selection.clearSelection()}}},j=function(q){if(!(!s.onCompositionEnd||s.$readOnly)){var ie=f;f=!1;var pe=setTimeout(function(){pe=null;var Oe=g.value.replace(/\x01/g,"");f||(Oe==ie.lastValue?y():!ie.lastValue&&Oe&&(y(),B(Oe)))});M=function(Pe){return pe&&clearTimeout(pe),Pe=Pe.replace(/\x01/g,""),Pe==ie.lastValue?"":(ie.lastValue&&pe&&s.undo(),Pe)},s.onCompositionEnd(),s.removeListener("mousedown",j),q.type=="compositionend"&&ie.range&&s.selection.setRange(ie.range);var Ie=!!h.isChrome&&h.isChrome>=53||!!h.isWebKit&&h.isWebKit>=603;Ie&&I()}},G=l.delayedCall(V,50);o.addListener(g,"compositionstart",N),h.isGecko?o.addListener(g,"text",function(){G.schedule()}):(o.addListener(g,"keyup",function(){G.schedule()}),o.addListener(g,"keydown",function(){G.schedule()})),o.addListener(g,"compositionend",j),this.getElement=function(){return g},this.setReadOnly=function(q){g.readOnly=q},this.onContextMenu=function(q){T=!0,w(s.selection.isEmpty()),s._emit("nativecontextmenu",{target:s,domEvent:q}),this.moveToMouse(q,!0)},this.moveToMouse=function(q,ie){_||(_=g.style.cssText),g.style.cssText=(ie?"z-index:100000;":"")+"height:"+g.style.height+";"+(h.isIE?"opacity:0.1;":"");var pe=s.container.getBoundingClientRect(),Ie=c.computedStyle(s.container),Oe=pe.top+(parseInt(Ie.borderTopWidth)||0),Pe=pe.left+(parseInt(pe.borderLeftWidth)||0),se=pe.bottom-Oe-g.clientHeight-2,ee=function(ce){g.style.left=ce.clientX-Pe-2+"px",g.style.top=Math.min(ce.clientY-Oe-2,se)+"px"};ee(q),q.type=="mousedown"&&(s.renderer.$keepTextAreaAtCursor&&(s.renderer.$keepTextAreaAtCursor=null),clearTimeout(W),h.isWin&&o.capture(s.container,ee,K))},this.onContextMenuClose=K;var W;function K(){clearTimeout(W),W=setTimeout(function(){_&&(g.style.cssText=_,_=""),s.renderer.$keepTextAreaAtCursor==null&&(s.renderer.$keepTextAreaAtCursor=!0,s.renderer.$moveTextAreaToCursor())},0)}var Q=function(q){s.textInput.onContextMenu(q),K()};if(o.addListener(g,"mouseup",Q),o.addListener(g,"mousedown",function(q){q.preventDefault(),K()}),o.addListener(s.renderer.scroller,"contextmenu",Q),o.addListener(g,"contextmenu",Q),h.isIOS){var Y=null,ae=!1;r.addEventListener("keydown",function(q){Y&&clearTimeout(Y),ae=!0}),r.addEventListener("keyup",function(q){Y=setTimeout(function(){ae=!1},100)});var re=function(q){if(document.activeElement===g&&!ae){if(m)return setTimeout(function(){m=!1},100);var ie=g.selectionStart,pe=g.selectionEnd;if(g.setSelectionRange(4,5),ie==pe)switch(ie){case 0:s.onCommandKey(null,0,a.up);break;case 1:s.onCommandKey(null,0,a.home);break;case 2:s.onCommandKey(null,t.option,a.left);break;case 4:s.onCommandKey(null,0,a.left);break;case 5:s.onCommandKey(null,0,a.right);break;case 7:s.onCommandKey(null,t.option,a.right);break;case 8:s.onCommandKey(null,0,a.end);break;case 9:s.onCommandKey(null,0,a.down);break}else{switch(pe){case 6:s.onCommandKey(null,t.shift,a.right);break;case 7:s.onCommandKey(null,t.shift|t.option,a.right);break;case 8:s.onCommandKey(null,t.shift,a.end);break;case 9:s.onCommandKey(null,t.shift,a.down);break}switch(ie){case 0:s.onCommandKey(null,t.shift,a.up);break;case 1:s.onCommandKey(null,t.shift,a.home);break;case 2:s.onCommandKey(null,t.shift|t.option,a.left);break;case 3:s.onCommandKey(null,t.shift,a.left);break}}}};document.addEventListener("selectionchange",re),s.on("destroy",function(){document.removeEventListener("selectionchange",re)})}};d.TextInput=i});ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../lib/useragent"),c=u("../lib/dom"),l=u("../lib/lang"),a=h.isChrome<18,t=h.isIE,e=u("./textinput_ios").TextInput,n=function(i,r){if(h.isIOS)return e.call(this,i,r);var s=c.createElement("textarea");s.className="ace_text-input",s.setAttribute("wrap","off"),s.setAttribute("autocorrect","off"),s.setAttribute("autocapitalize","off"),s.setAttribute("spellcheck",!1),s.style.opacity="0",i.insertBefore(s,i.firstChild);var p="\u2028\u2028",g=!1,C=!1,k=!1,m="",b=!0;try{var f=document.activeElement===s}catch{}o.addListener(s,"blur",function(W){r.onBlur(W),f=!1}),o.addListener(s,"focus",function(W){f=!0,r.onFocus(W),$()}),this.focus=function(){if(m)return s.focus();var W=s.style.top;s.style.position="fixed",s.style.top="0px",s.focus(),setTimeout(function(){s.style.position="",s.style.top=="0px"&&(s.style.top=W)},0)},this.blur=function(){s.blur()},this.isFocused=function(){return f};var _=l.delayedCall(function(){f&&$(b)}),A=l.delayedCall(function(){k||(s.value=p,f&&$())});function $(W){if(!k){if(k=!0,y)var K=0,Q=W?0:s.value.length-1;else var K=W?2:1,Q=2;try{s.setSelectionRange(K,Q)}catch{}k=!1}}function v(){k||(s.value=p,h.isWebKit&&A.schedule())}h.isWebKit||r.addEventListener("changeSelection",function(){r.selection.isEmpty()!=b&&(b=!b,_.schedule())}),v(),f&&r.onFocus();var E=function(W){return W.selectionStart===0&&W.selectionEnd===W.value.length},w=function(W){g?g=!1:E(s)?(r.selectAll(),$()):y&&$(r.selection.isEmpty())},y=null;this.setInputHandler=function(W){y=W},this.getInputHandler=function(){return y};var S=!1,F=function(W){y&&(W=y(W),y=null),C?($(),W&&r.onPaste(W),C=!1):W==p.charAt(0)?S?r.execCommand("del",{source:"ace"}):r.execCommand("backspace",{source:"ace"}):(W.substring(0,2)==p?W=W.substr(2):W.charAt(0)==p.charAt(0)?W=W.substr(1):W.charAt(W.length-1)==p.charAt(0)&&(W=W.slice(0,-1)),W.charAt(W.length-1)==p.charAt(0)&&(W=W.slice(0,-1)),W&&r.onTextInput(W)),S&&(S=!1)},M=function(W){if(!k){var K=s.value;F(K),v()}},T=function(W,K,Q){var Y=W.clipboardData||window.clipboardData;if(!(!Y||a)){var ae=t||Q?"Text":"text/plain";try{return K?Y.setData(ae,K)!==!1:Y.getData(ae)}catch(re){if(!Q)return T(re,K,!0)}}},B=function(W,K){var Q=r.getCopyText();if(!Q)return o.preventDefault(W);T(W,Q)?(K?r.onCut():r.onCopy(),o.preventDefault(W)):(g=!0,s.value=Q,s.select(),setTimeout(function(){g=!1,v(),$(),K?r.onCut():r.onCopy()}))},I=function(W){B(W,!0)},D=function(W){B(W,!1)},L=function(W){var K=T(W);typeof K=="string"?(K&&r.onPaste(K,W),h.isIE&&setTimeout($),o.preventDefault(W)):(s.value="",C=!0)};o.addCommandKeyListener(s,r.onCommandKey.bind(r)),o.addListener(s,"select",w),o.addListener(s,"input",M),o.addListener(s,"cut",I),o.addListener(s,"copy",D),o.addListener(s,"paste",L),(!("oncut"in s)||!("oncopy"in s)||!("onpaste"in s))&&o.addListener(i,"keydown",function(W){if(!(h.isMac&&!W.metaKey||!W.ctrlKey))switch(W.keyCode){case 67:D(W);break;case 86:L(W);break;case 88:I(W);break}});var H=function(W){k||!r.onCompositionStart||r.$readOnly||(k={},k.canUndo=r.session.$undoManager,r.onCompositionStart(),setTimeout(O,0),r.on("mousedown",P),k.canUndo&&!r.selection.isEmpty()&&(r.insert(""),r.session.markUndoGroup(),r.selection.clearSelection()),r.session.markUndoGroup())},O=function(){if(!(!k||!r.onCompositionUpdate||r.$readOnly)){var W=s.value.replace(/\u2028/g,"");if(k.lastValue!==W&&(r.onCompositionUpdate(W),k.lastValue&&r.undo(),k.canUndo&&(k.lastValue=W),k.lastValue)){var K=r.selection.getRange();r.insert(k.lastValue),r.session.markUndoGroup(),k.range=r.selection.getRange(),r.selection.setRange(K),r.selection.clearSelection()}}},P=function(W){if(!(!r.onCompositionEnd||r.$readOnly)){var K=k;k=!1;var Q=setTimeout(function(){Q=null;var ae=s.value.replace(/\u2028/g,"");k||(ae==K.lastValue?v():!K.lastValue&&ae&&(v(),F(ae)))});y=function(re){return Q&&clearTimeout(Q),re=re.replace(/\u2028/g,""),re==K.lastValue?"":(K.lastValue&&Q&&r.undo(),re)},r.onCompositionEnd(),r.removeListener("mousedown",P),W.type=="compositionend"&&K.range&&r.selection.setRange(K.range);var Y=!!h.isChrome&&h.isChrome>=53||!!h.isWebKit&&h.isWebKit>=603;Y&&M()}},N=l.delayedCall(O,50);o.addListener(s,"compositionstart",H),h.isGecko?o.addListener(s,"text",function(){N.schedule()}):(o.addListener(s,"keyup",function(){N.schedule()}),o.addListener(s,"keydown",function(){N.schedule()})),o.addListener(s,"compositionend",P),this.getElement=function(){return s},this.setReadOnly=function(W){s.readOnly=W},this.onContextMenu=function(W){S=!0,$(r.selection.isEmpty()),r._emit("nativecontextmenu",{target:r,domEvent:W}),this.moveToMouse(W,!0)},this.moveToMouse=function(W,K){m||(m=s.style.cssText),s.style.cssText=(K?"z-index:100000;":"")+"height:"+s.style.height+";"+(h.isIE?"opacity:0.1;":"");var Q=r.container.getBoundingClientRect(),Y=c.computedStyle(r.container),ae=Q.top+(parseInt(Y.borderTopWidth)||0),re=Q.left+(parseInt(Q.borderLeftWidth)||0),q=Q.bottom-ae-s.clientHeight-2,ie=function(pe){s.style.left=pe.clientX-re-2+"px",s.style.top=Math.min(pe.clientY-ae-2,q)+"px"};ie(W),W.type=="mousedown"&&(r.renderer.$keepTextAreaAtCursor&&(r.renderer.$keepTextAreaAtCursor=null),clearTimeout(V),h.isWin&&o.capture(r.container,ie,j))},this.onContextMenuClose=j;var V;function j(){clearTimeout(V),V=setTimeout(function(){m&&(s.style.cssText=m,m=""),r.renderer.$keepTextAreaAtCursor==null&&(r.renderer.$keepTextAreaAtCursor=!0,r.renderer.$moveTextAreaToCursor())},0)}var G=function(W){r.textInput.onContextMenu(W),j()};o.addListener(s,"mouseup",G),o.addListener(s,"mousedown",function(W){W.preventDefault(),j()}),o.addListener(r.renderer.scroller,"contextmenu",G),o.addListener(s,"contextmenu",G)};d.TextInput=n});ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=u("../lib/event"),c=u("../lib/useragent"),l=0,a=250;function t(i){i.$clickSelection=null;var r=i.editor;r.setDefaultHandler("mousedown",this.onMouseDown.bind(i)),r.setDefaultHandler("dblclick",this.onDoubleClick.bind(i)),r.setDefaultHandler("tripleclick",this.onTripleClick.bind(i)),r.setDefaultHandler("quadclick",this.onQuadClick.bind(i)),r.setDefaultHandler("mousewheel",this.onMouseWheel.bind(i)),r.setDefaultHandler("touchmove",this.onTouchMove.bind(i));var s=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];s.forEach(function(p){i[p]=this[p]},this),i.selectByLines=this.extendSelectionBy.bind(i,"getLineRange"),i.selectByWords=this.extendSelectionBy.bind(i,"getWordRange")}(function(){this.onMouseDown=function(i){var r=i.inSelection(),s=i.getDocumentPosition();this.mousedownEvent=i;var p=this.editor,g=i.getButton();if(g!==0){var C=p.getSelectionRange(),k=C.isEmpty();p.$blockScrolling++,(k||g==1)&&p.selection.moveToPosition(s),p.$blockScrolling--,g==2&&(p.textInput.onContextMenu(i.domEvent),c.isMozilla||i.preventDefault());return}if(this.mousedownEvent.time=Date.now(),r&&!p.isFocused()&&(p.focus(),this.$focusTimout&&!this.$clickSelection&&!p.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(i);return}return this.captureMouse(i),this.startSelect(s,i.domEvent._clicks>1),i.preventDefault()},this.startSelect=function(i,r){i=i||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var s=this.editor;s.$blockScrolling++,this.mousedownEvent.getShiftKey()?s.selection.selectToPosition(i):r||s.selection.moveToPosition(i),r||this.select(),s.renderer.scroller.setCapture&&s.renderer.scroller.setCapture(),s.setStyle("ace_selecting"),this.setState("select"),s.$blockScrolling--},this.select=function(){var i,r=this.editor,s=r.renderer.screenToTextCoordinates(this.x,this.y);if(r.$blockScrolling++,this.$clickSelection){var p=this.$clickSelection.comparePoint(s);if(p==-1)i=this.$clickSelection.end;else if(p==1)i=this.$clickSelection.start;else{var g=n(this.$clickSelection,s);s=g.cursor,i=g.anchor}r.selection.setSelectionAnchor(i.row,i.column)}r.selection.selectToPosition(s),r.$blockScrolling--,r.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(i){var r,s=this.editor,p=s.renderer.screenToTextCoordinates(this.x,this.y),g=s.selection[i](p.row,p.column);if(s.$blockScrolling++,this.$clickSelection){var C=this.$clickSelection.comparePoint(g.start),k=this.$clickSelection.comparePoint(g.end);if(C==-1&&k<=0)r=this.$clickSelection.end,(g.end.row!=p.row||g.end.column!=p.column)&&(p=g.start);else if(k==1&&C>=0)r=this.$clickSelection.start,(g.start.row!=p.row||g.start.column!=p.column)&&(p=g.end);else if(C==-1&&k==1)p=g.end,r=g.start;else{var m=n(this.$clickSelection,p);p=m.cursor,r=m.anchor}s.selection.setSelectionAnchor(r.row,r.column)}s.selection.selectToPosition(p),s.$blockScrolling--,s.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var i=e(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),r=Date.now();(i>l||r-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(i){var r=i.getDocumentPosition(),s=this.editor,p=s.session,g=p.getBracketRange(r);g?(g.isEmpty()&&(g.start.column--,g.end.column++),this.setState("select")):(g=s.selection.getWordRange(r.row,r.column),this.setState("selectByWords")),this.$clickSelection=g,this.select()},this.onTripleClick=function(i){var r=i.getDocumentPosition(),s=this.editor;this.setState("selectByLines");var p=s.getSelectionRange();p.isMultiLine()&&p.contains(r.row,r.column)?(this.$clickSelection=s.selection.getLineRange(p.start.row),this.$clickSelection.end=s.selection.getLineRange(p.end.row).end):this.$clickSelection=s.selection.getLineRange(r.row),this.select()},this.onQuadClick=function(i){var r=this.editor;r.selectAll(),this.$clickSelection=r.getSelectionRange(),this.setState("selectAll")},this.onMouseWheel=function(i){if(!i.getAccelKey()){i.getShiftKey()&&i.wheelY&&!i.wheelX&&(i.wheelX=i.wheelY,i.wheelY=0);var r=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var s=this.$lastScroll,p=i.domEvent.timeStamp,g=p-s.t,C=i.wheelX/g,k=i.wheelY/g;g<a&&(C=(C+s.vx)/2,k=(k+s.vy)/2);var m=Math.abs(C/k),b=!1;if(m>=1&&r.renderer.isScrollableBy(i.wheelX*i.speed,0)&&(b=!0),m<=1&&r.renderer.isScrollableBy(0,i.wheelY*i.speed)&&(b=!0),b)s.allowed=p;else if(p-s.allowed<a){var f=Math.abs(C)<=1.1*Math.abs(s.vx)&&Math.abs(k)<=1.1*Math.abs(s.vy);f?(b=!0,s.allowed=p):s.allowed=0}if(s.t=p,s.vx=C,s.vy=k,b)return r.renderer.scrollBy(i.wheelX*i.speed,i.wheelY*i.speed),i.stop()}},this.onTouchMove=function(i){this.editor._emit("mousewheel",i)}}).call(t.prototype),d.DefaultHandlers=t;function e(i,r,s,p){return Math.sqrt(Math.pow(s-i,2)+Math.pow(p-r,2))}function n(i,r){if(i.start.row==i.end.row)var s=2*r.column-i.start.column-i.end.column;else if(i.start.row==i.end.row-1&&!i.start.column&&!i.end.column)var s=r.column-4;else var s=2*r.row-i.start.row-i.end.row;return s<0?{cursor:i.start,anchor:i.end}:{cursor:i.end,anchor:i.start}}});ace.define("ace/tooltip",["require","exports","module","ace/lib/oop","ace/lib/dom"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/dom");function c(l){this.isOpen=!1,this.$element=null,this.$parentNode=l}(function(){this.$init=function(){return this.$element=h.createElement("div"),this.$element.className="ace_tooltip",this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(l){h.setInnerText(this.getElement(),l)},this.setHtml=function(l){this.getElement().innerHTML=l},this.setPosition=function(l,a){this.getElement().style.left=l+"px",this.getElement().style.top=a+"px"},this.setClassName=function(l){h.addCssClass(this.getElement(),l)},this.show=function(l,a,t){l!=null&&this.setText(l),a!=null&&t!=null&&this.setPosition(a,t),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display="none",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(c.prototype),d.Tooltip=c});ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event","ace/tooltip"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=u("../lib/oop"),c=u("../lib/event"),l=u("../tooltip").Tooltip;function a(e){var n=e.editor,i=n.renderer.$gutterLayer,r=new t(n.container);e.editor.setDefaultHandler("guttermousedown",function(b){if(!(!n.isFocused()||b.getButton()!=0)){var f=i.getRegion(b);if(f!="foldWidgets"){var _=b.getDocumentPosition().row,A=n.session.selection;if(b.getShiftKey())A.selectTo(_,0);else{if(b.domEvent.detail==2)return n.selectAll(),b.preventDefault();e.$clickSelection=n.selection.getLineRange(_)}return e.setState("selectByLines"),e.captureMouse(b),b.preventDefault()}}});var s,p,g;function C(){var b=p.getDocumentPosition().row,f=i.$annotations[b];if(!f)return k();var _=n.session.getLength();if(b==_){var A=n.renderer.pixelToScreenCoordinates(0,p.y).row,$=p.$pos;if(A>n.session.documentToScreenRow($.row,$.column))return k()}if(g!=f)if(g=f.text.join("<br/>"),r.setHtml(g),r.show(),n._signal("showGutterTooltip",r),n.on("mousewheel",k),e.$tooltipFollowsMouse)m(p);else{var v=p.domEvent.target,E=v.getBoundingClientRect(),w=r.getElement().style;w.left=E.right+"px",w.top=E.bottom+"px"}}function k(){s&&(s=clearTimeout(s)),g&&(r.hide(),g=null,n._signal("hideGutterTooltip",r),n.removeEventListener("mousewheel",k))}function m(b){r.setPosition(b.x,b.y)}e.editor.setDefaultHandler("guttermousemove",function(b){var f=b.domEvent.target||b.domEvent.srcElement;if(o.hasCssClass(f,"ace_fold-widget"))return k();g&&e.$tooltipFollowsMouse&&m(b),p=b,!s&&(s=setTimeout(function(){s=null,p&&!e.isMousePressed?C():k()},50))}),c.addListener(n.renderer.$gutter,"mouseout",function(b){p=null,!(!g||s)&&(s=setTimeout(function(){s=null,k()},50))}),n.on("changeSession",k)}function t(e){l.call(this,e)}h.inherits(t,l),function(){this.setPosition=function(e,n){var i=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,s=this.getWidth(),p=this.getHeight();e+=15,n+=15,e+s>i&&(e-=e+s-i),n+p>r&&(n-=20+p),l.prototype.setPosition.call(this,e,n)}}.call(t.prototype),d.GutterHandler=a});ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../lib/useragent"),c=d.MouseEvent=function(l,a){this.domEvent=l,this.editor=a,this.x=this.clientX=l.clientX,this.y=this.clientY=l.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){o.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){o.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var l=this.editor,a=l.getSelectionRange();if(a.isEmpty())this.$inSelection=!1;else{var t=this.getDocumentPosition();this.$inSelection=a.contains(t.row,t.column)}return this.$inSelection},this.getButton=function(){return o.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=h.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(c.prototype)});ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=u("../lib/event"),c=u("../lib/useragent"),l=200,a=200,t=5;function e(i){var r=i.editor,s=o.createElement("img");s.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",c.isOpera&&(s.style.cssText="width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;");var p=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];p.forEach(function(O){i[O]=this[O]},this),r.addEventListener("mousedown",this.onMouseDown.bind(i));var g=r.container,C,k,m,b,f,_,A=0,$,v,E,w,y;this.onDragStart=function(O){if(this.cancelDrag||!g.draggable){var P=this;return setTimeout(function(){P.startSelect(),P.captureMouse(O)},0),O.preventDefault()}f=r.getSelectionRange();var N=O.dataTransfer;N.effectAllowed=r.getReadOnly()?"copy":"copyMove",c.isOpera&&(r.container.appendChild(s),s.scrollTop=0),N.setDragImage&&N.setDragImage(s,0,0),c.isOpera&&r.container.removeChild(s),N.clearData(),N.setData("Text",r.session.getTextRange()),v=!0,this.setState("drag")},this.onDragEnd=function(O){if(g.draggable=!1,v=!1,this.setState(null),!r.getReadOnly()){var P=O.dataTransfer.dropEffect;!$&&P=="move"&&r.session.remove(r.getSelectionRange()),r.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(O){if(!(r.getReadOnly()||!L(O.dataTransfer)))return k=O.clientX,m=O.clientY,C||T(),A++,O.dataTransfer.dropEffect=$=H(O),h.preventDefault(O)},this.onDragOver=function(O){if(!(r.getReadOnly()||!L(O.dataTransfer)))return k=O.clientX,m=O.clientY,C||(T(),A++),I!==null&&(I=null),O.dataTransfer.dropEffect=$=H(O),h.preventDefault(O)},this.onDragLeave=function(O){if(A--,A<=0&&C)return B(),$=null,h.preventDefault(O)},this.onDrop=function(O){if(_){var P=O.dataTransfer;if(v)switch($){case"move":f.contains(_.row,_.column)?f={start:_,end:_}:f=r.moveText(f,_);break;case"copy":f=r.moveText(f,_,!0);break}else{var N=P.getData("Text");f={start:_,end:r.session.insert(_,N)},r.focus(),$=null}return B(),h.preventDefault(O)}},h.addListener(g,"dragstart",this.onDragStart.bind(i)),h.addListener(g,"dragend",this.onDragEnd.bind(i)),h.addListener(g,"dragenter",this.onDragEnter.bind(i)),h.addListener(g,"dragover",this.onDragOver.bind(i)),h.addListener(g,"dragleave",this.onDragLeave.bind(i)),h.addListener(g,"drop",this.onDrop.bind(i));function S(O,P){var N=Date.now(),V=!P||O.row!=P.row,j=!P||O.column!=P.column;if(!w||V||j)r.$blockScrolling+=1,r.moveCursorToPosition(O),r.$blockScrolling-=1,w=N,y={x:k,y:m};else{var G=n(y.x,y.y,k,m);G>t?w=null:N-w>=a&&(r.renderer.scrollCursorIntoView(),w=null)}}function F(O,P){var N=Date.now(),V=r.renderer.layerConfig.lineHeight,j=r.renderer.layerConfig.characterWidth,G=r.renderer.scroller.getBoundingClientRect(),W={x:{left:k-G.left,right:G.right-k},y:{top:m-G.top,bottom:G.bottom-m}},K=Math.min(W.x.left,W.x.right),Q=Math.min(W.y.top,W.y.bottom),Y={row:O.row,column:O.column};K/j<=2&&(Y.column+=W.x.left<W.x.right?-3:2),Q/V<=1&&(Y.row+=W.y.top<W.y.bottom?-1:1);var ae=O.row!=Y.row,re=O.column!=Y.column,q=!P||O.row!=P.row;ae||re&&!q?E?N-E>=l&&r.renderer.scrollCursorIntoView(Y):E=N:E=null}function M(){var O=_;_=r.renderer.screenToTextCoordinates(k,m),S(_,O),F(_,O)}function T(){f=r.selection.toOrientedRange(),C=r.session.addMarker(f,"ace_selection",r.getSelectionStyle()),r.clearSelection(),r.isFocused()&&r.renderer.$cursorLayer.setBlinking(!1),clearInterval(b),M(),b=setInterval(M,20),A=0,h.addListener(document,"mousemove",D)}function B(){clearInterval(b),r.session.removeMarker(C),C=null,r.$blockScrolling+=1,r.selection.fromOrientedRange(f),r.$blockScrolling-=1,r.isFocused()&&!v&&r.renderer.$cursorLayer.setBlinking(!r.getReadOnly()),f=null,_=null,A=0,E=null,w=null,h.removeListener(document,"mousemove",D)}var I=null;function D(){I==null&&(I=setTimeout(function(){I!=null&&C&&B()},20))}function L(O){var P=O.types;return!P||Array.prototype.some.call(P,function(N){return N=="text/plain"||N=="Text"})}function H(O){var P=["copy","copymove","all","uninitialized"],N=["move","copymove","linkmove","all","uninitialized"],V=c.isMac?O.altKey:O.ctrlKey,j="uninitialized";try{j=O.dataTransfer.effectAllowed.toLowerCase()}catch{}var G="none";return V&&P.indexOf(j)>=0?G="copy":N.indexOf(j)>=0?G="move":P.indexOf(j)>=0&&(G="copy"),G}}(function(){this.dragWait=function(){var i=Date.now()-this.mousedownEvent.time;i>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var i=this.editor.container;i.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(i){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var i=this.editor,r=i.container;r.draggable=!0,i.renderer.$cursorLayer.setBlinking(!1),i.setStyle("ace_dragging");var s=c.isWin?"default":"move";i.renderer.setCursorStyle(s),this.setState("dragReady")},this.onMouseDrag=function(i){var r=this.editor.container;if(c.isIE&&this.state=="dragReady"){var s=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);s>3&&r.dragDrop()}if(this.state==="dragWait"){var s=n(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);s>0&&(r.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(i){if(this.$dragEnabled){this.mousedownEvent=i;var r=this.editor,s=i.inSelection(),p=i.getButton(),g=i.domEvent.detail||1;if(g===1&&p===0&&s){if(i.editor.inMultiSelectMode&&(i.getAccelKey()||i.getShiftKey()))return;this.mousedownEvent.time=Date.now();var C=i.domEvent.target||i.domEvent.srcElement;if("unselectable"in C&&(C.unselectable="on"),r.getDragDelay()){if(c.isWebKit){this.cancelDrag=!0;var k=r.container;k.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(i,this.onMouseDrag.bind(this)),i.defaultPrevented=!0}}}}).call(e.prototype);function n(i,r,s,p){return Math.sqrt(Math.pow(s-i,2)+Math.pow(p-r,2))}d.DragdropHandler=e});ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("./dom");d.get=function(h,c){var l=new XMLHttpRequest;l.open("GET",h,!0),l.onreadystatechange=function(){l.readyState===4&&c(l.responseText)},l.send(null)},d.loadScript=function(h,c){var l=o.getDocumentHead(),a=document.createElement("script");a.src=h,l.appendChild(a),a.onload=a.onreadystatechange=function(t,e){(e||!a.readyState||a.readyState=="loaded"||a.readyState=="complete")&&(a=a.onload=a.onreadystatechange=null,e||c())}},d.qualifyURL=function(h){var c=document.createElement("a");return c.href=h,c.href}});ace.define("ace/lib/event_emitter",["require","exports","module"],function(u,d,x){"use strict";var o={},h=function(){this.propagationStopped=!0},c=function(){this.defaultPrevented=!0};o._emit=o._dispatchEvent=function(l,a){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var t=this._eventRegistry[l]||[],e=this._defaultHandlers[l];if(!(!t.length&&!e)){(typeof a!="object"||!a)&&(a={}),a.type||(a.type=l),a.stopPropagation||(a.stopPropagation=h),a.preventDefault||(a.preventDefault=c),t=t.slice();for(var n=0;n<t.length&&(t[n](a,this),!a.propagationStopped);n++);if(e&&!a.defaultPrevented)return e(a,this)}},o._signal=function(l,a){var t=(this._eventRegistry||{})[l];if(t){t=t.slice();for(var e=0;e<t.length;e++)t[e](a,this)}},o.once=function(l,a){var t=this;a&&this.addEventListener(l,function e(){t.removeEventListener(l,e),a.apply(null,arguments)})},o.setDefaultHandler=function(l,a){var t=this._defaultHandlers;if(t||(t=this._defaultHandlers={_disabled_:{}}),t[l]){var e=t[l],n=t._disabled_[l];n||(t._disabled_[l]=n=[]),n.push(e);var i=n.indexOf(a);i!=-1&&n.splice(i,1)}t[l]=a},o.removeDefaultHandler=function(l,a){var t=this._defaultHandlers;if(t){var e=t._disabled_[l];if(t[l]==a){var n=t[l];e&&this.setDefaultHandler(l,e.pop())}else if(e){var i=e.indexOf(a);i!=-1&&e.splice(i,1)}}},o.on=o.addEventListener=function(l,a,t){this._eventRegistry=this._eventRegistry||{};var e=this._eventRegistry[l];return e||(e=this._eventRegistry[l]=[]),e.indexOf(a)==-1&&e[t?"unshift":"push"](a),a},o.off=o.removeListener=o.removeEventListener=function(l,a){this._eventRegistry=this._eventRegistry||{};var t=this._eventRegistry[l];if(t){var e=t.indexOf(a);e!==-1&&t.splice(e,1)}},o.removeAllListeners=function(l){this._eventRegistry&&(this._eventRegistry[l]=[])},d.EventEmitter=o});ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(u,d,x){"no use strict";var o=u("./oop"),h=u("./event_emitter").EventEmitter,c={setOptions:function(e){Object.keys(e).forEach(function(n){this.setOption(n,e[n])},this)},getOptions:function(e){var n={};return e?Array.isArray(e)||(n=e,e=Object.keys(n)):e=Object.keys(this.$options),e.forEach(function(i){n[i]=this.getOption(i)},this),n},setOption:function(e,n){if(this["$"+e]!==n){var i=this.$options[e];if(!i)return l('misspelled option "'+e+'"');if(i.forwardTo)return this[i.forwardTo]&&this[i.forwardTo].setOption(e,n);i.handlesSet||(this["$"+e]=n),i&&i.set&&i.set.call(this,n)}},getOption:function(e){var n=this.$options[e];return n?n.forwardTo?this[n.forwardTo]&&this[n.forwardTo].getOption(e):n&&n.get?n.get.call(this):this["$"+e]:l('misspelled option "'+e+'"')}};function l(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}function a(e,n){var i=new Error(e);i.data=n,typeof console=="object"&&console.error&&console.error(i),setTimeout(function(){throw i})}var t=function(){this.$defaultOptions={}};(function(){o.implement(this,h),this.defineOptions=function(e,n,i){return e.$options||(this.$defaultOptions[n]=e.$options={}),Object.keys(i).forEach(function(r){var s=i[r];typeof s=="string"&&(s={forwardTo:s}),s.name||(s.name=r),e.$options[s.name]=s,"initialValue"in s&&(e["$"+s.name]=s.initialValue)}),o.implement(e,c),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(n){var i=e.$options[n];"value"in i&&e.setOption(n,i.value)})},this.setDefaultValue=function(e,n,i){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[n]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,n,i):r[n].value=i)},this.setDefaultValues=function(e,n){Object.keys(n).forEach(function(i){this.setDefaultValue(e,i,n[i])},this)},this.warn=l,this.reportError=a}).call(t.prototype),d.AppConfig=t});ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/lib/net","ace/lib/app_config"],function(u,d,x){"no use strict";var o=u("./lib/lang"),h=u("./lib/oop"),c=u("./lib/net"),l=u("./lib/app_config").AppConfig;x.exports=d=new l;var a=function(){return this||typeof window<"u"&&window}(),t={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{}};d.get=function(i){if(!t.hasOwnProperty(i))throw new Error("Unknown config key: "+i);return t[i]},d.set=function(i,r){if(!t.hasOwnProperty(i))throw new Error("Unknown config key: "+i);t[i]=r},d.all=function(){return o.copyObject(t)},d.moduleUrl=function(i,r){if(t.$moduleUrls[i])return t.$moduleUrls[i];var s=i.split("/");r=r||s[s.length-2]||"";var p=r=="snippets"?"/":"-",g=s[s.length-1];if(r=="worker"&&p=="-"){var C=new RegExp("^"+r+"[\\-_]|[\\-_]"+r+"$","g");g=g.replace(C,"")}(!g||g==r)&&s.length>1&&(g=s[s.length-2]);var k=t[r+"Path"];return k==null?k=t.basePath:p=="/"&&(r=p=""),k&&k.slice(-1)!="/"&&(k+="/"),k+r+p+g+this.get("suffix")},d.setModuleUrl=function(i,r){return t.$moduleUrls[i]=r},d.$loading={},d.loadModule=function(i,r){var s,p;Array.isArray(i)&&(p=i[0],i=i[1]);try{s=u(i)}catch{}if(s&&!d.$loading[i])return r&&r(s);if(d.$loading[i]||(d.$loading[i]=[]),d.$loading[i].push(r),!(d.$loading[i].length>1)){var g=function(){u([i],function(C){d._emit("load.module",{name:i,module:C});var k=d.$loading[i];d.$loading[i]=null,k.forEach(function(m){m&&m(C)})})};if(!d.get("packaged"))return g();c.loadScript(d.moduleUrl(i,p),g)}},e(!0);function e(i){if(!(!a||!a.document)){t.packaged=i||u.packaged||x.packaged||a.define&&define.packaged;for(var r={},s="",p=document.currentScript||document._currentScript,g=p&&p.ownerDocument||document,C=g.getElementsByTagName("script"),k=0;k<C.length;k++){var m=C[k],b=m.src||m.getAttribute("src");if(b){for(var f=m.attributes,_=0,A=f.length;_<A;_++){var $=f[_];$.name.indexOf("data-ace-")===0&&(r[n($.name.replace(/^data-ace-/,""))]=$.value)}var v=b.match(/^(.*)\/ace(\-\w+)?\.js(\?|$)/);v&&(s=v[1])}}s&&(r.base=r.base||s,r.packaged=!0),r.basePath=r.base,r.workerPath=r.workerPath||r.base,r.modePath=r.modePath||r.base,r.themePath=r.themePath||r.base,delete r.base;for(var E in r)typeof r[E]<"u"&&d.set(E,r[E])}}d.init=e;function n(i){return i.replace(/-(.)/g,function(r,s){return s.toUpperCase()})}});ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/config"],function(u,d,x){"use strict";var o=u("../lib/event"),h=u("../lib/useragent"),c=u("./default_handlers").DefaultHandlers,l=u("./default_gutter_handler").GutterHandler,a=u("./mouse_event").MouseEvent,t=u("./dragdrop_handler").DragdropHandler,e=u("../config"),n=function(i){var r=this;this.editor=i,new c(this),new l(this),new t(this);var s=function(C){var k=!document.hasFocus||!document.hasFocus()||!i.isFocused()&&document.activeElement==(i.textInput&&i.textInput.getElement());k&&window.focus(),i.focus()},p=i.renderer.getMouseEventTarget();o.addListener(p,"click",this.onMouseEvent.bind(this,"click")),o.addListener(p,"mousemove",this.onMouseMove.bind(this,"mousemove")),o.addMultiMouseDownListener([p,i.renderer.scrollBarV&&i.renderer.scrollBarV.inner,i.renderer.scrollBarH&&i.renderer.scrollBarH.inner,i.textInput&&i.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent"),o.addMouseWheelListener(i.container,this.onMouseWheel.bind(this,"mousewheel")),o.addTouchMoveListener(i.container,this.onTouchMove.bind(this,"touchmove"));var g=i.renderer.$gutter;o.addListener(g,"mousedown",this.onMouseEvent.bind(this,"guttermousedown")),o.addListener(g,"click",this.onMouseEvent.bind(this,"gutterclick")),o.addListener(g,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick")),o.addListener(g,"mousemove",this.onMouseEvent.bind(this,"guttermousemove")),o.addListener(p,"mousedown",s),o.addListener(g,"mousedown",s),h.isIE&&i.renderer.scrollBarV&&(o.addListener(i.renderer.scrollBarV.element,"mousedown",s),o.addListener(i.renderer.scrollBarH.element,"mousedown",s)),i.on("mousemove",function(C){if(!(r.state||r.$dragDelay||!r.$dragEnabled)){var k=i.renderer.screenToTextCoordinates(C.x,C.y),m=i.session.selection.getRange(),b=i.renderer;!m.isEmpty()&&m.insideStart(k.row,k.column)?b.setCursorStyle("default"):b.setCursorStyle("")}})};(function(){this.onMouseEvent=function(i,r){this.editor._emit(i,new a(r,this.editor))},this.onMouseMove=function(i,r){var s=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!s||!s.length||this.editor._emit(i,new a(r,this.editor))},this.onMouseWheel=function(i,r){var s=new a(r,this.editor);s.speed=this.$scrollSpeed*2,s.wheelX=r.wheelX,s.wheelY=r.wheelY,this.editor._emit(i,s)},this.onTouchMove=function(i,r){var s=new a(r,this.editor);s.speed=1,s.wheelX=r.wheelX,s.wheelY=r.wheelY,this.editor._emit(i,s)},this.setState=function(i){this.state=i},this.captureMouse=function(i,r){this.x=i.x,this.y=i.y,this.isMousePressed=!0;var s=this.editor.renderer;s.$keepTextAreaAtCursor&&(s.$keepTextAreaAtCursor=null);var p=this,g=function(b){if(b){if(h.isWebKit&&!b.which&&p.releaseMouse)return p.releaseMouse();p.x=b.clientX,p.y=b.clientY,r&&r(b),p.mouseEvent=new a(b,p.editor),p.$mouseMoved=!0}},C=function(b){clearInterval(m),k(),p[p.state+"End"]&&p[p.state+"End"](b),p.state="",s.$keepTextAreaAtCursor==null&&(s.$keepTextAreaAtCursor=!0,s.$moveTextAreaToCursor()),p.isMousePressed=!1,p.$onCaptureMouseMove=p.releaseMouse=null,b&&p.onMouseEvent("mouseup",b)},k=function(){p[p.state]&&p[p.state](),p.$mouseMoved=!1};if(h.isOldIE&&i.domEvent.type=="dblclick")return setTimeout(function(){C(i)});p.$onCaptureMouseMove=g,p.releaseMouse=o.capture(this.editor.container,g,C);var m=setInterval(k,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var i=function(r){r&&r.domEvent&&r.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",i),r&&r.domEvent&&o.stopEvent(r.domEvent))}.bind(this);setTimeout(i,10),this.editor.on("nativecontextmenu",i)}}).call(n.prototype),e.defineOptions(n.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:h.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),d.MouseHandler=n});ace.define("ace/mouse/fold_handler",["require","exports","module"],function(u,d,x){"use strict";function o(h){h.on("click",function(c){var l=c.getDocumentPosition(),a=h.session,t=a.getFoldAt(l.row,l.column,1);t&&(c.getAccelKey()?a.removeFold(t):a.expandFold(t),c.stop())}),h.on("gutterclick",function(c){var l=h.renderer.$gutterLayer.getRegion(c);if(l=="foldWidgets"){var a=c.getDocumentPosition().row,t=h.session;t.foldWidgets&&t.foldWidgets[a]&&h.session.onFoldWidgetClick(a,c),h.isFocused()||h.focus(),c.stop()}}),h.on("gutterdblclick",function(c){var l=h.renderer.$gutterLayer.getRegion(c);if(l=="foldWidgets"){var a=c.getDocumentPosition().row,t=h.session,e=t.getParentFoldRangeData(a,!0),n=e.range||e.firstRange;if(n){a=n.start.row;var i=t.getFoldAt(a,t.getLine(a).length,1);i?t.removeFold(i):(t.addFold("...",n),h.renderer.scrollCursorIntoView({row:n.start.row,column:0}))}c.stop()}})}d.FoldHandler=o});ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(u,d,x){"use strict";var o=u("../lib/keys"),h=u("../lib/event"),c=function(l){this.$editor=l,this.$data={editor:l},this.$handlers=[],this.setDefaultHandler(l.commands)};(function(){this.setDefaultHandler=function(l){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=l,this.addKeyboardHandler(l,0)},this.setKeyboardHandler=function(l){var a=this.$handlers;if(a[a.length-1]!=l){for(;a[a.length-1]&&a[a.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(a[a.length-1]);this.addKeyboardHandler(l,1)}},this.addKeyboardHandler=function(l,a){if(l){typeof l=="function"&&!l.handleKeyboard&&(l.handleKeyboard=l);var t=this.$handlers.indexOf(l);t!=-1&&this.$handlers.splice(t,1),a==null?this.$handlers.push(l):this.$handlers.splice(a,0,l),t==-1&&l.attach&&l.attach(this.$editor)}},this.removeKeyboardHandler=function(l){var a=this.$handlers.indexOf(l);return a==-1?!1:(this.$handlers.splice(a,1),l.detach&&l.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var l=this.$data,a=l.editor;return this.$handlers.map(function(t){return t.getStatusText&&t.getStatusText(a,l)||""}).filter(Boolean).join(" ")},this.$callKeyboardHandlers=function(l,a,t,e){for(var n,i=!1,r=this.$editor.commands,s=this.$handlers.length;s--&&(n=this.$handlers[s].handleKeyboard(this.$data,l,a,t,e),!(!(!n||!n.command)&&(n.command=="null"?i=!0:i=r.exec(n.command,this.$editor,n.args,e),i&&e&&l!=-1&&n.passEvent!=!0&&n.command.passEvent!=!0&&h.stopEvent(e),i))););return!i&&l==-1&&(n={command:"insertstring"},i=r.exec("insertstring",this.$editor,a)),i&&this.$editor._signal&&this.$editor._signal("keyboardActivity",n),i},this.onCommandKey=function(l,a,t){var e=o.keyCodeToString(t);this.$callKeyboardHandlers(a,e,t,l)},this.onTextInput=function(l){this.$callKeyboardHandlers(-1,l)}}).call(c.prototype),d.KeyBinding=c});ace.define("ace/lib/bidiutil",["require","exports","module"],function(u,d,x){"use strict";var o=["\u0621","\u0641"],h=["\u063A","\u064A"],c=0,l=0,a=!1,t=!1,e=!1,n=!1,i=!1,r=!1,s=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],p=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],g=0,C=1,k=0,m=1,b=2,f=3,_=4,A=5,$=6,v=7,E=8,w=9,y=10,S=11,F=12,M=13,T=14,B=15,I=16,D=17,L=18,H=[L,L,L,L,L,L,L,L,L,$,A,$,E,A,L,L,L,L,L,L,L,L,L,L,L,L,L,L,A,A,A,$,E,_,_,S,S,S,_,_,_,_,_,y,w,y,w,w,b,b,b,b,b,b,b,b,b,b,w,_,_,_,_,_,_,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,_,_,_,_,_,_,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,_,_,_,_,L,L,L,L,L,L,A,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,L,w,_,S,S,S,S,_,_,_,_,k,_,_,L,_,_,S,S,b,b,_,k,_,_,_,b,k,_,_,_,_,_],O=[E,E,E,E,E,E,E,E,E,E,E,L,L,L,k,m,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,A,M,T,B,I,D,w,S,S,S,S,S,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,w,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,E];function P(W,K,Q,Y){var ae=c?p:s,re=null,q=null,ie=null,pe=0,Ie=null,Oe=null,Pe=-1,se=null,ee=null,ce=[];if(!Y)for(se=0,Y=[];se<Q;se++)Y[se]=j(W[se]);for(l=c,a=!1,t=!1,e=!1,n=!1,ee=0;ee<Q;ee++){if(re=pe,ce[ee]=q=V(W,Y,ce,ee),pe=ae[re][q],Ie=pe&240,pe&=15,K[ee]=ie=ae[pe][5],Ie>0)if(Ie==16){for(se=Pe;se<ee;se++)K[se]=1;Pe=-1}else Pe=-1;if(Oe=ae[pe][6],Oe)Pe==-1&&(Pe=ee);else if(Pe>-1){for(se=Pe;se<ee;se++)K[se]=ie;Pe=-1}Y[ee]==A&&(K[ee]=0),l|=ie}if(n){for(se=0;se<Q;se++)if(Y[se]==$){K[se]=c;for(var ge=se-1;ge>=0&&Y[ge]==E;ge--)K[ge]=c}}}function N(W,K,Q){if(!(l<W)){if(W==1&&c==C&&!e){Q.reverse();return}for(var Y=Q.length,ae=0,re,q,ie,pe;ae<Y;){if(K[ae]>=W){for(re=ae+1;re<Y&&K[re]>=W;)re++;for(q=ae,ie=re-1;q<ie;q++,ie--)pe=Q[q],Q[q]=Q[ie],Q[ie]=pe;ae=re}ae++}}}function V(W,K,Q,Y){var ae=K[Y],re,q,ie,pe;switch(ae){case k:case m:a=!1;case _:case f:return ae;case b:return a?f:b;case v:return a=!0,t=!0,m;case E:return _;case w:return Y<1||Y+1>=K.length||(re=Q[Y-1])!=b&&re!=f||(q=K[Y+1])!=b&&q!=f?_:(a&&(q=f),q==re?q:_);case y:return re=Y>0?Q[Y-1]:A,re==b&&Y+1<K.length&&K[Y+1]==b?b:_;case S:if(Y>0&&Q[Y-1]==b)return b;if(a)return _;for(pe=Y+1,ie=K.length;pe<ie&&K[pe]==S;)pe++;return pe<ie&&K[pe]==b?b:_;case F:for(ie=K.length,pe=Y+1;pe<ie&&K[pe]==F;)pe++;if(pe<ie){var Ie=W[Y],Oe=Ie>=1425&&Ie<=2303||Ie==64286;if(re=K[pe],Oe&&(re==m||re==v))return m}return Y<1||(re=K[Y-1])==A?_:Q[Y-1];case A:return a=!1,e=!0,c;case $:return n=!0,_;case M:case T:case I:case D:case B:a=!1;case L:return _}}function j(W){var K=W.charCodeAt(0),Q=K>>8;return Q==0?K>191?k:H[K]:Q==5?/[\u0591-\u05f4]/.test(W)?m:k:Q==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(W)?F:/[\u0660-\u0669\u066b-\u066c]/.test(W)?f:K==1642?S:/[\u06f0-\u06f9]/.test(W)?b:v:Q==32&&K<=8287?O[K&255]:Q==254&&K>=65136?v:_}function G(W){return W>="\u064B"&&W<="\u0655"}d.L=k,d.R=m,d.EN=b,d.ON_R=3,d.AN=4,d.R_H=5,d.B=6,d.DOT="\xB7",d.doBidiReorder=function(W,K,Q){if(W.length<2)return{};var Y=W.split(""),ae=new Array(Y.length),re=new Array(Y.length),q=[];c=Q?C:g,P(Y,q,Y.length,K);for(var ie=0;ie<ae.length;ae[ie]=ie,ie++);N(2,q,ae),N(1,q,ae);for(var ie=0;ie<ae.length-1;ie++)K[ie]===f?q[ie]=d.AN:q[ie]===m&&(K[ie]>v&&K[ie]<M||K[ie]===_||K[ie]===L)?q[ie]=d.ON_R:ie>0&&Y[ie-1]==="\u0644"&&/\u0622|\u0623|\u0625|\u0627/.test(Y[ie])&&(q[ie-1]=q[ie]=d.R_H,ie++);Y[Y.length-1]===d.DOT&&(q[Y.length-1]=d.B);for(var ie=0;ie<ae.length;ie++)re[ie]=q[ae[ie]];return{logicalFromVisual:ae,bidiLevels:re}},d.hasBidiCharacters=function(W,K){for(var Q=!1,Y=0;Y<W.length;Y++)K[Y]=j(W.charAt(Y)),!Q&&(K[Y]==m||K[Y]==v)&&(Q=!0);return Q},d.getVisualFromLogicalIdx=function(W,K){for(var Q=0;Q<K.logicalFromVisual.length;Q++)if(K.logicalFromVisual[Q]==W)return Q;return 0}});ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("./lib/bidiutil"),h=u("./lib/lang"),c=u("./lib/useragent"),l=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,a=function(t){this.session=t,this.bidiMap={},this.currentRow=null,this.bidiUtil=o,this.charWidths=[],this.EOL="\xAC",this.showInvisibles=!0,this.isRtlDir=!1,this.line="",this.wrapIndent=0,this.isLastRow=!1,this.EOF="\xB6",this.seenBidi=!1};(function(){this.isBidiRow=function(t,e,n){return this.seenBidi?(t!==this.currentRow&&(this.currentRow=t,this.updateRowLine(e,n),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},this.onChange=function(t){this.seenBidi?this.currentRow=null:t.action=="insert"&&l.test(t.lines.join(`
`))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var t=0,e=this.session.$screenRowCache;if(e.length){var n=this.session.$getRowCacheIndex(e,this.currentRow);n>=0&&(t=this.session.$docRowCache[n])}return t},this.getSplitIndex=function(){var t=0,e=this.session.$screenRowCache;if(e.length)for(var n,i=this.session.$getRowCacheIndex(e,this.currentRow);this.currentRow-t>0&&(n=this.session.$getRowCacheIndex(e,this.currentRow-t-1),n===i);)i=n,t++;return t},this.updateRowLine=function(t,e){if(t===void 0&&(t=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=t===this.session.getLength()-1,this.line=this.session.getLine(t),this.session.$useWrapMode){var n=this.session.$wrapData[t];n&&(e===void 0&&(e=this.getSplitIndex()),e>0&&n.length?(this.wrapIndent=n.indent,this.line=e<n.length?this.line.substring(n[e-1],n[n.length-1]):this.line.substring(n[n.length-1])):this.line=this.line.substring(0,n[e]))}var i=this.session,r=0,s;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(p,g){return p===" "||i.isFullWidth(p.charCodeAt(0))?(s=p===" "?i.getScreenTabSize(g+r):2,r+=s-1,h.stringRepeat(o.DOT,s)):p})},this.updateBidiMap=function(){var t=[],e=this.isLastRow?this.EOF:this.EOL,n=this.line+(this.showInvisibles?e:o.DOT);o.hasBidiCharacters(n,t)?this.bidiMap=o.doBidiReorder(n,t,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(t){if(this.seenBidi&&this.characterWidth!==t.$characterSize.width){var e=this.characterWidth=t.$characterSize.width,n=t.$measureCharWidth("\u05D4");this.charWidths[o.L]=this.charWidths[o.EN]=this.charWidths[o.ON_R]=e,this.charWidths[o.R]=this.charWidths[o.AN]=n,this.charWidths[o.R_H]=c.isChrome?n:n*.45,this.charWidths[o.B]=0,this.currentRow=null}},this.getShowInvisibles=function(){return this.showInvisibles},this.setShowInvisibles=function(t){this.showInvisibles=t,this.currentRow=null},this.setEolChar=function(t){this.EOL=t},this.setTextDir=function(t){this.isRtlDir=t},this.getPosLeft=function(t){t-=this.wrapIndent;var e=o.getVisualFromLogicalIdx(t>0?t-1:0,this.bidiMap),n=this.bidiMap.bidiLevels,i=0;t===0&&n[e]%2!==0&&e++;for(var r=0;r<e;r++)i+=this.charWidths[n[r]];return t!==0&&n[e]%2===0&&(i+=this.charWidths[n[e]]),this.wrapIndent&&(i+=this.wrapIndent*this.charWidths[o.L]),i},this.getSelections=function(t,e){for(var n=this.bidiMap,i=n.bidiLevels,r,s=this.wrapIndent*this.charWidths[o.L],p=[],g=Math.min(t,e)-this.wrapIndent,C=Math.max(t,e)-this.wrapIndent,k=!1,m=!1,b=0,f,_=0;_<i.length;_++)f=n.logicalFromVisual[_],r=i[_],k=f>=g&&f<C,k&&!m?b=s:!k&&m&&p.push({left:b,width:s-b}),s+=this.charWidths[r],m=k;return k&&_===i.length&&p.push({left:b,width:s-b}),p},this.offsetToCol=function(n){var e=0,n=Math.max(n,0),i=0,r=0,s=this.bidiMap.bidiLevels,p=this.charWidths[s[r]];for(this.wrapIndent&&(n-=this.wrapIndent*this.charWidths[o.L]);n>i+p/2;){if(i+=p,r===s.length-1){p=0;break}p=this.charWidths[s[++r]]}return r>0&&s[r-1]%2!==0&&s[r]%2===0?(n<i&&r--,e=this.bidiMap.logicalFromVisual[r]):r>0&&s[r-1]%2===0&&s[r]%2!==0?e=1+(n>i?this.bidiMap.logicalFromVisual[r]:this.bidiMap.logicalFromVisual[r-1]):this.isRtlDir&&r===s.length-1&&p===0&&s[r-1]%2===0||!this.isRtlDir&&r===0&&s[r]%2!==0?e=1+this.bidiMap.logicalFromVisual[r]:(r>0&&s[r-1]%2!==0&&p!==0&&r--,e=this.bidiMap.logicalFromVisual[r]),e+this.wrapIndent}}).call(a.prototype),d.BidiHandler=a});ace.define("ace/range",["require","exports","module"],function(u,d,x){"use strict";var o=function(c,l){return c.row-l.row||c.column-l.column},h=function(c,l,a,t){this.start={row:c,column:l},this.end={row:a,column:t}};(function(){this.isEqual=function(c){return this.start.row===c.start.row&&this.end.row===c.end.row&&this.start.column===c.start.column&&this.end.column===c.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(c,l){return this.compare(c,l)==0},this.compareRange=function(c){var l,a=c.end,t=c.start;return l=this.compare(a.row,a.column),l==1?(l=this.compare(t.row,t.column),l==1?2:l==0?1:0):l==-1?-2:(l=this.compare(t.row,t.column),l==-1?-1:l==1?42:0)},this.comparePoint=function(c){return this.compare(c.row,c.column)},this.containsRange=function(c){return this.comparePoint(c.start)==0&&this.comparePoint(c.end)==0},this.intersects=function(c){var l=this.compareRange(c);return l==-1||l==0||l==1},this.isEnd=function(c,l){return this.end.row==c&&this.end.column==l},this.isStart=function(c,l){return this.start.row==c&&this.start.column==l},this.setStart=function(c,l){typeof c=="object"?(this.start.column=c.column,this.start.row=c.row):(this.start.row=c,this.start.column=l)},this.setEnd=function(c,l){typeof c=="object"?(this.end.column=c.column,this.end.row=c.row):(this.end.row=c,this.end.column=l)},this.inside=function(c,l){return this.compare(c,l)==0?!(this.isEnd(c,l)||this.isStart(c,l)):!1},this.insideStart=function(c,l){return this.compare(c,l)==0?!this.isEnd(c,l):!1},this.insideEnd=function(c,l){return this.compare(c,l)==0?!this.isStart(c,l):!1},this.compare=function(c,l){return!this.isMultiLine()&&c===this.start.row?l<this.start.column?-1:l>this.end.column?1:0:c<this.start.row?-1:c>this.end.row?1:this.start.row===c?l>=this.start.column?0:-1:this.end.row===c?l<=this.end.column?0:1:0},this.compareStart=function(c,l){return this.start.row==c&&this.start.column==l?-1:this.compare(c,l)},this.compareEnd=function(c,l){return this.end.row==c&&this.end.column==l?1:this.compare(c,l)},this.compareInside=function(c,l){return this.end.row==c&&this.end.column==l?1:this.start.row==c&&this.start.column==l?-1:this.compare(c,l)},this.clipRows=function(c,l){if(this.end.row>l)var a={row:l+1,column:0};else if(this.end.row<c)var a={row:c,column:0};if(this.start.row>l)var t={row:l+1,column:0};else if(this.start.row<c)var t={row:c,column:0};return h.fromPoints(t||this.start,a||this.end)},this.extend=function(c,l){var a=this.compare(c,l);if(a==0)return this;if(a==-1)var t={row:c,column:l};else var e={row:c,column:l};return h.fromPoints(t||this.start,e||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return h.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new h(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new h(this.start.row,0,this.end.row,0)},this.toScreenRange=function(c){var l=c.documentToScreenPosition(this.start),a=c.documentToScreenPosition(this.end);return new h(l.row,l.column,a.row,a.column)},this.moveBy=function(c,l){this.start.row+=c,this.start.column+=l,this.end.row+=c,this.end.column+=l}}).call(h.prototype),h.fromPoints=function(c,l){return new h(c.row,c.column,l.row,l.column)},h.comparePoints=o,h.comparePoints=function(c,l){return c.row-l.row||c.column-l.column},d.Range=h});ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/lang"),c=u("./lib/event_emitter").EventEmitter,l=u("./range").Range,a=function(t){this.session=t,this.doc=t.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var e=this;this.lead.on("change",function(n){e._emit("changeCursor"),e.$isEmpty||e._emit("changeSelection"),!e.$keepDesiredColumnOnChange&&n.old.column!=n.value.column&&(e.$desiredColumn=null)}),this.selectionAnchor.on("change",function(){e.$isEmpty||e._emit("changeSelection")})};(function(){o.implement(this,c),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return this.isEmpty()?!1:this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(t,e){this.anchor.setPosition(t,e),this.$isEmpty&&(this.$isEmpty=!1,this._emit("changeSelection"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(t){if(this.$isEmpty){this.moveCursorTo(this.lead.row,this.lead.column+t);return}var e=this.getSelectionAnchor(),n=this.getSelectionLead(),i=this.isBackwards();(!i||e.column!==0)&&this.setSelectionAnchor(e.row,e.column+t),(i||n.column!==0)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+t)})},this.isBackwards=function(){var t=this.anchor,e=this.lead;return t.row>e.row||t.row==e.row&&t.column>e.column},this.getRange=function(){var t=this.anchor,e=this.lead;return this.isEmpty()?l.fromPoints(e,e):this.isBackwards()?l.fromPoints(e,t):l.fromPoints(t,e)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},this.selectAll=function(){var t=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(t,this.doc.getLine(t).length)},this.setRange=this.setSelectionRange=function(t,e){e?(this.setSelectionAnchor(t.end.row,t.end.column),this.selectTo(t.start.row,t.start.column)):(this.setSelectionAnchor(t.start.row,t.start.column),this.selectTo(t.end.row,t.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(t){var e=this.lead;this.$isEmpty&&this.setSelectionAnchor(e.row,e.column),t.call(this)},this.selectTo=function(t,e){this.$moveSelection(function(){this.moveCursorTo(t,e)})},this.selectToPosition=function(t){this.$moveSelection(function(){this.moveCursorToPosition(t)})},this.moveTo=function(t,e){this.clearSelection(),this.moveCursorTo(t,e)},this.moveToPosition=function(t){this.clearSelection(),this.moveCursorToPosition(t)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(t,e){if(typeof e>"u"){var n=t||this.lead;t=n.row,e=n.column}return this.session.getWordRange(t,e)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var t=this.getCursor(),e=this.session.getAWordRange(t.row,t.column);this.setSelectionRange(e)},this.getLineRange=function(t,e){var n=typeof t=="number"?t:this.lead.row,i,r=this.session.getFoldLine(n);return r?(n=r.start.row,i=r.end.row):i=n,e===!0?new l(n,0,i,this.session.getLine(i).length):new l(n,0,i+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(t,e,n){var i=t.column,r=t.column+e;return n<0&&(i=t.column-e,r=t.column),this.session.isTabStop(t)&&this.doc.getLine(t.row).slice(i,r).split(" ").length-1==e},this.moveCursorLeft=function(){var t=this.lead.getPosition(),e;if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(t.column===0)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var t=this.lead.getPosition(),e;if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),t=this.lead;this.wouldMoveIntoSoftTab(t,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var t=this.lead.row,e=this.lead.column,n=this.session.documentToScreenRow(t,e),i=this.session.screenToDocumentPosition(n,0),r=this.session.getDisplayLine(t,null,i.row,i.column),s=r.match(/^\s*/);s[0].length!=e&&!this.session.$useEmacsStyleLineStart&&(i.column+=s[0].length),this.moveCursorToPosition(i)},this.moveCursorLineEnd=function(){var t=this.lead,e=this.session.getDocumentLastRowColumnPosition(t.row,t.column);if(this.lead.column==e.column){var n=this.session.getLine(e.row);if(e.column==n.length){var i=n.search(/\s+$/);i>0&&(e.column=i)}}this.moveCursorTo(e.row,e.column)},this.moveCursorFileEnd=function(){var t=this.doc.getLength()-1,e=this.doc.getLine(t).length;this.moveCursorTo(t,e)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var t=this.lead.row,e=this.lead.column,n=this.doc.getLine(t),i=n.substring(e),r;this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var s=this.session.getFoldAt(t,e,1);if(s){this.moveCursorTo(s.end.row,s.end.column);return}if((r=this.session.nonTokenRe.exec(i))&&(e+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,i=n.substring(e)),e>=n.length){this.moveCursorTo(t,n.length),this.moveCursorRight(),t<this.doc.getLength()-1&&this.moveCursorWordRight();return}(r=this.session.tokenRe.exec(i))&&(e+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,e)},this.moveCursorLongWordLeft=function(){var t=this.lead.row,e=this.lead.column,n;if(n=this.session.getFoldAt(t,e,-1)){this.moveCursorTo(n.start.row,n.start.column);return}var i=this.session.getFoldStringAt(t,e,-1);i==null&&(i=this.doc.getLine(t).substring(0,e));var r=h.stringReverse(i),s;if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(s=this.session.nonTokenRe.exec(r))&&(e-=this.session.nonTokenRe.lastIndex,r=r.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),e<=0){this.moveCursorTo(t,0),this.moveCursorLeft(),t>0&&this.moveCursorWordLeft();return}(s=this.session.tokenRe.exec(r))&&(e-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(t,e)},this.$shortWordEndIndex=function(t){var e,n=0,i,r=/\s/,s=this.session.tokenRe;if(s.lastIndex=0,e=this.session.tokenRe.exec(t))n=this.session.tokenRe.lastIndex;else{for(;(i=t[n])&&r.test(i);)n++;if(n<1){for(s.lastIndex=0;(i=t[n])&&!s.test(i);)if(s.lastIndex=0,n++,r.test(i))if(n>2){n--;break}else{for(;(i=t[n])&&r.test(i);)n++;if(n>2)break}}}return s.lastIndex=0,n},this.moveCursorShortWordRight=function(){var t=this.lead.row,e=this.lead.column,n=this.doc.getLine(t),i=n.substring(e),r=this.session.getFoldAt(t,e,1);if(r)return this.moveCursorTo(r.end.row,r.end.column);if(e==n.length){var s=this.doc.getLength();do t++,i=this.doc.getLine(t);while(t<s&&/^\s*$/.test(i));/^\s+/.test(i)||(i=""),e=0}var p=this.$shortWordEndIndex(i);this.moveCursorTo(t,e+p)},this.moveCursorShortWordLeft=function(){var t=this.lead.row,e=this.lead.column,n;if(n=this.session.getFoldAt(t,e,-1))return this.moveCursorTo(n.start.row,n.start.column);var i=this.session.getLine(t).substring(0,e);if(e===0){do t--,i=this.doc.getLine(t);while(t>0&&/^\s*$/.test(i));e=i.length,/\s+$/.test(i)||(i="")}var r=h.stringReverse(i),s=this.$shortWordEndIndex(r);return this.moveCursorTo(t,e-s)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(t,e){var n=this.session.documentToScreenPosition(this.lead.row,this.lead.column),i;e===0&&(t!==0&&(this.session.$bidiHandler.isBidiRow(n.row,this.lead.row)?(i=this.session.$bidiHandler.getPosLeft(n.column),n.column=Math.round(i/this.session.$bidiHandler.charWidths[0])):i=n.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?n.column=this.$desiredColumn:this.$desiredColumn=n.column);var r=this.session.screenToDocumentPosition(n.row+t,n.column,i);t!==0&&e===0&&r.row===this.lead.row&&r.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[r.row]&&(r.row>0||t>0)&&r.row++,this.moveCursorTo(r.row,r.column+e,e===0)},this.moveCursorToPosition=function(t){this.moveCursorTo(t.row,t.column)},this.moveCursorTo=function(t,e,n){var i=this.session.getFoldAt(t,e,1);i&&(t=i.start.row,e=i.start.column),this.$keepDesiredColumnOnChange=!0;var r=this.session.getLine(t);/[\uDC00-\uDFFF]/.test(r.charAt(e))&&r.charAt(e-1)&&(this.lead.row==t&&this.lead.column==e+1?e=e-1:e=e+1),this.lead.setPosition(t,e),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(t,e,n){var i=this.session.screenToDocumentPosition(t,e);this.moveCursorTo(i.row,i.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(t){this.setSelectionRange(t,t.cursor==t.start),this.$desiredColumn=t.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(t){var e=this.getRange();return t?(t.start.column=e.start.column,t.start.row=e.start.row,t.end.column=e.end.column,t.end.row=e.end.row):t=e,t.cursor=this.isBackwards()?t.start:t.end,t.desiredColumn=this.$desiredColumn,t},this.getRangeOfMovements=function(t){var e=this.getCursor();try{t(this);var n=this.getCursor();return l.fromPoints(e,n)}catch{return l.fromPoints(e,e)}finally{this.moveCursorToPosition(e)}},this.toJSON=function(){if(this.rangeCount)var t=this.ranges.map(function(e){var n=e.clone();return n.isBackwards=e.cursor==e.start,n});else{var t=this.getRange();t.isBackwards=this.isBackwards()}return t},this.fromJSON=function(t){if(t.start==null)if(this.rangeList){this.toSingleRange(t[0]);for(var e=t.length;e--;){var n=l.fromPoints(t[e].start,t[e].end);t[e].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}else t=t[0];this.rangeList&&this.toSingleRange(t),this.setSelectionRange(t,t.isBackwards)},this.isEqual=function(t){if((t.length||this.rangeCount)&&t.length!=this.rangeCount)return!1;if(!t.length||!this.ranges)return this.getRange().isEqual(t);for(var e=this.ranges.length;e--;)if(!this.ranges[e].isEqual(t[e]))return!1;return!0}}).call(a.prototype),d.Selection=a});ace.define("ace/tokenizer",["require","exports","module","ace/config"],function(u,d,x){"use strict";var o=u("./config"),h=2e3,c=function(l){this.states=l,this.regExps={},this.matchMappings={};for(var a in this.states){for(var t=this.states[a],e=[],n=0,i=this.matchMappings[a]={defaultToken:"text"},r="g",s=[],p=0;p<t.length;p++){var g=t[p];if(g.defaultToken&&(i.defaultToken=g.defaultToken),g.caseInsensitive&&(r="gi"),g.regex!=null){g.regex instanceof RegExp&&(g.regex=g.regex.toString().slice(1,-1));var C=g.regex,k=new RegExp("(?:("+C+")|(.))").exec("a").length-2;Array.isArray(g.token)?g.token.length==1||k==1?g.token=g.token[0]:k-1!=g.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:g,groupCount:k-1}),g.token=g.token[0]):(g.tokenArray=g.token,g.token=null,g.onMatch=this.$arrayTokens):typeof g.token=="function"&&!g.onMatch&&(k>1?g.onMatch=this.$applyToken:g.onMatch=g.token),k>1&&(/\\\d/.test(g.regex)?C=g.regex.replace(/\\([0-9]+)/g,function(m,b){return"\\"+(parseInt(b,10)+n+1)}):(k=1,C=this.removeCapturingGroups(g.regex)),!g.splitRegex&&typeof g.token!="string"&&s.push(g)),i[n]=p,n+=k,e.push(C),g.onMatch||(g.onMatch=null)}}e.length||(i[0]=0,e.push("$")),s.forEach(function(m){m.splitRegex=this.createSplitterRegexp(m.regex,r)},this),this.regExps[a]=new RegExp("("+e.join(")|(")+")|($)",r)}};(function(){this.$setMaxTokenCount=function(l){h=l|0},this.$applyToken=function(l){var a=this.splitRegex.exec(l).slice(1),t=this.token.apply(this,a);if(typeof t=="string")return[{type:t,value:l}];for(var e=[],n=0,i=t.length;n<i;n++)a[n]&&(e[e.length]={type:t[n],value:a[n]});return e},this.$arrayTokens=function(l){if(!l)return[];var a=this.splitRegex.exec(l);if(!a)return"text";for(var t=[],e=this.tokenArray,n=0,i=e.length;n<i;n++)a[n+1]&&(t[t.length]={type:e[n],value:a[n+1]});return t},this.removeCapturingGroups=function(l){var a=l.replace(/\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g,function(t,e){return e?"(?:":t});return a},this.createSplitterRegexp=function(l,a){if(l.indexOf("(?=")!=-1){var t=0,e=!1,n={};l.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(i,r,s,p,g,C){return e?e=g!="]":g?e=!0:p?(t==n.stack&&(n.end=C+1,n.stack=-1),t--):s&&(t++,s.length!=1&&(n.stack=t,n.start=C)),i}),n.end!=null&&/^\)*$/.test(l.substr(n.end))&&(l=l.substring(0,n.start)+l.substr(n.end))}return l.charAt(0)!="^"&&(l="^"+l),l.charAt(l.length-1)!="$"&&(l+="$"),new RegExp(l,(a||"").replace("g",""))},this.getLineTokens=function(l,a){if(a&&typeof a!="string"){var t=a.slice(0);a=t[0],a==="#tmp"&&(t.shift(),a=t.shift())}else var t=[];var e=a||"start",n=this.states[e];n||(e="start",n=this.states[e]);var i=this.matchMappings[e],r=this.regExps[e];r.lastIndex=0;for(var s,p=[],g=0,C=0,k={type:null,value:""};s=r.exec(l);){var m=i.defaultToken,b=null,f=s[0],_=r.lastIndex;if(_-f.length>g){var A=l.substring(g,_-f.length);k.type==m?k.value+=A:(k.type&&p.push(k),k={type:m,value:A})}for(var $=0;$<s.length-2;$++)if(s[$+1]!==void 0){b=n[i[$]],b.onMatch?m=b.onMatch(f,e,t,l):m=b.token,b.next&&(typeof b.next=="string"?e=b.next:e=b.next(e,t),n=this.states[e],n||(this.reportError("state doesn't exist",e),e="start",n=this.states[e]),i=this.matchMappings[e],g=_,r=this.regExps[e],r.lastIndex=_),b.consumeLineEnd&&(g=_);break}if(f){if(typeof m=="string")(!b||b.merge!==!1)&&k.type===m?k.value+=f:(k.type&&p.push(k),k={type:m,value:f});else if(m){k.type&&p.push(k),k={type:null,value:""};for(var $=0;$<m.length;$++)p.push(m[$])}}if(g==l.length)break;if(g=_,C++>h){for(C>2*l.length&&this.reportError("infinite loop with in ace tokenizer",{startState:a,line:l});g<l.length;)k.type&&p.push(k),k={value:l.substring(g,g+=2e3),type:"overflow"};e="start",t=[];break}}return k.type&&p.push(k),t.length>1&&t[0]!==e&&t.unshift("#tmp",e),{tokens:p,state:t.length?t:e}},this.reportError=o.reportError}).call(c.prototype),d.Tokenizer=c});ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/lang"],function(u,d,x){"use strict";var o=u("../lib/lang"),h=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}};(function(){this.addRules=function(a,t){if(!t){for(var e in a)this.$rules[e]=a[e];return}for(var e in a){for(var n=a[e],i=0;i<n.length;i++){var r=n[i];(r.next||r.onMatch)&&(typeof r.next=="string"&&r.next.indexOf(t)!==0&&(r.next=t+r.next),r.nextState&&r.nextState.indexOf(t)!==0&&(r.nextState=t+r.nextState))}this.$rules[t+e]=n}},this.getRules=function(){return this.$rules},this.embedRules=function(a,t,e,n,i){var r=typeof a=="function"?new a().getRules():a;if(n)for(var s=0;s<n.length;s++)n[s]=t+n[s];else{n=[];for(var p in r)n.push(t+p)}if(this.addRules(r,t),e)for(var g=Array.prototype[i?"push":"unshift"],s=0;s<n.length;s++)g.apply(this.$rules[n[s]],o.deepCopy(e));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var c=function(a,t){return(a!="start"||t.length)&&t.unshift(this.nextState,a),this.nextState},l=function(a,t){return t.shift(),t.shift()||"start"};this.normalizeRules=function(){var a=0,t=this.$rules;function e(n){var i=t[n];i.processed=!0;for(var r=0;r<i.length;r++){var s=i[r],p=null;Array.isArray(s)&&(p=s,s={}),!s.regex&&s.start&&(s.regex=s.start,s.next||(s.next=[]),s.next.push({defaultToken:s.token},{token:s.token+".end",regex:s.end||s.start,next:"pop"}),s.token=s.token+".start",s.push=!0);var g=s.next||s.push;if(g&&Array.isArray(g)){var C=s.stateName;C||(C=s.token,typeof C!="string"&&(C=C[0]||""),t[C]&&(C+=a++)),t[C]=g,s.next=C,e(C)}else g=="pop"&&(s.next=l);if(s.push&&(s.nextState=s.next||s.push,s.next=c,delete s.push),s.rules)for(var k in s.rules)t[k]?t[k].push&&t[k].push.apply(t[k],s.rules[k]):t[k]=s.rules[k];var m=typeof s=="string"?s:s.include;if(m&&(Array.isArray(m)?p=m.map(function(f){return t[f]}):p=t[m]),p){var b=[r,1].concat(p);s.noEscape&&(b=b.filter(function(f){return!f.next})),i.splice.apply(i,b),r--}s.keywordMap&&(s.token=this.createKeywordMapper(s.keywordMap,s.defaultToken||"text",s.caseInsensitive),delete s.defaultToken)}}Object.keys(t).forEach(e,this)},this.createKeywordMapper=function(a,t,e,n){var i=Object.create(null);return Object.keys(a).forEach(function(r){var s=a[r];e&&(s=s.toLowerCase());for(var p=s.split(n||"|"),g=p.length;g--;)i[p[g]]=r}),Object.getPrototypeOf(i)&&(i.__proto__=null),this.$keywordList=Object.keys(i),a=null,e?function(r){return i[r.toLowerCase()]||t}:function(r){return i[r]||t}},this.getKeywords=function(){return this.$keywords}}).call(h.prototype),d.TextHighlightRules=h});ace.define("ace/mode/behaviour",["require","exports","module"],function(u,d,x){"use strict";var o=function(){this.$behaviours={}};(function(){this.add=function(h,c,l){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[h]:this.$behaviours[h]={}}this.$behaviours[h][c]=l},this.addBehaviours=function(h){for(var c in h)for(var l in h[c])this.add(c,l,h[c][l])},this.remove=function(h){this.$behaviours&&this.$behaviours[h]&&delete this.$behaviours[h]},this.inherit=function(h,c){if(typeof h=="function")var l=new h().getBehaviours(c);else var l=h.getBehaviours(c);this.addBehaviours(l)},this.getBehaviours=function(h){if(h){for(var c={},l=0;l<h.length;l++)this.$behaviours[h[l]]&&(c[h[l]]=this.$behaviours[h[l]]);return c}else return this.$behaviours}}).call(o.prototype),d.Behaviour=o});ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("./range").Range,h=function(c,l,a){this.$session=c,this.$row=l,this.$rowTokens=c.getTokens(l);var t=c.getTokenAt(l,a);this.$tokenIndex=t?t.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;for(var c;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,c||(c=this.$session.getLength()),this.$row>=c)return this.$row=c-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var c=this.$rowTokens,l=this.$tokenIndex,a=c[l].start;if(a!==void 0)return a;for(a=0;l>0;)l-=1,a+=c[l].value.length;return a},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var c=this.$rowTokens[this.$tokenIndex],l=this.getCurrentTokenColumn();return new o(this.$row,l,this.$row,l+c.value.length)}}).call(h.prototype),d.TokenIterator=h});ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(u,d,x){"use strict";var o=u("../../lib/oop"),h=u("../behaviour").Behaviour,c=u("../../token_iterator").TokenIterator,l=u("../../lib/lang"),a=["text","paren.rparen","punctuation.operator"],t=["text","paren.rparen","punctuation.operator","comment"],e,n={},i={'"':'"',"'":"'"},r=function(g){var C=-1;if(g.multiSelect&&(C=g.selection.index,n.rangeCount!=g.multiSelect.rangeCount&&(n={rangeCount:g.multiSelect.rangeCount})),n[C])return e=n[C];e=n[C]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},s=function(g,C,k,m){var b=g.end.row-g.start.row;return{text:k+C+m,selection:[0,g.start.column+1,b,g.end.column+(b?0:1)]}},p=function(g){this.add("braces","insertion",function(C,k,m,b,f){var _=m.getCursorPosition(),A=b.doc.getLine(_.row);if(f=="{"){r(m);var $=m.getSelectionRange(),v=b.doc.getTextRange($);if(v!==""&&v!=="{"&&m.getWrapBehavioursEnabled())return s($,v,"{","}");if(p.isSaneInsertion(m,b))return/[\]\}\)]/.test(A[_.column])||m.inMultiSelectMode||g&&g.braces?(p.recordAutoInsert(m,b,"}"),{text:"{}",selection:[1,1]}):(p.recordMaybeInsert(m,b,"{"),{text:"{",selection:[1,1]})}else if(f=="}"){r(m);var E=A.substring(_.column,_.column+1);if(E=="}"){var w=b.$findOpeningBracket("}",{column:_.column+1,row:_.row});if(w!==null&&p.isAutoInsertedClosing(_,A,f))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(f==`
`||f==`\r
`){r(m);var y="";p.isMaybeInsertedClosing(_,A)&&(y=l.stringRepeat("}",e.maybeInsertedBrackets),p.clearMaybeInsertedClosing());var E=A.substring(_.column,_.column+1);if(E==="}"){var S=b.findMatchingBracket({row:_.row,column:_.column+1},"}");if(!S)return null;var F=this.$getIndent(b.getLine(S.row))}else if(y)var F=this.$getIndent(A);else{p.clearMaybeInsertedClosing();return}var M=F+b.getTabString();return{text:`
`+M+`
`+F+y,selection:[1,M.length,1,M.length]}}else p.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&_=="{"){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.end.column,f.end.column+1);if($=="}")return f.end.column++,f;e.maybeInsertedBrackets--}}),this.add("parens","insertion",function(C,k,m,b,f){if(f=="("){r(m);var _=m.getSelectionRange(),A=b.doc.getTextRange(_);if(A!==""&&m.getWrapBehavioursEnabled())return s(_,A,"(",")");if(p.isSaneInsertion(m,b))return p.recordAutoInsert(m,b,")"),{text:"()",selection:[1,1]}}else if(f==")"){r(m);var $=m.getCursorPosition(),v=b.doc.getLine($.row),E=v.substring($.column,$.column+1);if(E==")"){var w=b.$findOpeningBracket(")",{column:$.column+1,row:$.row});if(w!==null&&p.isAutoInsertedClosing($,v,f))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&_=="("){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.start.column+1,f.start.column+2);if($==")")return f.end.column++,f}}),this.add("brackets","insertion",function(C,k,m,b,f){if(f=="["){r(m);var _=m.getSelectionRange(),A=b.doc.getTextRange(_);if(A!==""&&m.getWrapBehavioursEnabled())return s(_,A,"[","]");if(p.isSaneInsertion(m,b))return p.recordAutoInsert(m,b,"]"),{text:"[]",selection:[1,1]}}else if(f=="]"){r(m);var $=m.getCursorPosition(),v=b.doc.getLine($.row),E=v.substring($.column,$.column+1);if(E=="]"){var w=b.$findOpeningBracket("]",{column:$.column+1,row:$.row});if(w!==null&&p.isAutoInsertedClosing($,v,f))return p.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&_=="["){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.start.column+1,f.start.column+2);if($=="]")return f.end.column++,f}}),this.add("string_dquotes","insertion",function(C,k,m,b,f){var _=b.$mode.$quotes||i;if(f.length==1&&_[f]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(f)!=-1)return;r(m);var A=f,$=m.getSelectionRange(),v=b.doc.getTextRange($);if(v!==""&&(v.length!=1||!_[v])&&m.getWrapBehavioursEnabled())return s($,v,A,A);if(!v){var E=m.getCursorPosition(),w=b.doc.getLine(E.row),y=w.substring(E.column-1,E.column),S=w.substring(E.column,E.column+1),F=b.getTokenAt(E.row,E.column),M=b.getTokenAt(E.row,E.column+1);if(y=="\\"&&F&&/escape/.test(F.type))return null;var T=F&&/string|escape/.test(F.type),B=!M||/string|escape/.test(M.type),I;if(S==A)I=T!==B,I&&/string\.end/.test(M.type)&&(I=!1);else{if(T&&!B||T&&B)return null;var D=b.$mode.tokenRe;D.lastIndex=0;var L=D.test(y);D.lastIndex=0;var H=D.test(y);if(L||H||S&&!/[\s;,.})\]\\]/.test(S))return null;I=!0}return{text:I?A+A:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(C,k,m,b,f){var _=b.doc.getTextRange(f);if(!f.isMultiLine()&&(_=='"'||_=="'")){r(m);var A=b.doc.getLine(f.start.row),$=A.substring(f.start.column+1,f.start.column+2);if($==_)return f.end.column++,f}})};p.isSaneInsertion=function(g,C){var k=g.getCursorPosition(),m=new c(C,k.row,k.column);if(!this.$matchTokenType(m.getCurrentToken()||"text",a)){var b=new c(C,k.row,k.column+1);if(!this.$matchTokenType(b.getCurrentToken()||"text",a))return!1}return m.stepForward(),m.getCurrentTokenRow()!==k.row||this.$matchTokenType(m.getCurrentToken()||"text",t)},p.$matchTokenType=function(g,C){return C.indexOf(g.type||g)>-1},p.recordAutoInsert=function(g,C,k){var m=g.getCursorPosition(),b=C.doc.getLine(m.row);this.isAutoInsertedClosing(m,b,e.autoInsertedLineEnd[0])||(e.autoInsertedBrackets=0),e.autoInsertedRow=m.row,e.autoInsertedLineEnd=k+b.substr(m.column),e.autoInsertedBrackets++},p.recordMaybeInsert=function(g,C,k){var m=g.getCursorPosition(),b=C.doc.getLine(m.row);this.isMaybeInsertedClosing(m,b)||(e.maybeInsertedBrackets=0),e.maybeInsertedRow=m.row,e.maybeInsertedLineStart=b.substr(0,m.column)+k,e.maybeInsertedLineEnd=b.substr(m.column),e.maybeInsertedBrackets++},p.isAutoInsertedClosing=function(g,C,k){return e.autoInsertedBrackets>0&&g.row===e.autoInsertedRow&&k===e.autoInsertedLineEnd[0]&&C.substr(g.column)===e.autoInsertedLineEnd},p.isMaybeInsertedClosing=function(g,C){return e.maybeInsertedBrackets>0&&g.row===e.maybeInsertedRow&&C.substr(g.column)===e.maybeInsertedLineEnd&&C.substr(0,g.column)==e.maybeInsertedLineStart},p.popAutoInsertedClosing=function(){e.autoInsertedLineEnd=e.autoInsertedLineEnd.substr(1),e.autoInsertedBrackets--},p.clearMaybeInsertedClosing=function(){e&&(e.maybeInsertedBrackets=0,e.maybeInsertedRow=-1)},o.inherits(p,h),d.CstyleBehaviour=p});ace.define("ace/unicode",["require","exports","module"],function(u,d,x){"use strict";d.packages={},o({L:"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",Ll:"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A",Lu:"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A",Lt:"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC",Lm:"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F",Lo:"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",M:"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26",Mn:"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26",Mc:"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC",Me:"0488048906DE20DD-20E020E2-20E4A670-A672",N:"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nd:"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19",Nl:"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF",No:"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835",P:"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65",Pd:"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D",Ps:"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62",Pe:"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63",Pi:"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20",Pf:"00BB2019201D203A2E032E052E0A2E0D2E1D2E21",Pc:"005F203F20402054FE33FE34FE4D-FE4FFF3F",Po:"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65",S:"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD",Sm:"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC",Sc:"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6",Sk:"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3",So:"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD",Z:"002000A01680180E2000-200A20282029202F205F3000",Zs:"002000A01680180E2000-200A202F205F3000",Zl:"2028",Zp:"2029",C:"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF",Cc:"0000-001F007F-009F",Cf:"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB",Co:"E000-F8FF",Cs:"D800-DFFF",Cn:"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF"});function o(h){var c=/\w{4}/g;for(var l in h)d.packages[l]=h[l].replace(c,"\\u$&")}});ace.define("ace/mode/text",["require","exports","module","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(u,d,x){"use strict";var o=u("../tokenizer").Tokenizer,h=u("./text_highlight_rules").TextHighlightRules,c=u("./behaviour/cstyle").CstyleBehaviour,l=u("../unicode"),a=u("../lib/lang"),t=u("../token_iterator").TokenIterator,e=u("../range").Range,n=function(){this.HighlightRules=h};(function(){this.$defaultBehaviour=new c,this.tokenRe=new RegExp("^["+l.packages.L+l.packages.Mn+l.packages.Mc+l.packages.Nd+l.packages.Pc+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+l.packages.L+l.packages.Mn+l.packages.Mc+l.packages.Nd+l.packages.Pc+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new o(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(i,r,s,p){var g=r.doc,C=!0,k=!0,m=1/0,b=r.getTabSize(),f=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var $=this.lineCommentStart.map(a.escapeRegExp).join("|"),_=this.lineCommentStart[0];else var $=a.escapeRegExp(this.lineCommentStart),_=this.lineCommentStart;$=new RegExp("^(\\s*)(?:"+$+") ?"),f=r.getUseSoftTabs();var w=function(L,H){var O=L.match($);if(O){var P=O[1].length,N=O[0].length;!F(L,P,N)&&O[0][N-1]==" "&&N--,g.removeInLine(H,P,N)}},S=_+" ",E=function(L,H){(!C||/\S/.test(L))&&(F(L,m,m)?g.insertInLine({row:H,column:m},S):g.insertInLine({row:H,column:m},_))},y=function(L,H){return $.test(L)},F=function(L,H,O){for(var P=0;H--&&L.charAt(H)==" ";)P++;if(P%b!=0)return!1;for(var P=0;L.charAt(O++)==" ";)P++;return b>2?P%b!=b-1:P%b==0}}else{if(!this.blockComment)return!1;var _=this.blockComment.start,A=this.blockComment.end,$=new RegExp("^(\\s*)(?:"+a.escapeRegExp(_)+")"),v=new RegExp("(?:"+a.escapeRegExp(A)+")\\s*$"),E=function(B,I){y(B,I)||(!C||/\S/.test(B))&&(g.insertInLine({row:I,column:B.length},A),g.insertInLine({row:I,column:m},_))},w=function(B,I){var D;(D=B.match(v))&&g.removeInLine(I,B.length-D[0].length,B.length),(D=B.match($))&&g.removeInLine(I,D[1].length,D[0].length)},y=function(B,I){if($.test(B))return!0;for(var D=r.getTokens(I),L=0;L<D.length;L++)if(D[L].type==="comment")return!0}}function M(B){for(var I=s;I<=p;I++)B(g.getLine(I),I)}var T=1/0;M(function(B,I){var D=B.search(/\S/);D!==-1?(D<m&&(m=D),k&&!y(B,I)&&(k=!1)):T>B.length&&(T=B.length)}),m==1/0&&(m=T,C=!1,k=!1),f&&m%b!=0&&(m=Math.floor(m/b)*b),M(k?w:E)},this.toggleBlockComment=function(i,r,s,p){var g=this.blockComment;if(g){!g.start&&g[0]&&(g=g[0]);var C=new t(r,p.row,p.column),k=C.getCurrentToken(),m=r.selection,b=r.selection.toOrientedRange(),f,_;if(k&&/comment/.test(k.type)){for(var A,$;k&&/comment/.test(k.type);){var v=k.value.indexOf(g.start);if(v!=-1){var E=C.getCurrentTokenRow(),w=C.getCurrentTokenColumn()+v;A=new e(E,w,E,w+g.start.length);break}k=C.stepBackward()}for(var C=new t(r,p.row,p.column),k=C.getCurrentToken();k&&/comment/.test(k.type);){var v=k.value.indexOf(g.end);if(v!=-1){var E=C.getCurrentTokenRow(),w=C.getCurrentTokenColumn()+v;$=new e(E,w,E,w+g.end.length);break}k=C.stepForward()}$&&r.remove($),A&&(r.remove(A),f=A.start.row,_=-g.start.length)}else _=g.start.length,f=s.start.row,r.insert(s.end,g.end),r.insert(s.start,g.start);b.start.row==f&&(b.start.column+=_),b.end.row==f&&(b.end.column+=_),r.selection.fromOrientedRange(b)}},this.getNextLineIndent=function(i,r,s){return this.$getIndent(r)},this.checkOutdent=function(i,r,s){return!1},this.autoOutdent=function(i,r,s){},this.$getIndent=function(i){return i.match(/^\s*/)[0]},this.createWorker=function(i){return null},this.createModeDelegates=function(i){this.$embeds=[],this.$modes={};for(var r in i)i[r]&&(this.$embeds.push(r),this.$modes[r]=new i[r]);for(var s=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],r=0;r<s.length;r++)(function(g){var C=s[r],k=g[C];g[s[r]]=function(){return this.$delegator(C,arguments,k)}})(this)},this.$delegator=function(i,r,s){var p=r[0];typeof p!="string"&&(p=p[0]);for(var g=0;g<this.$embeds.length;g++)if(this.$modes[this.$embeds[g]]){var C=p.split(this.$embeds[g]);if(!C[0]&&C[1]){r[0]=C[1];var k=this.$modes[this.$embeds[g]];return k[i].apply(k,r)}}var m=s.apply(this,r);return s?m:void 0},this.transformAction=function(i,r,s,p,g){if(this.$behaviour){var C=this.$behaviour.getBehaviours();for(var k in C)if(C[k][r]){var m=C[k][r].apply(this,arguments);if(m)return m}}},this.getKeywords=function(i){if(!this.completionKeywords){var r=this.$tokenizer.rules,s=[];for(var p in r)for(var g=r[p],C=0,k=g.length;C<k;C++)if(typeof g[C].token=="string")/keyword|support|storage/.test(g[C].token)&&s.push(g[C].regex);else if(typeof g[C].token=="object"){for(var m=0,b=g[C].token.length;m<b;m++)if(/keyword|support|storage/.test(g[C].token[m])){var p=g[C].regex.match(/\(.+?\)/g)[m];s.push(p.substr(1,p.length-2))}}this.completionKeywords=s}return i?s.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(i,r,s,p){var g=this.$keywordList||this.$createKeywordList();return g.map(function(C){return{name:C,value:C,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(n.prototype),d.Mode=n});ace.define("ace/apply_delta",["require","exports","module"],function(u,d,x){"use strict";function o(l,a){throw console.log("Invalid Delta:",l),"Invalid Delta: "+a}function h(l,a){return a.row>=0&&a.row<l.length&&a.column>=0&&a.column<=l[a.row].length}function c(l,a){a.action!="insert"&&a.action!="remove"&&o(a,"delta.action must be 'insert' or 'remove'"),a.lines instanceof Array||o(a,"delta.lines must be an Array"),(!a.start||!a.end)&&o(a,"delta.start/end must be an present");var t=a.start;h(l,a.start)||o(a,"delta.start must be contained in document");var e=a.end;a.action=="remove"&&!h(l,e)&&o(a,"delta.end must contained in document for 'remove' actions");var n=e.row-t.row,i=e.column-(n==0?t.column:0);(n!=a.lines.length-1||a.lines[n].length!=i)&&o(a,"delta.range must match delta lines")}d.applyDelta=function(l,a,t){var e=a.start.row,n=a.start.column,i=l[e]||"";switch(a.action){case"insert":var r=a.lines;if(r.length===1)l[e]=i.substring(0,n)+a.lines[0]+i.substring(n);else{var s=[e,1].concat(a.lines);l.splice.apply(l,s),l[e]=i.substring(0,n)+l[e],l[e+a.lines.length-1]+=i.substring(n)}break;case"remove":var p=a.end.column,g=a.end.row;e===g?l[e]=i.substring(0,n)+i.substring(p):l.splice(e,g-e+1,i.substring(0,n)+l[g].substring(p));break}}});ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/event_emitter").EventEmitter,c=d.Anchor=function(l,a,t){this.$onChange=this.onChange.bind(this),this.attach(l),typeof t>"u"?this.setPosition(a.row,a.column):this.setPosition(a,t)};(function(){o.implement(this,h),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row)&&!(t.start.row>this.row)){var e=a(t,{row:this.row,column:this.column},this.$insertRight);this.setPosition(e.row,e.column,!0)}};function l(t,e,n){var i=n?t.column<=e.column:t.column<e.column;return t.row<e.row||t.row==e.row&&i}function a(t,e,n){var i=t.action=="insert",r=(i?1:-1)*(t.end.row-t.start.row),s=(i?1:-1)*(t.end.column-t.start.column),p=t.start,g=i?p:t.end;return l(e,p,n)?{row:e.row,column:e.column}:l(g,e,!n)?{row:e.row+r,column:e.column+(e.row==g.row?s:0)}:{row:p.row,column:p.column}}this.setPosition=function(t,e,n){var i;if(n?i={row:t,column:e}:i=this.$clipPositionToDocument(t,e),!(this.row==i.row&&this.column==i.column)){var r={row:this.row,column:this.column};this.row=i.row,this.column=i.column,this._signal("change",{old:r,value:i})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(t){this.document=t||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(t,e){var n={};return t>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):t<0?(n.row=0,n.column=0):(n.row=t,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,e))),e<0&&(n.column=0),n}}).call(c.prototype)});ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./apply_delta").applyDelta,c=u("./lib/event_emitter").EventEmitter,l=u("./range").Range,a=u("./anchor").Anchor,t=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){o.implement(this,c),this.setValue=function(e){var n=this.getLength()-1;this.remove(new l(0,0,n,this.getLine(n).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,n){return new a(this,e,n)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,`
`).split(`
`)}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var n=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=n?n[1]:`
`,this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
`;case"unix":return`
`;default:return this.$autoNewLine||`
`}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e==`\r
`||e=="\r"||e==`
`},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,n){return this.$lines.slice(e,n+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var n;if(e.start.row===e.end.row)n=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{n=this.getLines(e.start.row,e.end.row),n[0]=(n[0]||"").substring(e.start.column);var i=n.length-1;e.end.row-e.start.row==i&&(n[i]=n[i].substring(0,e.end.column))}return n},this.insertLines=function(e,n){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,n)},this.removeLines=function(e,n){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,n)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,n){return this.getLength()<=1&&this.$detectNewLine(n),this.insertMergedLines(e,this.$split(n))},this.insertInLine=function(e,n){var i=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+n.length);return this.applyDelta({start:i,end:r,action:"insert",lines:[n]},!0),this.clonePos(r)},this.clippedPos=function(e,n){var i=this.getLength();e===void 0?e=i:e<0?e=0:e>=i&&(e=i-1,n=void 0);var r=this.getLine(e);return n==null&&(n=r.length),n=Math.min(Math.max(n,0),r.length),{row:e,column:n}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,n){return{row:e,column:n}},this.$clipPosition=function(e){var n=this.getLength();return e.row>=n?(e.row=Math.max(0,n-1),e.column=this.getLine(n-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,n){e=Math.min(Math.max(e,0),this.getLength());var i=0;e<this.getLength()?(n=n.concat([""]),i=0):(n=[""].concat(n),e--,i=this.$lines[e].length),this.insertMergedLines({row:e,column:i},n)},this.insertMergedLines=function(e,n){var i=this.clippedPos(e.row,e.column),r={row:i.row+n.length-1,column:(n.length==1?i.column:0)+n[n.length-1].length};return this.applyDelta({start:i,end:r,action:"insert",lines:n}),this.clonePos(r)},this.remove=function(e){var n=this.clippedPos(e.start.row,e.start.column),i=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:n,end:i,action:"remove",lines:this.getLinesForRange({start:n,end:i})}),this.clonePos(n)},this.removeInLine=function(e,n,i){var r=this.clippedPos(e,n),s=this.clippedPos(e,i);return this.applyDelta({start:r,end:s,action:"remove",lines:this.getLinesForRange({start:r,end:s})},!0),this.clonePos(r)},this.removeFullLines=function(e,n){e=Math.min(Math.max(0,e),this.getLength()-1),n=Math.min(Math.max(0,n),this.getLength()-1);var i=n==this.getLength()-1&&e>0,r=n<this.getLength()-1,s=i?e-1:e,p=i?this.getLine(s).length:0,g=r?n+1:n,C=r?0:this.getLine(g).length,k=new l(s,p,g,C),m=this.$lines.slice(e,n+1);return this.applyDelta({start:k.start,end:k.end,action:"remove",lines:this.getLinesForRange(k)}),m},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,n){if(e instanceof l||(e=l.fromPoints(e.start,e.end)),n.length===0&&e.isEmpty())return e.start;if(n==this.getTextRange(e))return e.end;this.remove(e);var i;return n?i=this.insert(e.start,n):i=e.start,i},this.applyDeltas=function(e){for(var n=0;n<e.length;n++)this.applyDelta(e[n])},this.revertDeltas=function(e){for(var n=e.length-1;n>=0;n--)this.revertDelta(e[n])},this.applyDelta=function(e,n){var i=e.action=="insert";(i?e.lines.length<=1&&!e.lines[0]:!l.comparePoints(e.start,e.end))||(i&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),h(this.$lines,e,n),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,n){var i=e.lines,r=i.length,s=e.start.row,p=e.start.column,g=0,C=0;do{g=C,C+=n-1;var k=i.slice(g,C);if(C>r){e.lines=k,e.start.row=s+g,e.start.column=p;break}k.push(""),this.applyDelta({start:this.pos(s+g,p),end:this.pos(s+C,p=0),action:e.action,lines:k},!0)}while(!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,n){for(var i=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,s=n||0,p=i.length;s<p;s++)if(e-=i[s].length+r,e<0)return{row:s,column:e+i[s].length+r};return{row:p-1,column:i[p-1].length}},this.positionToIndex=function(e,n){for(var i=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,s=0,p=Math.min(e.row,i.length),g=n||0;g<p;++g)s+=i[g].length+r;return s+e.column}}).call(t.prototype),d.Document=t});ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/event_emitter").EventEmitter,c=function(l,a){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=l;var t=this;this.$worker=function(){if(t.running){for(var e=new Date,n=t.currentLine,i=-1,r=t.doc,s=n;t.lines[n];)n++;var p=r.getLength(),g=0;for(t.running=!1;n<p;){t.$tokenizeRow(n),i=n;do n++;while(t.lines[n]);if(g++,g%5===0&&new Date-e>20){t.running=setTimeout(t.$worker,20);break}}t.currentLine=n,i==-1&&(i=n),s<=i&&t.fireUpdateEvent(s,i)}}};(function(){o.implement(this,h),this.setTokenizer=function(l){this.tokenizer=l,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(l){this.doc=l,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(l,a){var t={first:l,last:a};this._signal("update",{data:t})},this.start=function(l){this.currentLine=Math.min(l||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(l){var a=l.start.row,t=l.end.row-a;if(t===0)this.lines[a]=null;else if(l.action=="remove")this.lines.splice(a,t+1,null),this.states.splice(a,t+1,null);else{var e=Array(t+1);e.unshift(a,1),this.lines.splice.apply(this.lines,e),this.states.splice.apply(this.states,e)}this.currentLine=Math.min(a,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(l){return this.lines[l]||this.$tokenizeRow(l)},this.getState=function(l){return this.currentLine==l&&this.$tokenizeRow(l),this.states[l]||"start"},this.$tokenizeRow=function(l){var a=this.doc.getLine(l),t=this.states[l-1],e=this.tokenizer.getLineTokens(a,t,l);return this.states[l]+""!=e.state+""?(this.states[l]=e.state,this.lines[l+1]=null,this.currentLine>l+1&&(this.currentLine=l+1)):this.currentLine==l&&(this.currentLine=l+1),this.lines[l]=e.tokens}}).call(c.prototype),d.BackgroundTokenizer=c});ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(u,d,x){"use strict";var o=u("./lib/lang"),h=u("./lib/oop"),c=u("./range").Range,l=function(a,t,e){this.setRegexp(a),this.clazz=t,this.type=e||"text"};(function(){this.MAX_RANGES=500,this.setRegexp=function(a){this.regExp+""!=a+""&&(this.regExp=a,this.cache=[])},this.update=function(a,t,e,n){if(this.regExp)for(var i=n.firstRow,r=n.lastRow,s=i;s<=r;s++){var p=this.cache[s];p==null&&(p=o.getMatchOffsets(e.getLine(s),this.regExp),p.length>this.MAX_RANGES&&(p=p.slice(0,this.MAX_RANGES)),p=p.map(function(C){return new c(s,C.offset,s,C.offset+C.length)}),this.cache[s]=p.length?p:"");for(var g=p.length;g--;)t.drawSingleLineMarker(a,p[g].toScreenRange(e),this.clazz,n)}}}).call(l.prototype),d.SearchHighlight=l});ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("../range").Range;function h(c,l){this.foldData=c,Array.isArray(l)?this.folds=l:l=this.folds=[l];var a=l[l.length-1];this.range=new o(l[0].start.row,l[0].start.column,a.end.row,a.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(t){t.setFoldLine(this)},this)}(function(){this.shiftRow=function(c){this.start.row+=c,this.end.row+=c,this.folds.forEach(function(l){l.start.row+=c,l.end.row+=c})},this.addFold=function(c){if(c.sameRow){if(c.start.row<this.startRow||c.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(c),this.folds.sort(function(l,a){return-l.range.compareEnd(a.start.row,a.start.column)}),this.range.compareEnd(c.start.row,c.start.column)>0?(this.end.row=c.end.row,this.end.column=c.end.column):this.range.compareStart(c.end.row,c.end.column)<0&&(this.start.row=c.start.row,this.start.column=c.start.column)}else if(c.start.row==this.end.row)this.folds.push(c),this.end.row=c.end.row,this.end.column=c.end.column;else if(c.end.row==this.start.row)this.folds.unshift(c),this.start.row=c.start.row,this.start.column=c.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");c.foldLine=this},this.containsRow=function(c){return c>=this.start.row&&c<=this.end.row},this.walk=function(c,l,a){var t=0,e=this.folds,n,i,r,s=!0;l==null&&(l=this.end.row,a=this.end.column);for(var p=0;p<e.length;p++){if(n=e[p],i=n.range.compareStart(l,a),i==-1){c(null,l,a,t,s);return}if(r=c(null,n.start.row,n.start.column,t,s),r=!r&&c(n.placeholder,n.start.row,n.start.column,t),r||i===0)return;s=!n.sameRow,t=n.end.column}c(null,l,a,t,s)},this.getNextFoldTo=function(c,l){for(var a,t,e=0;e<this.folds.length;e++){if(a=this.folds[e],t=a.range.compareEnd(c,l),t==-1)return{fold:a,kind:"after"};if(t===0)return{fold:a,kind:"inside"}}return null},this.addRemoveChars=function(c,l,a){var t=this.getNextFoldTo(c,l),e,n;if(t){if(e=t.fold,t.kind=="inside"&&e.start.column!=l&&e.start.row!=c)window.console&&window.console.log(c,l,e);else if(e.start.row==c){n=this.folds;var i=n.indexOf(e);for(i===0&&(this.start.column+=a),i;i<n.length;i++){if(e=n[i],e.start.column+=a,!e.sameRow)return;e.end.column+=a}this.end.column+=a}}},this.split=function(c,l){var a=this.getNextFoldTo(c,l);if(!a||a.kind=="inside")return null;var t=a.fold,e=this.folds,n=this.foldData,i=e.indexOf(t),r=e[i-1];this.end.row=r.end.row,this.end.column=r.end.column,e=e.splice(i,e.length-i);var s=new h(n,e);return n.splice(n.indexOf(this)+1,0,s),s},this.merge=function(c){for(var l=c.folds,a=0;a<l.length;a++)this.addFold(l[a]);var t=this.foldData;t.splice(t.indexOf(c),1)},this.toString=function(){var c=[this.range.toString()+": ["];return this.folds.forEach(function(l){c.push(" "+l.toString())}),c.push("]"),c.join(`
`)},this.idxToPosition=function(c){for(var l=0,a=0;a<this.folds.length;a++){var t=this.folds[a];if(c-=t.start.column-l,c<0)return{row:t.start.row,column:t.start.column+c};if(c-=t.placeholder.length,c<0)return t.start;l=t.end.column}return{row:this.end.row,column:this.end.column+c}}}).call(h.prototype),d.FoldLine=h});ace.define("ace/range_list",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("./range").Range,h=o.comparePoints,c=function(){this.ranges=[]};(function(){this.comparePoints=h,this.pointIndex=function(l,a,t){for(var e=this.ranges,n=t||0;n<e.length;n++){var i=e[n],r=h(l,i.end);if(!(r>0)){var s=h(l,i.start);return r===0?a&&s!==0?-n-2:n:s>0||s===0&&!a?n:-n-1}}return-n-1},this.add=function(l){var a=!l.isEmpty(),t=this.pointIndex(l.start,a);t<0&&(t=-t-1);var e=this.pointIndex(l.end,a,t);return e<0?e=-e-1:e++,this.ranges.splice(t,e-t,l)},this.addList=function(l){for(var a=[],t=l.length;t--;)a.push.apply(a,this.add(l[t]));return a},this.substractPoint=function(l){var a=this.pointIndex(l);if(a>=0)return this.ranges.splice(a,1)},this.merge=function(){var l=[],a=this.ranges;a=a.sort(function(r,s){return h(r.start,s.start)});for(var t=a[0],e,n=1;n<a.length;n++){e=t,t=a[n];var i=h(e.end,t.start);i<0||i==0&&!e.isEmpty()&&!t.isEmpty()||(h(e.end,t.end)<0&&(e.end.row=t.end.row,e.end.column=t.end.column),a.splice(n,1),l.push(t),t=e,n--)}return this.ranges=a,l},this.contains=function(l,a){return this.pointIndex({row:l,column:a})>=0},this.containsPoint=function(l){return this.pointIndex(l)>=0},this.rangeAtPoint=function(l){var a=this.pointIndex(l);if(a>=0)return this.ranges[a]},this.clipRows=function(l,a){var t=this.ranges;if(t[0].start.row>a||t[t.length-1].start.row<l)return[];var e=this.pointIndex({row:l,column:0});e<0&&(e=-e-1);var n=this.pointIndex({row:a,column:0},e);n<0&&(n=-n-1);for(var i=[],r=e;r<n;r++)i.push(t[r]);return i},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(l){this.session&&this.detach(),this.session=l,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},this.$onChange=function(l){if(l.action=="insert")var a=l.start,t=l.end;else var t=l.start,a=l.end;for(var e=a.row,n=t.row,i=n-e,r=-a.column+t.column,s=this.ranges,p=0,g=s.length;p<g;p++){var C=s[p];if(!(C.end.row<e)){if(C.start.row>e)break;if(C.start.row==e&&C.start.column>=a.column&&(C.start.column==a.column&&this.$insertRight||(C.start.column+=r,C.start.row+=i)),C.end.row==e&&C.end.column>=a.column){if(C.end.column==a.column&&this.$insertRight)continue;C.end.column==a.column&&r>0&&p<g-1&&C.end.column>C.start.column&&C.end.column==s[p+1].start.column&&(C.end.column-=r),C.end.column+=r,C.end.row+=i}}}if(i!=0&&p<g)for(;p<g;p++){var C=s[p];C.start.row+=i,C.end.row+=i}}}).call(c.prototype),d.RangeList=c});ace.define("ace/edit_session/fold",["require","exports","module","ace/range","ace/range_list","ace/lib/oop"],function(u,d,x){"use strict";var o=u("../range").Range,h=u("../range_list").RangeList,c=u("../lib/oop"),l=d.Fold=function(i,r){this.foldLine=null,this.placeholder=r,this.range=i,this.start=i.start,this.end=i.end,this.sameRow=i.start.row==i.end.row,this.subFolds=this.ranges=[]};c.inherits(l,h),function(){this.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},this.setFoldLine=function(i){this.foldLine=i,this.subFolds.forEach(function(r){r.setFoldLine(i)})},this.clone=function(){var i=this.range.clone(),r=new l(i,this.placeholder);return this.subFolds.forEach(function(s){r.subFolds.push(s.clone())}),r.collapseChildren=this.collapseChildren,r},this.addSubFold=function(i){if(!this.range.isEqual(i)){if(!this.range.containsRange(i))throw new Error("A fold can't intersect already existing fold"+i.range+this.range);t(i,this.start);for(var g=i.start.row,C=i.start.column,r=0,s=-1;r<this.subFolds.length&&(s=this.subFolds[r].range.compare(g,C),s==1);r++);var p=this.subFolds[r];if(s==0)return p.addSubFold(i);for(var g=i.range.end.row,C=i.range.end.column,k=r,s=-1;k<this.subFolds.length&&(s=this.subFolds[k].range.compare(g,C),s==1);k++);var m=this.subFolds[k];if(s==0)throw new Error("A fold can't intersect already existing fold"+i.range+this.range);var b=this.subFolds.splice(r,k-r,i);return i.setFoldLine(this.foldLine),i}},this.restoreRange=function(i){return n(i,this.start)}}.call(l.prototype);function a(i,r){i.row-=r.row,i.row==0&&(i.column-=r.column)}function t(i,r){a(i.start,r),a(i.end,r)}function e(i,r){i.row==0&&(i.column+=r.column),i.row+=r.row}function n(i,r){e(i.start,r),e(i.end,r)}});ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator"],function(u,d,x){"use strict";var o=u("../range").Range,h=u("./fold_line").FoldLine,c=u("./fold").Fold,l=u("../token_iterator").TokenIterator;function a(){this.getFoldAt=function(t,e,n){var i=this.getFoldLine(t);if(!i)return null;for(var r=i.folds,s=0;s<r.length;s++){var p=r[s];if(p.range.contains(t,e)){if(n==1&&p.range.isEnd(t,e))continue;if(n==-1&&p.range.isStart(t,e))continue;return p}}},this.getFoldsInRange=function(t){var e=t.start,n=t.end,i=this.$foldData,r=[];e.column+=1,n.column-=1;for(var s=0;s<i.length;s++){var p=i[s].range.compareRange(t);if(p!=2){if(p==-2)break;for(var g=i[s].folds,C=0;C<g.length;C++){var k=g[C];if(p=k.range.compareRange(t),p==-2)break;if(p==2)continue;if(p==42)break;r.push(k)}}}return e.column-=1,n.column+=1,r},this.getFoldsInRangeList=function(t){if(Array.isArray(t)){var e=[];t.forEach(function(n){e=e.concat(this.getFoldsInRange(n))},this)}else var e=this.getFoldsInRange(t);return e},this.getAllFolds=function(){for(var t=[],e=this.$foldData,n=0;n<e.length;n++)for(var i=0;i<e[n].folds.length;i++)t.push(e[n].folds[i]);return t},this.getFoldStringAt=function(t,e,n,i){if(i=i||this.getFoldLine(t),!i)return null;for(var r={end:{column:0}},s,p,g=0;g<i.folds.length;g++){p=i.folds[g];var C=p.range.compareEnd(t,e);if(C==-1){s=this.getLine(p.start.row).substring(r.end.column,p.start.column);break}else if(C===0)return null;r=p}return s||(s=this.getLine(p.start.row).substring(r.end.column)),n==-1?s.substring(0,e-r.end.column):n==1?s.substring(e-r.end.column):s},this.getFoldLine=function(t,e){var n=this.$foldData,i=0;for(e&&(i=n.indexOf(e)),i==-1&&(i=0),i;i<n.length;i++){var r=n[i];if(r.start.row<=t&&r.end.row>=t)return r;if(r.end.row>t)return null}return null},this.getNextFoldLine=function(t,e){var n=this.$foldData,i=0;for(e&&(i=n.indexOf(e)),i==-1&&(i=0),i;i<n.length;i++){var r=n[i];if(r.end.row>=t)return r}return null},this.getFoldedRowCount=function(t,e){for(var n=this.$foldData,i=e-t+1,r=0;r<n.length;r++){var s=n[r],p=s.end.row,g=s.start.row;if(p>=e){g<e&&(g>=t?i-=e-g:i=0);break}else p>=t&&(g>=t?i-=p-g:i-=p-t+1)}return i},this.$addFoldLine=function(t){return this.$foldData.push(t),this.$foldData.sort(function(e,n){return e.start.row-n.start.row}),t},this.addFold=function(t,e){var n=this.$foldData,i=!1,r;t instanceof c?r=t:(r=new c(e,t),r.collapseChildren=e.collapseChildren),this.$clipRangeToDocument(r.range);var s=r.start.row,p=r.start.column,g=r.end.row,C=r.end.column;if(!(s<g||s==g&&p<=C-2))throw new Error("The range has to be at least 2 characters width");var k=this.getFoldAt(s,p,1),m=this.getFoldAt(g,C,-1);if(k&&m==k)return k.addSubFold(r);k&&!k.range.isStart(s,p)&&this.removeFold(k),m&&!m.range.isEnd(g,C)&&this.removeFold(m);var b=this.getFoldsInRange(r.range);b.length>0&&(this.removeFolds(b),b.forEach(function($){r.addSubFold($)}));for(var f=0;f<n.length;f++){var _=n[f];if(g==_.start.row){_.addFold(r),i=!0;break}else if(s==_.end.row){if(_.addFold(r),i=!0,!r.sameRow){var A=n[f+1];if(A&&A.start.row==g){_.merge(A);break}}break}else if(g<=_.start.row)break}return i||(_=this.$addFoldLine(new h(this.$foldData,r))),this.$useWrapMode?this.$updateWrapData(_.start.row,_.start.row):this.$updateRowLengthCache(_.start.row,_.start.row),this.$modified=!0,this._signal("changeFold",{data:r,action:"add"}),r},this.addFolds=function(t){t.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(t){var e=t.foldLine,n=e.start.row,i=e.end.row,r=this.$foldData,s=e.folds;if(s.length==1)r.splice(r.indexOf(e),1);else if(e.range.isEnd(t.end.row,t.end.column))s.pop(),e.end.row=s[s.length-1].end.row,e.end.column=s[s.length-1].end.column;else if(e.range.isStart(t.start.row,t.start.column))s.shift(),e.start.row=s[0].start.row,e.start.column=s[0].start.column;else if(t.sameRow)s.splice(s.indexOf(t),1);else{var p=e.split(t.start.row,t.start.column);s=p.folds,s.shift(),p.start.row=s[0].start.row,p.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,i):this.$updateRowLengthCache(n,i)),this.$modified=!0,this._signal("changeFold",{data:t,action:"remove"})},this.removeFolds=function(t){for(var e=[],n=0;n<t.length;n++)e.push(t[n]);e.forEach(function(i){this.removeFold(i)},this),this.$modified=!0},this.expandFold=function(t){this.removeFold(t),t.subFolds.forEach(function(e){t.restoreRange(e),this.addFold(e)},this),t.collapseChildren>0&&this.foldAll(t.start.row+1,t.end.row,t.collapseChildren-1),t.subFolds=[]},this.expandFolds=function(t){t.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(t,e){var n,i;if(t==null?(n=new o(0,0,this.getLength(),0),e=!0):typeof t=="number"?n=new o(t,0,t,this.getLine(t).length):"row"in t?n=o.fromPoints(t,t):n=t,i=this.getFoldsInRangeList(n),e)this.removeFolds(i);else for(var r=i;r.length;)this.expandFolds(r),r=this.getFoldsInRangeList(n);if(i.length)return i},this.isRowFolded=function(t,e){return!!this.getFoldLine(t,e)},this.getRowFoldEnd=function(t,e){var n=this.getFoldLine(t,e);return n?n.end.row:t},this.getRowFoldStart=function(t,e){var n=this.getFoldLine(t,e);return n?n.start.row:t},this.getFoldDisplayLine=function(t,e,n,i,r){i==null&&(i=t.start.row),r==null&&(r=0),e==null&&(e=t.end.row),n==null&&(n=this.getLine(e).length);var s=this.doc,p="";return t.walk(function(g,C,k,m){if(!(C<i)){if(C==i){if(k<r)return;m=Math.max(r,m)}g!=null?p+=g:p+=s.getLine(C).substring(m,k)}},e,n),p},this.getDisplayLine=function(t,e,n,i){var r=this.getFoldLine(t);if(r)return this.getFoldDisplayLine(r,t,e,n,i);var s;return s=this.doc.getLine(t),s.substring(i||0,e||s.length)},this.$cloneFoldData=function(){var t=[];return t=this.$foldData.map(function(e){var n=e.folds.map(function(i){return i.clone()});return new h(t,n)}),t},this.toggleFold=function(t){var e=this.selection,n=e.getRange(),i,r;if(n.isEmpty()){var s=n.start;if(i=this.getFoldAt(s.row,s.column),i){this.expandFold(i);return}else(r=this.findMatchingBracket(s))?n.comparePoint(r)==1?n.end=r:(n.start=r,n.start.column++,n.end.column--):(r=this.findMatchingBracket({row:s.row,column:s.column+1}))?(n.comparePoint(r)==1?n.end=r:n.start=r,n.start.column++):n=this.getCommentFoldRange(s.row,s.column)||n}else{var p=this.getFoldsInRange(n);if(t&&p.length){this.expandFolds(p);return}else p.length==1&&(i=p[0])}if(i||(i=this.getFoldAt(n.start.row,n.start.column)),i&&i.range.toString()==n.toString()){this.expandFold(i);return}var g="...";if(!n.isMultiLine()){if(g=this.getTextRange(n),g.length<4)return;g=g.trim().substring(0,2)+".."}this.addFold(g,n)},this.getCommentFoldRange=function(t,e,n){var i=new l(this,t,e),r=i.getCurrentToken(),s=r.type;if(r&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s=="comment"&&(s+="|doc-start");var p=new RegExp(s),g=new o;if(n!=1){do r=i.stepBackward();while(r&&p.test(r.type));i.stepForward()}if(g.start.row=i.getCurrentTokenRow(),g.start.column=i.getCurrentTokenColumn()+2,i=new l(this,t,e),n!=-1){var C=-1;do if(r=i.stepForward(),C==-1){var k=this.getState(i.$row);p.test(k)||(C=i.$row)}else if(i.$row>C)break;while(r&&p.test(r.type));r=i.stepBackward()}else r=i.getCurrentToken();return g.end.row=i.getCurrentTokenRow(),g.end.column=i.getCurrentTokenColumn()+r.value.length-2,g}},this.foldAll=function(t,e,n){n==null&&(n=1e5);var i=this.foldWidgets;if(i){e=e||this.getLength(),t=t||0;for(var r=t;r<e;r++)if(i[r]==null&&(i[r]=this.getFoldWidget(r)),i[r]=="start"){var s=this.getFoldWidgetRange(r);if(s&&s.isMultiLine()&&s.end.row<=e&&s.start.row>=t){r=s.end.row;try{var p=this.addFold("...",s);p&&(p.collapseChildren=n)}catch{}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(t){if(!this.$foldStyles[t])throw new Error("invalid fold style: "+t+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=t){this.$foldStyle=t,t=="manual"&&this.unfold();var e=this.$foldMode;this.$setFolding(null),this.$setFolding(e)}},this.$setFolding=function(t){if(this.$foldMode!=t){if(this.$foldMode=t,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!t||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=t.getFoldWidget.bind(t,this,this.$foldStyle),this.getFoldWidgetRange=t.getFoldWidgetRange.bind(t,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(t,e){var n=this.foldWidgets;if(!n||e&&n[t])return{};for(var i=t-1,r;i>=0;){var s=n[i];if(s==null&&(s=n[i]=this.getFoldWidget(i)),s=="start"){var p=this.getFoldWidgetRange(i);if(r||(r=p),p&&p.end.row>=t)break}i--}return{range:i!==-1&&p,firstRange:r}},this.onFoldWidgetClick=function(t,e){e=e.domEvent;var n={children:e.shiftKey,all:e.ctrlKey||e.metaKey,siblings:e.altKey},i=this.$toggleFoldWidget(t,n);if(!i){var r=e.target||e.srcElement;r&&/ace_fold-widget/.test(r.className)&&(r.className+=" ace_invalid")}},this.$toggleFoldWidget=function(t,e){if(this.getFoldWidget){var n=this.getFoldWidget(t),i=this.getLine(t),r=n==="end"?-1:1,s=this.getFoldAt(t,r===-1?0:i.length,r);if(s)return e.children||e.all?this.removeFold(s):this.expandFold(s),s;var p=this.getFoldWidgetRange(t,!0);if(p&&!p.isMultiLine()&&(s=this.getFoldAt(p.start.row,p.start.column,1),s&&p.isEqual(s.range)))return this.removeFold(s),s;if(e.siblings){var g=this.getParentFoldRangeData(t);if(g.range)var C=g.range.start.row+1,k=g.range.end.row;this.foldAll(C,k,e.all?1e4:0)}else e.children?(k=p?p.end.row:this.getLength(),this.foldAll(t+1,k,e.all?1e4:0)):p&&(e.all&&(p.collapseChildren=1e4),this.addFold("...",p));return p}},this.toggleFoldWidget=function(t){var e=this.selection.getCursor().row;e=this.getRowFoldStart(e);var n=this.$toggleFoldWidget(e,{});if(!n){var i=this.getParentFoldRangeData(e,!0);if(n=i.range||i.firstRange,n){e=n.start.row;var r=this.getFoldAt(e,this.getLine(e).length,1);r?this.removeFold(r):this.addFold("...",n)}}},this.updateFoldWidgets=function(t){var e=t.start.row,n=t.end.row-e;if(n===0)this.foldWidgets[e]=null;else if(t.action=="remove")this.foldWidgets.splice(e,n+1,null);else{var i=Array(n+1);i.unshift(e,1),this.foldWidgets.splice.apply(this.foldWidgets,i)}},this.tokenizerUpdateFoldWidgets=function(t){var e=t.data;e.first!=e.last&&this.foldWidgets.length>e.first&&this.foldWidgets.splice(e.first,this.foldWidgets.length)}}d.Folding=a});ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(u,d,x){"use strict";var o=u("../token_iterator").TokenIterator,h=u("../range").Range;function c(){this.findMatchingBracket=function(l,a){if(l.column==0)return null;var t=a||this.getLine(l.row).charAt(l.column-1);if(t=="")return null;var e=t.match(/([\(\[\{])|([\)\]\}])/);return e?e[1]?this.$findClosingBracket(e[1],l):this.$findOpeningBracket(e[2],l):null},this.getBracketRange=function(l){var a=this.getLine(l.row),t=!0,e,n=a.charAt(l.column-1),i=n&&n.match(/([\(\[\{])|([\)\]\}])/);if(i||(n=a.charAt(l.column),l={row:l.row,column:l.column+1},i=n&&n.match(/([\(\[\{])|([\)\]\}])/),t=!1),!i)return null;if(i[1]){var r=this.$findClosingBracket(i[1],l);if(!r)return null;e=h.fromPoints(l,r),t||(e.end.column++,e.start.column--),e.cursor=e.end}else{var r=this.$findOpeningBracket(i[2],l);if(!r)return null;e=h.fromPoints(r,l),t||(e.start.column++,e.end.column--),e.cursor=e.start}return e},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{"},this.$findOpeningBracket=function(l,a,t){var e=this.$brackets[l],n=1,i=new o(this,a.row,a.column),r=i.getCurrentToken();if(r||(r=i.stepForward()),!!r){t||(t=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)")+")+"));for(var s=a.column-i.getCurrentTokenColumn()-2,p=r.value;;){for(;s>=0;){var g=p.charAt(s);if(g==e){if(n-=1,n==0)return{row:i.getCurrentTokenRow(),column:s+i.getCurrentTokenColumn()}}else g==l&&(n+=1);s-=1}do r=i.stepBackward();while(r&&!t.test(r.type));if(r==null)break;p=r.value,s=p.length-1}return null}},this.$findClosingBracket=function(l,a,t){var e=this.$brackets[l],n=1,i=new o(this,a.row,a.column),r=i.getCurrentToken();if(r||(r=i.stepForward()),!!r){t||(t=new RegExp("(\\.?"+r.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)")+")+"));for(var s=a.column-i.getCurrentTokenColumn();;){for(var p=r.value,g=p.length;s<g;){var C=p.charAt(s);if(C==e){if(n-=1,n==0)return{row:i.getCurrentTokenRow(),column:s+i.getCurrentTokenColumn()}}else C==l&&(n+=1);s+=1}do r=i.stepForward();while(r&&!t.test(r.type));if(r==null)break;s=0}return null}}}d.BracketMatch=c});ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/document","ace/background_tokenizer","ace/search_highlight","ace/edit_session/folding","ace/edit_session/bracket_match"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/lang"),c=u("./bidihandler").BidiHandler,l=u("./config"),a=u("./lib/event_emitter").EventEmitter,t=u("./selection").Selection,e=u("./mode/text").Mode,n=u("./range").Range,i=u("./document").Document,r=u("./background_tokenizer").BackgroundTokenizer,s=u("./search_highlight").SearchHighlight,p=function(g,C){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id="session"+ ++p.$uid,this.$foldData.toString=function(){return this.join(`
`)},this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof g!="object"||!g.getLine)&&(g=new i(g)),this.$bidiHandler=new c(this),this.setDocument(g),this.selection=new t(this),l.resetOptions(this),this.setMode(C),l._signal("session",this)};p.$uid=0,function(){o.implement(this,a),this.setDocument=function(v){this.doc&&this.doc.removeListener("change",this.$onChange),this.doc=v,v.on("change",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(v){if(!v){this.$docRowCache=[],this.$screenRowCache=[];return}var E=this.$docRowCache.length,w=this.$getRowCacheIndex(this.$docRowCache,v)+1;E>w&&(this.$docRowCache.splice(w,E),this.$screenRowCache.splice(w,E))},this.$getRowCacheIndex=function(v,E){for(var w=0,y=v.length-1;w<=y;){var S=w+y>>1,F=v[S];if(E>F)w=S+1;else if(E<F)y=S-1;else return S}return w-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(v){var E=v.data;this.$resetRowCache(E.start.row)},this.onChange=function(v){this.$modified=!0,this.$bidiHandler.onChange(v),this.$resetRowCache(v.start.row);var E=this.$updateInternalDataOnChange(v);!this.$fromUndo&&this.$undoManager&&!v.ignore&&(this.$deltasDoc.push(v),E&&E.length!=0&&this.$deltasFold.push({action:"removeFolds",folds:E}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(v),this._signal("change",v)},this.setValue=function(v){this.doc.setValue(v),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(v){return this.bgTokenizer.getState(v)},this.getTokens=function(v){return this.bgTokenizer.getTokens(v)},this.getTokenAt=function(v,E){var w=this.bgTokenizer.getTokens(v),y,S=0;if(E==null){var F=w.length-1;S=this.getLine(v).length}else for(var F=0;F<w.length&&(S+=w[F].value.length,!(S>=E));F++);return y=w[F],y?(y.index=F,y.start=S-y.value.length,y):null},this.setUndoManager=function(v){if(this.$undoManager=v,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),v){var E=this;this.$syncInformUndoManager=function(){E.$informUndoManager.cancel(),E.$deltasFold.length&&(E.$deltas.push({group:"fold",deltas:E.$deltasFold}),E.$deltasFold=[]),E.$deltasDoc.length&&(E.$deltas.push({group:"doc",deltas:E.$deltasDoc}),E.$deltasDoc=[]),E.$deltas.length>0&&v.execute({action:"aceupdate",args:[E.$deltas,E],merge:E.mergeUndoDeltas}),E.mergeUndoDeltas=!1,E.$deltas=[]},this.$informUndoManager=h.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?h.stringRepeat(" ",this.getTabSize()):" "},this.setUseSoftTabs=function(v){this.setOption("useSoftTabs",v)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(v){this.setOption("tabSize",v)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(v){return this.$useSoftTabs&&v.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(v){this.setOption("navigateWithinSoftTabs",v)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(v){this.setOption("overwrite",v)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(v,E){this.$decorations[v]||(this.$decorations[v]=""),this.$decorations[v]+=" "+E,this._signal("changeBreakpoint",{})},this.removeGutterDecoration=function(v,E){this.$decorations[v]=(this.$decorations[v]||"").replace(" "+E,""),this._signal("changeBreakpoint",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(v){this.$breakpoints=[];for(var E=0;E<v.length;E++)this.$breakpoints[v[E]]="ace_breakpoint";this._signal("changeBreakpoint",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},this.setBreakpoint=function(v,E){E===void 0&&(E="ace_breakpoint"),E?this.$breakpoints[v]=E:delete this.$breakpoints[v],this._signal("changeBreakpoint",{})},this.clearBreakpoint=function(v){delete this.$breakpoints[v],this._signal("changeBreakpoint",{})},this.addMarker=function(v,E,w,y){var S=this.$markerId++,F={range:v,type:w||"line",renderer:typeof w=="function"?w:null,clazz:E,inFront:!!y,id:S};return y?(this.$frontMarkers[S]=F,this._signal("changeFrontMarker")):(this.$backMarkers[S]=F,this._signal("changeBackMarker")),S},this.addDynamicMarker=function(v,E){if(v.update){var w=this.$markerId++;return v.id=w,v.inFront=!!E,E?(this.$frontMarkers[w]=v,this._signal("changeFrontMarker")):(this.$backMarkers[w]=v,this._signal("changeBackMarker")),v}},this.removeMarker=function(v){var E=this.$frontMarkers[v]||this.$backMarkers[v];if(E){var w=E.inFront?this.$frontMarkers:this.$backMarkers;E&&(delete w[v],this._signal(E.inFront?"changeFrontMarker":"changeBackMarker"))}},this.getMarkers=function(v){return v?this.$frontMarkers:this.$backMarkers},this.highlight=function(v){if(!this.$searchHighlight){var E=new s(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(E)}this.$searchHighlight.setRegexp(v)},this.highlightLines=function(v,E,w,y){typeof E!="number"&&(w=E,E=v),w||(w="ace_step");var S=new n(v,0,E,1/0);return S.id=this.addMarker(S,w,"fullLine",y),S},this.setAnnotations=function(v){this.$annotations=v,this._signal("changeAnnotation",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(v){var E=v.match(/^.*?(\r?\n)/m);E?this.$autoNewLine=E[1]:this.$autoNewLine=`
`},this.getWordRange=function(v,E){var w=this.getLine(v),y=!1;if(E>0&&(y=!!w.charAt(E-1).match(this.tokenRe)),y||(y=!!w.charAt(E).match(this.tokenRe)),y)var S=this.tokenRe;else if(/^\s+$/.test(w.slice(E-1,E+1)))var S=/\s/;else var S=this.nonTokenRe;var F=E;if(F>0){do F--;while(F>=0&&w.charAt(F).match(S));F++}for(var M=E;M<w.length&&w.charAt(M).match(S);)M++;return new n(v,F,v,M)},this.getAWordRange=function(v,E){for(var w=this.getWordRange(v,E),y=this.getLine(w.end.row);y.charAt(w.end.column).match(/[ \t]/);)w.end.column+=1;return w},this.setNewLineMode=function(v){this.doc.setNewLineMode(v)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(v){this.setOption("useWorker",v)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(v){var E=v.data;this.bgTokenizer.start(E.first),this._signal("tokenizerUpdate",v)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(v,E){if(v&&typeof v=="object"){if(v.getTokenizer)return this.$onChangeMode(v);var w=v,y=w.path}else y=v||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new e),this.$modes[y]&&!w){this.$onChangeMode(this.$modes[y]),E&&E();return}this.$modeId=y,l.loadModule(["mode",y],function(S){if(this.$modeId!==y)return E&&E();this.$modes[y]&&!w?this.$onChangeMode(this.$modes[y]):S&&S.Mode&&(S=new S.Mode(w),w||(this.$modes[y]=S,S.$id=y),this.$onChangeMode(S)),E&&E()}.bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},this.$onChangeMode=function(v,E){if(E||(this.$modeId=v.$id),this.$mode!==v){this.$mode=v,this.$stopWorker(),this.$useWorker&&this.$startWorker();var w=v.getTokenizer();if(w.addEventListener!==void 0){var y=this.onReloadTokenizer.bind(this);w.addEventListener("update",y)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(w);else{this.bgTokenizer=new r(w);var S=this;this.bgTokenizer.addEventListener("update",function(F){S._signal("tokenizerUpdate",F)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=v.tokenRe,this.nonTokenRe=v.nonTokenRe,E||(v.attachToSession&&v.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(v.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(v){l.warn("Could not load worker",v),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(v){this.$scrollTop===v||isNaN(v)||(this.$scrollTop=v,this._signal("changeScrollTop",v))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(v){this.$scrollLeft===v||isNaN(v)||(this.$scrollLeft=v,this._signal("changeScrollLeft",v))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var v=0;return this.lineWidgets.forEach(function(E){E&&E.screenWidth>v&&(v=E.screenWidth)}),this.lineWidgetWidth=v},this.$computeWidth=function(v){if(this.$modified||v){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var E=this.doc.getAllLines(),w=this.$rowLengthCache,y=0,S=0,F=this.$foldData[S],M=F?F.start.row:1/0,T=E.length,B=0;B<T;B++){if(B>M){if(B=F.end.row+1,B>=T)break;F=this.$foldData[S++],M=F?F.start.row:1/0}w[B]==null&&(w[B]=this.$getStringScreenWidth(E[B])[0]),w[B]>y&&(y=w[B])}this.screenWidth=y}},this.getLine=function(v){return this.doc.getLine(v)},this.getLines=function(v,E){return this.doc.getLines(v,E)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(v){return this.doc.getTextRange(v||this.selection.getRange())},this.insert=function(v,E){return this.doc.insert(v,E)},this.remove=function(v){return this.doc.remove(v)},this.removeFullLines=function(v,E){return this.doc.removeFullLines(v,E)},this.undoChanges=function(v,E){if(v.length){this.$fromUndo=!0;for(var w=null,y=v.length-1;y!=-1;y--){var S=v[y];S.group=="doc"?(this.doc.revertDeltas(S.deltas),w=this.$getUndoSelection(S.deltas,!0,w)):S.deltas.forEach(function(F){this.addFolds(F.folds)},this)}return this.$fromUndo=!1,w&&this.$undoSelect&&!E&&this.selection.setSelectionRange(w),w}},this.redoChanges=function(v,E){if(v.length){this.$fromUndo=!0;for(var w=null,y=0;y<v.length;y++){var S=v[y];S.group=="doc"&&(this.doc.applyDeltas(S.deltas),w=this.$getUndoSelection(S.deltas,!1,w))}return this.$fromUndo=!1,w&&this.$undoSelect&&!E&&this.selection.setSelectionRange(w),w}},this.setUndoSelect=function(v){this.$undoSelect=v},this.$getUndoSelection=function(v,E,w){function y(D){return E?D.action!=="insert":D.action==="insert"}var S=v[0],F,M,T=!1;y(S)?(F=n.fromPoints(S.start,S.end),T=!0):(F=n.fromPoints(S.start,S.start),T=!1);for(var B=1;B<v.length;B++)S=v[B],y(S)?(M=S.start,F.compare(M.row,M.column)==-1&&F.setStart(M),M=S.end,F.compare(M.row,M.column)==1&&F.setEnd(M),T=!0):(M=S.start,F.compare(M.row,M.column)==-1&&(F=n.fromPoints(S.start,S.start)),T=!1);if(w!=null){n.comparePoints(w.start,F.start)===0&&(w.start.column+=F.end.column-F.start.column,w.end.column+=F.end.column-F.start.column);var I=w.compareRange(F);I==1?F.setStart(w.start):I==-1&&F.setEnd(w.end)}return F},this.replace=function(v,E){return this.doc.replace(v,E)},this.moveText=function(v,E,w){var y=this.getTextRange(v),S=this.getFoldsInRange(v),F=n.fromPoints(E,E);if(!w){this.remove(v);var M=v.start.row-v.end.row,T=M?-v.end.column:v.start.column-v.end.column;T&&(F.start.row==v.end.row&&F.start.column>v.end.column&&(F.start.column+=T),F.end.row==v.end.row&&F.end.column>v.end.column&&(F.end.column+=T)),M&&F.start.row>=v.end.row&&(F.start.row+=M,F.end.row+=M)}if(F.end=this.insert(F.start,y),S.length){var B=v.start,I=F.start,M=I.row-B.row,T=I.column-B.column;this.addFolds(S.map(function(H){return H=H.clone(),H.start.row==B.row&&(H.start.column+=T),H.end.row==B.row&&(H.end.column+=T),H.start.row+=M,H.end.row+=M,H}))}return F},this.indentRows=function(v,E,w){w=w.replace(/\t/g,this.getTabString());for(var y=v;y<=E;y++)this.doc.insertInLine({row:y,column:0},w)},this.outdentRows=function(v){for(var E=v.collapseRows(),w=new n(0,0,0,0),y=this.getTabSize(),S=E.start.row;S<=E.end.row;++S){var F=this.getLine(S);w.start.row=S,w.end.row=S;for(var M=0;M<y&&F.charAt(M)==" ";++M);M<y&&F.charAt(M)==" "?(w.start.column=M,w.end.column=M+1):(w.start.column=0,w.end.column=M),this.remove(w)}},this.$moveLines=function(v,E,w){if(v=this.getRowFoldStart(v),E=this.getRowFoldEnd(E),w<0){var y=this.getRowFoldStart(v+w);if(y<0)return 0;var S=y-v}else if(w>0){var y=this.getRowFoldEnd(E+w);if(y>this.doc.getLength()-1)return 0;var S=y-E}else{v=this.$clipRowToDocument(v),E=this.$clipRowToDocument(E);var S=E-v+1}var F=new n(v,0,E,Number.MAX_VALUE),M=this.getFoldsInRange(F).map(function(B){return B=B.clone(),B.start.row+=S,B.end.row+=S,B}),T=w==0?this.doc.getLines(v,E):this.doc.removeFullLines(v,E);return this.doc.insertFullLines(v+S,T),M.length&&this.addFolds(M),S},this.moveLinesUp=function(v,E){return this.$moveLines(v,E,-1)},this.moveLinesDown=function(v,E){return this.$moveLines(v,E,1)},this.duplicateLines=function(v,E){return this.$moveLines(v,E,0)},this.$clipRowToDocument=function(v){return Math.max(0,Math.min(v,this.doc.getLength()-1))},this.$clipColumnToRow=function(v,E){return E<0?0:Math.min(this.doc.getLine(v).length,E)},this.$clipPositionToDocument=function(v,E){if(E=Math.max(0,E),v<0)v=0,E=0;else{var w=this.doc.getLength();v>=w?(v=w-1,E=this.doc.getLine(w-1).length):E=Math.min(this.doc.getLine(v).length,E)}return{row:v,column:E}},this.$clipRangeToDocument=function(v){v.start.row<0?(v.start.row=0,v.start.column=0):v.start.column=this.$clipColumnToRow(v.start.row,v.start.column);var E=this.doc.getLength()-1;return v.end.row>E?(v.end.row=E,v.end.column=this.doc.getLine(E).length):v.end.column=this.$clipColumnToRow(v.end.row,v.end.column),v},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(v){if(v!=this.$useWrapMode){if(this.$useWrapMode=v,this.$modified=!0,this.$resetRowCache(0),v){var E=this.getLength();this.$wrapData=Array(E),this.$updateWrapData(0,E-1)}this._signal("changeWrapMode")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(v,E){(this.$wrapLimitRange.min!==v||this.$wrapLimitRange.max!==E)&&(this.$wrapLimitRange={min:v,max:E},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},this.adjustWrapLimit=function(v,E){var w=this.$wrapLimitRange;w.max<0&&(w={min:E,max:E});var y=this.$constrainWrapLimit(v,w.min,w.max);return y!=this.$wrapLimit&&y>1?(this.$wrapLimit=y,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},this.$constrainWrapLimit=function(v,E,w){return E&&(v=Math.max(E,v)),w&&(v=Math.min(w,v)),v},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(v){this.setWrapLimitRange(v,v)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(v){var E=this.$useWrapMode,w=v.action,y=v.start,S=v.end,F=y.row,M=S.row,T=M-F,B=null;if(this.$updating=!0,T!=0)if(w==="remove"){this[E?"$wrapData":"$rowLengthCache"].splice(F,T);var I=this.$foldData;B=this.getFoldsInRange(v),this.removeFolds(B);var D=this.getFoldLine(S.row),L=0;if(D){D.addRemoveChars(S.row,S.column,y.column-S.column),D.shiftRow(-T);var H=this.getFoldLine(F);H&&H!==D&&(H.merge(D),D=H),L=I.indexOf(D)+1}for(L;L<I.length;L++){var D=I[L];D.start.row>=S.row&&D.shiftRow(-T)}M=F}else{var O=Array(T);O.unshift(F,0);var P=E?this.$wrapData:this.$rowLengthCache;P.splice.apply(P,O);var I=this.$foldData,D=this.getFoldLine(F),L=0;if(D){var N=D.range.compareInside(y.row,y.column);N==0?(D=D.split(y.row,y.column),D&&(D.shiftRow(T),D.addRemoveChars(M,0,S.column-y.column))):N==-1&&(D.addRemoveChars(F,0,S.column-y.column),D.shiftRow(T)),L=I.indexOf(D)+1}for(L;L<I.length;L++){var D=I[L];D.start.row>=F&&D.shiftRow(T)}}else{T=Math.abs(v.start.column-v.end.column),w==="remove"&&(B=this.getFoldsInRange(v),this.removeFolds(B),T=-T);var D=this.getFoldLine(F);D&&D.addRemoveChars(F,y.column,T)}return E&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,E?this.$updateWrapData(F,M):this.$updateRowLengthCache(F,M),B},this.$updateRowLengthCache=function(v,E,w){this.$rowLengthCache[v]=null,this.$rowLengthCache[E]=null},this.$updateWrapData=function(v,E){var w=this.doc.getAllLines(),y=this.getTabSize(),S=this.$wrapData,F=this.$wrapLimit,M,T,B=v;for(E=Math.min(E,w.length-1);B<=E;)T=this.getFoldLine(B,T),T?(M=[],T.walk(function(I,D,L,H){var O;if(I!=null){O=this.$getDisplayTokens(I,M.length),O[0]=k;for(var P=1;P<O.length;P++)O[P]=m}else O=this.$getDisplayTokens(w[D].substring(H,L),M.length);M=M.concat(O)}.bind(this),T.end.row,w[T.end.row].length+1),S[T.start.row]=this.$computeWrapSplits(M,F,y),B=T.end.row+1):(M=this.$getDisplayTokens(w[B]),S[B]=this.$computeWrapSplits(M,F,y),B++)};var g=1,C=2,k=3,m=4,b=9,f=10,_=11,A=12;this.$computeWrapSplits=function(v,E,w){if(v.length==0)return[];var y=[],S=v.length,F=0,M=0,T=this.$wrapAsCode,B=this.$indentedSoftWrap,I=E<=Math.max(2*w,8)||B===!1?0:Math.floor(E/2);function D(){var N=0;if(I===0)return N;if(B)for(var V=0;V<v.length;V++){var j=v[V];if(j==f)N+=1;else if(j==_)N+=w;else{if(j==A)continue;break}}return T&&B!==!1&&(N+=w),Math.min(N,I)}function L(N){var V=v.slice(F,N),j=V.length;V.join("").replace(/12/g,function(){j-=1}).replace(/2/g,function(){j-=1}),y.length||(H=D(),y.indent=H),M+=j,y.push(M),F=N}for(var H=0;S-F>E-H;){var O=F+E-H;if(v[O-1]>=f&&v[O]>=f){L(O);continue}if(v[O]==k||v[O]==m){for(O;O!=F-1&&v[O]!=k;O--);if(O>F){L(O);continue}for(O=F+E,O;O<v.length&&v[O]==m;O++);if(O==v.length)break;L(O);continue}for(var P=Math.max(O-(E-(E>>2)),F-1);O>P&&v[O]<k;)O--;if(T){for(;O>P&&v[O]<k;)O--;for(;O>P&&v[O]==b;)O--}else for(;O>P&&v[O]<f;)O--;if(O>P){L(++O);continue}O=F+E,v[O]==C&&O--,L(O-H)}return y},this.$getDisplayTokens=function(v,E){var w=[],y;E=E||0;for(var S=0;S<v.length;S++){var F=v.charCodeAt(S);if(F==9){y=this.getScreenTabSize(w.length+E),w.push(_);for(var M=1;M<y;M++)w.push(A)}else F==32?w.push(f):F>39&&F<48||F>57&&F<64?w.push(b):F>=4352&&$(F)?w.push(g,C):w.push(g)}return w},this.$getStringScreenWidth=function(v,E,w){if(E==0)return[0,0];E==null&&(E=1/0),w=w||0;var y,S;for(S=0;S<v.length&&(y=v.charCodeAt(S),y==9?w+=this.getScreenTabSize(w):y>=4352&&$(y)?w+=2:w+=1,!(w>E));S++);return[w,S]},this.lineWidgets=null,this.getRowLength=function(v){if(this.lineWidgets)var E=this.lineWidgets[v]&&this.lineWidgets[v].rowCount||0;else E=0;return!this.$useWrapMode||!this.$wrapData[v]?1+E:this.$wrapData[v].length+1+E},this.getRowLineCount=function(v){return!this.$useWrapMode||!this.$wrapData[v]?1:this.$wrapData[v].length+1},this.getRowWrapIndent=function(v){if(this.$useWrapMode){var E=this.screenToDocumentPosition(v,Number.MAX_VALUE),w=this.$wrapData[E.row];return w.length&&w[0]<E.column?w.indent:0}else return 0},this.getScreenLastRowColumn=function(v){var E=this.screenToDocumentPosition(v,Number.MAX_VALUE);return this.documentToScreenColumn(E.row,E.column)},this.getDocumentLastRowColumn=function(v,E){var w=this.documentToScreenRow(v,E);return this.getScreenLastRowColumn(w)},this.getDocumentLastRowColumnPosition=function(v,E){var w=this.documentToScreenRow(v,E);return this.screenToDocumentPosition(w,Number.MAX_VALUE/10)},this.getRowSplitData=function(v){if(this.$useWrapMode)return this.$wrapData[v]},this.getScreenTabSize=function(v){return this.$tabSize-v%this.$tabSize},this.screenToDocumentRow=function(v,E){return this.screenToDocumentPosition(v,E).row},this.screenToDocumentColumn=function(v,E){return this.screenToDocumentPosition(v,E).column},this.screenToDocumentPosition=function(v,E,w){if(v<0)return{row:0,column:0};var y,S=0,F=0,M,T=0,B=0,I=this.$screenRowCache,D=this.$getRowCacheIndex(I,v),L=I.length;if(L&&D>=0)var T=I[D],S=this.$docRowCache[D],H=v>I[L-1];else var H=!L;for(var O=this.getLength()-1,P=this.getNextFoldLine(S),N=P?P.start.row:1/0;T<=v&&(B=this.getRowLength(S),!(T+B>v||S>=O));)T+=B,S++,S>N&&(S=P.end.row+1,P=this.getNextFoldLine(S,P),N=P?P.start.row:1/0),H&&(this.$docRowCache.push(S),this.$screenRowCache.push(T));if(P&&P.start.row<=S)y=this.getFoldDisplayLine(P),S=P.start.row;else{if(T+B<=v||S>O)return{row:O,column:this.getLine(O).length};y=this.getLine(S),P=null}var V=0,j=Math.floor(v-T);if(this.$useWrapMode){var G=this.$wrapData[S];G&&(M=G[j],j>0&&G.length&&(V=G.indent,F=G[j-1]||G[G.length-1],y=y.substring(F)))}return w!==void 0&&this.$bidiHandler.isBidiRow(T+j,S,j)&&(E=this.$bidiHandler.offsetToCol(w)),F+=this.$getStringScreenWidth(y,E-V)[1],this.$useWrapMode&&F>=M&&(F=M-1),P?P.idxToPosition(F):{row:S,column:F}},this.documentToScreenPosition=function(v,E){if(typeof E>"u")var w=this.$clipPositionToDocument(v.row,v.column);else w=this.$clipPositionToDocument(v,E);v=w.row,E=w.column;var y=0,S=null,F=null;F=this.getFoldAt(v,E,1),F&&(v=F.start.row,E=F.start.column);var M,T=0,B=this.$docRowCache,I=this.$getRowCacheIndex(B,v),D=B.length;if(D&&I>=0)var T=B[I],y=this.$screenRowCache[I],L=v>B[D-1];else var L=!D;for(var H=this.getNextFoldLine(T),O=H?H.start.row:1/0;T<v;){if(T>=O){if(M=H.end.row+1,M>v)break;H=this.getNextFoldLine(M,H),O=H?H.start.row:1/0}else M=T+1;y+=this.getRowLength(T),T=M,L&&(this.$docRowCache.push(T),this.$screenRowCache.push(y))}var P="";H&&T>=O?(P=this.getFoldDisplayLine(H,v,E),S=H.start.row):(P=this.getLine(v).substring(0,E),S=v);var N=0;if(this.$useWrapMode){var V=this.$wrapData[S];if(V){for(var j=0;P.length>=V[j];)y++,j++;P=P.substring(V[j-1]||0,P.length),N=j>0?V.indent:0}}return{row:y,column:N+this.$getStringScreenWidth(P)[0]}},this.documentToScreenColumn=function(v,E){return this.documentToScreenPosition(v,E).column},this.documentToScreenRow=function(v,E){return this.documentToScreenPosition(v,E).row},this.getScreenLength=function(){var v=0,E=null;if(this.$useWrapMode)for(var S=this.$wrapData.length,F=0,y=0,E=this.$foldData[y++],M=E?E.start.row:1/0;F<S;){var T=this.$wrapData[F];v+=T?T.length+1:1,F++,F>M&&(F=E.end.row+1,E=this.$foldData[y++],M=E?E.start.row:1/0)}else{v=this.getLength();for(var w=this.$foldData,y=0;y<w.length;y++)E=w[y],v-=E.end.row-E.start.row}return this.lineWidgets&&(v+=this.$getWidgetScreenLength()),v},this.$setFontMetrics=function(v){this.$enableVarChar&&(this.$getStringScreenWidth=function(E,w,y){if(w===0)return[0,0];w||(w=1/0),y=y||0;var S,F;for(F=0;F<E.length&&(S=E.charAt(F),S===" "?y+=this.getScreenTabSize(y):y+=v.getCharacterWidth(S),!(y>w));F++);return[y,F]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=$;function $(v){return v<4352?!1:v>=4352&&v<=4447||v>=4515&&v<=4519||v>=4602&&v<=4607||v>=9001&&v<=9002||v>=11904&&v<=11929||v>=11931&&v<=12019||v>=12032&&v<=12245||v>=12272&&v<=12283||v>=12288&&v<=12350||v>=12353&&v<=12438||v>=12441&&v<=12543||v>=12549&&v<=12589||v>=12593&&v<=12686||v>=12688&&v<=12730||v>=12736&&v<=12771||v>=12784&&v<=12830||v>=12832&&v<=12871||v>=12880&&v<=13054||v>=13056&&v<=19903||v>=19968&&v<=42124||v>=42128&&v<=42182||v>=43360&&v<=43388||v>=44032&&v<=55203||v>=55216&&v<=55238||v>=55243&&v<=55291||v>=63744&&v<=64255||v>=65040&&v<=65049||v>=65072&&v<=65106||v>=65108&&v<=65126||v>=65128&&v<=65131||v>=65281&&v<=65376||v>=65504&&v<=65510}}.call(p.prototype),u("./edit_session/folding").Folding.call(p.prototype),u("./edit_session/bracket_match").BracketMatch.call(p.prototype),l.defineOptions(p.prototype,"session",{wrap:{set:function(g){if(!g||g=="off"?g=!1:g=="free"?g=!0:g=="printMargin"?g=-1:typeof g=="string"&&(g=parseInt(g,10)||!1),this.$wrap!=g)if(this.$wrap=g,!g)this.setUseWrapMode(!1);else{var C=typeof g=="number"?g:null;this.setWrapLimitRange(C,C),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(g){g=g=="auto"?this.$mode.type!="text":g!="text",g!=this.$wrapAsCode&&(this.$wrapAsCode=g,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:"auto"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(g){this.$useWorker=g,this.$stopWorker(),g&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(g){isNaN(g)||this.$tabSize===g||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=g,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},overwrite:{set:function(g){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(g){this.doc.setNewLineMode(g)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(g){this.setMode(g)},get:function(){return this.$modeId}}}),d.EditSession=p});ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(u,d,x){"use strict";var o=u("./lib/lang"),h=u("./lib/oop"),c=u("./range").Range,l=function(){this.$options={}};(function(){this.set=function(t){return h.mixin(this.$options,t),this},this.getOptions=function(){return o.copyObject(this.$options)},this.setOptions=function(t){this.$options=t},this.find=function(t){var e=this.$options,n=this.$matchIterator(t,e);if(!n)return!1;var i=null;return n.forEach(function(r,s,p,g){return i=new c(r,s,p,g),s==g&&e.start&&e.start.start&&e.skipCurrent!=!1&&i.isEqual(e.start)?(i=null,!1):!0}),i},this.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var n=e.range,i=n?t.getLines(n.start.row,n.end.row):t.doc.getAllLines(),r=[],s=e.re;if(e.$isMultiLine){var p=s.length,g=i.length-p,C;e:for(var k=s.offset||0;k<=g;k++){for(var m=0;m<p;m++)if(i[k+m].search(s[m])==-1)continue e;var b=i[k],f=i[k+p-1],_=b.length-b.match(s[0])[0].length,A=f.match(s[p-1])[0].length;C&&C.end.row===k&&C.end.column>_||(r.push(C=new c(k,_,k+p-1,A)),p>2&&(k=k+p-2))}}else for(var $=0;$<i.length;$++)for(var v=o.getMatchOffsets(i[$],s),m=0;m<v.length;m++){var E=v[m];r.push(new c($,E.offset,$,E.offset+E.length))}if(n){for(var w=n.start.column,y=n.start.column,$=0,m=r.length-1;$<m&&r[$].start.column<w&&r[$].start.row==n.start.row;)$++;for(;$<m&&r[m].end.column>y&&r[m].end.row==n.end.row;)m--;for(r=r.slice($,m+1),$=0,m=r.length;$<m;$++)r[$].start.row+=n.start.row,r[$].end.row+=n.start.row}return r},this.replace=function(t,e){var n=this.$options,i=this.$assembleRegExp(n);if(n.$isMultiLine)return e;if(i){var r=i.exec(t);if(!r||r[0].length!=t.length)return null;if(e=t.replace(i,e),n.preserveCase){e=e.split("");for(var s=Math.min(t.length,t.length);s--;){var p=t[s];p&&p.toLowerCase()!=p?e[s]=e[s].toUpperCase():e[s]=e[s].toLowerCase()}e=e.join("")}return e}},this.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var n=t.needle;if(!t.needle)return t.re=!1;t.regExp||(n=o.escapeRegExp(n)),t.wholeWord&&(n=a(n,t));var i=t.caseSensitive?"gm":"gmi";if(t.$isMultiLine=!e&&/[\n\r]/.test(n),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(n,i);try{var r=new RegExp(n,i)}catch{r=!1}return t.re=r},this.$assembleMultilineRegExp=function(t,e){for(var n=t.replace(/\r\n|\r|\n/g,`$
^`).split(`
`),i=[],r=0;r<n.length;r++)try{i.push(new RegExp(n[r],e))}catch{return!1}return i},this.$matchIterator=function(t,e){var n=this.$assembleRegExp(e);if(!n)return!1;var i=e.backwards==!0,r=e.skipCurrent!=!1,s=e.range,p=e.start;p||(p=s?s[i?"end":"start"]:t.selection.getRange()),p.start&&(p=p[r!=i?"end":"start"]);var g=s?s.start.row:0,C=s?s.end.row:t.getLength()-1;if(i)var k=function(f){var _=p.row;if(!b(_,p.column,f)){for(_--;_>=g;_--)if(b(_,Number.MAX_VALUE,f))return;if(e.wrap!=!1){for(_=C,g=p.row;_>=g;_--)if(b(_,Number.MAX_VALUE,f))return}}};else var k=function(_){var A=p.row;if(!b(A,p.column,_)){for(A=A+1;A<=C;A++)if(b(A,0,_))return;if(e.wrap!=!1){for(A=g,C=p.row;A<=C;A++)if(b(A,0,_))return}}};if(e.$isMultiLine)var m=n.length,b=function(f,_,A){var $=i?f-m+1:f;if(!($<0)){var v=t.getLine($),E=v.search(n[0]);if(!(!i&&E<_||E===-1)){for(var w=1;w<m;w++)if(v=t.getLine($+w),v.search(n[w])==-1)return;var y=v.match(n[m-1])[0].length;if(!(i&&y>_)&&A($,E,$+m-1,y))return!0}}};else if(i)var b=function(_,A,$){var v=t.getLine(_),E=[],w,y=0;for(n.lastIndex=0;w=n.exec(v);){var S=w[0].length;if(y=w.index,!S){if(y>=v.length)break;n.lastIndex=y+=1}if(w.index+S>A)break;E.push(w.index,S)}for(var F=E.length-1;F>=0;F-=2){var M=E[F-1],S=E[F];if($(_,M,_,M+S))return!0}};else var b=function(_,A,$){var v=t.getLine(_),E,w=A;for(n.lastIndex=A;E=n.exec(v);){var y=E[0].length;if(w=E.index,$(_,w,_,w+y))return!0;if(!y&&(n.lastIndex=w+=1,w>=v.length))return!1}};return{forEach:k}}}).call(l.prototype);function a(t,e){function n(i){return/\w/.test(i)||e.regExp?"\\b":""}return n(t[0])+t+n(t[t.length-1])}d.Search=l});ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(u,d,x){"use strict";var o=u("../lib/keys"),h=u("../lib/useragent"),c=o.KEY_MODS;function l(t,e){this.platform=e||(h.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=!0}function a(t,e){l.call(this,t,e),this.$singleCommand=!1}a.prototype=l.prototype,function(){this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,n){var i=e&&(typeof e=="string"?e:e.name);e=this.commands[i],n||delete this.commands[i];var r=this.commandKeyBinding;for(var s in r){var p=r[s];if(p==e)delete r[s];else if(Array.isArray(p)){var g=p.indexOf(e);g!=-1&&(p.splice(g,1),p.length==1&&(r[s]=p[0]))}}},this.bindKey=function(e,n,i){if(typeof e=="object"&&e&&(i==null&&(i=e.position),e=e[this.platform]),!!e){if(typeof n=="function")return this.addCommand({exec:n,bindKey:e,name:n.name||e});e.split("|").forEach(function(r){var s="";if(r.indexOf(" ")!=-1){var p=r.split(/\s+/);r=p.pop(),p.forEach(function(k){var m=this.parseKeys(k),b=c[m.hashId]+m.key;s+=(s?" ":"")+b,this._addCommandToBinding(s,"chainKeys")},this),s+=" "}var g=this.parseKeys(r),C=c[g.hashId]+g.key;this._addCommandToBinding(s+C,n,i)},this)}};function t(e){return typeof e=="object"&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this._addCommandToBinding=function(e,n,i){var r=this.commandKeyBinding,s;if(!n)delete r[e];else if(!r[e]||this.$singleCommand)r[e]=n;else{Array.isArray(r[e])?(s=r[e].indexOf(n))!=-1&&r[e].splice(s,1):r[e]=[r[e]],typeof i!="number"&&(i=t(n));var p=r[e];for(s=0;s<p.length;s++){var g=p[s],C=t(g);if(C>i)break}p.splice(s,0,n)}},this.addCommands=function(e){e&&Object.keys(e).forEach(function(n){var i=e[n];if(i){if(typeof i=="string")return this.bindKey(i,n);typeof i=="function"&&(i={exec:i}),typeof i=="object"&&(i.name||(i.name=n),this.addCommand(i))}},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(n){this.removeCommand(e[n])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(n){this.bindKey(n,e[n])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var n=e.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(C){return C}),i=n.pop(),r=o[i];if(o.FUNCTION_KEYS[r])i=o.FUNCTION_KEYS[r].toLowerCase();else if(n.length){if(n.length==1&&n[0]=="shift")return{key:i.toUpperCase(),hashId:-1}}else return{key:i,hashId:-1};for(var s=0,p=n.length;p--;){var g=o.KEY_MODS[n[p]];if(g==null)return typeof console<"u"&&console.error("invalid modifier "+n[p]+" in "+e),!1;s|=g}return{key:i,hashId:s}},this.findKeyCommand=function(n,i){var r=c[n]+i;return this.commandKeyBinding[r]},this.handleKeyboard=function(e,n,i,r){if(!(r<0)){var s=c[n]+i,p=this.commandKeyBinding[s];return e.$keyChain&&(e.$keyChain+=" "+s,p=this.commandKeyBinding[e.$keyChain]||p),p&&(p=="chainKeys"||p[p.length-1]=="chainKeys")?(e.$keyChain=e.$keyChain||s,{command:"null"}):(e.$keyChain&&((!n||n==4)&&i.length==1?e.$keyChain=e.$keyChain.slice(0,-s.length-1):(n==-1||r>0)&&(e.$keyChain="")),{command:p})}},this.getStatusText=function(e,n){return n.$keyChain||""}}.call(l.prototype),d.HashHandler=l,d.MultiHashHandler=a});ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("../lib/oop"),h=u("../keyboard/hash_handler").MultiHashHandler,c=u("../lib/event_emitter").EventEmitter,l=function(a,t){h.call(this,t,a),this.byName=this.commands,this.setDefaultHandler("exec",function(e){return e.command.exec(e.editor,e.args||{})})};o.inherits(l,h),function(){o.implement(this,c),this.exec=function(a,t,e){if(Array.isArray(a)){for(var n=a.length;n--;)if(this.exec(a[n],t,e))return!0;return!1}if(typeof a=="string"&&(a=this.commands[a]),!a||t&&t.$readOnly&&!a.readOnly||a.isAvailable&&!a.isAvailable(t))return!1;var i={editor:t,command:a,args:e};return i.returnValue=this._emit("exec",i),this._signal("afterExec",i),i.returnValue!==!1},this.toggleRecording=function(a){if(!this.$inReplay)return a&&a._emit("changeStatus"),this.recording?(this.macro.pop(),this.removeEventListener("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(t){this.macro.push([t.command,t.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},this.replay=function(a){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(a);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,a):this.exec(t[0],a,t[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(a){return a.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})}}.call(l.prototype),d.CommandManager=l});ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(u,d,x){"use strict";var o=u("../lib/lang"),h=u("../config"),c=u("../range").Range;function l(a,t){return{win:a,mac:t}}d.commands=[{name:"showSettingsMenu",bindKey:l("Ctrl-,","Command-,"),exec:function(a){h.loadModule("ace/ext/settings_menu",function(t){t.init(a),a.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",bindKey:l("Alt-E","F4"),exec:function(a){h.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(a,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",bindKey:l("Alt-Shift-E","Shift-F4"),exec:function(a){h.loadModule("ace/ext/error_marker",function(t){t.showErrorMarker(a,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",bindKey:l("Ctrl-A","Command-A"),exec:function(a){a.selectAll()},readOnly:!0},{name:"centerselection",bindKey:l(null,"Ctrl-L"),exec:function(a){a.centerSelection()},readOnly:!0},{name:"gotoline",bindKey:l("Ctrl-L","Command-L"),exec:function(a){var t=parseInt(prompt("Enter line number:"),10);isNaN(t)||a.gotoLine(t)},readOnly:!0},{name:"fold",bindKey:l("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(a){a.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:l("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(a){a.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",bindKey:l("F2","F2"),exec:function(a){a.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",bindKey:l("Alt-F2","Alt-F2"),exec:function(a){a.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(a){a.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",bindKey:l("Alt-0","Command-Option-0"),exec:function(a){a.session.foldAll(),a.session.unfold(a.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",bindKey:l("Alt-Shift-0","Command-Option-Shift-0"),exec:function(a){a.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",bindKey:l("Ctrl-K","Command-G"),exec:function(a){a.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",bindKey:l("Ctrl-Shift-K","Command-Shift-G"),exec:function(a){a.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",bindKey:l("Alt-K","Ctrl-G"),exec:function(a){a.selection.isEmpty()?a.selection.selectWord():a.findNext()},readOnly:!0},{name:"selectOrFindPrevious",bindKey:l("Alt-Shift-K","Ctrl-Shift-G"),exec:function(a){a.selection.isEmpty()?a.selection.selectWord():a.findPrevious()},readOnly:!0},{name:"find",bindKey:l("Ctrl-F","Command-F"),exec:function(a){h.loadModule("ace/ext/searchbox",function(t){t.Search(a)})},readOnly:!0},{name:"overwrite",bindKey:"Insert",exec:function(a){a.toggleOverwrite()},readOnly:!0},{name:"selecttostart",bindKey:l("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(a){a.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",bindKey:l("Ctrl-Home","Command-Home|Command-Up"),exec:function(a){a.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",bindKey:l("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(a){a.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",bindKey:l("Up","Up|Ctrl-P"),exec:function(a,t){a.navigateUp(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",bindKey:l("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(a){a.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",bindKey:l("Ctrl-End","Command-End|Command-Down"),exec:function(a){a.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",bindKey:l("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(a){a.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",bindKey:l("Down","Down|Ctrl-N"),exec:function(a,t){a.navigateDown(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",bindKey:l("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(a){a.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",bindKey:l("Ctrl-Left","Option-Left"),exec:function(a){a.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",bindKey:l("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",bindKey:l("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(a){a.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",bindKey:l("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(a){a.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",bindKey:l("Left","Left|Ctrl-B"),exec:function(a,t){a.navigateLeft(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",bindKey:l("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(a){a.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",bindKey:l("Ctrl-Right","Option-Right"),exec:function(a){a.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",bindKey:l("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",bindKey:l("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(a){a.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",bindKey:l("Shift-Right","Shift-Right"),exec:function(a){a.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",bindKey:l("Right","Right|Ctrl-F"),exec:function(a,t){a.navigateRight(t.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",bindKey:"Shift-PageDown",exec:function(a){a.selectPageDown()},readOnly:!0},{name:"pagedown",bindKey:l(null,"Option-PageDown"),exec:function(a){a.scrollPageDown()},readOnly:!0},{name:"gotopagedown",bindKey:l("PageDown","PageDown|Ctrl-V"),exec:function(a){a.gotoPageDown()},readOnly:!0},{name:"selectpageup",bindKey:"Shift-PageUp",exec:function(a){a.selectPageUp()},readOnly:!0},{name:"pageup",bindKey:l(null,"Option-PageUp"),exec:function(a){a.scrollPageUp()},readOnly:!0},{name:"gotopageup",bindKey:"PageUp",exec:function(a){a.gotoPageUp()},readOnly:!0},{name:"scrollup",bindKey:l("Ctrl-Up",null),exec:function(a){a.renderer.scrollBy(0,-2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",bindKey:l("Ctrl-Down",null),exec:function(a){a.renderer.scrollBy(0,2*a.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",bindKey:"Shift-Home",exec:function(a){a.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",bindKey:"Shift-End",exec:function(a){a.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",bindKey:l("Ctrl-Alt-E","Command-Option-E"),exec:function(a){a.commands.toggleRecording(a)},readOnly:!0},{name:"replaymacro",bindKey:l("Ctrl-Shift-E","Command-Shift-E"),exec:function(a){a.commands.replay(a)},readOnly:!0},{name:"jumptomatching",bindKey:l("Ctrl-P","Ctrl-P"),exec:function(a){a.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",bindKey:l("Ctrl-Shift-P","Ctrl-Shift-P"),exec:function(a){a.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",bindKey:l("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(a){a.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",bindKey:l(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",exec:function(a){},readOnly:!0},{name:"cut",exec:function(a){var t=a.getSelectionRange();a._emit("cut",t),a.selection.isEmpty()||(a.session.remove(t),a.clearSelection())},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",exec:function(a,t){a.$handlePaste(t)},scrollIntoView:"cursor"},{name:"removeline",bindKey:l("Ctrl-D","Command-D"),exec:function(a){a.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",bindKey:l("Ctrl-Shift-D","Command-Shift-D"),exec:function(a){a.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",bindKey:l("Ctrl-Alt-S","Command-Alt-S"),exec:function(a){a.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",bindKey:l("Ctrl-/","Command-/"),exec:function(a){a.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",bindKey:l("Ctrl-Shift-/","Command-Shift-/"),exec:function(a){a.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",bindKey:l("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(a){a.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",bindKey:l("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(a){a.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",bindKey:l("Ctrl-H","Command-Option-F"),exec:function(a){h.loadModule("ace/ext/searchbox",function(t){t.Search(a,!0)})}},{name:"undo",bindKey:l("Ctrl-Z","Command-Z"),exec:function(a){a.undo()}},{name:"redo",bindKey:l("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(a){a.redo()}},{name:"copylinesup",bindKey:l("Alt-Shift-Up","Command-Option-Up"),exec:function(a){a.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",bindKey:l("Alt-Up","Option-Up"),exec:function(a){a.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",bindKey:l("Alt-Shift-Down","Command-Option-Down"),exec:function(a){a.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",bindKey:l("Alt-Down","Option-Down"),exec:function(a){a.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",bindKey:l("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(a){a.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",bindKey:l("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(a){a.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",bindKey:l("Shift-Delete",null),exec:function(a){if(a.selection.isEmpty())a.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",bindKey:l("Alt-Backspace","Command-Backspace"),exec:function(a){a.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",bindKey:l("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(a){a.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",bindKey:l("Ctrl-Shift-Backspace",null),exec:function(a){var t=a.selection.getRange();t.start.column=0,a.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",bindKey:l("Ctrl-Shift-Delete",null),exec:function(a){var t=a.selection.getRange();t.end.column=Number.MAX_VALUE,a.session.remove(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",bindKey:l("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(a){a.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",bindKey:l("Ctrl-Delete","Alt-Delete"),exec:function(a){a.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",bindKey:l("Shift-Tab","Shift-Tab"),exec:function(a){a.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",bindKey:l("Tab","Tab"),exec:function(a){a.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",bindKey:l("Ctrl-[","Ctrl-["),exec:function(a){a.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",bindKey:l("Ctrl-]","Ctrl-]"),exec:function(a){a.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",exec:function(a,t){a.insert(t)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",exec:function(a,t){a.insert(o.stringRepeat(t.text||"",t.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",bindKey:l(null,"Ctrl-O"),exec:function(a){a.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",bindKey:l("Alt-Shift-X","Ctrl-T"),exec:function(a){a.transposeLetters()},multiSelectAction:function(a){a.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",bindKey:l("Ctrl-U","Ctrl-U"),exec:function(a){a.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",bindKey:l("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(a){a.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"expandtoline",bindKey:l("Ctrl-Shift-L","Command-Shift-L"),exec:function(a){var t=a.selection.getRange();t.start.column=t.end.column=0,t.end.row++,a.selection.setRange(t,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"joinlines",bindKey:l(null,null),exec:function(a){for(var t=a.selection.isBackwards(),e=t?a.selection.getSelectionLead():a.selection.getSelectionAnchor(),n=t?a.selection.getSelectionAnchor():a.selection.getSelectionLead(),i=a.session.doc.getLine(e.row).length,r=a.session.doc.getTextRange(a.selection.getRange()),s=r.replace(/\n\s*/," ").length,p=a.session.doc.getLine(e.row),g=e.row+1;g<=n.row+1;g++){var C=o.stringTrimLeft(o.stringTrimRight(a.session.doc.getLine(g)));C.length!==0&&(C=" "+C),p+=C}n.row+1<a.session.doc.getLength()-1&&(p+=a.session.doc.getNewLineCharacter()),a.clearSelection(),a.session.doc.replace(new c(e.row,0,n.row+2,0),p),s>0?(a.selection.moveCursorTo(e.row,e.column),a.selection.selectTo(e.row,e.column+s)):(i=a.session.doc.getLine(e.row).length>i?i+1:i,a.selection.moveCursorTo(e.row,i))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",bindKey:l(null,null),exec:function(a){var t=a.session.doc.getLength()-1,e=a.session.doc.getLine(t).length,n=a.selection.rangeList.ranges,i=[];n.length<1&&(n=[a.selection.getRange()]);for(var r=0;r<n.length;r++)r==n.length-1&&(n[r].end.row===t&&n[r].end.column===e||i.push(new c(n[r].end.row,n[r].end.column,t,e))),r===0?n[r].start.row===0&&n[r].start.column===0||i.push(new c(0,0,n[r].start.row,n[r].start.column)):i.push(new c(n[r-1].end.row,n[r-1].end.column,n[r].start.row,n[r].start.column));a.exitMultiSelectMode(),a.clearSelection();for(var r=0;r<i.length;r++)a.selection.addRange(i[r],!1)},readOnly:!0,scrollIntoView:"none"}]});ace.define("ace/editor",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator"],function(u,d,x){"use strict";u("./lib/fixoldbrowsers");var o=u("./lib/oop"),h=u("./lib/dom"),c=u("./lib/lang"),l=u("./lib/useragent"),a=u("./keyboard/textinput").TextInput,t=u("./mouse/mouse_handler").MouseHandler,e=u("./mouse/fold_handler").FoldHandler,n=u("./keyboard/keybinding").KeyBinding,i=u("./edit_session").EditSession,r=u("./search").Search,s=u("./range").Range,p=u("./lib/event_emitter").EventEmitter,g=u("./commands/command_manager").CommandManager,C=u("./commands/default_commands").commands,k=u("./config"),m=u("./token_iterator").TokenIterator,b=function(f,_){var A=f.getContainerElement();this.container=A,this.renderer=f,this.id="editor"+ ++b.$uid,this.commands=new g(l.isMac?"mac":"win",C),typeof document=="object"&&(this.textInput=new a(f.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new t(this),new e(this)),this.keyBinding=new n(this),this.$blockScrolling=0,this.$search=new r().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=c.delayedCall(function(){this._signal("input",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on("change",function($,v){v._$emitInputEvent.schedule(31)}),this.setSession(_||new i("")),k.resetOptions(this),k._signal("editor",this)};b.$uid=0,function(){o.implement(this,p),this.$initOperationListeners=function(){function f(_){return _[_.length-1]}this.selections=[],this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0),this.$opResetTimer=c.delayedCall(this.endOperation.bind(this)),this.on("change",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on("changeSelection",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(f){if(this.curOp){if(!f||this.curOp.command)return;this.prevOp=this.curOp}f||(this.previousCommand=null,f={}),this.$opResetTimer.schedule(),this.curOp={command:f.command||{},args:f.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&this.curOp.command.scrollIntoView!==void 0&&this.$blockScrolling++},this.endOperation=function(f){if(this.curOp){if(f&&f.returnValue===!1)return this.curOp=null;this._signal("beforeEndOperation");var _=this.curOp.command;_.name&&this.$blockScrolling>0&&this.$blockScrolling--;var A=_&&_.scrollIntoView;if(A){switch(A){case"center-animate":A="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var $=this.selection.getRange(),v=this.renderer.layerConfig;($.start.row>=v.lastRow||$.end.row<=v.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break;default:break}A=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=["backspace","del","insertstring"],this.$historyTracker=function(f){if(this.$mergeUndoDeltas){var _=this.prevOp,A=this.$mergeableCommands,$=_.command&&f.command.name==_.command.name;if(f.command.name=="insertstring"){var v=f.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),$=$&&this.mergeNextCommand&&(!/\s/.test(v)||/\s/.test(_.args)),this.mergeNextCommand=!0}else $=$&&A.indexOf(f.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&($=!1),$?this.session.mergeUndoDeltas=!0:A.indexOf(f.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(f,_){if(f&&typeof f=="string"){this.$keybindingId=f;var A=this;k.loadModule(["keybinding",f],function($){A.$keybindingId==f&&A.keyBinding.setKeyboardHandler($&&$.handler),_&&_()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(f),_&&_()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(f){if(this.session!=f){this.curOp&&this.endOperation(),this.curOp={};var _=this.session;if(_){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 A=this.session.getSelection();A.off("changeCursor",this.$onCursorChange),A.off("changeSelection",this.$onSelectionChange)}this.session=f,f?(this.$onDocumentChange=this.onDocumentChange.bind(this),f.on("change",this.$onDocumentChange),this.renderer.setSession(f),this.$onChangeMode=this.onChangeMode.bind(this),f.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),f.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),f.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),f.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),f.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),f.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=f.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,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(f)),this._signal("changeSession",{session:f,oldSession:_}),this.curOp=null,_&&_._signal("changeEditor",{oldEditor:this}),f&&f._signal("changeEditor",{editor:this}),f&&f.bgTokenizer&&f.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(f,_){return this.session.doc.setValue(f),_?_==1?this.navigateFileEnd():_==-1&&this.navigateFileStart():this.selectAll(),f},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(f){this.renderer.onResize(f)},this.setTheme=function(f,_){this.renderer.setTheme(f,_)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(f){this.renderer.setStyle(f)},this.unsetStyle=function(f){this.renderer.unsetStyle(f)},this.getFontSize=function(){return this.getOption("fontSize")||h.computedStyle(this.container,"fontSize")},this.setFontSize=function(f){this.setOption("fontSize",f)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var f=this;this.$highlightPending=!0,setTimeout(function(){f.$highlightPending=!1;var _=f.session;if(!(!_||!_.bgTokenizer)){var A=_.findMatchingBracket(f.getCursorPosition());if(A)var $=new s(A.row,A.column,A.row,A.column+1);else if(_.$mode.getMatching)var $=_.$mode.getMatching(f.session);$&&(_.$bracketHighlight=_.addMarker($,"ace_bracket","text"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var f=this;this.$highlightTagPending=!0,setTimeout(function(){f.$highlightTagPending=!1;var _=f.session;if(!(!_||!_.bgTokenizer)){var A=f.getCursorPosition(),$=new m(f.session,A.row,A.column),v=$.getCurrentToken();if(!v||!/\b(?:tag-open|tag-name)/.test(v.type)){_.removeMarker(_.$tagHighlight),_.$tagHighlight=null;return}if(!(v.type.indexOf("tag-open")!=-1&&(v=$.stepForward(),!v))){var E=v.value,w=0,y=$.stepBackward();if(y.value=="<")do y=v,v=$.stepForward(),v&&v.value===E&&v.type.indexOf("tag-name")!==-1&&(y.value==="<"?w++:y.value==="</"&&w--);while(v&&w>=0);else{do v=y,y=$.stepBackward(),v&&v.value===E&&v.type.indexOf("tag-name")!==-1&&(y.value==="<"?w++:y.value==="</"&&w--);while(y&&w<=0);$.stepForward()}if(!v){_.removeMarker(_.$tagHighlight),_.$tagHighlight=null;return}var S=$.getCurrentTokenRow(),F=$.getCurrentTokenColumn(),M=new s(S,F,S,F+v.value.length),T=_.$backMarkers[_.$tagHighlight];_.$tagHighlight&&T!=null&&M.compareRange(T.range)!==0&&(_.removeMarker(_.$tagHighlight),_.$tagHighlight=null),M&&!_.$tagHighlight&&(_.$tagHighlight=_.addMarker(M,"ace_bracket","text"))}}},50)}},this.focus=function(){var f=this;setTimeout(function(){f.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(f){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",f))},this.onBlur=function(f){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",f))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(f){var _=this.session.$useWrapMode,A=f.start.row==f.end.row?f.end.row:1/0;this.renderer.updateLines(f.start.row,A,_),this._signal("change",f),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(f){var _=f.data;this.renderer.updateLines(_.first,_.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(k.warn("Automatically scrolling cursor into view after selection change","this will be disabled in the next version","set editor.$blockScrolling = Infinity to disable this message"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal("changeSelection")},this.$updateHighlightActiveLine=function(){var f=this.getSession(),_;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(_=this.getCursorPosition()),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(_=!1)),f.$highlightLineMarker&&!_)f.removeMarker(f.$highlightLineMarker.id),f.$highlightLineMarker=null;else if(!f.$highlightLineMarker&&_){var A=new s(_.row,_.column,_.row,1/0);A.id=f.addMarker(A,"ace_active-line","screenLine"),f.$highlightLineMarker=A}else _&&(f.$highlightLineMarker.start.row=_.row,f.$highlightLineMarker.end.row=_.row,f.$highlightLineMarker.start.column=_.column,f._signal("changeBackMarker"))},this.onSelectionChange=function(f){var _=this.session;if(_.$selectionMarker&&_.removeMarker(_.$selectionMarker),_.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var A=this.selection.getRange(),$=this.getSelectionStyle();_.$selectionMarker=_.addMarker(A,"ace_selection",$)}var v=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(v),this._signal("changeSelection")},this.$getSelectionHighLightRegexp=function(){var f=this.session,_=this.getSelectionRange();if(!(_.isEmpty()||_.isMultiLine())){var A=_.start.column-1,$=_.end.column+1,v=f.getLine(_.start.row),E=v.length,w=v.substring(Math.max(A,0),Math.min($,E));if(!(A>=0&&/^[\w\d]/.test(w)||$<=E&&/[\w\d]$/.test(w))&&(w=v.substring(_.start.column,_.end.column),!!/^[\w\d]+$/.test(w))){var y=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:w});return y}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(f){this.renderer.updateText(),this._emit("changeMode",f)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var f=this.getSelectedText();return this._signal("copy",f),f},this.onCopy=function(){this.commands.exec("copy",this)},this.onCut=function(){this.commands.exec("cut",this)},this.onPaste=function(f,_){var A={text:f,event:_};this.commands.exec("paste",this,A)},this.$handlePaste=function(f){typeof f=="string"&&(f={text:f}),this._signal("paste",f);var _=f.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(_);else{var A=_.split(/\r\n|\r|\n/),$=this.selection.rangeList.ranges;if(A.length>$.length||A.length<2||!A[1])return this.commands.exec("insertstring",this,_);for(var v=$.length;v--;){var E=$[v];E.isEmpty()||this.session.remove(E),this.session.insert(E.start,A[v])}}},this.execCommand=function(f,_){return this.commands.exec(f,this,_)},this.insert=function(f,_){var A=this.session,$=A.getMode(),v=this.getCursorPosition();if(this.getBehavioursEnabled()&&!_){var E=$.transformAction(A.getState(v.row),"insertion",this,A,f);E&&(f!==E.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),f=E.text)}if(f==" "&&(f=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&f.indexOf(`
`)==-1){var w=new s.fromPoints(v,v);w.end.column+=f.length,this.session.remove(w)}}else{var w=this.getSelectionRange();v=this.session.remove(w),this.clearSelection()}if(f==`
`||f==`\r
`){var M=A.getLine(v.row);if(v.column>M.search(/\S|$/)){var y=M.substr(v.column).search(/\S|$/);A.doc.removeInLine(v.row,v.column,v.column+y)}}this.clearSelection();var S=v.column,F=A.getState(v.row),M=A.getLine(v.row),T=$.checkOutdent(F,M,f),B=A.insert(v,f);if(E&&E.selection&&(E.selection.length==2?this.selection.setSelectionRange(new s(v.row,S+E.selection[0],v.row,S+E.selection[1])):this.selection.setSelectionRange(new s(v.row+E.selection[0],E.selection[1],v.row+E.selection[2],E.selection[3]))),A.getDocument().isNewLine(f)){var I=$.getNextLineIndent(F,M.slice(0,v.column),A.getTabString());A.insert({row:v.row+1,column:0},I)}T&&$.autoOutdent(F,A,v.row)},this.onTextInput=function(f){this.keyBinding.onTextInput(f)},this.onCommandKey=function(f,_,A){this.keyBinding.onCommandKey(f,_,A)},this.setOverwrite=function(f){this.session.setOverwrite(f)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(f){this.setOption("scrollSpeed",f)},this.getScrollSpeed=function(){return this.getOption("scrollSpeed")},this.setDragDelay=function(f){this.setOption("dragDelay",f)},this.getDragDelay=function(){return this.getOption("dragDelay")},this.setSelectionStyle=function(f){this.setOption("selectionStyle",f)},this.getSelectionStyle=function(){return this.getOption("selectionStyle")},this.setHighlightActiveLine=function(f){this.setOption("highlightActiveLine",f)},this.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},this.setHighlightGutterLine=function(f){this.setOption("highlightGutterLine",f)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.setHighlightSelectedWord=function(f){this.setOption("highlightSelectedWord",f)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(f){this.renderer.setAnimatedScroll(f)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(f){this.renderer.setShowInvisibles(f)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(f){this.renderer.setDisplayIndentGuides(f)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(f){this.renderer.setShowPrintMargin(f)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(f){this.renderer.setPrintMarginColumn(f)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(f){this.setOption("readOnly",f)},this.getReadOnly=function(){return this.getOption("readOnly")},this.setBehavioursEnabled=function(f){this.setOption("behavioursEnabled",f)},this.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},this.setWrapBehavioursEnabled=function(f){this.setOption("wrapBehavioursEnabled",f)},this.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},this.setShowFoldWidgets=function(f){this.setOption("showFoldWidgets",f)},this.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},this.setFadeFoldWidgets=function(f){this.setOption("fadeFoldWidgets",f)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.remove=function(f){this.selection.isEmpty()&&(f=="left"?this.selection.selectLeft():this.selection.selectRight());var _=this.getSelectionRange();if(this.getBehavioursEnabled()){var A=this.session,$=A.getState(_.start.row),v=A.getMode().transformAction($,"deletion",this,A,_);if(_.end.column===0){var E=A.getTextRange(_);if(E[E.length-1]==`
`){var w=A.getLine(_.end.row);/^\s+$/.test(w)&&(_.end.column=w.length)}}v&&(_=v)}this.session.remove(_),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var f=this.getSelectionRange();f.start.column==f.end.column&&f.start.row==f.end.row&&(f.end.column=0,f.end.row++),this.session.remove(f),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var f=this.getCursorPosition();this.insert(`
`),this.moveCursorToPosition(f)},this.transposeLetters=function(){if(this.selection.isEmpty()){var f=this.getCursorPosition(),_=f.column;if(_!==0){var A=this.session.getLine(f.row),$,v;_<A.length?($=A.charAt(_)+A.charAt(_-1),v=new s(f.row,_-1,f.row,_+1)):($=A.charAt(_-1)+A.charAt(_-2),v=new s(f.row,_-2,f.row,_)),this.session.replace(v,$),this.session.selection.moveToPosition(v.end)}}},this.toLowerCase=function(){var f=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var _=this.getSelectionRange(),A=this.session.getTextRange(_);this.session.replace(_,A.toLowerCase()),this.selection.setSelectionRange(f)},this.toUpperCase=function(){var f=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var _=this.getSelectionRange(),A=this.session.getTextRange(_);this.session.replace(_,A.toUpperCase()),this.selection.setSelectionRange(f)},this.indent=function(){var f=this.session,_=this.getSelectionRange();if(_.start.row<_.end.row){var A=this.$getSelectedRows();f.indentRows(A.first,A.last," ");return}else if(_.start.column<_.end.column){var $=f.getTextRange(_);if(!/^\s+$/.test($)){var A=this.$getSelectedRows();f.indentRows(A.first,A.last," ");return}}var v=f.getLine(_.start.row),E=_.start,w=f.getTabSize(),y=f.documentToScreenColumn(E.row,E.column);if(this.session.getUseSoftTabs())var S=w-y%w,F=c.stringRepeat(" ",S);else{for(var S=y%w;v[_.start.column-1]==" "&&S;)_.start.column--,S--;this.selection.setSelectionRange(_),F=" "}return this.insert(F)},this.blockIndent=function(){var f=this.$getSelectedRows();this.session.indentRows(f.first,f.last," ")},this.blockOutdent=function(){var f=this.session.getSelection();this.session.outdentRows(f.getRange())},this.sortLines=function(){for(var f=this.$getSelectedRows(),_=this.session,A=[],$=f.first;$<=f.last;$++)A.push(_.getLine($));A.sort(function(w,y){return w.toLowerCase()<y.toLowerCase()?-1:w.toLowerCase()>y.toLowerCase()?1:0});for(var v=new s(0,0,0,0),$=f.first;$<=f.last;$++){var E=_.getLine($);v.start.row=$,v.end.row=$,v.end.column=E.length,_.replace(v,A[$-f.first])}},this.toggleCommentLines=function(){var f=this.session.getState(this.getCursorPosition().row),_=this.$getSelectedRows();this.session.getMode().toggleCommentLines(f,this.session,_.first,_.last)},this.toggleBlockComment=function(){var f=this.getCursorPosition(),_=this.session.getState(f.row),A=this.getSelectionRange();this.session.getMode().toggleBlockComment(_,this.session,A,f)},this.getNumberAt=function(f,_){var A=/[\-]?[0-9]+(?:\.[0-9]+)?/g;A.lastIndex=0;for(var $=this.session.getLine(f);A.lastIndex<_;){var v=A.exec($);if(v.index<=_&&v.index+v[0].length>=_){var E={value:v[0],start:v.index,end:v.index+v[0].length};return E}}return null},this.modifyNumber=function(f){var _=this.selection.getCursor().row,A=this.selection.getCursor().column,$=new s(_,A-1,_,A),v=this.session.getTextRange($);if(!isNaN(parseFloat(v))&&isFinite(v)){var E=this.getNumberAt(_,A);if(E){var w=E.value.indexOf(".")>=0?E.start+E.value.indexOf(".")+1:E.end,y=E.start+E.value.length-w,S=parseFloat(E.value);S*=Math.pow(10,y),w!==E.end&&A<w?f*=Math.pow(10,E.end-A-1):f*=Math.pow(10,E.end-A),S+=f,S/=Math.pow(10,y);var F=S.toFixed(y),M=new s(_,E.start,_,E.end);this.session.replace(M,F),this.moveCursorTo(_,Math.max(E.start+1,A+F.length-E.value.length))}}},this.removeLines=function(){var f=this.$getSelectedRows();this.session.removeFullLines(f.first,f.last),this.clearSelection()},this.duplicateSelection=function(){var f=this.selection,_=this.session,A=f.getRange(),$=f.isBackwards();if(A.isEmpty()){var v=A.start.row;_.duplicateLines(v,v)}else{var E=$?A.start:A.end,w=_.insert(E,_.getTextRange(A),!1);A.start=E,A.end=w,f.setSelectionRange(A,$)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(f,_,A){return this.session.moveText(f,_,A)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(f,_){var A,$,v=this.selection;if(!v.inMultiSelectMode||this.inVirtualSelectionMode){var E=v.toOrientedRange();A=this.$getSelectedRows(E),$=this.session.$moveLines(A.first,A.last,_?0:f),_&&f==-1&&($=0),E.moveBy($,0),v.fromOrientedRange(E)}else{var w=v.rangeList.ranges;v.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var y=0,S=0,F=w.length,M=0;M<F;M++){var T=M;w[M].moveBy(y,0),A=this.$getSelectedRows(w[M]);for(var B=A.first,I=A.last;++M<F;){S&&w[M].moveBy(S,0);var D=this.$getSelectedRows(w[M]);if(_&&D.first!=I)break;if(!_&&D.first>I+1)break;I=D.last}for(M--,y=this.session.$moveLines(B,I,_?0:f),_&&f==-1&&(T=M+1);T<=M;)w[T].moveBy(y,0),T++;_||(y=0),S+=y}v.fromOrientedRange(v.ranges[0]),v.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(f){return f=(f||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(f.start.row),last:this.session.getRowFoldEnd(f.end.row)}},this.onCompositionStart=function(f){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(f){this.renderer.setCompositionText(f)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(f){return f>=this.getFirstVisibleRow()&&f<=this.getLastVisibleRow()},this.isRowFullyVisible=function(f){return f>=this.renderer.getFirstFullyVisibleRow()&&f<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(f,_){var A=this.renderer,$=this.renderer.layerConfig,v=f*Math.floor($.height/$.lineHeight);this.$blockScrolling++,_===!0?this.selection.$moveSelection(function(){this.moveCursorBy(v,0)}):_===!1&&(this.selection.moveCursorBy(v,0),this.selection.clearSelection()),this.$blockScrolling--;var E=A.scrollTop;A.scrollBy(0,v*$.lineHeight),_!=null&&A.scrollCursorIntoView(null,.5),A.animateScrolling(E)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(f){this.renderer.scrollToRow(f)},this.scrollToLine=function(f,_,A,$){this.renderer.scrollToLine(f,_,A,$)},this.centerSelection=function(){var f=this.getSelectionRange(),_={row:Math.floor(f.start.row+(f.end.row-f.start.row)/2),column:Math.floor(f.start.column+(f.end.column-f.start.column)/2)};this.renderer.alignCursor(_,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(f,_){this.selection.moveCursorTo(f,_)},this.moveCursorToPosition=function(f){this.selection.moveCursorToPosition(f)},this.jumpToMatching=function(f,_){var A=this.getCursorPosition(),$=new m(this.session,A.row,A.column),v=$.getCurrentToken(),E=v||$.stepForward();if(E){var w,y=!1,S={},F=A.column-E.start,M,T={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(E.value.match(/[{}()\[\]]/g)){for(;F<E.value.length&&!y;F++)if(T[E.value[F]])switch(M=T[E.value[F]]+"."+E.type.replace("rparen","lparen"),isNaN(S[M])&&(S[M]=0),E.value[F]){case"(":case"[":case"{":S[M]++;break;case")":case"]":case"}":S[M]--,S[M]===-1&&(w="bracket",y=!0);break}}else E&&E.type.indexOf("tag-name")!==-1&&(isNaN(S[E.value])&&(S[E.value]=0),v.value==="<"?S[E.value]++:v.value==="</"&&S[E.value]--,S[E.value]===-1&&(w="tag",y=!0));y||(v=E,E=$.stepForward(),F=0)}while(E&&!y);if(w){var B,I;if(w==="bracket")B=this.session.getBracketRange(A),B||(B=new s($.getCurrentTokenRow(),$.getCurrentTokenColumn()+F-1,$.getCurrentTokenRow(),$.getCurrentTokenColumn()+F-1),I=B.start,(_||I.row===A.row&&Math.abs(I.column-A.column)<2)&&(B=this.session.getBracketRange(I)));else if(w==="tag"){if(E&&E.type.indexOf("tag-name")!==-1)var D=E.value;else return;if(B=new s($.getCurrentTokenRow(),$.getCurrentTokenColumn()-2,$.getCurrentTokenRow(),$.getCurrentTokenColumn()-2),B.compare(A.row,A.column)===0){y=!1;do E=v,v=$.stepBackward(),v&&(v.type.indexOf("tag-close")!==-1&&B.setEnd($.getCurrentTokenRow(),$.getCurrentTokenColumn()+1),E.value===D&&E.type.indexOf("tag-name")!==-1&&(v.value==="<"?S[D]++:v.value==="</"&&S[D]--,S[D]===0&&(y=!0)));while(v&&!y)}E&&E.type.indexOf("tag-name")&&(I=B.start,I.row==A.row&&Math.abs(I.column-A.column)<2&&(I=B.end))}I=B&&B.cursor||I,I&&(f?B&&_?this.selection.setRange(B):B&&B.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(I.row,I.column):this.selection.moveTo(I.row,I.column))}}},this.gotoLine=function(f,_,A){this.selection.clearSelection(),this.session.unfold({row:f-1,column:_||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(f-1,_||0),this.$blockScrolling-=1,this.isRowFullyVisible(f-1)||this.scrollToLine(f-1,!0,A)},this.navigateTo=function(f,_){this.selection.moveTo(f,_)},this.navigateUp=function(f){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var _=this.selection.anchor.getPosition();return this.moveCursorToPosition(_)}this.selection.clearSelection(),this.selection.moveCursorBy(-f||-1,0)},this.navigateDown=function(f){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var _=this.selection.anchor.getPosition();return this.moveCursorToPosition(_)}this.selection.clearSelection(),this.selection.moveCursorBy(f||1,0)},this.navigateLeft=function(f){if(this.selection.isEmpty())for(f=f||1;f--;)this.selection.moveCursorLeft();else{var _=this.getSelectionRange().start;this.moveCursorToPosition(_)}this.clearSelection()},this.navigateRight=function(f){if(this.selection.isEmpty())for(f=f||1;f--;)this.selection.moveCursorRight();else{var _=this.getSelectionRange().end;this.moveCursorToPosition(_)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(f,_){_&&this.$search.set(_);var A=this.$search.find(this.session),$=0;return A&&(this.$tryReplace(A,f)&&($=1),A!==null&&(this.selection.setSelectionRange(A),this.renderer.scrollSelectionIntoView(A.start,A.end))),$},this.replaceAll=function(f,_){_&&this.$search.set(_);var A=this.$search.findAll(this.session),$=0;if(!A.length)return $;this.$blockScrolling+=1;var v=this.getSelectionRange();this.selection.moveTo(0,0);for(var E=A.length-1;E>=0;--E)this.$tryReplace(A[E],f)&&$++;return this.selection.setSelectionRange(v),this.$blockScrolling-=1,$},this.$tryReplace=function(f,_){var A=this.session.getTextRange(f);return _=this.$search.replace(A,_),_!==null?(f.end=this.session.replace(f,_),f):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(f,_,A){_||(_={}),typeof f=="string"||f instanceof RegExp?_.needle=f:typeof f=="object"&&o.mixin(_,f);var $=this.selection.getRange();_.needle==null&&(f=this.session.getTextRange($)||this.$search.$options.needle,f||($=this.session.getWordRange($.start.row,$.start.column),f=this.session.getTextRange($)),this.$search.set({needle:f})),this.$search.set(_),_.start||this.$search.set({start:$});var v=this.$search.find(this.session);if(_.preventScroll)return v;if(v)return this.revealRange(v,A),v;_.backwards?$.start=$.end:$.end=$.start,this.selection.setRange($)},this.findNext=function(f,_){this.find({skipCurrent:!0,backwards:!1},f,_)},this.findPrevious=function(f,_){this.find(f,{skipCurrent:!0,backwards:!0},_)},this.revealRange=function(f,_){this.$blockScrolling+=1,this.session.unfold(f),this.selection.setSelectionRange(f),this.$blockScrolling-=1;var A=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(f.start,f.end,.5),_!==!1&&this.renderer.animateScrolling(A)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(f){if(f){var _,A=this,$=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var v=this.$scrollAnchor;v.style.cssText="position:absolute",this.container.insertBefore(v,this.container.firstChild);var E=this.on("changeSelection",function(){$=!0}),w=this.renderer.on("beforeRender",function(){$&&(_=A.renderer.container.getBoundingClientRect())}),y=this.renderer.on("afterRender",function(){if($&&_&&(A.isFocused()||A.searchBox&&A.searchBox.isFocused())){var S=A.renderer,F=S.$cursorLayer.$pixelPos,M=S.layerConfig,T=F.top-M.offset;F.top>=0&&T+_.top<0?$=!0:F.top<M.height&&F.top+_.top+M.lineHeight>window.innerHeight?$=!1:$=null,$!=null&&(v.style.top=T+"px",v.style.left=F.left+"px",v.style.height=M.lineHeight+"px",v.scrollIntoView($)),$=_=null}});this.setAutoScrollEditorIntoView=function(S){S||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",E),this.renderer.off("afterRender",y),this.renderer.off("beforeRender",w))}}},this.$resetCursorStyle=function(){var f=this.$cursorStyle||"ace",_=this.renderer.$cursorLayer;_&&(_.setSmoothBlinking(/smooth/.test(f)),_.isBlinking=!this.$readOnly&&f!="wide",h.setCssClass(_.element,"ace_slim-cursors",/slim/.test(f)))}}.call(b.prototype),k.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(f){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:f})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(f){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(f){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(f){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(f){this.setAutoScrollEditorIntoView(f)}},keyboardHandler:{set:function(f){this.setKeyboardHandler(f)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",showLineNumbers:"renderer",showGutter:"renderer",displayIndentGuides:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"}),d.Editor=b});ace.define("ace/undomanager",["require","exports","module"],function(u,d,x){"use strict";var o=function(){this.reset()};(function(){this.execute=function(a){var t=a.args[0];this.$doc=a.args[1],a.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(a){var t=this.$undoStack.pop(),e=null;return t&&(e=this.$doc.undoChanges(t,a),this.$redoStack.push(t),this.dirtyCounter--),e},this.redo=function(a){var t=this.$redoStack.pop(),e=null;return t&&(e=this.$doc.redoChanges(this.$deserializeDeltas(t),a),this.$undoStack.push(t),this.dirtyCounter++),e},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return this.dirtyCounter===0},this.$serializeDeltas=function(a){return l(a,h)},this.$deserializeDeltas=function(a){return l(a,c)};function h(a){return{action:a.action,start:a.start,end:a.end,lines:a.lines.length==1?null:a.lines,text:a.lines.length==1?a.lines[0]:null}}function c(a){return{action:a.action,start:a.start,end:a.end,lines:a.lines||[a.text]}}function l(a,t){for(var e=new Array(a.length),n=0;n<a.length;n++){for(var i=a[n],r={group:i.group,deltas:new Array(i.length)},s=0;s<i.deltas.length;s++){var p=i.deltas[s];r.deltas[s]=t(p)}e[n]=r}return e}}).call(o.prototype),d.UndoManager=o});ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("../lib/dom"),h=u("../lib/oop"),c=u("../lib/lang"),l=u("../lib/event_emitter").EventEmitter,a=function(t){this.element=o.createElement("div"),this.element.className="ace_layer ace_gutter-layer",t.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){h.implement(this,l),this.setSession=function(t){this.session&&this.session.removeEventListener("change",this.$updateAnnotations),this.session=t,t&&t.on("change",this.$updateAnnotations)},this.addGutterDecoration=function(t,e){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(t,e)},this.removeGutterDecoration=function(t,e){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(t,e)},this.setAnnotations=function(t){this.$annotations=[];for(var e=0;e<t.length;e++){var n=t[e],i=n.row,r=this.$annotations[i];r||(r=this.$annotations[i]={text:[]});var s=n.text;s=s?c.escapeHTML(s):n.html||"",r.text.indexOf(s)===-1&&r.text.push(s);var p=n.type;p=="error"?r.className=" ace_error":p=="warning"&&r.className!=" ace_error"?r.className=" ace_warning":p=="info"&&!r.className&&(r.className=" ace_info")}},this.$updateAnnotations=function(t){if(this.$annotations.length){var e=t.start.row,n=t.end.row-e;if(n!==0)if(t.action=="remove")this.$annotations.splice(e,n+1,null);else{var i=new Array(n+1);i.unshift(e,1),this.$annotations.splice.apply(this.$annotations,i)}}},this.update=function(t){for(var e=this.session,n=t.firstRow,i=Math.min(t.lastRow+t.gutterOffset,e.getLength()-1),r=e.getNextFoldLine(n),s=r?r.start.row:1/0,p=this.$showFoldWidgets&&e.foldWidgets,g=e.$breakpoints,C=e.$decorations,k=e.$firstLineNumber,m=0,b=e.gutterRenderer||this.$renderer,f=null,_=-1,A=n;;){if(A>s&&(A=r.end.row+1,r=e.getNextFoldLine(A,r),s=r?r.start.row:1/0),A>i){for(;this.$cells.length>_+1;)f=this.$cells.pop(),this.element.removeChild(f.element);break}f=this.$cells[++_],f||(f={element:null,textNode:null,foldWidget:null},f.element=o.createElement("div"),f.textNode=document.createTextNode(""),f.element.appendChild(f.textNode),this.element.appendChild(f.element),this.$cells[_]=f);var $="ace_gutter-cell ";g[A]&&($+=g[A]),C[A]&&($+=C[A]),this.$annotations[A]&&($+=this.$annotations[A].className),f.element.className!=$&&(f.element.className=$);var v=e.getRowLength(A)*t.lineHeight+"px";if(v!=f.element.style.height&&(f.element.style.height=v),p){var E=p[A];E==null&&(E=p[A]=e.getFoldWidget(A))}if(E){f.foldWidget||(f.foldWidget=o.createElement("span"),f.element.appendChild(f.foldWidget));var $="ace_fold-widget ace_"+E;E=="start"&&A==s&&A<r.end.row?$+=" ace_closed":$+=" ace_open",f.foldWidget.className!=$&&(f.foldWidget.className=$);var v=t.lineHeight+"px";f.foldWidget.style.height!=v&&(f.foldWidget.style.height=v)}else f.foldWidget&&(f.element.removeChild(f.foldWidget),f.foldWidget=null);var w=m=b?b.getText(e,A):A+k;w!==f.textNode.data&&(f.textNode.data=w),A++}this.element.style.height=t.minHeight+"px",(this.$fixedWidth||e.$useWrapMode)&&(m=e.getLength()+k);var y=b?b.getWidth(e,m,t):m.toString().length*t.characterWidth,S=this.$padding||this.$computePadding();y+=S.left+S.right,y!==this.gutterWidth&&!isNaN(y)&&(this.gutterWidth=y,this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._emit("changeGutterWidth",y))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer="",this.setShowLineNumbers=function(t){this.$renderer=!t&&{getWidth:function(){return""},getText:function(){return""}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(t){t?o.addCssClass(this.element,"ace_folding-enabled"):o.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=t,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var t=o.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(t.paddingLeft)+1||0,this.$padding.right=parseInt(t.paddingRight)||0,this.$padding},this.getRegion=function(t){var e=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();if(t.x<e.left+n.left)return"markers";if(this.$showFoldWidgets&&t.x>n.right-e.right)return"foldWidgets"}}).call(a.prototype),d.Gutter=a});ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(u,d,x){"use strict";var o=u("../range").Range,h=u("../lib/dom"),c=function(l){this.element=h.createElement("div"),this.element.className="ace_layer ace_marker-layer",l.appendChild(this.element)};(function(){this.$padding=0,this.setPadding=function(a){this.$padding=a},this.setSession=function(a){this.session=a},this.setMarkers=function(a){this.markers=a},this.update=function(a){if(a){this.config=a;var t=[];for(var e in this.markers){var n=this.markers[e];if(!n.range){n.update(t,this,this.session,a);continue}var i=n.range.clipRows(a.firstRow,a.lastRow);if(!i.isEmpty())if(i=i.toScreenRange(this.session),n.renderer){var r=this.$getTop(i.start.row,a),s=this.$padding+(this.session.$bidiHandler.isBidiRow(i.start.row)?this.session.$bidiHandler.getPosLeft(i.start.column):i.start.column*a.characterWidth);n.renderer(t,i,s,r,a)}else n.type=="fullLine"?this.drawFullLineMarker(t,i,n.clazz,a):n.type=="screenLine"?this.drawScreenLineMarker(t,i,n.clazz,a):i.isMultiLine()?n.type=="text"?this.drawTextMarker(t,i,n.clazz,a):this.drawMultiLineMarker(t,i,n.clazz,a):this.session.$bidiHandler.isBidiRow(i.start.row)?this.drawBidiSingleLineMarker(t,i,n.clazz+" ace_start ace_br15",a):this.drawSingleLineMarker(t,i,n.clazz+" ace_start ace_br15",a)}this.element.innerHTML=t.join("")}},this.$getTop=function(a,t){return(a-t.firstRowScreen)*t.lineHeight};function l(a,t,e,n){return(a?1:0)|(t?2:0)|(e?4:0)|(n?8:0)}this.drawTextMarker=function(a,t,e,n,i){for(var r=this.session,s=t.start.row,p=t.end.row,g=s,C=0,k=0,m=r.getScreenLastRowColumn(g),b=null,f=new o(g,t.start.column,g,k);g<=p;g++)f.start.row=f.end.row=g,f.start.column=g==s?t.start.column:r.getRowWrapIndent(g),f.end.column=m,C=k,k=m,m=g+1<p?r.getScreenLastRowColumn(g+1):g==p?0:t.end.column,b=e+(g==s?" ace_start":"")+" ace_br"+l(g==s||g==s+1&&t.start.column,C<k,k>m,g==p),this.session.$bidiHandler.isBidiRow(g)?this.drawBidiSingleLineMarker(a,f,b,n,g==p?0:1,i):this.drawSingleLineMarker(a,f,b,n,g==p?0:1,i)},this.drawMultiLineMarker=function(a,t,e,n,i){var r=this.$padding,s,p,g;if(i=i||"",this.session.$bidiHandler.isBidiRow(t.start.row)){var C=t.clone();C.end.row=C.start.row,C.end.column=this.session.getLine(C.start.row).length,this.drawBidiSingleLineMarker(a,C,e+" ace_br1 ace_start",n,null,i)}else s=n.lineHeight,p=this.$getTop(t.start.row,n),g=r+t.start.column*n.characterWidth,a.push("<div class='",e," ace_br1 ace_start' style='","height:",s,"px;","right:0;","top:",p,"px;","left:",g,"px;",i,"'></div>");if(this.session.$bidiHandler.isBidiRow(t.end.row)){var C=t.clone();C.start.row=C.end.row,C.start.column=0,this.drawBidiSingleLineMarker(a,C,e+" ace_br12",n,null,i)}else{var k=t.end.column*n.characterWidth;s=n.lineHeight,p=this.$getTop(t.end.row,n),a.push("<div class='",e," ace_br12' style='","height:",s,"px;","width:",k,"px;","top:",p,"px;","left:",r,"px;",i,"'></div>")}if(s=(t.end.row-t.start.row-1)*n.lineHeight,!(s<=0)){p=this.$getTop(t.start.row+1,n);var m=(t.start.column?1:0)|(t.end.column?0:8);a.push("<div class='",e,m?" ace_br"+m:"","' style='","height:",s,"px;","right:0;","top:",p,"px;","left:",r,"px;",i,"'></div>")}},this.drawSingleLineMarker=function(a,t,e,n,i,r){var s=n.lineHeight,p=(t.end.column+(i||0)-t.start.column)*n.characterWidth,g=this.$getTop(t.start.row,n),C=this.$padding+t.start.column*n.characterWidth;a.push("<div class='",e,"' style='","height:",s,"px;","width:",p,"px;","top:",g,"px;","left:",C,"px;",r||"","'></div>")},this.drawBidiSingleLineMarker=function(a,t,e,n,i,r){var s=n.lineHeight,p=this.$getTop(t.start.row,n),g=this.$padding,C=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);C.forEach(function(k){a.push("<div class='",e,"' style='","height:",s,"px;","width:",k.width+(i||0),"px;","top:",p,"px;","left:",g+k.left,"px;",r||"","'></div>")})},this.drawFullLineMarker=function(a,t,e,n,i){var r=this.$getTop(t.start.row,n),s=n.lineHeight;t.start.row!=t.end.row&&(s+=this.$getTop(t.end.row,n)-r),a.push("<div class='",e,"' style='","height:",s,"px;","top:",r,"px;","left:0;right:0;",i||"","'></div>")},this.drawScreenLineMarker=function(a,t,e,n,i){var r=this.$getTop(t.start.row,n),s=n.lineHeight;a.push("<div class='",e,"' style='","height:",s,"px;","top:",r,"px;","left:0;right:0;",i||"","'></div>")}}).call(c.prototype),d.Marker=c});ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("../lib/oop"),h=u("../lib/dom"),c=u("../lib/lang"),l=u("../lib/useragent"),a=u("../lib/event_emitter").EventEmitter,t=function(e){this.element=h.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){o.implement(this,a),this.EOF_CHAR="\xB6",this.EOL_CHAR_LF="\xAC",this.EOL_CHAR_CRLF="\xA4",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR="\u2014",this.SPACE_CHAR="\xB7",this.$padding=0,this.$updateEolChar=function(){var e=this.session.doc.getNewLineCharacter()==`
`?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding="0 "+e+"px"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",function(n){this._signal("changeCharacterSize",n)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var n=this.$tabStrings=[0],i=1;i<e+1;i++)this.showInvisibles?n.push("<span class='ace_invisible ace_invisible_tab'>"+c.stringRepeat(this.TAB_CHAR,i)+"</span>"):n.push(c.stringRepeat(" ",i));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var r="ace_indent-guide",s="",p="";if(this.showInvisibles){r+=" ace_invisible",s=" ace_invisible_space",p=" ace_invisible_tab";var g=c.stringRepeat(this.SPACE_CHAR,this.tabSize),C=c.stringRepeat(this.TAB_CHAR,this.tabSize)}else var g=c.stringRepeat(" ",this.tabSize),C=g;this.$tabStrings[" "]="<span class='"+r+s+"'>"+g+"</span>",this.$tabStrings[" "]="<span class='"+r+p+"'>"+C+"</span>"}},this.updateLines=function(e,n,i){(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)&&this.scrollLines(e),this.config=e;for(var r=Math.max(n,e.firstRow),s=Math.min(i,e.lastRow),p=this.element.childNodes,g=0,C=e.firstRow;C<r;C++){var k=this.session.getFoldLine(C);if(k)if(k.containsRow(r)){r=k.start.row;break}else C=k.end.row;g++}for(var C=r,k=this.session.getNextFoldLine(C),m=k?k.start.row:1/0;C>m&&(C=k.end.row+1,k=this.session.getNextFoldLine(C,k),m=k?k.start.row:1/0),!(C>s);){var b=p[g++];if(b){var f=[];this.$renderLine(f,C,!this.$useLineGroups(),C==m?k:!1),b.style.height=e.lineHeight*this.session.getRowLength(C)+"px",b.innerHTML=f.join("")}C++}},this.scrollLines=function(e){var n=this.config;if(this.config=e,!n||n.lastRow<e.firstRow)return this.update(e);if(e.lastRow<n.firstRow)return this.update(e);var i=this.element;if(n.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);r>0;r--)i.removeChild(i.firstChild);if(n.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,n.lastRow);r>0;r--)i.removeChild(i.lastChild);if(e.firstRow<n.firstRow){var s=this.$renderLinesFragment(e,e.firstRow,n.firstRow-1);i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s)}if(e.lastRow>n.lastRow){var s=this.$renderLinesFragment(e,n.lastRow+1,e.lastRow);i.appendChild(s)}},this.$renderLinesFragment=function(e,n,i){for(var r=this.element.ownerDocument.createDocumentFragment(),s=n,p=this.session.getNextFoldLine(s),g=p?p.start.row:1/0;s>g&&(s=p.end.row+1,p=this.session.getNextFoldLine(s,p),g=p?p.start.row:1/0),!(s>i);){var C=h.createElement("div"),k=[];if(this.$renderLine(k,s,!1,s==g?p:!1),C.innerHTML=k.join(""),this.$useLineGroups())C.className="ace_line_group",r.appendChild(C),C.style.height=e.lineHeight*this.session.getRowLength(s)+"px";else for(;C.firstChild;)r.appendChild(C.firstChild);s++}return r},this.update=function(e){this.config=e;for(var n=[],i=e.firstRow,r=e.lastRow,s=i,p=this.session.getNextFoldLine(s),g=p?p.start.row:1/0;s>g&&(s=p.end.row+1,p=this.session.getNextFoldLine(s,p),g=p?p.start.row:1/0),!(s>r);)this.$useLineGroups()&&n.push("<div class='ace_line_group' style='height:",e.lineHeight*this.session.getRowLength(s),"px'>"),this.$renderLine(n,s,!1,s==g?p:!1),this.$useLineGroups()&&n.push("</div>"),s++;this.element.innerHTML=n.join("")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,n,i,r){var s=this,p=/\t|&|<|>|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\u3000\uFEFF\uFFF9-\uFFFC])|[\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3000-\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,g=function(b,f,_,A,$){if(f)return s.showInvisibles?"<span class='ace_invisible ace_invisible_space'>"+c.stringRepeat(s.SPACE_CHAR,b.length)+"</span>":b;if(b=="&")return"&";if(b=="<")return"<";if(b==">")return">";if(b==" "){var v=s.session.getScreenTabSize(n+A);return n+=v-1,s.$tabStrings[v]}else if(b=="\u3000"){var E=s.showInvisibles?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",w=s.showInvisibles?s.SPACE_CHAR:"";return n+=1,"<span class='"+E+"' style='width:"+s.config.characterWidth*2+"px'>"+w+"</span>"}else return _?"<span class='ace_invisible ace_invisible_space ace_invalid'>"+s.SPACE_CHAR+"</span>":(n+=1,"<span class='ace_cjk' style='width:"+s.config.characterWidth*2+"px'>"+b+"</span>")},C=r.replace(p,g);if(this.$textToken[i.type])e.push(C);else{var k="ace_"+i.type.replace(/\./g," ace_"),m="";i.type=="fold"&&(m=" style='width:"+i.value.length*this.config.characterWidth+"px;' "),e.push("<span class='",k,"'",m,">",C,"</span>")}return n+r.length},this.renderIndentGuide=function(e,n,i){var r=n.search(this.$indentGuideRe);return r<=0||r>=i?n:n[0]==" "?(r-=r%this.tabSize,e.push(c.stringRepeat(this.$tabStrings[" "],r/this.tabSize)),n.substr(r)):n[0]==" "?(e.push(c.stringRepeat(this.$tabStrings[" "],r)),n.substr(r)):n},this.$renderWrappedLine=function(e,n,i,r){for(var s=0,p=0,g=i[0],C=0,k=0;k<n.length;k++){var m=n[k],b=m.value;if(k==0&&this.displayIndentGuides){if(s=b.length,b=this.renderIndentGuide(e,b,g),!b)continue;s-=b.length}if(s+b.length<g)C=this.$renderToken(e,C,m,b),s+=b.length;else{for(;s+b.length>=g;)C=this.$renderToken(e,C,m,b.substring(0,g-s)),b=b.substring(g-s),s=g,r||e.push("</div>","<div class='ace_line' style='height:",this.config.lineHeight,"px'>"),e.push(c.stringRepeat("\xA0",i.indent)),p++,C=0,g=i[p]||Number.MAX_VALUE;b.length!=0&&(s+=b.length,C=this.$renderToken(e,C,m,b))}}},this.$renderSimpleLine=function(e,n){var i=0,r=n[0],s=r.value;this.displayIndentGuides&&(s=this.renderIndentGuide(e,s)),s&&(i=this.$renderToken(e,i,r,s));for(var p=1;p<n.length;p++)r=n[p],s=r.value,i=this.$renderToken(e,i,r,s)},this.$renderLine=function(e,n,i,r){if(!r&&r!=!1&&(r=this.session.getFoldLine(n)),r)var s=this.$getFoldLineTokens(n,r);else var s=this.session.getTokens(n);if(i||e.push("<div class='ace_line' style='height:",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(n)),"px'>"),s.length){var p=this.session.getRowSplitData(n);p&&p.length?this.$renderWrappedLine(e,s,p,i):this.$renderSimpleLine(e,s)}this.showInvisibles&&(r&&(n=r.end.row),e.push("<span class='ace_invisible ace_invisible_eol'>",n==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,"</span>")),i||e.push("</div>")},this.$getFoldLineTokens=function(e,n){var i=this.session,r=[];function s(g,C,k){for(var m=0,b=0;b+g[m].value.length<C;)if(b+=g[m].value.length,m++,m==g.length)return;if(b!=C){var f=g[m].value.substring(C-b);f.length>k-C&&(f=f.substring(0,k-C)),r.push({type:g[m].type,value:f}),b=C+f.length,m+=1}for(;b<k&&m<g.length;){var f=g[m].value;f.length+b>k?r.push({type:g[m].type,value:f.substring(0,k-b)}):r.push(g[m]),b+=f.length,m+=1}}var p=i.getTokens(e);return n.walk(function(g,C,k,m,b){g!=null?r.push({type:"fold",value:g}):(b&&(p=i.getTokens(C)),p.length&&s(p,m,k))},n.end.row,this.session.getLine(n.end.row).length),r},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(t.prototype),d.Text=t});ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";var o=u("../lib/dom"),h,c=function(l){this.element=o.createElement("div"),this.element.className="ace_layer ace_cursor-layer",l.appendChild(this.element),h===void 0&&(h=!("opacity"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),o.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=(h?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(l){for(var a=this.cursors,t=a.length;t--;)a[t].style.visibility=l?"":"hidden"},this.$updateOpacity=function(l){for(var a=this.cursors,t=a.length;t--;)a[t].style.opacity=l?"":"0"},this.$padding=0,this.setPadding=function(l){this.$padding=l},this.setSession=function(l){this.session=l},this.setBlinking=function(l){l!=this.isBlinking&&(this.isBlinking=l,this.restartTimer())},this.setBlinkInterval=function(l){l!=this.blinkInterval&&(this.blinkInterval=l,this.restartTimer())},this.setSmoothBlinking=function(l){l!=this.smoothBlinking&&!h&&(this.smoothBlinking=l,o.setCssClass(this.element,"ace_smooth-blinking",l),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var l=o.createElement("div");return l.className="ace_cursor",this.element.appendChild(l),this.cursors.push(l),l},this.removeCursor=function(){if(this.cursors.length>1){var l=this.cursors.pop();return l.parentNode.removeChild(l),l}},this.hideCursor=function(){this.isVisible=!1,o.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,o.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},this.restartTimer=function(){var l=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&o.removeCssClass(this.element,"ace_smooth-blinking"),l(!0),!(!this.isBlinking||!this.blinkInterval||!this.isVisible)){this.smoothBlinking&&setTimeout(function(){o.addCssClass(this.element,"ace_smooth-blinking")}.bind(this));var a=function(){this.timeoutId=setTimeout(function(){l(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){l(!0),a()},this.blinkInterval),a()}},this.getPixelPosition=function(l,a){if(!this.config||!this.session)return{left:0,top:0};l||(l=this.session.selection.getCursor());var t=this.session.documentToScreenPosition(l),e=this.$padding+(this.session.$bidiHandler.isBidiRow(t.row,l.row)?this.session.$bidiHandler.getPosLeft(t.column):t.column*this.config.characterWidth),n=(t.row-(a?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:e,top:n}},this.update=function(l){this.config=l;var a=this.session.$selectionMarkers,t=0,e=0;(a===void 0||a.length===0)&&(a=[{cursor:null}]);for(var t=0,n=a.length;t<n;t++){var i=this.getPixelPosition(a[t].cursor,!0);if(!((i.top>l.height+l.offset||i.top<0)&&t>1)){var r=(this.cursors[e++]||this.addCursor()).style;this.drawCursor?this.drawCursor(r,i,l,a[t],this.session):(r.left=i.left+"px",r.top=i.top+"px",r.width=l.characterWidth+"px",r.height=l.lineHeight+"px")}}for(;this.cursors.length>e;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=i,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(l){l!=this.overwrite&&(this.overwrite=l,l?o.addCssClass(this.element,"ace_overwrite-cursors"):o.removeCssClass(this.element,"ace_overwrite-cursors"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(c.prototype),d.Cursor=c});ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/dom"),c=u("./lib/event"),l=u("./lib/event_emitter").EventEmitter,a=32768,t=function(i){this.element=h.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+this.classSuffix,this.inner=h.createElement("div"),this.inner.className="ace_scrollbar-inner",this.element.appendChild(this.inner),i.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,c.addListener(this.element,"scroll",this.onScroll.bind(this)),c.addListener(this.element,"mousedown",c.preventDefault)};(function(){o.implement(this,l),this.setVisible=function(i){this.element.style.display=i?"":"none",this.isVisible=i,this.coeff=1}}).call(t.prototype);var e=function(i,r){t.call(this,i),this.scrollTop=0,this.scrollHeight=0,r.$scrollbarWidth=this.width=h.scrollbarWidth(i.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+"px",this.$minWidth=0};o.inherits(e,t),function(){this.classSuffix="-v",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var i=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-i)/(this.coeff-i)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(i){this.element.style.height=i+"px"},this.setInnerHeight=this.setScrollHeight=function(i){this.scrollHeight=i,i>a?(this.coeff=a/i,i=a):this.coeff!=1&&(this.coeff=1),this.inner.style.height=i+"px"},this.setScrollTop=function(i){this.scrollTop!=i&&(this.skipEvent=!0,this.scrollTop=i,this.element.scrollTop=i*this.coeff)}}.call(e.prototype);var n=function(i,r){t.call(this,i),this.scrollLeft=0,this.height=r.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+"px"};o.inherits(n,t),function(){this.classSuffix="-h",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(i){this.element.style.width=i+"px"},this.setInnerWidth=function(i){this.inner.style.width=i+"px"},this.setScrollWidth=function(i){this.inner.style.width=i+"px"},this.setScrollLeft=function(i){this.scrollLeft!=i&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=i)}}.call(n.prototype),d.ScrollBar=e,d.ScrollBarV=e,d.ScrollBarH=n,d.VScrollBar=e,d.HScrollBar=n});ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(u,d,x){"use strict";var o=u("./lib/event"),h=function(c,l){this.onRender=c,this.pending=!1,this.changes=0,this.window=l||window};(function(){this.schedule=function(c){if(this.changes=this.changes|c,!this.pending&&this.changes){this.pending=!0;var l=this;o.nextFrame(function(){l.pending=!1;for(var a;a=l.changes;)l.changes=0,l.onRender(a)},this.window)}}}).call(h.prototype),d.RenderLoop=h});ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/lib/event_emitter"],function(u,d,x){var o=u("../lib/oop"),h=u("../lib/dom"),c=u("../lib/lang"),l=u("../lib/useragent"),a=u("../lib/event_emitter").EventEmitter,t=0,e=d.FontMetrics=function(n){this.el=h.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=h.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=h.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),n.appendChild(this.el),t||this.$testFractionalRect(),this.$measureNode.innerHTML=c.stringRepeat("X",t),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){o.implement(this,a),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var n=h.createElement("div");this.$setMeasureNodeStyles(n.style),n.style.width="0.2px",document.documentElement.appendChild(n);var i=n.getBoundingClientRect().width;i>0&&i<1?t=50:t=100,n.parentNode.removeChild(n)},this.$setMeasureNodeStyles=function(n,i){n.width=n.height="auto",n.left=n.top="0px",n.visibility="hidden",n.position="absolute",n.whiteSpace="pre",l.isIE<8?n["font-family"]="inherit":n.font="inherit",n.overflow=i?"hidden":"visible"},this.checkForSizeChanges=function(){var n=this.$measureSizes();if(n&&(this.$characterSize.width!==n.width||this.$characterSize.height!==n.height)){this.$measureNode.style.fontWeight="bold";var i=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=n,this.charSizes=Object.create(null),this.allowBoldFonts=i&&i.width===n.width&&i.height===n.height,this._emit("changeCharacterSize",{data:n})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var n=this;return this.$pollSizeChangesTimer=setInterval(function(){n.checkForSizeChanges()},500)},this.setPolling=function(n){n?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(t===50){var n=null;try{n=this.$measureNode.getBoundingClientRect()}catch{n={width:0,height:0}}var i={height:n.height,width:n.width/t}}else var i={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/t};return i.width===0||i.height===0?null:i},this.$measureCharWidth=function(n){this.$main.innerHTML=c.stringRepeat(n,t);var i=this.$main.getBoundingClientRect();return i.width/t},this.getCharacterWidth=function(n){var i=this.charSizes[n];return i===void 0&&(i=this.charSizes[n]=this.$measureCharWidth(n)/this.$characterSize.width),i},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(e.prototype)});ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/config","ace/lib/useragent","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/dom"),c=u("./config"),l=u("./lib/useragent"),a=u("./layer/gutter").Gutter,t=u("./layer/marker").Marker,e=u("./layer/text").Text,n=u("./layer/cursor").Cursor,i=u("./scrollbar").HScrollBar,r=u("./scrollbar").VScrollBar,s=u("./renderloop").RenderLoop,p=u("./layer/font_metrics").FontMetrics,g=u("./lib/event_emitter").EventEmitter,C=`.ace_editor {position: relative;overflow: hidden;font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;direction: ltr;text-align: left;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}.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;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;min-width: 100%;}.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_selecting, .ace_selecting * {cursor: text !important;}.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;}.ace_gutter-active-line {position: absolute;left: 0;right: 0;}.ace_scroller.ace_scroll-left {box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;}.ace_gutter-cell {padding-left: 19px;padding-right: 6px;background-repeat: no-repeat;}.ace_gutter-cell.ace_error {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 {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-position: 2px center;}.ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");background-position: 2px center;}.ace_dark .ace_gutter-cell.ace_info {background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");}.ace_scrollbar {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;text-indent: -1em;-ms-user-select: text;-moz-user-select: text;-webkit-user-select: text;user-select: text;white-space: pre!important;}.ace_text-input.ace_composition {background: inherit;color: inherit;z-index: 1000;opacity: 1;text-indent: 0;}.ace_layer {z-index: 1;position: absolute;overflow: hidden;word-wrap: normal;white-space: pre;height: 100%;width: 100%;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;pointer-events: none;}.ace_gutter-layer {position: relative;width: auto;text-align: right;pointer-events: auto;}.ace_text-layer {font: inherit !important;}.ace_cjk {display: inline-block;text-align: center;}.ace_cursor-layer {z-index: 4;}.ace_cursor {z-index: 4;position: absolute;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;border-left: 2px solid;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_smooth-blinking .ace_cursor {-webkit-transition: opacity 0.18s;transition: opacity 0.18s;}.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_active-line {position: absolute;z-index: 2;}.ace_marker-layer .ace_selected-word {position: absolute;z-index: 4;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;}.ace_line .ace_fold {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;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: #FFF;background-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));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;-moz-box-sizing: border-box;-webkit-box-sizing: border-box;box-sizing: border-box;cursor: default;white-space: pre;word-wrap: break-word;line-height: normal;font-style: normal;font-weight: normal;letter-spacing: normal;pointer-events: none;}.ace_folding-enabled > .ace_gutter-cell {padding-right: 13px;}.ace_fold-widget {-moz-box-sizing: border-box;-webkit-box-sizing: border-box;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);}.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_fold-widget.ace_invalid {background-color: #FFB4B4;border-color: #DE5555;}.ace_fade-fold-widgets .ace_fold-widget {-webkit-transition: opacity 0.4s ease 0.05s;transition: opacity 0.4s ease 0.05s;opacity: 0;}.ace_fade-fold-widgets:hover .ace_fold-widget {-webkit-transition: opacity 0.05s ease 0.05s;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_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_text-input-ios {position: absolute !important;top: -100000px !important;left: -100000px !important;}`;h.importCssString(C,"ace_editor.css");var k=function(m,b){var f=this;this.container=m||h.createElement("div"),this.$keepTextAreaAtCursor=!l.isOldIE,h.addCssClass(this.container,"ace_editor"),this.setTheme(b),this.$gutter=h.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden",!0),this.scroller=h.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=h.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new a(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new t(this.content);var _=this.$textLayer=new e(this.content);this.canvas=_.element,this.$markerFront=new t(this.content),this.$cursorLayer=new n(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new r(this.container,this),this.scrollBarH=new i(this.container,this),this.scrollBarV.addEventListener("scroll",function(A){f.$scrollAnimation||f.session.setScrollTop(A.data-f.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(A){f.$scrollAnimation||f.session.setScrollLeft(A.data-f.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new p(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener("changeCharacterSize",function(A){f.updateCharacterSize(),f.onResize(!0,f.gutterWidth,f.$size.width,f.$size.height),f._signal("changeCharacterSize",A)}),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.$loop=new s(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),c.resetOptions(this),c._emit("renderer",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,o.implement(this,g),this.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()},this.setSession=function(m){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=m,m&&this.scrollMargin.top&&m.getScrollTop()<=0&&m.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(m),this.$markerBack.setSession(m),this.$markerFront.setSession(m),this.$gutterLayer.setSession(m),this.$textLayer.setSession(m),m&&(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))},this.updateLines=function(m,b,f){if(b===void 0&&(b=1/0),this.$changedLines?(this.$changedLines.firstRow>m&&(this.$changedLines.firstRow=m),this.$changedLines.lastRow<b&&(this.$changedLines.lastRow=b)):this.$changedLines={firstRow:m,lastRow:b},this.$changedLines.lastRow<this.layerConfig.firstRow)if(f)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(m){m?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(m,b,f,_){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=m?1:0;var A=this.container;_||(_=A.clientHeight||A.scrollHeight),f||(f=A.clientWidth||A.scrollWidth);var $=this.$updateCachedSize(m,b,f,_);if(!this.$size.scrollerHeight||!f&&!_)return this.resizing=0;m&&(this.$gutterLayer.$padding=null),m?this.$renderChanges($|this.$changes,!0):this.$loop.schedule($|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(m,b,f,_){_-=this.$extraHeight||0;var A=0,$=this.$size,v={width:$.width,height:$.height,scrollerHeight:$.scrollerHeight,scrollerWidth:$.scrollerWidth};return _&&(m||$.height!=_)&&($.height=_,A|=this.CHANGE_SIZE,$.scrollerHeight=$.height,this.$horizScroll&&($.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",A=A|this.CHANGE_SCROLL),f&&(m||$.width!=f)&&(A|=this.CHANGE_SIZE,$.width=f,b==null&&(b=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=b,this.scrollBarH.element.style.left=this.scroller.style.left=b+"px",$.scrollerWidth=Math.max(0,f-b-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+"px",this.scroller.style.bottom=this.scrollBarH.getHeight()+"px",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||m)&&(A|=this.CHANGE_FULL)),$.$dirty=!f||!_,A&&this._signal("resize",v),A},this.onGutterResize=function(){var m=this.$showGutter?this.$gutter.offsetWidth:0;m!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,m,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(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var m=this.$size.scrollerWidth-this.$padding*2,b=Math.floor(m/this.characterWidth);return this.session.adjustWrapLimit(b,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(m){this.setOption("animatedScroll",m)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(m){this.setOption("showInvisibles",m),this.session.$bidiHandler.setShowInvisibles(m)},this.getShowInvisibles=function(){return this.getOption("showInvisibles")},this.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},this.setDisplayIndentGuides=function(m){this.setOption("displayIndentGuides",m)},this.setShowPrintMargin=function(m){this.setOption("showPrintMargin",m)},this.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},this.setPrintMarginColumn=function(m){this.setOption("printMarginColumn",m)},this.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},this.getShowGutter=function(){return this.getOption("showGutter")},this.setShowGutter=function(m){return this.setOption("showGutter",m)},this.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},this.setFadeFoldWidgets=function(m){this.setOption("fadeFoldWidgets",m)},this.setHighlightGutterLine=function(m){this.setOption("highlightGutterLine",m)},this.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},this.$updateGutterLineHighlight=function(){var m=this.$cursorLayer.$pixelPos,b=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var f=this.session.selection.getCursor();f.column=0,m=this.$cursorLayer.getPixelPosition(f,!0),b*=this.session.getRowLength(f.row)}this.$gutterLineHighlight.style.top=m.top-this.layerConfig.offset+"px",this.$gutterLineHighlight.style.height=b+"px"},this.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var m=h.createElement("div");m.className="ace_layer ace_print-margin-layer",this.$printMarginEl=h.createElement("div"),this.$printMarginEl.className="ace_print-margin",m.appendChild(this.$printMarginEl),this.content.insertBefore(m,this.content.firstChild)}var b=this.$printMarginEl.style;b.left=this.characterWidth*this.$printMarginColumn+this.$padding+"px",b.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var m=this.layerConfig,b=this.$cursorLayer.$pixelPos.top,f=this.$cursorLayer.$pixelPos.left;b-=m.offset;var _=this.textarea.style,A=this.lineHeight;if(b<0||b>m.height-A){_.top=_.left="0";return}var $=this.characterWidth;if(this.$composition){var v=this.textarea.value.replace(/^\x01+/,"");$*=this.session.$getStringScreenWidth(v)[0]+2,A+=2}f-=this.scrollLeft,f>this.$size.scrollerWidth-$&&(f=this.$size.scrollerWidth-$),f+=this.gutterWidth,_.height=A+"px",_.width=$+"px",_.left=Math.min(f,this.$size.scrollerWidth-$)+"px",_.top=Math.min(b,this.$size.height-A)+"px"}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},this.getLastFullyVisibleRow=function(){var m=this.layerConfig,b=m.lastRow,f=this.session.documentToScreenRow(b,0)*m.lineHeight;return f-this.session.getScrollTop()>m.height-m.lineHeight?b-1:b},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(m){this.$padding=m,this.$textLayer.setPadding(m),this.$cursorLayer.setPadding(m),this.$markerFront.setPadding(m),this.$markerBack.setPadding(m),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(m,b,f,_){var A=this.scrollMargin;A.top=m|0,A.bottom=b|0,A.right=_|0,A.left=f|0,A.v=A.top+A.bottom,A.h=A.left+A.right,A.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-A.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(m){this.setOption("hScrollBarAlwaysVisible",m)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(m){this.setOption("vScrollBarAlwaysVisible",m)},this.$updateScrollBarV=function(){var m=this.layerConfig.maxHeight,b=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(m-=(b-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>m-b&&(m=this.scrollTop+b,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(m+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(m,b){if(this.$changes&&(m|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!m&&!b){this.$changes|=m;return}if(this.$size.$dirty)return this.$changes|=m,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var f=this.layerConfig;if(m&this.CHANGE_FULL||m&this.CHANGE_SIZE||m&this.CHANGE_TEXT||m&this.CHANGE_LINES||m&this.CHANGE_SCROLL||m&this.CHANGE_H_SCROLL){if(m|=this.$computeLayerConfig(),f.firstRow!=this.layerConfig.firstRow&&f.firstRowScreen==this.layerConfig.firstRowScreen){var _=this.scrollTop+(f.firstRow-this.layerConfig.firstRow)*this.lineHeight;_>0&&(this.scrollTop=_,m=m|this.CHANGE_SCROLL,m|=this.$computeLayerConfig())}f=this.layerConfig,this.$updateScrollBarV(),m&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-f.offset+"px",this.content.style.marginTop=-f.offset+"px",this.content.style.width=f.width+2*this.$padding+"px",this.content.style.height=f.minHeight+"px"}if(m&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+"px",this.scroller.className=this.scrollLeft<=0?"ace_scroller":"ace_scroller ace_scroll-left"),m&this.CHANGE_FULL){this.$textLayer.update(f),this.$showGutter&&this.$gutterLayer.update(f),this.$markerBack.update(f),this.$markerFront.update(f),this.$cursorLayer.update(f),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this._signal("afterRender");return}if(m&this.CHANGE_SCROLL){m&this.CHANGE_TEXT||m&this.CHANGE_LINES?this.$textLayer.update(f):this.$textLayer.scrollLines(f),this.$showGutter&&this.$gutterLayer.update(f),this.$markerBack.update(f),this.$markerFront.update(f),this.$cursorLayer.update(f),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),this._signal("afterRender");return}m&this.CHANGE_TEXT?(this.$textLayer.update(f),this.$showGutter&&this.$gutterLayer.update(f)):m&this.CHANGE_LINES?(this.$updateLines()||m&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(f):(m&this.CHANGE_TEXT||m&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(f),m&this.CHANGE_CURSOR&&(this.$cursorLayer.update(f),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),m&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(f),m&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(f),this._signal("afterRender")},this.$autosize=function(){var m=this.session.getScreenLength()*this.lineHeight,b=this.$maxLines*this.lineHeight,f=Math.min(b,Math.max((this.$minLines||1)*this.lineHeight,m))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(f+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&f>this.$maxPixelHeight&&(f=this.$maxPixelHeight);var _=m>b;if(f!=this.desiredHeight||this.$size.height!=this.desiredHeight||_!=this.$vScroll){_!=this.$vScroll&&(this.$vScroll=_,this.scrollBarV.setVisible(_));var A=this.container.clientWidth;this.container.style.height=f+"px",this.$updateCachedSize(!0,this.$gutterWidth,A,f),this.desiredHeight=f,this._signal("autosize")}},this.$computeLayerConfig=function(){var m=this.session,b=this.$size,f=b.height<=2*this.lineHeight,_=this.session.getScreenLength(),A=_*this.lineHeight,$=this.$getLongestLine(),v=!f&&(this.$hScrollBarAlwaysVisible||b.scrollerWidth-$-2*this.$padding<0),E=this.$horizScroll!==v;E&&(this.$horizScroll=v,this.scrollBarH.setVisible(v));var w=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var y=this.scrollTop%this.lineHeight,S=b.scrollerHeight+this.lineHeight,F=!this.$maxLines&&this.$scrollPastEnd?(b.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;A+=F;var M=this.scrollMargin;this.session.setScrollTop(Math.max(-M.top,Math.min(this.scrollTop,A-b.scrollerHeight+M.bottom))),this.session.setScrollLeft(Math.max(-M.left,Math.min(this.scrollLeft,$+2*this.$padding-b.scrollerWidth+M.right)));var T=!f&&(this.$vScrollBarAlwaysVisible||b.scrollerHeight-A+F<0||this.scrollTop>M.top),B=w!==T;B&&(this.$vScroll=T,this.scrollBarV.setVisible(T));var I=Math.ceil(S/this.lineHeight)-1,D=Math.max(0,Math.round((this.scrollTop-y)/this.lineHeight)),L=D+I,H,O,P=this.lineHeight;D=m.screenToDocumentRow(D,0);var N=m.getFoldLine(D);N&&(D=N.start.row),H=m.documentToScreenRow(D,0),O=m.getRowLength(D)*P,L=Math.min(m.screenToDocumentRow(L,0),m.getLength()-1),S=b.scrollerHeight+m.getRowLength(L)*P+O,y=this.scrollTop-H*P;var V=0;return this.layerConfig.width!=$&&(V=this.CHANGE_H_SCROLL),(E||B)&&(V=this.$updateCachedSize(!0,this.gutterWidth,b.width,b.height),this._signal("scrollbarVisibilityChanged"),B&&($=this.$getLongestLine())),this.layerConfig={width:$,padding:this.$padding,firstRow:D,firstRowScreen:H,lastRow:L,lineHeight:P,characterWidth:this.characterWidth,minHeight:S,maxHeight:A,offset:y,gutterOffset:P?Math.max(0,Math.ceil((y+b.height-b.scrollerHeight)/P)):0,height:this.$size.scrollerHeight},V},this.$updateLines=function(){if(this.$changedLines){var m=this.$changedLines.firstRow,b=this.$changedLines.lastRow;this.$changedLines=null;var f=this.layerConfig;if(!(m>f.lastRow+1)&&!(b<f.firstRow)){if(b===1/0){this.$showGutter&&this.$gutterLayer.update(f),this.$textLayer.update(f);return}return this.$textLayer.updateLines(f,m,b),!0}}},this.$getLongestLine=function(){var m=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(m+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(m*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(m,b){this.$gutterLayer.addGutterDecoration(m,b)},this.removeGutterDecoration=function(m,b){this.$gutterLayer.removeGutterDecoration(m,b)},this.updateBreakpoints=function(m){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(m){this.$gutterLayer.setAnnotations(m),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(m,b,f){this.scrollCursorIntoView(m,f),this.scrollCursorIntoView(b,f)},this.scrollCursorIntoView=function(m,b,f){if(this.$size.scrollerHeight!==0){var _=this.$cursorLayer.getPixelPosition(m),A=_.left,$=_.top,v=f&&f.top||0,E=f&&f.bottom||0,w=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;w+v>$?(b&&w+v>$+this.lineHeight&&($-=b*this.$size.scrollerHeight),$===0&&($=-this.scrollMargin.top),this.session.setScrollTop($)):w+this.$size.scrollerHeight-E<$+this.lineHeight&&(b&&w+this.$size.scrollerHeight-E<$-this.lineHeight&&($+=b*this.$size.scrollerHeight),this.session.setScrollTop($+this.lineHeight-this.$size.scrollerHeight));var y=this.scrollLeft;y>A?(A<this.$padding+2*this.layerConfig.characterWidth&&(A=-this.scrollMargin.left),this.session.setScrollLeft(A)):y+this.$size.scrollerWidth<A+this.characterWidth?this.session.setScrollLeft(Math.round(A+this.characterWidth-this.$size.scrollerWidth)):y<=this.$padding&&A-y<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(m){this.session.setScrollTop(m*this.lineHeight)},this.alignCursor=function(m,b){typeof m=="number"&&(m={row:m,column:0});var f=this.$cursorLayer.getPixelPosition(m),_=this.$size.scrollerHeight-this.lineHeight,A=f.top-_*(b||0);return this.session.setScrollTop(A),A},this.STEPS=8,this.$calcSteps=function(m,b){var f=0,_=this.STEPS,A=[],$=function(v,E,w){return w*(Math.pow(v-1,3)+1)+E};for(f=0;f<_;++f)A.push($(f/this.STEPS,m,b-m));return A},this.scrollToLine=function(m,b,f,_){var A=this.$cursorLayer.getPixelPosition({row:m,column:0}),$=A.top;b&&($-=this.$size.scrollerHeight/2);var v=this.scrollTop;this.session.setScrollTop($),f!==!1&&this.animateScrolling(v,_)},this.animateScrolling=function(m,b){var f=this.scrollTop;if(this.$animatedScroll){var _=this;if(m!=f){if(this.$scrollAnimation){var A=this.$scrollAnimation.steps;if(A.length&&(m=A[0],m==f))return}var $=_.$calcSteps(m,f);this.$scrollAnimation={from:m,to:f,steps:$},clearInterval(this.$timer),_.session.setScrollTop($.shift()),_.session.$scrollTop=f,this.$timer=setInterval(function(){$.length?(_.session.setScrollTop($.shift()),_.session.$scrollTop=f):f!=null?(_.session.$scrollTop=-1,_.session.setScrollTop(f),f=null):(_.$timer=clearInterval(_.$timer),_.$scrollAnimation=null,b&&b())},10)}}},this.scrollToY=function(m){this.scrollTop!==m&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=m)},this.scrollToX=function(m){this.scrollLeft!==m&&(this.scrollLeft=m),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(m,b){this.session.setScrollTop(b),this.session.setScrollLeft(b)},this.scrollBy=function(m,b){b&&this.session.setScrollTop(this.session.getScrollTop()+b),m&&this.session.setScrollLeft(this.session.getScrollLeft()+m)},this.isScrollableBy=function(m,b){if(b<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||b>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||m<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||m>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},this.pixelToScreenCoordinates=function(m,b){var f=this.scroller.getBoundingClientRect(),_=m+this.scrollLeft-f.left-this.$padding,A=_/this.characterWidth,$=Math.floor((b+this.scrollTop-f.top)/this.lineHeight),v=Math.round(A);return{row:$,column:v,side:A-v>0?1:-1,offsetX:_}},this.screenToTextCoordinates=function(m,b){var f=this.scroller.getBoundingClientRect(),_=m+this.scrollLeft-f.left-this.$padding,A=Math.round(_/this.characterWidth),$=(b+this.scrollTop-f.top)/this.lineHeight;return this.session.screenToDocumentPosition($,Math.max(A,0),_)},this.textToScreenCoordinates=function(m,b){var f=this.scroller.getBoundingClientRect(),_=this.session.documentToScreenPosition(m,b),A=this.$padding+(this.session.$bidiHandler.isBidiRow(_.row,m)?this.session.$bidiHandler.getPosLeft(_.column):Math.round(_.column*this.characterWidth)),$=_.row*this.lineHeight;return{pageX:f.left+A-this.scrollLeft,pageY:f.top+$-this.scrollTop}},this.visualizeFocus=function(){h.addCssClass(this.container,"ace_focus")},this.visualizeBlur=function(){h.removeCssClass(this.container,"ace_focus")},this.showComposition=function(m){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,h.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor()},this.setCompositionText=function(m){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(h.removeCssClass(this.textarea,"ace_composition"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(m,b){var f=this;if(this.$themeId=m,f._dispatchEvent("themeChange",{theme:m}),!m||typeof m=="string"){var _=m||this.$options.theme.initialValue;c.loadModule(["theme",_],A)}else A(m);function A($){if(f.$themeId!=m)return b&&b();if(!$||!$.cssClass)throw new Error("couldn't load module "+m+" or it didn't call define");h.importCssString($.cssText,$.cssClass,f.container.ownerDocument),f.theme&&h.removeCssClass(f.container,f.theme.cssClass);var v="padding"in $?$.padding:"padding"in(f.theme||{})?4:f.$padding;f.$padding&&v!=f.$padding&&f.setPadding(v),f.$theme=$.cssClass,f.theme=$,h.addCssClass(f.container,$.cssClass),h.setCssClass(f.container,"ace_dark",$.isDark),f.$size&&(f.$size.width=0,f.$updateSizeAsync()),f._dispatchEvent("themeLoaded",{theme:$}),b&&b()}},this.getTheme=function(){return this.$themeId},this.setStyle=function(m,b){h.setCssClass(this.container,m,b!==!1)},this.unsetStyle=function(m){h.removeCssClass(this.container,m)},this.setCursorStyle=function(m){this.scroller.style.cursor!=m&&(this.scroller.style.cursor=m)},this.setMouseCursor=function(m){this.scroller.style.cursor=m},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(k.prototype),c.defineOptions(k.prototype,"renderer",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(m){this.$textLayer.setShowInvisibles(m)&&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(m){typeof m=="number"&&(this.$printMarginColumn=m),this.$showPrintMargin=!!m,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(m){this.$gutter.style.display=m?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(m){h.setCssClass(this.$gutter,"ace_fade-fold-widgets",m)},initialValue:!1},showFoldWidgets:{set:function(m){this.$gutterLayer.setShowFoldWidgets(m)},initialValue:!0},showLineNumbers:{set:function(m){this.$gutterLayer.setShowLineNumbers(m),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(m){this.$textLayer.setDisplayIndentGuides(m)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(m){if(!this.$gutterLineHighlight){this.$gutterLineHighlight=h.createElement("div"),this.$gutterLineHighlight.className="ace_gutter-active-line",this.$gutter.appendChild(this.$gutterLineHighlight);return}this.$gutterLineHighlight.style.display=m?"":"none",this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight()},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(m){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(m){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(m){typeof m=="number"&&(m=m+"px"),this.container.style.fontSize=m,this.updateFontSize()},initialValue:12},fontFamily:{set:function(m){this.container.style.fontFamily=m,this.updateFontSize()}},maxLines:{set:function(m){this.updateFull()}},minLines:{set:function(m){this.updateFull()}},maxPixelHeight:{set:function(m){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(m){m=+m||0,this.$scrollPastEnd!=m&&(this.$scrollPastEnd=m,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(m){this.$gutterLayer.$fixedWidth=!!m,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(m){this.setTheme(m)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0}}),d.VirtualRenderer=k});ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(u,d,x){"use strict";var o=u("../lib/oop"),h=u("../lib/net"),c=u("../lib/event_emitter").EventEmitter,l=u("../config");function a(i,r){var s=r.src;""+h.qualifyURL(i);try{return new Blob([s],{type:"application/javascript"})}catch{var p=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,g=new p;return g.append(s),g.getBlob("application/javascript")}}function t(i,r){var s=a(i,r),p=window.URL||window.webkitURL,g=p.createObjectURL(s);return new Worker(g)}var e=function(i,r,s,p,g){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),u.nameToUrl&&!u.toUrl&&(u.toUrl=u.nameToUrl),l.get("packaged")||!u.toUrl)p=p||l.moduleUrl(r.id,"worker");else{var C=this.$normalizePath;p=p||C(u.toUrl("ace/worker/worker.js",null,"_"));var k={};i.forEach(function(m){k[m]=C(u.toUrl(m,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}this.$worker=t(p,r),g&&this.send("importScripts",g),this.$worker.postMessage({init:!0,tlns:k,module:r.id,classname:s}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){o.implement(this,c),this.onMessage=function(i){var r=i.data;switch(r.type){case"event":this._signal(r.name,{data:r.data});break;case"call":var s=this.callbacks[r.id];s&&(s(r.data),delete this.callbacks[r.id]);break;case"error":this.reportError(r.data);break;case"log":window.console&&console.log&&console.log.apply(console,r.data);break}},this.reportError=function(i){window.console&&console.error&&console.error(i)},this.$normalizePath=function(i){return h.qualifyURL(i)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(i,r){this.$worker.postMessage({command:i,args:r})},this.call=function(i,r,s){if(s){var p=this.callbackId++;this.callbacks[p]=s,r.push(p)}this.send(i,r)},this.emit=function(i,r){try{this.$worker.postMessage({event:i,data:{data:r.data}})}catch(s){console.error(s.stack)}},this.attachToDocument=function(i){this.$doc&&this.terminate(),this.$doc=i,this.call("setValue",[i.getValue()]),i.on("change",this.changeListener)},this.changeListener=function(i){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),i.action=="insert"?this.deltaQueue.push(i.start,i.lines):this.deltaQueue.push(i.start,i.end)},this.$sendDeltaQueue=function(){var i=this.deltaQueue;i&&(this.deltaQueue=null,i.length>50&&i.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:i}))}}).call(e.prototype);var n=function(i,r,s){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var p=null,g=!1,C=Object.create(c),k=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(b){k.messageBuffer.push(b),p&&(g?setTimeout(m):m())},this.setEmitSync=function(b){g=b};var m=function(){var b=k.messageBuffer.shift();b.command?p[b.command].apply(p,b.args):b.event&&C._signal(b.event,b.data)};C.postMessage=function(b){k.onMessage({data:b})},C.callback=function(b,f){this.postMessage({type:"call",id:f,data:b})},C.emit=function(b,f){this.postMessage({type:"event",name:b,data:f})},l.loadModule(["worker",r],function(b){for(p=new b[s](C);k.messageBuffer.length;)m()})};n.prototype=e.prototype,d.UIWorkerClient=n,d.WorkerClient=e,d.createWorker=t});ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(u,d,x){"use strict";var o=u("./range").Range,h=u("./lib/event_emitter").EventEmitter,c=u("./lib/oop"),l=function(a,t,e,n,i,r){var s=this;this.length=t,this.session=a,this.doc=a.getDocument(),this.mainClass=i,this.othersClass=r,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate),this.$others=n,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=e;var p=a.getUndoManager().$undoStack||a.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=p.length,this.setup(),a.selection.on("changeCursor",this.$onCursorChange)};(function(){c.implement(this,h),this.setup=function(){var a=this,t=this.doc,e=this.session;this.selectionBefore=e.selection.toJSON(),e.selection.inMultiSelectMode&&e.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var n=this.pos;n.$insertRight=!0,n.detach(),n.markerId=e.addMarker(new o(n.row,n.column,n.row,n.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(i){var r=t.createAnchor(i.row,i.column);r.$insertRight=!0,r.detach(),a.others.push(r)}),e.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var a=this.session,t=this;this.othersActive=!0,this.others.forEach(function(e){e.markerId=a.addMarker(new o(e.row,e.column,e.row,e.column+t.length),t.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var a=0;a<this.others.length;a++)this.session.removeMarker(this.others[a].markerId)}},this.onUpdate=function(a){if(this.$updating)return this.updateAnchors(a);var t=a;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var e=a.action==="insert"?t.end.column-t.start.column:t.start.column-t.end.column,n=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,i=t.start.column-this.pos.column;if(this.updateAnchors(a),n&&(this.length+=e),n&&!this.session.$fromUndo){if(a.action==="insert")for(var r=this.others.length-1;r>=0;r--){var s=this.others[r],p={row:s.row,column:s.column+i};this.doc.insertMergedLines(p,a.lines)}else if(a.action==="remove")for(var r=this.others.length-1;r>=0;r--){var s=this.others[r],p={row:s.row,column:s.column+i};this.doc.remove(new o(p.row,p.column,p.row,p.column-e))}}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(a){this.pos.onChange(a);for(var t=this.others.length;t--;)this.others[t].onChange(a);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var a=this,t=this.session,e=function(i,r){t.removeMarker(i.markerId),i.markerId=t.addMarker(new o(i.row,i.column,i.row,i.column+a.length),r,null,!1)};e(this.pos,this.mainClass);for(var n=this.others.length;n--;)e(this.others[n],this.othersClass)}},this.onCursorChange=function(a){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",a)):(this.hideOtherMarkers(),this._emit("cursorLeave",a))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener("change",this.$onUpdate),this.session.selection.removeEventListener("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth!==-1){for(var a=this.session.getUndoManager(),t=(a.$undoStack||a.$undostack).length-this.$undoStackDepth,e=0;e<t;e++)a.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(l.prototype),d.PlaceHolder=l});ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(u,d,x){var o=u("../lib/event"),h=u("../lib/useragent");function c(a,t){return a.row==t.row&&a.column==t.column}function l(a){var t=a.domEvent,e=t.altKey,n=t.shiftKey,i=t.ctrlKey,r=a.getAccelKey(),s=a.getButton();if(i&&h.isMac&&(s=t.button),a.editor.inMultiSelectMode&&s==2){a.editor.textInput.onContextMenu(a.domEvent);return}if(!i&&!e&&!r){s===0&&a.editor.inMultiSelectMode&&a.editor.exitMultiSelectMode();return}if(s===0){var p=a.editor,g=p.selection,C=p.inMultiSelectMode,k=a.getDocumentPosition(),m=g.getCursor(),b=a.inSelection()||g.isEmpty()&&c(k,m),f=a.x,_=a.y,A=function(L){f=L.clientX,_=L.clientY},$=p.session,v=p.renderer.pixelToScreenCoordinates(f,_),E=v,w;if(p.$mouseHandler.$enableJumpToDef)i&&e||r&&e?w=n?"block":"add":e&&p.$blockSelectEnabled&&(w="block");else if(r&&!e){if(w="add",!C&&n)return}else e&&p.$blockSelectEnabled&&(w="block");if(w&&h.isMac&&t.ctrlKey&&p.$mouseHandler.cancelContextMenu(),w=="add"){if(!C&&b)return;if(!C){var y=g.toOrientedRange();p.addSelectionMarker(y)}var S=g.rangeList.rangeAtPoint(k);p.$blockScrolling++,p.inVirtualSelectionMode=!0,n&&(S=null,y=g.ranges[0]||y,p.removeSelectionMarker(y)),p.once("mouseup",function(){var L=g.toOrientedRange();S&&L.isEmpty()&&c(S.cursor,L.cursor)?g.substractPoint(L.cursor):(n?g.substractPoint(y.cursor):y&&(p.removeSelectionMarker(y),g.addRange(y)),g.addRange(L)),p.$blockScrolling--,p.inVirtualSelectionMode=!1})}else if(w=="block"){a.stop(),p.inVirtualSelectionMode=!0;var F,M=[],T=function(){var L=p.renderer.pixelToScreenCoordinates(f,_),H=$.screenToDocumentPosition(L.row,L.column,L.offsetX);c(E,L)&&c(H,g.lead)||(E=L,p.$blockScrolling++,p.selection.moveToPosition(H),p.renderer.scrollCursorIntoView(),p.removeSelectionMarkers(M),M=g.rectangularRangeBlock(E,v),p.$mouseHandler.$clickSelection&&M.length==1&&M[0].isEmpty()&&(M[0]=p.$mouseHandler.$clickSelection.clone()),M.forEach(p.addSelectionMarker,p),p.updateSelectionMarkers(),p.$blockScrolling--)};p.$blockScrolling++,C&&!r?g.toSingleRange():!C&&r&&(F=g.toOrientedRange(),p.addSelectionMarker(F)),n?v=$.documentToScreenPosition(g.lead):g.moveToPosition(k),p.$blockScrolling--,E={row:-1,column:-1};var B=function(L){clearInterval(D),p.removeSelectionMarkers(M),M.length||(M=[g.toOrientedRange()]),p.$blockScrolling++,F&&(p.removeSelectionMarker(F),g.toSingleRange(F));for(var H=0;H<M.length;H++)g.addRange(M[H]);p.inVirtualSelectionMode=!1,p.$mouseHandler.$clickSelection=null,p.$blockScrolling--},I=T;o.capture(p.container,A,B);var D=setInterval(function(){I()},20);return a.preventDefault()}}}d.onMouseDown=l});ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(u,d,x){d.defaultCommands=[{name:"addCursorAbove",exec:function(h){h.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",exec:function(h){h.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",exec:function(h){h.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",exec:function(h){h.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",exec:function(h){h.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",exec:function(h){h.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",exec:function(h){h.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",exec:function(h){h.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"splitIntoLines",exec:function(h){h.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"alignCursors",exec:function(h){h.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",exec:function(h){h.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],d.multiSelectCommands=[{name:"singleSelection",bindKey:"esc",exec:function(h){h.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(h){return h&&h.inMultiSelectMode}}];var o=u("../keyboard/hash_handler").HashHandler;d.keyboardHandler=new o(d.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(u,d,x){var o=u("./range_list").RangeList,h=u("./range").Range,c=u("./selection").Selection,l=u("./mouse/multi_select_handler").onMouseDown,a=u("./lib/event"),t=u("./lib/lang"),e=u("./commands/multi_select_commands");d.commands=e.defaultCommands.concat(e.multiSelectCommands);var n=u("./search").Search,i=new n;function r(m,b,f){return i.$options.wrap=!0,i.$options.needle=b,i.$options.backwards=f==-1,i.find(m)}var s=u("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(s.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(m,b){if(m){if(!this.inMultiSelectMode&&this.rangeCount===0){var f=this.toOrientedRange();if(this.rangeList.add(f),this.rangeList.add(m),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),b||this.fromOrientedRange(m);this.rangeList.removeAll(),this.rangeList.add(f),this.$onAddRange(f)}m.cursor||(m.cursor=m.end);var _=this.rangeList.add(m);return this.$onAddRange(m),_.length&&this.$onRemoveRange(_),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),b||this.fromOrientedRange(m)}},this.toSingleRange=function(m){m=m||this.ranges[0];var b=this.rangeList.removeAll();b.length&&this.$onRemoveRange(b),m&&this.fromOrientedRange(m)},this.substractPoint=function(m){var b=this.rangeList.substractPoint(m);if(b)return this.$onRemoveRange(b),b[0]},this.mergeOverlappingRanges=function(){var m=this.rangeList.merge();m.length?this.$onRemoveRange(m):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(m){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(m),this._signal("addRange",{range:m})},this.$onRemoveRange=function(m){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var b=this.rangeList.ranges.pop();m.push(b),this.rangeCount=0}for(var f=m.length;f--;){var _=this.ranges.indexOf(m[f]);this.ranges.splice(_,1)}this._signal("removeRange",{ranges:m}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),b=b||this.ranges[0],b&&!b.isEqual(this.getRange())&&this.fromOrientedRange(b)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new o,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var m=this.rangeList.ranges,b=m[m.length-1],f=h.fromPoints(m[0].start,b.end);this.toSingleRange(),this.setSelectionRange(f,b.cursor==b.start)}else{var f=this.getRange(),_=this.isBackwards(),A=f.start.row,$=f.end.row;if(A==$){if(_)var v=f.end,E=f.start;else var v=f.start,E=f.end;this.addRange(h.fromPoints(E,E)),this.addRange(h.fromPoints(v,v));return}var w=[],y=this.getLineRange(A,!0);y.start.column=f.start.column,w.push(y);for(var S=A+1;S<$;S++)w.push(this.getLineRange(S,!0));y=this.getLineRange($,!0),y.end.column=f.end.column,w.push(y),w.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var m=this.rangeList.ranges,b=m[m.length-1],f=h.fromPoints(m[0].start,b.end);this.toSingleRange(),this.setSelectionRange(f,b.cursor==b.start)}else{var _=this.session.documentToScreenPosition(this.selectionLead),A=this.session.documentToScreenPosition(this.selectionAnchor),$=this.rectangularRangeBlock(_,A);$.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(m,b,f){var _=[],A=m.column<b.column;if(A)var $=m.column,v=b.column,E=m.offsetX,w=b.offsetX;else var $=b.column,v=m.column,E=b.offsetX,w=m.offsetX;var y=m.row<b.row;if(y)var S=m.row,F=b.row;else var S=b.row,F=m.row;$<0&&($=0),S<0&&(S=0),S==F&&(f=!0);for(var M=S;M<=F;M++){var T=h.fromPoints(this.session.screenToDocumentPosition(M,$,E),this.session.screenToDocumentPosition(M,v,w));if(T.isEmpty()){if(B&&g(T.end,B))break;var B=T.end}T.cursor=A?T.start:T.end,_.push(T)}if(y&&_.reverse(),!f){for(var I=_.length-1;_[I].isEmpty()&&I>0;)I--;if(I>0)for(var D=0;_[D].isEmpty();)D++;for(var L=I;L>=D;L--)_[L].isEmpty()&&_.splice(L,1)}return _}}.call(c.prototype);var p=u("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(m){m.cursor||(m.cursor=m.end);var b=this.getSelectionStyle();return m.marker=this.session.addMarker(m,"ace_selection",b),this.session.$selectionMarkers.push(m),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,m},this.removeSelectionMarker=function(m){if(m.marker){this.session.removeMarker(m.marker);var b=this.session.$selectionMarkers.indexOf(m);b!=-1&&this.session.$selectionMarkers.splice(b,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(m){for(var b=this.session.$selectionMarkers,f=m.length;f--;){var _=m[f];if(_.marker){this.session.removeMarker(_.marker);var A=b.indexOf(_);A!=-1&&b.splice(A,1)}}this.session.selectionMarkerCount=b.length},this.$onAddRange=function(m){this.addSelectionMarker(m.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(m){this.removeSelectionMarkers(m.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(m){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(e.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(m){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(e.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(m){var b=m.command,f=m.editor;if(f.multiSelect){if(b.multiSelectAction)b.multiSelectAction=="forEach"?_=f.forEachSelection(b,m.args):b.multiSelectAction=="forEachLine"?_=f.forEachSelection(b,m.args,!0):b.multiSelectAction=="single"?(f.exitMultiSelectMode(),_=b.exec(f,m.args||{})):_=b.multiSelectAction(f,m.args||{});else{var _=b.exec(f,m.args||{});f.multiSelect.addRange(f.multiSelect.toOrientedRange()),f.multiSelect.mergeOverlappingRanges()}return _}},this.forEachSelection=function(m,b,f){if(!this.inVirtualSelectionMode){var _=f&&f.keepOrder,A=f==!0||f&&f.$byLines,$=this.session,v=this.selection,E=v.rangeList,w=(_?v:E).ranges,y;if(!w.length)return m.exec?m.exec(this,b||{}):m(this,b||{});var S=v._eventRegistry;v._eventRegistry={};var F=new c($);this.inVirtualSelectionMode=!0;for(var M=w.length;M--;){if(A)for(;M>0&&w[M].start.row==w[M-1].end.row;)M--;F.fromOrientedRange(w[M]),F.index=M,this.selection=$.selection=F;var T=m.exec?m.exec(this,b||{}):m(this,b||{});!y&&T!==void 0&&(y=T),F.toOrientedRange(w[M])}F.detach(),this.selection=$.selection=v,this.inVirtualSelectionMode=!1,v._eventRegistry=S,v.mergeOverlappingRanges();var B=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),B&&B.from==B.to&&this.renderer.animateScrolling(B.from),y}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var m="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var b=this.multiSelect.rangeList.ranges,f=[],_=0;_<b.length;_++)f.push(this.session.getTextRange(b[_]));var A=this.session.getDocument().getNewLineCharacter();m=f.join(A),m.length==(f.length-1)*A.length&&(m="")}else this.selection.isEmpty()||(m=this.session.getTextRange(this.getSelectionRange()));return m},this.$checkMultiselectChange=function(m,b){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var f=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&b==this.multiSelect.anchor)return;var _=b==this.multiSelect.anchor?f.cursor==f.start?f.end:f.start:f.cursor;(_.row!=b.row||this.session.$clipPositionToDocument(_.row,_.column).column!=b.column)&&this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(m,b,f){if(b=b||{},b.needle=m||b.needle,b.needle==null){var _=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();b.needle=this.session.getTextRange(_)}this.$search.set(b);var A=this.$search.findAll(this.session);if(!A.length)return 0;this.$blockScrolling+=1;var $=this.multiSelect;f||$.toSingleRange(A[0]);for(var v=A.length;v--;)$.addRange(A[v],!0);return _&&$.rangeList.rangeAtPoint(_.start)&&$.addRange(_,!0),this.$blockScrolling-=1,A.length},this.selectMoreLines=function(m,b){var f=this.selection.toOrientedRange(),_=f.cursor==f.end,A=this.session.documentToScreenPosition(f.cursor);this.selection.$desiredColumn&&(A.column=this.selection.$desiredColumn);var $=this.session.screenToDocumentPosition(A.row+m,A.column);if(f.isEmpty())var E=$;else var v=this.session.documentToScreenPosition(_?f.end:f.start),E=this.session.screenToDocumentPosition(v.row+m,v.column);if(_){var w=h.fromPoints($,E);w.cursor=w.start}else{var w=h.fromPoints(E,$);w.cursor=w.end}if(w.desiredColumn=A.column,!this.selection.inMultiSelectMode)this.selection.addRange(f);else if(b)var y=f.cursor;this.selection.addRange(w),y&&this.selection.substractPoint(y)},this.transposeSelections=function(m){for(var b=this.session,f=b.multiSelect,_=f.ranges,A=_.length;A--;){var $=_[A];if($.isEmpty()){var v=b.getWordRange($.start.row,$.start.column);$.start.row=v.start.row,$.start.column=v.start.column,$.end.row=v.end.row,$.end.column=v.end.column}}f.mergeOverlappingRanges();for(var E=[],A=_.length;A--;){var $=_[A];E.unshift(b.getTextRange($))}m<0?E.unshift(E.pop()):E.push(E.shift());for(var A=_.length;A--;){var $=_[A],v=$.clone();b.replace($,E[A]),$.start.row=v.start.row,$.start.column=v.start.column}},this.selectMore=function(m,b,f){var _=this.session,A=_.multiSelect,$=A.toOrientedRange();if(!($.isEmpty()&&($=_.getWordRange($.start.row,$.start.column),$.cursor=m==-1?$.start:$.end,this.multiSelect.addRange($),f))){var v=_.getTextRange($),E=r(_,v,m);E&&(E.cursor=m==-1?E.start:E.end,this.$blockScrolling+=1,this.session.unfold(E),this.multiSelect.addRange(E),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),b&&this.multiSelect.substractPoint($.cursor)}},this.alignCursors=function(){var m=this.session,b=m.multiSelect,f=b.ranges,_=-1,A=f.filter(function(I){if(I.cursor.row==_)return!0;_=I.cursor.row});if(!f.length||A.length==f.length-1){var $=this.selection.getRange(),v=$.start.row,E=$.end.row,w=v==E;if(w){var y=this.session.getLength(),S;do S=this.session.getLine(E);while(/[=:]/.test(S)&&++E<y);do S=this.session.getLine(v);while(/[=:]/.test(S)&&--v>0);v<0&&(v=0),E>=y&&(E=y-1)}var F=this.session.removeFullLines(v,E);F=this.$reAlignText(F,w),this.session.insert({row:v,column:0},F.join(`
`)+`
`),w||($.start.column=0,$.end.column=F[F.length-1].length),this.selection.setRange($)}else{A.forEach(function(I){b.substractPoint(I.cursor)});var M=0,T=1/0,B=f.map(function(I){var D=I.cursor,L=m.getLine(D.row),H=L.substr(D.column).search(/\S/g);return H==-1&&(H=0),D.column>M&&(M=D.column),H<T&&(T=H),H});f.forEach(function(I,D){var L=I.cursor,H=M-L.column,O=B[D]-T;H>O?m.insert(L,t.stringRepeat(" ",H-O)):m.remove(new h(L.row,L.column,L.row,L.column-H+O)),I.start.column=I.end.column=M,I.start.row=I.end.row=L.row,I.cursor=I.end}),b.fromOrientedRange(f[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(m,b){var f=!0,_=!0,A,$,v;return m.map(function(F){var M=F.match(/(\s*)(.*?)(\s*)([=:].*)/);return M?A==null?(A=M[1].length,$=M[2].length,v=M[3].length,M):(A+$+v!=M[1].length+M[2].length+M[3].length&&(_=!1),A!=M[1].length&&(f=!1),A>M[1].length&&(A=M[1].length),$<M[2].length&&($=M[2].length),v>M[3].length&&(v=M[3].length),M):[F]}).map(b?w:f?_?y:w:S);function E(F){return t.stringRepeat(" ",F)}function w(F){return F[2]?E(A)+F[2]+E($-F[2].length+v)+F[4].replace(/^([=:])\s+/,"$1 "):F[0]}function y(F){return F[2]?E(A+$-F[2].length)+F[2]+E(v," ")+F[4].replace(/^([=:])\s+/,"$1 "):F[0]}function S(F){return F[2]?E(A)+F[2]+E(v)+F[4].replace(/^([=:])\s+/,"$1 "):F[0]}}}).call(p.prototype);function g(m,b){return m.row==b.row&&m.column==b.column}d.onSessionChange=function(m){var b=m.session;b&&!b.multiSelect&&(b.$selectionMarkers=[],b.selection.$initRangeList(),b.multiSelect=b.selection),this.multiSelect=b&&b.multiSelect;var f=m.oldSession;f&&(f.multiSelect.off("addRange",this.$onAddRange),f.multiSelect.off("removeRange",this.$onRemoveRange),f.multiSelect.off("multiSelect",this.$onMultiSelect),f.multiSelect.off("singleSelect",this.$onSingleSelect),f.multiSelect.lead.off("change",this.$checkMultiselectChange),f.multiSelect.anchor.off("change",this.$checkMultiselectChange)),b&&(b.multiSelect.on("addRange",this.$onAddRange),b.multiSelect.on("removeRange",this.$onRemoveRange),b.multiSelect.on("multiSelect",this.$onMultiSelect),b.multiSelect.on("singleSelect",this.$onSingleSelect),b.multiSelect.lead.on("change",this.$checkMultiselectChange),b.multiSelect.anchor.on("change",this.$checkMultiselectChange)),b&&this.inMultiSelectMode!=b.selection.inMultiSelectMode&&(b.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function C(m){m.$multiselectOnSessionChange||(m.$onAddRange=m.$onAddRange.bind(m),m.$onRemoveRange=m.$onRemoveRange.bind(m),m.$onMultiSelect=m.$onMultiSelect.bind(m),m.$onSingleSelect=m.$onSingleSelect.bind(m),m.$multiselectOnSessionChange=d.onSessionChange.bind(m),m.$checkMultiselectChange=m.$checkMultiselectChange.bind(m),m.$multiselectOnSessionChange(m),m.on("changeSession",m.$multiselectOnSessionChange),m.on("mousedown",l),m.commands.addCommands(e.defaultCommands),k(m))}function k(m){var b=m.textInput.getElement(),f=!1;a.addListener(b,"keydown",function(A){var $=A.keyCode==18&&!(A.ctrlKey||A.shiftKey||A.metaKey);m.$blockSelectEnabled&&$?f||(m.renderer.setMouseCursor("crosshair"),f=!0):f&&_()}),a.addListener(b,"keyup",_),a.addListener(b,"blur",_);function _(A){f&&(m.renderer.setMouseCursor(""),f=!1)}}d.MultiSelect=C,u("./config").defineOptions(p.prototype,"editor",{enableMultiselect:{set:function(m){C(this),m?(this.on("changeSession",this.$multiselectOnSessionChange),this.on("mousedown",l)):(this.off("changeSession",this.$multiselectOnSessionChange),this.off("mousedown",l))},value:!0},enableBlockSelect:{set:function(m){this.$blockSelectEnabled=m},value:!0}})});ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(u,d,x){"use strict";var o=u("../../range").Range,h=d.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(c,l,a){var t=c.getLine(a);return this.foldingStartMarker.test(t)?"start":l=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(t)?"end":""},this.getFoldWidgetRange=function(c,l,a){return null},this.indentationBlock=function(c,l,a){var t=/\S/,e=c.getLine(l),n=e.search(t);if(n!=-1){for(var i=a||e.length,r=c.getLength(),s=l,p=l;++l<r;){var g=c.getLine(l).search(t);if(g!=-1){if(g<=n)break;p=l}}if(p>s){var C=c.getLine(p).length;return new o(s,i,p,C)}}},this.openingBracketBlock=function(c,l,a,t,e){var n={row:a,column:t+1},i=c.$findClosingBracket(l,n,e);if(i){var r=c.foldWidgets[i.row];return r==null&&(r=c.getFoldWidget(i.row)),r=="start"&&i.row>n.row&&(i.row--,i.column=c.getLine(i.row).length),o.fromPoints(n,i)}},this.closingBracketBlock=function(c,l,a,t,e){var n={row:a,column:t},i=c.$findOpeningBracket(l,n);if(i)return i.column++,n.column--,o.fromPoints(i,n)}}).call(h.prototype)});ace.define("ace/theme/textmate",["require","exports","module","ace/lib/dom"],function(u,d,x){"use strict";d.isDark=!1,d.cssClass="ace-tm",d.cssText='.ace-tm .ace_gutter {background: #f0f0f0;color: #333;}.ace-tm .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-tm .ace_fold {background-color: #6B72E6;}.ace-tm {background-color: #FFFFFF;color: black;}.ace-tm .ace_cursor {color: black;}.ace-tm .ace_invisible {color: rgb(191, 191, 191);}.ace-tm .ace_storage,.ace-tm .ace_keyword {color: blue;}.ace-tm .ace_constant {color: rgb(197, 6, 11);}.ace-tm .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-tm .ace_constant.ace_language {color: rgb(88, 92, 246);}.ace-tm .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-tm .ace_invalid {background-color: rgba(255, 0, 0, 0.1);color: red;}.ace-tm .ace_support.ace_function {color: rgb(60, 76, 114);}.ace-tm .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-tm .ace_support.ace_type,.ace-tm .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-tm .ace_keyword.ace_operator {color: rgb(104, 118, 135);}.ace-tm .ace_string {color: rgb(3, 106, 7);}.ace-tm .ace_comment {color: rgb(76, 136, 107);}.ace-tm .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-tm .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-tm .ace_constant.ace_numeric {color: rgb(0, 0, 205);}.ace-tm .ace_variable {color: rgb(49, 132, 149);}.ace-tm .ace_xml-pe {color: rgb(104, 104, 91);}.ace-tm .ace_entity.ace_name.ace_function {color: #0000A2;}.ace-tm .ace_heading {color: rgb(12, 7, 255);}.ace-tm .ace_list {color:rgb(185, 6, 144);}.ace-tm .ace_meta.ace_tag {color:rgb(0, 22, 142);}.ace-tm .ace_string.ace_regex {color: rgb(255, 0, 0)}.ace-tm .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-tm.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px white;}.ace-tm .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-tm .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-tm .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-tm .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.07);}.ace-tm .ace_gutter-active-line {background-color : #dcdcdc;}.ace-tm .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-tm .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}';var o=u("../lib/dom");o.importCssString(d.cssText,d.cssClass)});ace.define("ace/line_widgets",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/range"],function(u,d,x){"use strict";var o=u("./lib/oop"),h=u("./lib/dom"),c=u("./range").Range;function l(a){this.session=a,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}(function(){this.getRowLength=function(a){var t;return this.lineWidgets?t=this.lineWidgets[a]&&this.lineWidgets[a].rowCount||0:t=0,!this.$useWrapMode||!this.$wrapData[a]?1+t:this.$wrapData[a].length+1+t},this.$getWidgetScreenLength=function(){var a=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(a+=t.rowCount)}),a},this.$onChangeEditor=function(a){this.attach(a.editor)},this.attach=function(a){a&&a.widgetManager&&a.widgetManager!=this&&a.widgetManager.detach(),this.editor!=a&&(this.detach(),this.editor=a,a&&(a.widgetManager=this,a.renderer.on("beforeRender",this.measureWidgets),a.renderer.on("afterRender",this.renderWidgets)))},this.detach=function(a){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off("beforeRender",this.measureWidgets),t.renderer.off("afterRender",this.renderWidgets);var e=this.session.lineWidgets;e&&e.forEach(function(n){n&&n.el&&n.el.parentNode&&(n._inDocument=!1,n.el.parentNode.removeChild(n.el))})}},this.updateOnFold=function(a,t){var e=t.lineWidgets;if(!(!e||!a.action)){for(var n=a.data,i=n.start.row,r=n.end.row,s=a.action=="add",p=i+1;p<r;p++)e[p]&&(e[p].hidden=s);e[r]&&(s?e[i]?e[r].hidden=s:e[i]=e[r]:(e[i]==e[r]&&(e[i]=void 0),e[r].hidden=s))}},this.updateOnChange=function(a){var t=this.session.lineWidgets;if(t){var e=a.start.row,n=a.end.row-e;if(n!==0)if(a.action=="remove"){var i=t.splice(e+1,n);i.forEach(function(s){s&&this.removeLineWidget(s)},this),this.$updateRows()}else{var r=new Array(n);r.unshift(e,0),t.splice.apply(t,r),this.$updateRows()}}},this.$updateRows=function(){var a=this.session.lineWidgets;if(a){var t=!0;a.forEach(function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget}),t&&(this.session.lineWidgets=null)}},this.addLineWidget=function(a){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[a.row];t&&(a.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[a.row]=a,a.session=this.session;var e=this.editor.renderer;a.html&&!a.el&&(a.el=h.createElement("div"),a.el.innerHTML=a.html),a.el&&(h.addCssClass(a.el,"ace_lineWidgetContainer"),a.el.style.position="absolute",a.el.style.zIndex=5,e.container.appendChild(a.el),a._inDocument=!0),a.coverGutter||(a.el.style.zIndex=3),a.pixelHeight==null&&(a.pixelHeight=a.el.offsetHeight),a.rowCount==null&&(a.rowCount=a.pixelHeight/e.layerConfig.lineHeight);var n=this.session.getFoldAt(a.row,0);if(a.$fold=n,n){var i=this.session.lineWidgets;a.row==n.end.row&&!i[n.start.row]?i[n.start.row]=a:a.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows(),this.renderWidgets(null,e),this.onWidgetChanged(a),a},this.removeLineWidget=function(a){if(a._inDocument=!1,a.session=null,a.el&&a.el.parentNode&&a.el.parentNode.removeChild(a.el),a.editor&&a.editor.destroy)try{a.editor.destroy()}catch{}if(this.session.lineWidgets){var t=this.session.lineWidgets[a.row];if(t==a)this.session.lineWidgets[a.row]=a.$oldWidget,a.$oldWidget&&this.onWidgetChanged(a.$oldWidget);else for(;t;){if(t.$oldWidget==a){t.$oldWidget=a.$oldWidget;break}t=t.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:a.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(a){for(var t=this.session.lineWidgets,e=t&&t[a],n=[];e;)n.push(e),e=e.$oldWidget;return n},this.onWidgetChanged=function(a){this.session._changedWidgets.push(a),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(a,t){var e=this.session._changedWidgets,n=t.layerConfig;if(!(!e||!e.length)){for(var i=1/0,r=0;r<e.length;r++){var s=e[r];if(!(!s||!s.el)&&s.session==this.session){if(!s._inDocument){if(this.session.lineWidgets[s.row]!=s)continue;s._inDocument=!0,t.container.appendChild(s.el)}s.h=s.el.offsetHeight,s.fixedWidth||(s.w=s.el.offsetWidth,s.screenWidth=Math.ceil(s.w/n.characterWidth));var p=s.h/n.lineHeight;s.coverLine&&(p-=this.session.getRowLineCount(s.row),p<0&&(p=0)),s.rowCount!=p&&(s.rowCount=p,s.row<i&&(i=s.row))}}i!=1/0&&(this.session._emit("changeFold",{data:{start:{row:i}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(a,t){var e=t.layerConfig,n=this.session.lineWidgets;if(n){for(var i=Math.min(this.firstRow,e.firstRow),r=Math.max(this.lastRow,e.lastRow,n.length);i>0&&!n[i];)i--;this.firstRow=e.firstRow,this.lastRow=e.lastRow,t.$cursorLayer.config=e;for(var s=i;s<=r;s++){var p=n[s];if(!(!p||!p.el)){if(p.hidden){p.el.style.top=-100-(p.pixelHeight||0)+"px";continue}p._inDocument||(p._inDocument=!0,t.container.appendChild(p.el));var g=t.$cursorLayer.getPixelPosition({row:s,column:0},!0).top;p.coverLine||(g+=e.lineHeight*this.session.getRowLineCount(p.row)),p.el.style.top=g-e.offset+"px";var C=p.coverGutter?0:t.gutterWidth;p.fixedWidth||(C-=t.scrollLeft),p.el.style.left=C+"px",p.fullWidth&&p.screenWidth&&(p.el.style.minWidth=e.width+2*e.padding+"px"),p.fixedWidth?p.el.style.right=t.scrollBar.getWidth()+"px":p.el.style.right=""}}}}}).call(l.prototype),d.LineWidgets=l});ace.define("ace/ext/error_marker",["require","exports","module","ace/line_widgets","ace/lib/dom","ace/range"],function(u,d,x){"use strict";var o=u("../line_widgets").LineWidgets,h=u("../lib/dom"),c=u("../range").Range;function l(t,e,n){for(var i=0,r=t.length-1;i<=r;){var s=i+r>>1,p=n(e,t[s]);if(p>0)i=s+1;else if(p<0)r=s-1;else return s}return-(i+1)}function a(t,e,n){var i=t.getAnnotations().sort(c.comparePoints);if(i.length){var r=l(i,{row:e,column:-1},c.comparePoints);r<0&&(r=-r-1),r>=i.length?r=n>0?0:i.length-1:r===0&&n<0&&(r=i.length-1);var s=i[r];if(!(!s||!n)){if(s.row===e){do s=i[r+=n];while(s&&s.row===e);if(!s)return i.slice()}var p=[];e=s.row;do p[n<0?"unshift":"push"](s),s=i[r+=n];while(s&&s.row==e);return p.length&&p}}}d.showErrorMarker=function(t,e){var n=t.session;n.widgetManager||(n.widgetManager=new o(n),n.widgetManager.attach(t));var i=t.getCursorPosition(),r=i.row,s=n.widgetManager.getWidgetsAtRow(r).filter(function(A){return A.type=="errorMarker"})[0];s?s.destroy():r-=e;var p=a(n,r,e),g;if(p){var C=p[0];i.column=(C.pos&&typeof C.column!="number"?C.pos.sc:C.column)||0,i.row=C.row,g=t.renderer.$gutterLayer.$annotations[i.row]}else{if(s)return;g={text:["Looks good!"],className:"ace_ok"}}t.session.unfold(i.row),t.selection.moveToPosition(i);var k={row:i.row,fixedWidth:!0,coverGutter:!0,el:h.createElement("div"),type:"errorMarker"},m=k.el.appendChild(h.createElement("div")),b=k.el.appendChild(h.createElement("div"));b.className="error_widget_arrow "+g.className;var f=t.renderer.$cursorLayer.getPixelPosition(i).left;b.style.left=f+t.renderer.gutterWidth-5+"px",k.el.className="error_widget_wrapper",m.className="error_widget "+g.className,m.innerHTML=g.text.join("<br>"),m.appendChild(h.createElement("div"));var _=function(A,$,v){if($===0&&(v==="esc"||v==="return"))return k.destroy(),{command:"null"}};k.destroy=function(){t.$mouseHandler.isMousePressed||(t.keyBinding.removeKeyboardHandler(_),n.widgetManager.removeLineWidget(k),t.off("changeSelection",k.destroy),t.off("changeSession",k.destroy),t.off("mouseup",k.destroy),t.off("change",k.destroy))},t.keyBinding.addKeyboardHandler(_),t.on("changeSelection",k.destroy),t.on("changeSession",k.destroy),t.on("mouseup",k.destroy),t.on("change",k.destroy),t.session.widgetManager.addLineWidget(k),k.el.onmousedown=t.focus.bind(t),t.renderer.scrollCursorIntoView(null,.5,{bottom:k.el.offsetHeight})},h.importCssString(" .error_widget_wrapper { background: inherit; color: inherit; border:none } .error_widget { border-top: solid 2px; border-bottom: solid 2px; margin: 5px 0; padding: 10px 40px; white-space: pre-wrap; } .error_widget.ace_error, .error_widget_arrow.ace_error{ border-color: #ff5a5a } .error_widget.ace_warning, .error_widget_arrow.ace_warning{ border-color: #F1D817 } .error_widget.ace_info, .error_widget_arrow.ace_info{ border-color: #5a5a5a } .error_widget.ace_ok, .error_widget_arrow.ace_ok{ border-color: #5aaa5a } .error_widget_arrow { position: absolute; border: solid 5px; border-top-color: transparent!important; border-right-color: transparent!important; border-left-color: transparent!important; top: -5px; }","")});ace.define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"],function(u,d,x){"use strict";u("./lib/fixoldbrowsers");var o=u("./lib/dom"),h=u("./lib/event"),c=u("./editor").Editor,l=u("./edit_session").EditSession,a=u("./undomanager").UndoManager,t=u("./virtual_renderer").VirtualRenderer;u("./worker/worker_client"),u("./keyboard/hash_handler"),u("./placeholder"),u("./multi_select"),u("./mode/folding/fold_mode"),u("./theme/textmate"),u("./ext/error_marker"),d.config=u("./config"),d.acequire=u,typeof define=="function"&&(d.define=define),d.edit=function(e){if(typeof e=="string"){var n=e;if(e=document.getElementById(n),!e)throw new Error("ace.edit can't find div #"+n)}if(e&&e.env&&e.env.editor instanceof c)return e.env.editor;var i="";if(e&&/input|textarea/i.test(e.tagName)){var r=e;i=r.value,e=o.createElement("pre"),r.parentNode.replaceChild(e,r)}else e&&(i=o.getInnerText(e),e.innerHTML="");var s=d.createEditSession(i),p=new c(new t(e));p.setSession(s);var g={document:s,editor:p,onResize:p.resize.bind(p,null)};return r&&(g.textarea=r),h.addListener(window,"resize",g.onResize),p.on("destroy",function(){h.removeListener(window,"resize",g.onResize),g.editor.container.env=null}),p.container.env=p.env=g,p},d.createEditSession=function(e,n){var i=new l(e,n);return i.setUndoManager(new a),i},d.EditSession=l,d.UndoManager=a,d.version="1.2.9"});(function(){ace.acequire(["ace/ace"],function(u){u&&(u.config.init(!0),u.define=ace.define),window.ace||(window.ace=u);for(var d in u)u.hasOwnProperty(d)&&(window.ace[d]=u[d])})})();da.exports=window.ace.acequire("ace/ace")});var _a=Pn((Qi,yr)=>{(function(u,d){if(typeof Qi=="object"&&typeof yr=="object")yr.exports=d();else if(typeof define=="function"&&define.amd)define([],d);else{var x=d();for(var o in x)(typeof Qi=="object"?Qi:u)[o]=x[o]}})(typeof self<"u"?self:Qi,function(){return function(){"use strict";var u={3976:function(h,c){Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0,c.default={_maxTestPos:500,placeholder:"_",optionalmarker:["[","]"],quantifiermarker:["{","}"],groupmarker:["(",")"],alternatormarker:"|",escapeChar:"\\",mask:null,regex:null,oncomplete:function(){},onincomplete:function(){},oncleared:function(){},repeat:0,greedy:!1,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,insertModeVisual:!0,clearIncomplete:!1,alias:null,onKeyDown:function(){},onBeforeMask:null,onBeforePaste:function(l,a){return typeof a.onBeforeMask=="function"?a.onBeforeMask.call(this,l,a):l},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:function(){},skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",_radixDance:!1,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","url","password","search"],isComplete:null,preValidation:null,postValidation:null,staticDefinitionSymbol:void 0,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"text",importDataAttributes:!0,shiftPositions:!0,usePrototypeDefinitions:!0,validationEventTimeOut:3e3,substitutes:{}}},7392:function(h,c){Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0,c.default={9:{validator:"[0-9\uFF10-\uFF19]",definitionSymbol:"*"},a:{validator:"[A-Za-z\u0410-\u044F\u0401\u0451\xC0-\xFF\xB5]",definitionSymbol:"*"},"*":{validator:"[0-9\uFF10-\uFF19A-Za-z\u0410-\u044F\u0401\u0451\xC0-\xFF\xB5]"}}},253:function(h,c){Object.defineProperty(c,"__esModule",{value:!0}),c.default=function(l,a,t){if(t===void 0)return l.__data?l.__data[a]:null;l.__data=l.__data||{},l.__data[a]=t}},3776:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.Event=void 0,c.off=function(C,k){var m,b;return p(this[0])&&C&&(m=this[0].eventRegistry,b=this[0],C.split(" ").forEach(function(f){var _=n(f.split("."),2);(function(A,$){var v,E,w=[];if(A.length>0)if(k===void 0)for(v=0,E=m[A][$].length;v<E;v++)w.push({ev:A,namespace:$&&$.length>0?$:"global",handler:m[A][$][v]});else w.push({ev:A,namespace:$&&$.length>0?$:"global",handler:k});else if($.length>0){for(var y in m)for(var S in m[y])if(S===$)if(k===void 0)for(v=0,E=m[y][S].length;v<E;v++)w.push({ev:y,namespace:S,handler:m[y][S][v]});else w.push({ev:y,namespace:S,handler:k})}return w})(_[0],_[1]).forEach(function(A){var $=A.ev,v=A.handler;(function(E,w,y){if(E in m==1)if(b.removeEventListener?b.removeEventListener(E,y,!1):b.detachEvent&&b.detachEvent("on".concat(E),y),w==="global")for(var S in m[E])m[E][S].splice(m[E][S].indexOf(y),1);else m[E][w].splice(m[E][w].indexOf(y),1)})($,A.namespace,v)})})),this},c.on=function(C,k){if(p(this[0])){var m=this[0].eventRegistry,b=this[0];C.split(" ").forEach(function(f){var _=n(f.split("."),2),A=_[0],$=_[1];(function(v,E){b.addEventListener?b.addEventListener(v,k,!1):b.attachEvent&&b.attachEvent("on".concat(v),k),m[v]=m[v]||{},m[v][E]=m[v][E]||[],m[v][E].push(k)})(A,$===void 0?"global":$)})}return this},c.trigger=function(C){var k=arguments;if(p(this[0]))for(var m=this[0].eventRegistry,b=this[0],f=typeof C=="string"?C.split(" "):[C.type],_=0;_<f.length;_++){var A=f[_].split("."),$=A[0],v=A[1]||"global";if(s!==void 0&&v==="global"){var E,w={bubbles:!0,cancelable:!0,composed:!0,detail:arguments[1]};if(s.createEvent){try{$==="input"?(w.inputType="insertText",E=new InputEvent($,w)):E=new CustomEvent($,w)}catch{(E=s.createEvent("CustomEvent")).initCustomEvent($,w.bubbles,w.cancelable,w.detail)}C.type&&(0,t.default)(E,C),b.dispatchEvent(E)}else(E=s.createEventObject()).eventType=$,E.detail=arguments[1],C.type&&(0,t.default)(E,C),b.fireEvent("on"+E.eventType,E)}else if(m[$]!==void 0){arguments[0]=arguments[0].type?arguments[0]:e.default.Event(arguments[0]),arguments[0].detail=arguments.slice(1);var y=m[$];(v==="global"?Object.values(y).flat():y[v]).forEach(function(S){return S.apply(b,k)})}}return this};var a=r(l(9380)),t=r(l(600)),e=r(l(4963));function n(C,k){return function(m){if(Array.isArray(m))return m}(C)||function(m,b){var f=m==null?null:typeof Symbol<"u"&&m[Symbol.iterator]||m["@@iterator"];if(f!=null){var _,A,$,v,E=[],w=!0,y=!1;try{if($=(f=f.call(m)).next,b===0){if(Object(f)!==f)return;w=!1}else for(;!(w=(_=$.call(f)).done)&&(E.push(_.value),E.length!==b);w=!0);}catch(S){y=!0,A=S}finally{try{if(!w&&f.return!=null&&(v=f.return(),Object(v)!==v))return}finally{if(y)throw A}}return E}}(C,k)||function(m,b){if(m){if(typeof m=="string")return i(m,b);var f=Object.prototype.toString.call(m).slice(8,-1);if(f==="Object"&&m.constructor&&(f=m.constructor.name),f==="Map"||f==="Set")return Array.from(m);if(f==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(f))return i(m,b)}}(C,k)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function i(C,k){(k==null||k>C.length)&&(k=C.length);for(var m=0,b=new Array(k);m<k;m++)b[m]=C[m];return b}function r(C){return C&&C.__esModule?C:{default:C}}var s=a.default.document;function p(C){return C instanceof Element}var g=c.Event=void 0;typeof a.default.CustomEvent=="function"?c.Event=g=a.default.CustomEvent:a.default.Event&&s&&s.createEvent?(c.Event=g=function(C,k){k=k||{bubbles:!1,cancelable:!1,composed:!0,detail:void 0};var m=s.createEvent("CustomEvent");return m.initCustomEvent(C,k.bubbles,k.cancelable,k.detail),m},g.prototype=a.default.Event.prototype):typeof Event<"u"&&(c.Event=g=Event)},600:function(h,c){function l(a){return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l(a)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=function a(){var t,e,n,i,r,s,p=arguments[0]||{},g=1,C=arguments.length,k=!1;for(typeof p=="boolean"&&(k=p,p=arguments[g]||{},g++),l(p)!=="object"&&typeof p!="function"&&(p={});g<C;g++)if((t=arguments[g])!=null)for(e in t)n=p[e],p!==(i=t[e])&&(k&&i&&(Object.prototype.toString.call(i)==="[object Object]"||(r=Array.isArray(i)))?(r?(r=!1,s=n&&Array.isArray(n)?n:[]):s=n&&Object.prototype.toString.call(n)==="[object Object]"?n:{},p[e]=a(k,s,i)):i!==void 0&&(p[e]=i));return p}},4963:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var a=i(l(9380)),t=i(l(253)),e=l(3776),n=i(l(600));function i(p){return p&&p.__esModule?p:{default:p}}var r=a.default.document;function s(p){return p instanceof s?p:this instanceof s?void(p!=null&&p!==a.default&&(this[0]=p.nodeName?p:p[0]!==void 0&&p[0].nodeName?p[0]:r.querySelector(p),this[0]!==void 0&&this[0]!==null&&(this[0].eventRegistry=this[0].eventRegistry||{}))):new s(p)}s.prototype={on:e.on,off:e.off,trigger:e.trigger},s.extend=n.default,s.data=t.default,s.Event=e.Event,c.default=s},9845:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.mobile=c.iphone=c.ie=void 0;var a,t=(a=l(9380))&&a.__esModule?a:{default:a},e=t.default.navigator&&t.default.navigator.userAgent||"";c.ie=e.indexOf("MSIE ")>0||e.indexOf("Trident/")>0,c.mobile=t.default.navigator&&t.default.navigator.userAgentData&&t.default.navigator.userAgentData.mobile||t.default.navigator&&t.default.navigator.maxTouchPoints||"ontouchstart"in t.default,c.iphone=/iphone/i.test(e)},7184:function(h,c){Object.defineProperty(c,"__esModule",{value:!0}),c.default=function(a){return a.replace(l,"\\$1")};var l=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"].join("|\\")+")","gim")},6030:function(h,c,l){function a($){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(v){return typeof v}:function(v){return v&&typeof Symbol=="function"&&v.constructor===Symbol&&v!==Symbol.prototype?"symbol":typeof v},a($)}Object.defineProperty(c,"__esModule",{value:!0}),c.EventHandlers=void 0;var t,e=l(9845),n=(t=l(9380))&&t.__esModule?t:{default:t},i=l(7760),r=l(2839),s=l(8711),p=l(7215),g=l(4713);function C(){C=function(){return v};var $,v={},E=Object.prototype,w=E.hasOwnProperty,y=Object.defineProperty||function(se,ee,ce){se[ee]=ce.value},S=typeof Symbol=="function"?Symbol:{},F=S.iterator||"@@iterator",M=S.asyncIterator||"@@asyncIterator",T=S.toStringTag||"@@toStringTag";function B(se,ee,ce){return Object.defineProperty(se,ee,{value:ce,enumerable:!0,configurable:!0,writable:!0}),se[ee]}try{B({},"")}catch{B=function(ee,ce,ge){return ee[ce]=ge}}function I(se,ee,ce,ge){var me=ee&&ee.prototype instanceof V?ee:V,ne=Object.create(me.prototype),we=new Oe(ge||[]);return y(ne,"_invoke",{value:q(se,ce,we)}),ne}function D(se,ee,ce){try{return{type:"normal",arg:se.call(ee,ce)}}catch(ge){return{type:"throw",arg:ge}}}v.wrap=I;var L="suspendedStart",H="suspendedYield",O="executing",P="completed",N={};function V(){}function j(){}function G(){}var W={};B(W,F,function(){return this});var K=Object.getPrototypeOf,Q=K&&K(K(Pe([])));Q&&Q!==E&&w.call(Q,F)&&(W=Q);var Y=G.prototype=V.prototype=Object.create(W);function ae(se){["next","throw","return"].forEach(function(ee){B(se,ee,function(ce){return this._invoke(ee,ce)})})}function re(se,ee){function ce(me,ne,we,ye){var Ae=D(se[me],se,ne);if(Ae.type!=="throw"){var De=Ae.arg,Ye=De.value;return Ye&&a(Ye)=="object"&&w.call(Ye,"__await")?ee.resolve(Ye.__await).then(function(Ne){ce("next",Ne,we,ye)},function(Ne){ce("throw",Ne,we,ye)}):ee.resolve(Ye).then(function(Ne){De.value=Ne,we(De)},function(Ne){return ce("throw",Ne,we,ye)})}ye(Ae.arg)}var ge;y(this,"_invoke",{value:function(me,ne){function we(){return new ee(function(ye,Ae){ce(me,ne,ye,Ae)})}return ge=ge?ge.then(we,we):we()}})}function q(se,ee,ce){var ge=L;return function(me,ne){if(ge===O)throw new Error("Generator is already running");if(ge===P){if(me==="throw")throw ne;return{value:$,done:!0}}for(ce.method=me,ce.arg=ne;;){var we=ce.delegate;if(we){var ye=ie(we,ce);if(ye){if(ye===N)continue;return ye}}if(ce.method==="next")ce.sent=ce._sent=ce.arg;else if(ce.method==="throw"){if(ge===L)throw ge=P,ce.arg;ce.dispatchException(ce.arg)}else ce.method==="return"&&ce.abrupt("return",ce.arg);ge=O;var Ae=D(se,ee,ce);if(Ae.type==="normal"){if(ge=ce.done?P:H,Ae.arg===N)continue;return{value:Ae.arg,done:ce.done}}Ae.type==="throw"&&(ge=P,ce.method="throw",ce.arg=Ae.arg)}}}function ie(se,ee){var ce=ee.method,ge=se.iterator[ce];if(ge===$)return ee.delegate=null,ce==="throw"&&se.iterator.return&&(ee.method="return",ee.arg=$,ie(se,ee),ee.method==="throw")||ce!=="return"&&(ee.method="throw",ee.arg=new TypeError("The iterator does not provide a '"+ce+"' method")),N;var me=D(ge,se.iterator,ee.arg);if(me.type==="throw")return ee.method="throw",ee.arg=me.arg,ee.delegate=null,N;var ne=me.arg;return ne?ne.done?(ee[se.resultName]=ne.value,ee.next=se.nextLoc,ee.method!=="return"&&(ee.method="next",ee.arg=$),ee.delegate=null,N):ne:(ee.method="throw",ee.arg=new TypeError("iterator result is not an object"),ee.delegate=null,N)}function pe(se){var ee={tryLoc:se[0]};1 in se&&(ee.catchLoc=se[1]),2 in se&&(ee.finallyLoc=se[2],ee.afterLoc=se[3]),this.tryEntries.push(ee)}function Ie(se){var ee=se.completion||{};ee.type="normal",delete ee.arg,se.completion=ee}function Oe(se){this.tryEntries=[{tryLoc:"root"}],se.forEach(pe,this),this.reset(!0)}function Pe(se){if(se||se===""){var ee=se[F];if(ee)return ee.call(se);if(typeof se.next=="function")return se;if(!isNaN(se.length)){var ce=-1,ge=function me(){for(;++ce<se.length;)if(w.call(se,ce))return me.value=se[ce],me.done=!1,me;return me.value=$,me.done=!0,me};return ge.next=ge}}throw new TypeError(a(se)+" is not iterable")}return j.prototype=G,y(Y,"constructor",{value:G,configurable:!0}),y(G,"constructor",{value:j,configurable:!0}),j.displayName=B(G,T,"GeneratorFunction"),v.isGeneratorFunction=function(se){var ee=typeof se=="function"&&se.constructor;return!!ee&&(ee===j||(ee.displayName||ee.name)==="GeneratorFunction")},v.mark=function(se){return Object.setPrototypeOf?Object.setPrototypeOf(se,G):(se.__proto__=G,B(se,T,"GeneratorFunction")),se.prototype=Object.create(Y),se},v.awrap=function(se){return{__await:se}},ae(re.prototype),B(re.prototype,M,function(){return this}),v.AsyncIterator=re,v.async=function(se,ee,ce,ge,me){me===void 0&&(me=Promise);var ne=new re(I(se,ee,ce,ge),me);return v.isGeneratorFunction(ee)?ne:ne.next().then(function(we){return we.done?we.value:ne.next()})},ae(Y),B(Y,T,"Generator"),B(Y,F,function(){return this}),B(Y,"toString",function(){return"[object Generator]"}),v.keys=function(se){var ee=Object(se),ce=[];for(var ge in ee)ce.push(ge);return ce.reverse(),function me(){for(;ce.length;){var ne=ce.pop();if(ne in ee)return me.value=ne,me.done=!1,me}return me.done=!0,me}},v.values=Pe,Oe.prototype={constructor:Oe,reset:function(se){if(this.prev=0,this.next=0,this.sent=this._sent=$,this.done=!1,this.delegate=null,this.method="next",this.arg=$,this.tryEntries.forEach(Ie),!se)for(var ee in this)ee.charAt(0)==="t"&&w.call(this,ee)&&!isNaN(+ee.slice(1))&&(this[ee]=$)},stop:function(){this.done=!0;var se=this.tryEntries[0].completion;if(se.type==="throw")throw se.arg;return this.rval},dispatchException:function(se){if(this.done)throw se;var ee=this;function ce(Ae,De){return ne.type="throw",ne.arg=se,ee.next=Ae,De&&(ee.method="next",ee.arg=$),!!De}for(var ge=this.tryEntries.length-1;ge>=0;--ge){var me=this.tryEntries[ge],ne=me.completion;if(me.tryLoc==="root")return ce("end");if(me.tryLoc<=this.prev){var we=w.call(me,"catchLoc"),ye=w.call(me,"finallyLoc");if(we&&ye){if(this.prev<me.catchLoc)return ce(me.catchLoc,!0);if(this.prev<me.finallyLoc)return ce(me.finallyLoc)}else if(we){if(this.prev<me.catchLoc)return ce(me.catchLoc,!0)}else{if(!ye)throw new Error("try statement without catch or finally");if(this.prev<me.finallyLoc)return ce(me.finallyLoc)}}}},abrupt:function(se,ee){for(var ce=this.tryEntries.length-1;ce>=0;--ce){var ge=this.tryEntries[ce];if(ge.tryLoc<=this.prev&&w.call(ge,"finallyLoc")&&this.prev<ge.finallyLoc){var me=ge;break}}me&&(se==="break"||se==="continue")&&me.tryLoc<=ee&&ee<=me.finallyLoc&&(me=null);var ne=me?me.completion:{};return ne.type=se,ne.arg=ee,me?(this.method="next",this.next=me.finallyLoc,N):this.complete(ne)},complete:function(se,ee){if(se.type==="throw")throw se.arg;return se.type==="break"||se.type==="continue"?this.next=se.arg:se.type==="return"?(this.rval=this.arg=se.arg,this.method="return",this.next="end"):se.type==="normal"&&ee&&(this.next=ee),N},finish:function(se){for(var ee=this.tryEntries.length-1;ee>=0;--ee){var ce=this.tryEntries[ee];if(ce.finallyLoc===se)return this.complete(ce.completion,ce.afterLoc),Ie(ce),N}},catch:function(se){for(var ee=this.tryEntries.length-1;ee>=0;--ee){var ce=this.tryEntries[ee];if(ce.tryLoc===se){var ge=ce.completion;if(ge.type==="throw"){var me=ge.arg;Ie(ce)}return me}}throw new Error("illegal catch attempt")},delegateYield:function(se,ee,ce){return this.delegate={iterator:Pe(se),resultName:ee,nextLoc:ce},this.method==="next"&&(this.arg=$),N}},v}function k($,v){var E=typeof Symbol<"u"&&$[Symbol.iterator]||$["@@iterator"];if(!E){if(Array.isArray($)||(E=function(T,B){if(T){if(typeof T=="string")return m(T,B);var I=Object.prototype.toString.call(T).slice(8,-1);if(I==="Object"&&T.constructor&&(I=T.constructor.name),I==="Map"||I==="Set")return Array.from(T);if(I==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(I))return m(T,B)}}($))||v&&$&&typeof $.length=="number"){E&&($=E);var w=0,y=function(){};return{s:y,n:function(){return w>=$.length?{done:!0}:{done:!1,value:$[w++]}},e:function(T){throw T},f:y}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var S,F=!0,M=!1;return{s:function(){E=E.call($)},n:function(){var T=E.next();return F=T.done,T},e:function(T){M=!0,S=T},f:function(){try{F||E.return==null||E.return()}finally{if(M)throw S}}}}function m($,v){(v==null||v>$.length)&&(v=$.length);for(var E=0,w=new Array(v);E<v;E++)w[E]=$[E];return w}function b($,v,E,w,y,S,F){try{var M=$[S](F),T=M.value}catch(B){return void E(B)}M.done?v(T):Promise.resolve(T).then(w,y)}var f,_,A=c.EventHandlers={keyEvent:function($,v,E,w,y){var S=this.inputmask,F=S.opts,M=S.dependencyLib,T=S.maskset,B=this,I=M(B),D=$.key,L=s.caret.call(S,B),H=F.onKeyDown.call(this,$,s.getBuffer.call(S),L,F);if(H!==void 0)return H;if(D===r.keys.Backspace||D===r.keys.Delete||e.iphone&&D===r.keys.BACKSPACE_SAFARI||$.ctrlKey&&D===r.keys.x&&!("oncut"in B))$.preventDefault(),p.handleRemove.call(S,B,D,L),(0,i.writeBuffer)(B,s.getBuffer.call(S,!0),T.p,$,B.inputmask._valueGet()!==s.getBuffer.call(S).join(""));else if(D===r.keys.End||D===r.keys.PageDown){$.preventDefault();var O=s.seekNext.call(S,s.getLastValidPosition.call(S));s.caret.call(S,B,$.shiftKey?L.begin:O,O,!0)}else D===r.keys.Home&&!$.shiftKey||D===r.keys.PageUp?($.preventDefault(),s.caret.call(S,B,0,$.shiftKey?L.begin:0,!0)):F.undoOnEscape&&D===r.keys.Escape&&$.altKey!==!0?((0,i.checkVal)(B,!0,!1,S.undoValue.split("")),I.trigger("click")):D!==r.keys.Insert||$.shiftKey||$.ctrlKey||S.userOptions.insertMode!==void 0?F.tabThrough===!0&&D===r.keys.Tab?$.shiftKey===!0?(L.end=s.seekPrevious.call(S,L.end,!0),g.getTest.call(S,L.end-1).match.static===!0&&L.end--,L.begin=s.seekPrevious.call(S,L.end,!0),L.begin>=0&&L.end>0&&($.preventDefault(),s.caret.call(S,B,L.begin,L.end))):(L.begin=s.seekNext.call(S,L.begin,!0),L.end=s.seekNext.call(S,L.begin,!0),L.end<T.maskLength&&L.end--,L.begin<=T.maskLength&&($.preventDefault(),s.caret.call(S,B,L.begin,L.end))):$.shiftKey||(F.insertModeVisual&&F.insertMode===!1?D===r.keys.ArrowRight?setTimeout(function(){var P=s.caret.call(S,B);s.caret.call(S,B,P.begin)},0):D===r.keys.ArrowLeft&&setTimeout(function(){var P=s.translatePosition.call(S,B.inputmask.caretPos.begin);s.translatePosition.call(S,B.inputmask.caretPos.end),S.isRTL?s.caret.call(S,B,P+(P===T.maskLength?0:1)):s.caret.call(S,B,P-(P===0?0:1))},0):S.keyEventHook===void 0||S.keyEventHook($)):p.isSelection.call(S,L)?F.insertMode=!F.insertMode:(F.insertMode=!F.insertMode,s.caret.call(S,B,L.begin,L.begin));return S.isComposing=D==r.keys.Process||D==r.keys.Unidentified,S.ignorable=D.length>1&&!(B.tagName.toLowerCase()==="textarea"&&D==r.keys.Enter),A.keypressEvent.call(this,$,v,E,w,y)},keypressEvent:function($,v,E,w,y){var S=this.inputmask||this,F=S.opts,M=S.dependencyLib,T=S.maskset,B=S.el,I=M(B),D=$.key;if(v===!0||$.ctrlKey&&$.altKey&&!S.ignorable||!($.ctrlKey||$.metaKey||S.ignorable)){if(D){var L,H=v?{begin:y,end:y}:s.caret.call(S,B);v||(D=F.substitutes[D]||D),T.writeOutBuffer=!0;var O=p.isValid.call(S,H,D,w,void 0,void 0,void 0,v);if(O!==!1&&(s.resetMaskSet.call(S,!0),L=O.caret!==void 0?O.caret:s.seekNext.call(S,O.pos.begin?O.pos.begin:O.pos),T.p=L),L=F.numericInput&&O.caret===void 0?s.seekPrevious.call(S,L):L,E!==!1&&(setTimeout(function(){F.onKeyValidation.call(B,D,O)},0),T.writeOutBuffer&&O!==!1)){var P=s.getBuffer.call(S);(0,i.writeBuffer)(B,P,L,$,v!==!0)}if($.preventDefault(),v)return O!==!1&&(O.forwardPosition=L),O}}else D===r.keys.Enter&&S.undoValue!==S._valueGet(!0)&&(S.undoValue=S._valueGet(!0),setTimeout(function(){I.trigger("change")},0))},pasteEvent:(f=C().mark(function $(v){var E,w,y,S,F,M;return C().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:E=function(B,I,D,L,H){var O=s.caret.call(B,I,void 0,void 0,!0),P=D.substr(0,O.begin),N=D.substr(O.end,D.length);if(P==(B.isRTL?s.getBufferTemplate.call(B).slice().reverse():s.getBufferTemplate.call(B)).slice(0,O.begin).join("")&&(P=""),N==(B.isRTL?s.getBufferTemplate.call(B).slice().reverse():s.getBufferTemplate.call(B)).slice(O.end).join("")&&(N=""),L=P+L+N,B.isRTL&&S.numericInput!==!0){L=L.split("");var V,j=k(s.getBufferTemplate.call(B));try{for(j.s();!(V=j.n()).done;){var G=V.value;L[0]===G&&L.shift()}}catch(K){j.e(K)}finally{j.f()}L=L.reverse().join("")}var W=L;if(typeof H=="function"){if((W=H.call(B,W,S))===!1)return!1;W||(W=D)}(0,i.checkVal)(I,!0,!1,W.toString().split(""),v)},w=this,y=this.inputmask,S=y.opts,F=y._valueGet(!0),y.skipInputEvent=!0,v.clipboardData&&v.clipboardData.getData?M=v.clipboardData.getData("text/plain"):n.default.clipboardData&&n.default.clipboardData.getData&&(M=n.default.clipboardData.getData("Text")),E(y,w,F,M,S.onBeforePaste),v.preventDefault();case 7:case"end":return T.stop()}},$,this)}),_=function(){var $=this,v=arguments;return new Promise(function(E,w){var y=f.apply($,v);function S(M){b(y,E,w,S,F,"next",M)}function F(M){b(y,E,w,S,F,"throw",M)}S(void 0)})},function($){return _.apply(this,arguments)}),inputFallBackEvent:function($){var v=this.inputmask,E=v.opts,w=v.dependencyLib,y,S=this,F=S.inputmask._valueGet(!0),M=(v.isRTL?s.getBuffer.call(v).slice().reverse():s.getBuffer.call(v)).join(""),T=s.caret.call(v,S,void 0,void 0,!0);if(M!==F){if(y=function(I,D,L){for(var H,O,P,N=I.substr(0,L.begin).split(""),V=I.substr(L.begin).split(""),j=D.substr(0,L.begin).split(""),G=D.substr(L.begin).split(""),W=N.length>=j.length?N.length:j.length,K=V.length>=G.length?V.length:G.length,Q="",Y=[],ae="~";N.length<W;)N.push(ae);for(;j.length<W;)j.push(ae);for(;V.length<K;)V.unshift(ae);for(;G.length<K;)G.unshift(ae);var re=N.concat(V),q=j.concat(G);for(O=0,H=re.length;O<H;O++)switch(P=g.getPlaceholder.call(v,s.translatePosition.call(v,O)),Q){case"insertText":q[O-1]===re[O]&&L.begin==re.length-1&&Y.push(re[O]),O=H;break;case"insertReplacementText":case"deleteContentBackward":re[O]===ae?L.end++:O=H;break;default:re[O]!==q[O]&&(re[O+1]!==ae&&re[O+1]!==P&&re[O+1]!==void 0||(q[O]!==P||q[O+1]!==ae)&&q[O]!==ae?q[O+1]===ae&&q[O]===re[O+1]?(Q="insertText",Y.push(re[O]),L.begin--,L.end--):re[O]!==P&&re[O]!==ae&&(re[O+1]===ae||q[O]!==re[O]&&q[O+1]===re[O+1])?(Q="insertReplacementText",Y.push(re[O]),L.begin--):re[O]===ae?(Q="deleteContentBackward",(s.isMask.call(v,s.translatePosition.call(v,O),!0)||q[O]===E.radixPoint)&&L.end++):O=H:(Q="insertText",Y.push(re[O]),L.begin--,L.end--))}return{action:Q,data:Y,caret:L}}(F,M,T),(S.inputmask.shadowRoot||S.ownerDocument).activeElement!==S&&S.focus(),(0,i.writeBuffer)(S,s.getBuffer.call(v)),s.caret.call(v,S,T.begin,T.end,!0),!e.mobile&&v.skipNextInsert&&$.inputType==="insertText"&&y.action==="insertText"&&v.isComposing)return!1;switch($.inputType==="insertCompositionText"&&y.action==="insertText"&&v.isComposing?v.skipNextInsert=!0:v.skipNextInsert=!1,y.action){case"insertText":case"insertReplacementText":y.data.forEach(function(I,D){var L=new w.Event("keypress");L.key=I,v.ignorable=!1,A.keypressEvent.call(S,L)}),setTimeout(function(){v.$el.trigger("keyup")},0);break;case"deleteContentBackward":var B=new w.Event("keydown");B.key=r.keys.Backspace,A.keyEvent.call(S,B);break;default:(0,i.applyInputValue)(S,F),s.caret.call(v,S,T.begin,T.end,!0)}$.preventDefault()}},setValueEvent:function($){var v=this.inputmask,E=v.dependencyLib,w=this,y=$&&$.detail?$.detail[0]:arguments[1];y===void 0&&(y=w.inputmask._valueGet(!0)),(0,i.applyInputValue)(w,y,new E.Event("input")),($.detail&&$.detail[1]!==void 0||arguments[2]!==void 0)&&s.caret.call(v,w,$.detail?$.detail[1]:arguments[2])},focusEvent:function($){var v=this.inputmask,E=v.opts,w=v&&v._valueGet();E.showMaskOnFocus&&w!==s.getBuffer.call(v).join("")&&(0,i.writeBuffer)(this,s.getBuffer.call(v),s.seekNext.call(v,s.getLastValidPosition.call(v))),E.positionCaretOnTab!==!0||v.mouseEnter!==!1||p.isComplete.call(v,s.getBuffer.call(v))&&s.getLastValidPosition.call(v)!==-1||A.clickEvent.apply(this,[$,!0]),v.undoValue=v&&v._valueGet(!0)},invalidEvent:function($){this.inputmask.validationEvent=!0},mouseleaveEvent:function(){var $=this.inputmask,v=$.opts,E=this;$.mouseEnter=!1,v.clearMaskOnLostFocus&&(E.inputmask.shadowRoot||E.ownerDocument).activeElement!==E&&(0,i.HandleNativePlaceholder)(E,$.originalPlaceholder)},clickEvent:function($,v){var E=this.inputmask;E.clicked++;var w=this;if((w.inputmask.shadowRoot||w.ownerDocument).activeElement===w){var y=s.determineNewCaretPosition.call(E,s.caret.call(E,w),v);y!==void 0&&s.caret.call(E,w,y)}},cutEvent:function($){var v=this.inputmask,E=v.maskset,w=this,y=s.caret.call(v,w),S=v.isRTL?s.getBuffer.call(v).slice(y.end,y.begin):s.getBuffer.call(v).slice(y.begin,y.end),F=v.isRTL?S.reverse().join(""):S.join("");n.default.navigator&&n.default.navigator.clipboard?n.default.navigator.clipboard.writeText(F):n.default.clipboardData&&n.default.clipboardData.getData&&n.default.clipboardData.setData("Text",F),p.handleRemove.call(v,w,r.keys.Delete,y),(0,i.writeBuffer)(w,s.getBuffer.call(v),E.p,$,v.undoValue!==v._valueGet(!0))},blurEvent:function($){var v=this.inputmask,E=v.opts,w=v.dependencyLib;v.clicked=0;var y=w(this),S=this;if(S.inputmask){(0,i.HandleNativePlaceholder)(S,v.originalPlaceholder);var F=S.inputmask._valueGet(),M=s.getBuffer.call(v).slice();F!==""&&(E.clearMaskOnLostFocus&&(s.getLastValidPosition.call(v)===-1&&F===s.getBufferTemplate.call(v).join("")?M=[]:i.clearOptionalTail.call(v,M)),p.isComplete.call(v,M)===!1&&(setTimeout(function(){y.trigger("incomplete")},0),E.clearIncomplete&&(s.resetMaskSet.call(v,!1),M=E.clearMaskOnLostFocus?[]:s.getBufferTemplate.call(v).slice())),(0,i.writeBuffer)(S,M,void 0,$)),F=v._valueGet(!0),v.undoValue!==F&&(F!=""||v.undoValue!=s.getBufferTemplate.call(v).join("")||v.undoValue==s.getBufferTemplate.call(v).join("")&&v.maskset.validPositions.length>0)&&(v.undoValue=F,y.trigger("change"))}},mouseenterEvent:function(){var $=this.inputmask,v=$.opts.showMaskOnHover,E=this;if($.mouseEnter=!0,(E.inputmask.shadowRoot||E.ownerDocument).activeElement!==E){var w=($.isRTL?s.getBufferTemplate.call($).slice().reverse():s.getBufferTemplate.call($)).join("");v&&(0,i.HandleNativePlaceholder)(E,w)}},submitEvent:function(){var $=this.inputmask,v=$.opts;$.undoValue!==$._valueGet(!0)&&$.$el.trigger("change"),s.getLastValidPosition.call($)===-1&&$._valueGet&&$._valueGet()===s.getBufferTemplate.call($).join("")&&$._valueSet(""),v.clearIncomplete&&p.isComplete.call($,s.getBuffer.call($))===!1&&$._valueSet(""),v.removeMaskOnSubmit&&($._valueSet($.unmaskedvalue(),!0),setTimeout(function(){(0,i.writeBuffer)($.el,s.getBuffer.call($))},0))},resetEvent:function(){var $=this.inputmask;$.refreshValue=!0,setTimeout(function(){(0,i.applyInputValue)($.el,$._valueGet(!0))},0)}}},9716:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.EventRuler=void 0;var a,t=l(7760),e=(a=l(2394))&&a.__esModule?a:{default:a},n=l(2839),i=l(8711);c.EventRuler={on:function(r,s,p){var g=r.inputmask.dependencyLib,C=function(k){k.originalEvent&&(k=k.originalEvent||k,arguments[0]=k);var m,b=this,f=b.inputmask,_=f?f.opts:void 0;if(f===void 0&&this.nodeName!=="FORM"){var A=g.data(b,"_inputmask_opts");g(b).off(),A&&new e.default(A).mask(b)}else{if(["submit","reset","setvalue"].includes(k.type)||this.nodeName==="FORM"||!(b.disabled||b.readOnly&&!(k.type==="keydown"&&k.ctrlKey&&k.key===n.keys.c||_.tabThrough===!1&&k.key===n.keys.Tab))){switch(k.type){case"input":if(f.skipInputEvent===!0)return f.skipInputEvent=!1,k.preventDefault();break;case"click":case"focus":return f.validationEvent?(f.validationEvent=!1,r.blur(),(0,t.HandleNativePlaceholder)(r,(f.isRTL?i.getBufferTemplate.call(f).slice().reverse():i.getBufferTemplate.call(f)).join("")),setTimeout(function(){r.focus()},_.validationEventTimeOut),!1):(m=arguments,void setTimeout(function(){r.inputmask&&p.apply(b,m)},0))}var $=p.apply(b,arguments);return $===!1&&(k.preventDefault(),k.stopPropagation()),$}k.preventDefault()}};["submit","reset"].includes(s)?(C=C.bind(r),r.form!==null&&g(r.form).on(s,C)):g(r).on(s,C),r.inputmask.events[s]=r.inputmask.events[s]||[],r.inputmask.events[s].push(C)},off:function(r,s){if(r.inputmask&&r.inputmask.events){var p=r.inputmask.dependencyLib,g=r.inputmask.events;for(var C in s&&((g=[])[s]=r.inputmask.events[s]),g){for(var k=g[C];k.length>0;){var m=k.pop();["submit","reset"].includes(C)?r.form!==null&&p(r.form).off(C,m):p(r).off(C,m)}delete r.inputmask.events[C]}}}}},219:function(h,c,l){var a=C(l(7184)),t=C(l(2394)),e=l(2839),n=l(8711),i=l(4713);function r(D,L){return function(H){if(Array.isArray(H))return H}(D)||function(H,O){var P=H==null?null:typeof Symbol<"u"&&H[Symbol.iterator]||H["@@iterator"];if(P!=null){var N,V,j,G,W=[],K=!0,Q=!1;try{if(j=(P=P.call(H)).next,O===0){if(Object(P)!==P)return;K=!1}else for(;!(K=(N=j.call(P)).done)&&(W.push(N.value),W.length!==O);K=!0);}catch(Y){Q=!0,V=Y}finally{try{if(!K&&P.return!=null&&(G=P.return(),Object(G)!==G))return}finally{if(Q)throw V}}return W}}(D,L)||function(H,O){if(H){if(typeof H=="string")return s(H,O);var P=Object.prototype.toString.call(H).slice(8,-1);if(P==="Object"&&H.constructor&&(P=H.constructor.name),P==="Map"||P==="Set")return Array.from(H);if(P==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(P))return s(H,O)}}(D,L)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function s(D,L){(L==null||L>D.length)&&(L=D.length);for(var H=0,O=new Array(L);H<L;H++)O[H]=D[H];return O}function p(D){return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},p(D)}function g(D,L){for(var H=0;H<L.length;H++){var O=L[H];O.enumerable=O.enumerable||!1,O.configurable=!0,"value"in O&&(O.writable=!0),Object.defineProperty(D,(P=O.key,N=void 0,N=function(V,j){if(p(V)!=="object"||V===null)return V;var G=V[Symbol.toPrimitive];if(G!==void 0){var W=G.call(V,j||"default");if(p(W)!=="object")return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return(j==="string"?String:Number)(V)}(P,"string"),p(N)==="symbol"?N:String(N)),O)}var P,N}function C(D){return D&&D.__esModule?D:{default:D}}l(1313);var k=t.default.dependencyLib,m=function(){function D(P,N,V,j){(function(G,W){if(!(G instanceof W))throw new TypeError("Cannot call a class as a function")})(this,D),this.mask=P,this.format=N,this.opts=V,this.inputmask=j,this._date=new Date(1,0,1),this.initDateObject(P,this.opts,this.inputmask)}var L,H,O;return L=D,(H=[{key:"date",get:function(){return this._date===void 0&&(this._date=new Date(1,0,1),this.initDateObject(void 0,this.opts,this.inputmask)),this._date}},{key:"initDateObject",value:function(P,N,V){var j;for(y(N).lastIndex=0;j=y(N).exec(this.format);){var G=/\d+$/.exec(j[0]),W=G?j[0][0]+"x":j[0],K=void 0;if(P!==void 0){if(G){var Q=y(N).lastIndex,Y=I.call(V,j.index,N,V&&V.maskset);y(N).lastIndex=Q,K=P.slice(0,P.indexOf(Y.nextMatch[0]))}else{for(var ae=j[0][0],re=j.index;V&&(N.placeholder[i.getTest.call(V,re).match.placeholder]||i.getTest.call(V,re).match.placeholder)===ae;)re++;var q=re-j.index;K=P.slice(0,q||A[W]&&A[W][4]||W.length)}P=P.slice(K.length)}Object.prototype.hasOwnProperty.call(A,W)&&this.setValue(this,K,W,A[W][2],A[W][1])}}},{key:"setValue",value:function(P,N,V,j,G){if(N!==void 0)switch(j){case"ampm":P[j]=N,P["raw"+j]=N.replace(/\s/g,"_");break;case"month":if(V==="mmm"||V==="mmmm"){P[j]=M(V==="mmm"?f.monthNames.slice(0,12).findIndex(function(K){return N.toLowerCase()===K.toLowerCase()})+1:f.monthNames.slice(12,24).findIndex(function(K){return N.toLowerCase()===K.toLowerCase()})+1,2),P[j]=P[j]==="00"?"":P[j].toString(),P["raw"+j]=P[j];break}default:P[j]=N.replace(/[^0-9]/g,"0"),P["raw"+j]=N.replace(/\s/g,"_")}if(G!==void 0){var W=P[j];(j==="day"&&parseInt(W)===29||j==="month"&&parseInt(W)===2)&&(parseInt(P.day)!==29||parseInt(P.month)!==2||P.year!==""&&P.year!==void 0||P._date.setFullYear(2012,1,29)),j==="day"&&(_=!0,parseInt(W)===0&&(W=1)),j==="month"&&(_=!0),j==="year"&&(_=!0,W.length<A[V][4]&&(W=M(W,A[V][4],!0))),(W!==""&&!isNaN(W)||j==="ampm")&&G.call(P._date,W)}}},{key:"reset",value:function(){this._date=new Date(1,0,1)}},{key:"reInit",value:function(){this._date=void 0,this.date}}])&&g(L.prototype,H),O&&g(L,O),Object.defineProperty(L,"prototype",{writable:!1}),D}(),b=new Date().getFullYear(),f=t.default.prototype.i18n,_=!1,A={d:["[1-9]|[12][0-9]|3[01]",Date.prototype.setDate,"day",Date.prototype.getDate],dd:["0[1-9]|[12][0-9]|3[01]",Date.prototype.setDate,"day",function(){return M(Date.prototype.getDate.call(this),2)}],ddd:[""],dddd:[""],m:["[1-9]|1[012]",function(D){var L=D?parseInt(D):0;return L>0&&L--,Date.prototype.setMonth.call(this,L)},"month",function(){return Date.prototype.getMonth.call(this)+1}],mm:["0[1-9]|1[012]",function(D){var L=D?parseInt(D):0;return L>0&&L--,Date.prototype.setMonth.call(this,L)},"month",function(){return M(Date.prototype.getMonth.call(this)+1,2)}],mmm:[f.monthNames.slice(0,12).join("|"),function(D){var L=f.monthNames.slice(0,12).findIndex(function(H){return D.toLowerCase()===H.toLowerCase()});return L!==-1&&Date.prototype.setMonth.call(this,L)},"month",function(){return f.monthNames.slice(0,12)[Date.prototype.getMonth.call(this)]}],mmmm:[f.monthNames.slice(12,24).join("|"),function(D){var L=f.monthNames.slice(12,24).findIndex(function(H){return D.toLowerCase()===H.toLowerCase()});return L!==-1&&Date.prototype.setMonth.call(this,L)},"month",function(){return f.monthNames.slice(12,24)[Date.prototype.getMonth.call(this)]}],yy:["[0-9]{2}",function(D){var L=new Date().getFullYear().toString().slice(0,2);Date.prototype.setFullYear.call(this,"".concat(L).concat(D))},"year",function(){return M(Date.prototype.getFullYear.call(this),2)},2],yyyy:["[0-9]{4}",Date.prototype.setFullYear,"year",function(){return M(Date.prototype.getFullYear.call(this),4)},4],h:["[1-9]|1[0-2]",Date.prototype.setHours,"hours",Date.prototype.getHours],hh:["0[1-9]|1[0-2]",Date.prototype.setHours,"hours",function(){return M(Date.prototype.getHours.call(this),2)}],hx:[function(D){return"[0-9]{".concat(D,"}")},Date.prototype.setHours,"hours",function(D){return Date.prototype.getHours}],H:["1?[0-9]|2[0-3]",Date.prototype.setHours,"hours",Date.prototype.getHours],HH:["0[0-9]|1[0-9]|2[0-3]",Date.prototype.setHours,"hours",function(){return M(Date.prototype.getHours.call(this),2)}],Hx:[function(D){return"[0-9]{".concat(D,"}")},Date.prototype.setHours,"hours",function(D){return function(){return M(Date.prototype.getHours.call(this),D)}}],M:["[1-5]?[0-9]",Date.prototype.setMinutes,"minutes",Date.prototype.getMinutes],MM:["0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",Date.prototype.setMinutes,"minutes",function(){return M(Date.prototype.getMinutes.call(this),2)}],s:["[1-5]?[0-9]",Date.prototype.setSeconds,"seconds",Date.prototype.getSeconds],ss:["0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",Date.prototype.setSeconds,"seconds",function(){return M(Date.prototype.getSeconds.call(this),2)}],l:["[0-9]{3}",Date.prototype.setMilliseconds,"milliseconds",function(){return M(Date.prototype.getMilliseconds.call(this),3)},3],L:["[0-9]{2}",Date.prototype.setMilliseconds,"milliseconds",function(){return M(Date.prototype.getMilliseconds.call(this),2)},2],t:["[ap]",v,"ampm",E,1],tt:["[ap]m",v,"ampm",E,2],T:["[AP]",v,"ampm",E,1],TT:["[AP]M",v,"ampm",E,2],Z:[".*",void 0,"Z",function(){var D=this.toString().match(/\((.+)\)/)[1];return D.includes(" ")&&(D=(D=D.replace("-"," ").toUpperCase()).split(" ").map(function(L){return r(L,1)[0]}).join("")),D}],o:[""],S:[""]},$={isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};function v(D){var L=this.getHours();D.toLowerCase().includes("p")?this.setHours(L+12):D.toLowerCase().includes("a")&&L>=12&&this.setHours(L-12)}function E(){var D=this.getHours();return(D=D||12)>=12?"PM":"AM"}function w(D){var L=/\d+$/.exec(D[0]);if(L&&L[0]!==void 0){var H=A[D[0][0]+"x"].slice("");return H[0]=H[0](L[0]),H[3]=H[3](L[0]),H}if(A[D[0]])return A[D[0]]}function y(D){if(!D.tokenizer){var L=[],H=[];for(var O in A)if(/\.*x$/.test(O)){var P=O[0]+"\\d+";H.indexOf(P)===-1&&H.push(P)}else L.indexOf(O[0])===-1&&L.push(O[0]);D.tokenizer="("+(H.length>0?H.join("|")+"|":"")+L.join("+|")+")+?|.",D.tokenizer=new RegExp(D.tokenizer,"g")}return D.tokenizer}function S(D,L,H){if(!_)return!0;if(D.rawday===void 0||!isFinite(D.rawday)&&new Date(D.date.getFullYear(),isFinite(D.rawmonth)?D.month:D.date.getMonth()+1,0).getDate()>=D.day||D.day=="29"&&(!isFinite(D.rawyear)||D.rawyear===void 0||D.rawyear==="")||new Date(D.date.getFullYear(),isFinite(D.rawmonth)?D.month:D.date.getMonth()+1,0).getDate()>=D.day)return L;if(D.day=="29"){var O=I.call(this,L.pos,H,this.maskset);if(O.targetMatch&&O.targetMatch[0]==="yyyy"&&L.pos-O.targetMatchIndex==2)return L.remove=L.pos+1,L}else if(D.date.getMonth()==2&&D.day=="30"&&L.c!==void 0)return D.day="03",D.date.setDate(3),D.date.setMonth(1),L.insert=[{pos:L.pos,c:"0"},{pos:L.pos+1,c:L.c}],L.caret=n.seekNext.call(this,L.pos+1),L;return!1}function F(D,L,H,O){var P,N,V="",j=0,G={};for(y(H).lastIndex=0;P=y(H).exec(D);){if(L===void 0)if(N=w(P))V+="("+N[0]+")",H.placeholder&&H.placeholder!==""?(G[j]=H.placeholder[P.index%H.placeholder.length],G[H.placeholder[P.index%H.placeholder.length]]=P[0].charAt(0)):G[j]=P[0].charAt(0);else switch(P[0]){case"[":V+="(";break;case"]":V+=")?";break;default:V+=(0,a.default)(P[0]),G[j]=P[0].charAt(0)}else(N=w(P))?O!==!0&&N[3]?V+=N[3].call(L.date):N[2]?V+=L["raw"+N[2]]:V+=P[0]:V+=P[0];j++}return L===void 0&&(H.placeholder=G),V}function M(D,L,H){for(D=String(D),L=L||2;D.length<L;)D=H?D+"0":"0"+D;return D}function T(D,L,H){return typeof D=="string"?new m(D,L,H,this):D&&p(D)==="object"&&Object.prototype.hasOwnProperty.call(D,"date")?D:void 0}function B(D,L){return F(L.inputFormat,{date:D},L)}function I(D,L,H){var O,P,N=this,V=H&&H.tests[D]?L.placeholder[H.tests[D][0].match.placeholder]||H.tests[D][0].match.placeholder:"",j=0,G=0;for(y(L).lastIndex=0;P=y(L).exec(L.inputFormat);){var W=/\d+$/.exec(P[0]);if(W)G=parseInt(W[0]);else{for(var K=P[0][0],Q=j;N&&(L.placeholder[i.getTest.call(N,Q).match.placeholder]||i.getTest.call(N,Q).match.placeholder)===K;)Q++;(G=Q-j)===0&&(G=P[0].length)}if(j+=G,P[0].indexOf(V)!=-1||j>=D+1){O=P,P=y(L).exec(L.inputFormat);break}}return{targetMatchIndex:j-G,nextMatch:P,targetMatch:O}}t.default.extendAliases({datetime:{mask:function(D){return D.numericInput=!1,A.S=f.ordinalSuffix.join("|"),D.inputFormat=$[D.inputFormat]||D.inputFormat,D.displayFormat=$[D.displayFormat]||D.displayFormat||D.inputFormat,D.outputFormat=$[D.outputFormat]||D.outputFormat||D.inputFormat,D.regex=F(D.inputFormat,void 0,D),D.min=T(D.min,D.inputFormat,D),D.max=T(D.max,D.inputFormat,D),null},placeholder:"",inputFormat:"isoDateTime",displayFormat:null,outputFormat:null,min:null,max:null,skipOptionalPartCharacter:"",preValidation:function(D,L,H,O,P,N,V,j){if(j)return!0;if(isNaN(H)&&D[L]!==H){var G=I.call(this,L,P,N);if(G.nextMatch&&G.nextMatch[0]===H&&G.targetMatch[0].length>1){var W=w(G.targetMatch)[0];if(new RegExp(W).test("0"+D[L-1]))return D[L]=D[L-1],D[L-1]="0",{fuzzy:!0,buffer:D,refreshFromBuffer:{start:L-1,end:L+1},pos:L+1}}}return!0},postValidation:function(D,L,H,O,P,N,V,j){var G,W,K=this;if(V)return!0;if(O===!1&&(((G=I.call(K,L+1,P,N)).targetMatch&&G.targetMatchIndex===L&&G.targetMatch[0].length>1&&A[G.targetMatch[0]]!==void 0||(G=I.call(K,L+2,P,N)).targetMatch&&G.targetMatchIndex===L+1&&G.targetMatch[0].length>1&&A[G.targetMatch[0]]!==void 0)&&(W=w(G.targetMatch)[0]),W!==void 0&&(N.validPositions[L+1]!==void 0&&new RegExp(W).test(H+"0")?(D[L]=H,D[L+1]="0",O={pos:L+2,caret:L}):new RegExp(W).test("0"+H)&&(D[L]="0",D[L+1]=H,O={pos:L+2})),O===!1))return O;if(O.fuzzy&&(D=O.buffer,L=O.pos),(G=I.call(K,L,P,N)).targetMatch&&G.targetMatch[0]&&A[G.targetMatch[0]]!==void 0){var Q=w(G.targetMatch);W=Q[0];var Y=D.slice(G.targetMatchIndex,G.targetMatchIndex+G.targetMatch[0].length);if(new RegExp(W).test(Y.join(""))===!1&&G.targetMatch[0].length===2&&N.validPositions[G.targetMatchIndex]&&N.validPositions[G.targetMatchIndex+1]&&(N.validPositions[G.targetMatchIndex+1].input="0"),Q[2]=="year")for(var ae=i.getMaskTemplate.call(K,!1,1,void 0,!0),re=L+1;re<D.length;re++)D[re]=ae[re],N.validPositions.splice(L+1,1)}var q=O,ie=T.call(K,D.join(""),P.inputFormat,P);return q&&!isNaN(ie.date.getTime())&&(P.prefillYear&&(q=function(pe,Ie,Oe){if(pe.year!==pe.rawyear){var Pe=b.toString(),se=pe.rawyear.replace(/[^0-9]/g,""),ee=Pe.slice(0,se.length),ce=Pe.slice(se.length);if(se.length===2&&se===ee){var ge=new Date(b,pe.month-1,pe.day);pe.day==ge.getDate()&&(!Oe.max||Oe.max.date.getTime()>=ge.getTime())&&(pe.date.setFullYear(b),pe.year=Pe,Ie.insert=[{pos:Ie.pos+1,c:ce[0]},{pos:Ie.pos+2,c:ce[1]}])}}return Ie}(ie,q,P)),q=function(pe,Ie,Oe,Pe,se){if(!Ie)return Ie;if(Ie&&Oe.min&&!isNaN(Oe.min.date.getTime())){var ee;for(pe.reset(),y(Oe).lastIndex=0;ee=y(Oe).exec(Oe.inputFormat);){var ce;if((ce=w(ee))&&ce[3]){for(var ge=ce[1],me=pe[ce[2]],ne=Oe.min[ce[2]],we=Oe.max?Oe.max[ce[2]]:ne+1,ye=[],Ae=!1,De=0;De<ne.length;De++)Pe.validPositions[De+ee.index]!==void 0||Ae?(ye[De]=me[De],Ae=Ae||me[De]>ne[De]):(De+ee.index==0&&me[De]<ne[De]?(ye[De]=me[De],Ae=!0):ye[De]=ne[De],ce[2]==="year"&&me.length-1==De&&ne!=we&&(ye=(parseInt(ye.join(""))+1).toString().split("")),ce[2]==="ampm"&&ne!=we&&Oe.min.date.getTime()>pe.date.getTime()&&(ye[De]=we[De]));ge.call(pe._date,ye.join(""))}}Ie=Oe.min.date.getTime()<=pe.date.getTime(),pe.reInit()}return Ie&&Oe.max&&(isNaN(Oe.max.date.getTime())||(Ie=Oe.max.date.getTime()>=pe.date.getTime())),Ie}(ie,q=S.call(K,ie,q,P),P,N)),L!==void 0&&q&&O.pos!==L?{buffer:F(P.inputFormat,ie,P).split(""),refreshFromBuffer:{start:L,end:O.pos},pos:O.caret||O.pos}:q},onKeyDown:function(D,L,H,O){D.ctrlKey&&D.key===e.keys.ArrowRight&&(this.inputmask._valueSet(B(new Date,O)),k(this).trigger("setvalue"))},onUnMask:function(D,L,H){return L&&F(H.outputFormat,T.call(this,D,H.inputFormat,H),H,!0)},casing:function(D,L,H,O){if(L.nativeDef.indexOf("[ap]")==0)return D.toLowerCase();if(L.nativeDef.indexOf("[AP]")==0)return D.toUpperCase();var P=i.getTest.call(this,[H-1]);return P.match.def.indexOf("[AP]")==0||H===0||P&&P.input===String.fromCharCode(e.keyCode.Space)||P&&P.match.def===String.fromCharCode(e.keyCode.Space)?D.toUpperCase():D.toLowerCase()},onBeforeMask:function(D,L){return Object.prototype.toString.call(D)==="[object Date]"&&(D=B(D,L)),D},insertMode:!1,insertModeVisual:!1,shiftPositions:!1,keepStatic:!1,inputmode:"numeric",prefillYear:!0}})},1313:function(h,c,l){var a,t=(a=l(2394))&&a.__esModule?a:{default:a};t.default.dependencyLib.extend(!0,t.default.prototype.i18n,{dayNames:["Mon","Tue","Wed","Thu","Fri","Sat","Sun","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],ordinalSuffix:["st","nd","rd","th"]})},3851:function(h,c,l){var a,t=(a=l(2394))&&a.__esModule?a:{default:a},e=l(8711),n=l(4713);function i(g){return function(C){if(Array.isArray(C))return r(C)}(g)||function(C){if(typeof Symbol<"u"&&C[Symbol.iterator]!=null||C["@@iterator"]!=null)return Array.from(C)}(g)||function(C,k){if(C){if(typeof C=="string")return r(C,k);var m=Object.prototype.toString.call(C).slice(8,-1);if(m==="Object"&&C.constructor&&(m=C.constructor.name),m==="Map"||m==="Set")return Array.from(C);if(m==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(m))return r(C,k)}}(g)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function r(g,C){(C==null||C>g.length)&&(C=g.length);for(var k=0,m=new Array(C);k<C;k++)m[k]=g[k];return m}t.default.extendDefinitions({A:{validator:"[A-Za-z\u0410-\u044F\u0401\u0451\xC0-\xFF\xB5]",casing:"upper"},"&":{validator:"[0-9A-Za-z\u0410-\u044F\u0401\u0451\xC0-\xFF\xB5]",casing:"upper"},"#":{validator:"[0-9A-Fa-f]",casing:"upper"}});var s=/25[0-5]|2[0-4][0-9]|[01][0-9][0-9]/;function p(g,C,k,m,b){if(k-1>-1&&C.buffer[k-1]!=="."?(g=C.buffer[k-1]+g,g=k-2>-1&&C.buffer[k-2]!=="."?C.buffer[k-2]+g:"0"+g):g="00"+g,b.greedy&&parseInt(g)>255&&s.test("00"+g.charAt(2))){var f=[].concat(i(C.buffer.slice(0,k)),[".",g.charAt(2)]);if(f.join("").match(/\./g).length<4)return{refreshFromBuffer:!0,buffer:f,caret:k+2}}return s.test(g)}t.default.extendAliases({cssunit:{regex:"[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)"},url:{regex:"(https?|ftp)://.*",autoUnmask:!1,keepStatic:!1,tabThrough:!0},ip:{mask:"i{1,3}.j{1,3}.k{1,3}.l{1,3}",definitions:{i:{validator:p},j:{validator:p},k:{validator:p},l:{validator:p}},onUnMask:function(g,C,k){return g},inputmode:"decimal",substitutes:{",":"."}},email:{mask:function(g){var C=g.separator,k=g.quantifier,m="*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",b=m;if(C)for(var f=0;f<k;f++)b+="[".concat(C).concat(m,"]");return b},greedy:!1,casing:"lower",separator:null,quantifier:5,skipOptionalPartCharacter:"",onBeforePaste:function(g,C){return(g=g.toLowerCase()).replace("mailto:","")},definitions:{"*":{validator:"[0-9\uFF11-\uFF19A-Za-z\u0410-\u044F\u0401\u0451\xC0-\xFF\xB5!#$%&'*+/=?^_`{|}~-]"},"-":{validator:"[0-9A-Za-z-]"}},onUnMask:function(g,C,k){return g},inputmode:"email"},mac:{mask:"##:##:##:##:##:##"},vin:{mask:"V{13}9{4}",definitions:{V:{validator:"[A-HJ-NPR-Za-hj-npr-z\\d]",casing:"upper"}},clearIncomplete:!0,autoUnmask:!0},ssn:{mask:"999-99-9999",postValidation:function(g,C,k,m,b,f,_){var A=n.getMaskTemplate.call(this,!0,e.getLastValidPosition.call(this),!0,!0);return/^(?!219-09-9999|078-05-1120)(?!666|000|9.{2}).{3}-(?!00).{2}-(?!0{4}).{4}$/.test(A.join(""))}}})},207:function(h,c,l){var a=i(l(7184)),t=i(l(2394)),e=l(2839),n=l(8711);function i(m){return m&&m.__esModule?m:{default:m}}var r=t.default.dependencyLib;function s(m,b){for(var f="",_=0;_<m.length;_++)t.default.prototype.definitions[m.charAt(_)]||b.definitions[m.charAt(_)]||b.optionalmarker[0]===m.charAt(_)||b.optionalmarker[1]===m.charAt(_)||b.quantifiermarker[0]===m.charAt(_)||b.quantifiermarker[1]===m.charAt(_)||b.groupmarker[0]===m.charAt(_)||b.groupmarker[1]===m.charAt(_)||b.alternatormarker===m.charAt(_)?f+="\\"+m.charAt(_):f+=m.charAt(_);return f}function p(m,b,f,_){if(m.length>0&&b>0&&(!f.digitsOptional||_)){var A=m.indexOf(f.radixPoint),$=!1;f.negationSymbol.back===m[m.length-1]&&($=!0,m.length--),A===-1&&(m.push(f.radixPoint),A=m.length-1);for(var v=1;v<=b;v++)isFinite(m[A+v])||(m[A+v]="0")}return $&&m.push(f.negationSymbol.back),m}function g(m,b){var f=0;for(var _ in m==="+"&&(f=n.seekNext.call(this,b.validPositions.length-1)),b.tests)if((_=parseInt(_))>=f){for(var A=0,$=b.tests[_].length;A<$;A++)if((b.validPositions[_]===void 0||m==="-")&&b.tests[_][A].match.def===m)return _+(b.validPositions[_]!==void 0&&m!=="-"?1:0)}return f}function C(m,b){for(var f=-1,_=0,A=b.validPositions.length;_<A;_++){var $=b.validPositions[_];if($&&$.match.def===m){f=_;break}}return f}function k(m,b,f,_,A){var $=b.buffer?b.buffer.indexOf(A.radixPoint):-1,v=($!==-1||_&&A.jitMasking)&&new RegExp(A.definitions[9].validator).test(m);return!_&&A._radixDance&&$!==-1&&v&&b.validPositions[$]==null?{insert:{pos:$===f?$+1:$,c:A.radixPoint},pos:f}:v}t.default.extendAliases({numeric:{mask:function(m){m.repeat=0,m.groupSeparator===m.radixPoint&&m.digits&&m.digits!=="0"&&(m.radixPoint==="."?m.groupSeparator=",":m.radixPoint===","?m.groupSeparator=".":m.groupSeparator=""),m.groupSeparator===" "&&(m.skipOptionalPartCharacter=void 0),m.placeholder.length>1&&(m.placeholder=m.placeholder.charAt(0)),m.positionCaretOnClick==="radixFocus"&&m.placeholder===""&&(m.positionCaretOnClick="lvp");var b="0",f=m.radixPoint;m.numericInput===!0&&m.__financeInput===void 0?(b="1",m.positionCaretOnClick=m.positionCaretOnClick==="radixFocus"?"lvp":m.positionCaretOnClick,m.digitsOptional=!1,isNaN(m.digits)&&(m.digits=2),m._radixDance=!1,f=m.radixPoint===","?"?":"!",m.radixPoint!==""&&m.definitions[f]===void 0&&(m.definitions[f]={},m.definitions[f].validator="["+m.radixPoint+"]",m.definitions[f].placeholder=m.radixPoint,m.definitions[f].static=!0,m.definitions[f].generated=!0)):(m.__financeInput=!1,m.numericInput=!0);var _,A="[+]";if(A+=s(m.prefix,m),m.groupSeparator!==""?(m.definitions[m.groupSeparator]===void 0&&(m.definitions[m.groupSeparator]={},m.definitions[m.groupSeparator].validator="["+m.groupSeparator+"]",m.definitions[m.groupSeparator].placeholder=m.groupSeparator,m.definitions[m.groupSeparator].static=!0,m.definitions[m.groupSeparator].generated=!0),A+=m._mask(m)):A+="9{+}",m.digits!==void 0&&m.digits!==0){var $=m.digits.toString().split(",");isFinite($[0])&&$[1]&&isFinite($[1])?A+=f+b+"{"+m.digits+"}":(isNaN(m.digits)||parseInt(m.digits)>0)&&(m.digitsOptional||m.jitMasking?(_=A+f+b+"{0,"+m.digits+"}",m.keepStatic=!0):A+=f+b+"{"+m.digits+"}")}else m.inputmode="numeric";return A+=s(m.suffix,m),A+="[-]",_&&(A=[_+s(m.suffix,m)+"[-]",A]),m.greedy=!1,function(v){v.parseMinMaxOptions===void 0&&(v.min!==null&&(v.min=v.min.toString().replace(new RegExp((0,a.default)(v.groupSeparator),"g"),""),v.radixPoint===","&&(v.min=v.min.replace(v.radixPoint,".")),v.min=isFinite(v.min)?parseFloat(v.min):NaN,isNaN(v.min)&&(v.min=Number.MIN_VALUE)),v.max!==null&&(v.max=v.max.toString().replace(new RegExp((0,a.default)(v.groupSeparator),"g"),""),v.radixPoint===","&&(v.max=v.max.replace(v.radixPoint,".")),v.max=isFinite(v.max)?parseFloat(v.max):NaN,isNaN(v.max)&&(v.max=Number.MAX_VALUE)),v.parseMinMaxOptions="done")}(m),m.radixPoint!==""&&m.substituteRadixPoint&&(m.substitutes[m.radixPoint=="."?",":"."]=m.radixPoint),A},_mask:function(m){return"("+m.groupSeparator+"999){+|1}"},digits:"*",digitsOptional:!0,enforceDigitsOnBlur:!1,radixPoint:".",positionCaretOnClick:"radixFocus",_radixDance:!0,groupSeparator:"",allowMinus:!0,negationSymbol:{front:"-",back:""},prefix:"",suffix:"",min:null,max:null,SetMaxOnOverflow:!1,step:1,inputType:"text",unmaskAsNumber:!1,roundingFN:Math.round,inputmode:"decimal",shortcuts:{k:"1000",m:"1000000"},placeholder:"0",greedy:!1,rightAlign:!0,insertMode:!0,autoUnmask:!1,skipOptionalPartCharacter:"",usePrototypeDefinitions:!1,stripLeadingZeroes:!0,substituteRadixPoint:!0,definitions:{0:{validator:k},1:{validator:k,definitionSymbol:"9"},9:{validator:"[0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9]",definitionSymbol:"*"},"+":{validator:function(m,b,f,_,A){return A.allowMinus&&(m==="-"||m===A.negationSymbol.front)}},"-":{validator:function(m,b,f,_,A){return A.allowMinus&&m===A.negationSymbol.back}}},preValidation:function(m,b,f,_,A,$,v,E){var w=this;if(A.__financeInput!==!1&&f===A.radixPoint)return!1;var y=m.indexOf(A.radixPoint),S=b;if(b=function(I,D,L,H,O){return O._radixDance&&O.numericInput&&D!==O.negationSymbol.back&&I<=L&&(L>0||D==O.radixPoint)&&(H.validPositions[I-1]===void 0||H.validPositions[I-1].input!==O.negationSymbol.back)&&(I-=1),I}(b,f,y,$,A),f==="-"||f===A.negationSymbol.front){if(A.allowMinus!==!0)return!1;var F=!1,M=C("+",$),T=C("-",$);return M!==-1&&(F=[M],T!==-1&&F.push(T)),F!==!1?{remove:F,caret:S-A.negationSymbol.back.length}:{insert:[{pos:g.call(w,"+",$),c:A.negationSymbol.front,fromIsValid:!0},{pos:g.call(w,"-",$),c:A.negationSymbol.back,fromIsValid:void 0}],caret:S+A.negationSymbol.back.length}}if(f===A.groupSeparator)return{caret:S};if(E)return!0;if(y!==-1&&A._radixDance===!0&&_===!1&&f===A.radixPoint&&A.digits!==void 0&&(isNaN(A.digits)||parseInt(A.digits)>0)&&y!==b){var B=g.call(w,A.radixPoint,$);return $.validPositions[B]&&($.validPositions[B].generatedInput=$.validPositions[B].generated||!1),{caret:A._radixDance&&b===y-1?y+1:y}}if(A.__financeInput===!1){if(_){if(A.digitsOptional)return{rewritePosition:v.end};if(!A.digitsOptional){if(v.begin>y&&v.end<=y)return f===A.radixPoint?{insert:{pos:y+1,c:"0",fromIsValid:!0},rewritePosition:y}:{rewritePosition:y+1};if(v.begin<y)return{rewritePosition:v.begin-1}}}else if(!A.showMaskOnHover&&!A.showMaskOnFocus&&!A.digitsOptional&&A.digits>0&&this.__valueGet.call(this.el)==="")return{rewritePosition:y}}return{rewritePosition:b}},postValidation:function(m,b,f,_,A,$,v){if(_===!1)return _;if(v)return!0;if(A.min!==null||A.max!==null){var E=A.onUnMask(m.slice().reverse().join(""),void 0,r.extend({},A,{unmaskAsNumber:!0}));if(A.min!==null&&E<A.min&&(E.toString().length>A.min.toString().length||E<0))return!1;if(A.max!==null&&E>A.max)return!!A.SetMaxOnOverflow&&{refreshFromBuffer:!0,buffer:p(A.max.toString().replace(".",A.radixPoint).split(""),A.digits,A).reverse()}}return _},onUnMask:function(m,b,f){if(b===""&&f.nullable===!0)return b;var _=m.replace(f.prefix,"");return _=(_=_.replace(f.suffix,"")).replace(new RegExp((0,a.default)(f.groupSeparator),"g"),""),f.placeholder.charAt(0)!==""&&(_=_.replace(new RegExp(f.placeholder.charAt(0),"g"),"0")),f.unmaskAsNumber?(f.radixPoint!==""&&_.indexOf(f.radixPoint)!==-1&&(_=_.replace(a.default.call(this,f.radixPoint),".")),_=(_=_.replace(new RegExp("^"+(0,a.default)(f.negationSymbol.front)),"-")).replace(new RegExp((0,a.default)(f.negationSymbol.back)+"$"),""),Number(_)):_},isComplete:function(m,b){var f=(b.numericInput?m.slice().reverse():m).join("");return f=(f=(f=(f=(f=f.replace(new RegExp("^"+(0,a.default)(b.negationSymbol.front)),"-")).replace(new RegExp((0,a.default)(b.negationSymbol.back)+"$"),"")).replace(b.prefix,"")).replace(b.suffix,"")).replace(new RegExp((0,a.default)(b.groupSeparator)+"([0-9]{3})","g"),"$1"),b.radixPoint===","&&(f=f.replace((0,a.default)(b.radixPoint),".")),isFinite(f)},onBeforeMask:function(m,b){var f;m=(f=m)!==null&&f!==void 0?f:"";var _=b.radixPoint||",";isFinite(b.digits)&&(b.digits=parseInt(b.digits)),typeof m!="number"&&b.inputType!=="number"||_===""||(m=m.toString().replace(".",_));var A=m.charAt(0)==="-"||m.charAt(0)===b.negationSymbol.front,$=m.split(_),v=$[0].replace(/[^\-0-9]/g,""),E=$.length>1?$[1].replace(/[^0-9]/g,""):"",w=$.length>1;m=v+(E!==""?_+E:E);var y=0;if(_!==""&&(y=b.digitsOptional?b.digits<E.length?b.digits:E.length:b.digits,E!==""||!b.digitsOptional)){var S=Math.pow(10,y||1);m=m.replace((0,a.default)(_),"."),isNaN(parseFloat(m))||(m=(b.roundingFN(parseFloat(m)*S)/S).toFixed(y)),m=m.toString().replace(".",_)}if(b.digits===0&&m.indexOf(_)!==-1&&(m=m.substring(0,m.indexOf(_))),b.min!==null||b.max!==null){var F=m.toString().replace(_,".");b.min!==null&&F<b.min?m=b.min.toString().replace(".",_):b.max!==null&&F>b.max&&(m=b.max.toString().replace(".",_))}return A&&m.charAt(0)!=="-"&&(m="-"+m),p(m.toString().split(""),y,b,w).join("")},onBeforeWrite:function(m,b,f,_){function A(T,B){if(_.__financeInput!==!1||B){var I=T.indexOf(_.radixPoint);I!==-1&&T.splice(I,1)}if(_.groupSeparator!=="")for(;(I=T.indexOf(_.groupSeparator))!==-1;)T.splice(I,1);return T}var $,v;if(_.stripLeadingZeroes&&(v=function(T,B){var I=new RegExp("(^"+(B.negationSymbol.front!==""?(0,a.default)(B.negationSymbol.front)+"?":"")+(0,a.default)(B.prefix)+")(.*)("+(0,a.default)(B.suffix)+(B.negationSymbol.back!=""?(0,a.default)(B.negationSymbol.back)+"?":"")+"$)").exec(T.slice().reverse().join("")),D=I?I[2]:"",L=!1;return D&&(D=D.split(B.radixPoint.charAt(0))[0],L=new RegExp("^[0"+B.groupSeparator+"]*").exec(D)),!(!L||!(L[0].length>1||L[0].length>0&&L[0].length<D.length))&&L}(b,_)))for(var E=b.join("").lastIndexOf(v[0].split("").reverse().join(""))-(v[0]==v.input?0:1),w=v[0]==v.input?1:0,y=v[0].length-w;y>0;y--)this.maskset.validPositions.splice(E+y,1),delete b[E+y];if(m)switch(m.type){case"blur":case"checkval":if(_.min!==null){var S=_.onUnMask(b.slice().reverse().join(""),void 0,r.extend({},_,{unmaskAsNumber:!0}));if(_.min!==null&&S<_.min)return{refreshFromBuffer:!0,buffer:p(_.min.toString().replace(".",_.radixPoint).split(""),_.digits,_).reverse()}}if(b[b.length-1]===_.negationSymbol.front){var F=new RegExp("(^"+(_.negationSymbol.front!=""?(0,a.default)(_.negationSymbol.front)+"?":"")+(0,a.default)(_.prefix)+")(.*)("+(0,a.default)(_.suffix)+(_.negationSymbol.back!=""?(0,a.default)(_.negationSymbol.back)+"?":"")+"$)").exec(A(b.slice(),!0).reverse().join(""));(F?F[2]:"")==0&&($={refreshFromBuffer:!0,buffer:[0]})}else _.radixPoint!==""&&b.indexOf(_.radixPoint)===_.suffix.length&&($&&$.buffer?$.buffer.splice(0,1+_.suffix.length):(b.splice(0,1+_.suffix.length),$={refreshFromBuffer:!0,buffer:A(b)}));if(_.enforceDigitsOnBlur){var M=($=$||{})&&$.buffer||b.slice().reverse();$.refreshFromBuffer=!0,$.buffer=p(M,_.digits,_,!0).reverse()}}return $},onKeyDown:function(m,b,f,_){var A,$=r(this);if(m.location!=3){var v,E=m.key;if((v=_.shortcuts&&_.shortcuts[E])&&v.length>1)return this.inputmask.__valueSet.call(this,parseFloat(this.inputmask.unmaskedvalue())*parseInt(v)),$.trigger("setvalue"),!1}if(m.ctrlKey)switch(m.key){case e.keys.ArrowUp:return this.inputmask.__valueSet.call(this,parseFloat(this.inputmask.unmaskedvalue())+parseInt(_.step)),$.trigger("setvalue"),!1;case e.keys.ArrowDown:return this.inputmask.__valueSet.call(this,parseFloat(this.inputmask.unmaskedvalue())-parseInt(_.step)),$.trigger("setvalue"),!1}if(!m.shiftKey&&(m.key===e.keys.Delete||m.key===e.keys.Backspace||m.key===e.keys.BACKSPACE_SAFARI)&&f.begin!==b.length){if(b[m.key===e.keys.Delete?f.begin-1:f.end]===_.negationSymbol.front)return A=b.slice().reverse(),_.negationSymbol.front!==""&&A.shift(),_.negationSymbol.back!==""&&A.pop(),$.trigger("setvalue",[A.join(""),f.begin]),!1;if(_._radixDance===!0){var w,y=b.indexOf(_.radixPoint);if(_.digitsOptional){if(y===0)return(A=b.slice().reverse()).pop(),$.trigger("setvalue",[A.join(""),f.begin>=A.length?A.length:f.begin]),!1}else if(y!==-1&&(f.begin<y||f.end<y||m.key===e.keys.Delete&&(f.begin===y||f.begin-1===y)))return f.begin===f.end&&(m.key===e.keys.Backspace||m.key===e.keys.BACKSPACE_SAFARI?f.begin++:m.key===e.keys.Delete&&f.begin-1===y&&(w=r.extend({},f),f.begin--,f.end--)),(A=b.slice().reverse()).splice(A.length-f.begin,f.begin-f.end+1),A=p(A,_.digits,_).join(""),w&&(f=w),$.trigger("setvalue",[A,f.begin>=A.length?y+1:f.begin]),!1}}}},currency:{prefix:"",groupSeparator:",",alias:"numeric",digits:2,digitsOptional:!1},decimal:{alias:"numeric"},integer:{alias:"numeric",inputmode:"numeric",digits:0},percentage:{alias:"numeric",min:0,max:100,suffix:" %",digits:0,allowMinus:!1},indianns:{alias:"numeric",_mask:function(m){return"("+m.groupSeparator+"99){*|1}("+m.groupSeparator+"999){1|1}"},groupSeparator:",",radixPoint:".",placeholder:"0",digits:2,digitsOptional:!1}})},9380:function(h,c){Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var l=!(typeof window>"u"||!window.document||!window.document.createElement);c.default=l?window:{}},7760:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.HandleNativePlaceholder=function(k,m){var b=k?k.inputmask:this;if(a.ie){if(k.inputmask._valueGet()!==m&&(k.placeholder!==m||k.placeholder==="")){var f=n.getBuffer.call(b).slice(),_=k.inputmask._valueGet();if(_!==m){var A=n.getLastValidPosition.call(b);A===-1&&_===n.getBufferTemplate.call(b).join("")?f=[]:A!==-1&&p.call(b,f),C(k,f)}}}else k.placeholder!==m&&(k.placeholder=m,k.placeholder===""&&k.removeAttribute("placeholder"))},c.applyInputValue=s,c.checkVal=g,c.clearOptionalTail=p,c.unmaskedvalue=function(k){var m=k?k.inputmask:this,b=m.opts,f=m.maskset;if(k){if(k.inputmask===void 0)return k.value;k.inputmask&&k.inputmask.refreshValue&&s(k,k.inputmask._valueGet(!0))}for(var _=[],A=f.validPositions,$=0,v=A.length;$<v;$++)A[$]&&A[$].match&&(A[$].match.static!=1||Array.isArray(f.metadata)&&A[$].generatedInput!==!0)&&_.push(A[$].input);var E=_.length===0?"":(m.isRTL?_.reverse():_).join("");if(typeof b.onUnMask=="function"){var w=(m.isRTL?n.getBuffer.call(m).slice().reverse():n.getBuffer.call(m)).join("");E=b.onUnMask.call(m,w,E,b)}return E},c.writeBuffer=C;var a=l(9845),t=l(6030),e=l(2839),n=l(8711),i=l(7215),r=l(4713);function s(k,m,b){var f=k?k.inputmask:this,_=f.opts;k.inputmask.refreshValue=!1,typeof _.onBeforeMask=="function"&&(m=_.onBeforeMask.call(f,m,_)||m),g(k,!0,!1,m=(m||"").toString().split(""),b),f.undoValue=f._valueGet(!0),(_.clearMaskOnLostFocus||_.clearIncomplete)&&k.inputmask._valueGet()===n.getBufferTemplate.call(f).join("")&&n.getLastValidPosition.call(f)===-1&&k.inputmask._valueSet("")}function p(k){k.length=0;for(var m,b=r.getMaskTemplate.call(this,!0,0,!0,void 0,!0);(m=b.shift())!==void 0;)k.push(m);return k}function g(k,m,b,f,_){var A,$=k?k.inputmask:this,v=$.maskset,E=$.opts,w=$.dependencyLib,y=f.slice(),S="",F=-1,M=E.skipOptionalPartCharacter;E.skipOptionalPartCharacter="",n.resetMaskSet.call($,!1),$.clicked=0,F=E.radixPoint?n.determineNewCaretPosition.call($,{begin:0,end:0},!1,E.__financeInput===!1?"radixFocus":void 0).begin:0,v.p=F,$.caretPos={begin:F};var T=[],B=$.caretPos;if(y.forEach(function(P,N){if(P!==void 0){var V=new w.Event("_checkval");V.key=P,S+=P;var j=n.getLastValidPosition.call($,void 0,!0);(function(G,W){for(var K=r.getMaskTemplate.call($,!0,0).slice(G,n.seekNext.call($,G,!1,!1)).join("").replace(/'/g,""),Q=K.indexOf(W);Q>0&&K[Q-1]===" ";)Q--;var Y=Q===0&&!n.isMask.call($,G)&&(r.getTest.call($,G).match.nativeDef===W.charAt(0)||r.getTest.call($,G).match.static===!0&&r.getTest.call($,G).match.nativeDef==="'"+W.charAt(0)||r.getTest.call($,G).match.nativeDef===" "&&(r.getTest.call($,G+1).match.nativeDef===W.charAt(0)||r.getTest.call($,G+1).match.static===!0&&r.getTest.call($,G+1).match.nativeDef==="'"+W.charAt(0)));if(!Y&&Q>0&&!n.isMask.call($,G,!1,!0)){var ae=n.seekNext.call($,G);$.caretPos.begin<ae&&($.caretPos={begin:ae})}return Y})(F,S)?A=t.EventHandlers.keypressEvent.call($,V,!0,!1,b,j+1):(A=t.EventHandlers.keypressEvent.call($,V,!0,!1,b,$.caretPos.begin))&&(F=$.caretPos.begin+1,S=""),A?(A.pos!==void 0&&v.validPositions[A.pos]&&v.validPositions[A.pos].match.static===!0&&v.validPositions[A.pos].alternation===void 0&&(T.push(A.pos),$.isRTL||(A.forwardPosition=A.pos+1)),C.call($,void 0,n.getBuffer.call($),A.forwardPosition,V,!1),$.caretPos={begin:A.forwardPosition,end:A.forwardPosition},B=$.caretPos):v.validPositions[N]===void 0&&y[N]===r.getPlaceholder.call($,N)&&n.isMask.call($,N,!0)?$.caretPos.begin++:$.caretPos=B}}),T.length>0){var I,D,L=n.seekNext.call($,-1,void 0,!1);if(!i.isComplete.call($,n.getBuffer.call($))&&T.length<=L||i.isComplete.call($,n.getBuffer.call($))&&T.length>0&&T.length!==L&&T[0]===0){for(var H=L;(I=T.shift())!==void 0;)if(I<H){var O=new w.Event("_checkval");if((D=v.validPositions[I]).generatedInput=!0,O.key=D.input,(A=t.EventHandlers.keypressEvent.call($,O,!0,!1,b,H))&&A.pos!==void 0&&A.pos!==I&&v.validPositions[A.pos]&&v.validPositions[A.pos].match.static===!0)T.push(A.pos);else if(!A)break;H++}}}m&&C.call($,k,n.getBuffer.call($),A?A.forwardPosition:$.caretPos.begin,_||new w.Event("checkval"),_&&(_.type==="input"&&$.undoValue!==n.getBuffer.call($).join("")||_.type==="paste")),E.skipOptionalPartCharacter=M}function C(k,m,b,f,_){var A=k?k.inputmask:this,$=A.opts,v=A.dependencyLib;if(f&&typeof $.onBeforeWrite=="function"){var E=$.onBeforeWrite.call(A,f,m,b,$);if(E){if(E.refreshFromBuffer){var w=E.refreshFromBuffer;i.refreshFromBuffer.call(A,w===!0?w:w.start,w.end,E.buffer||m),m=n.getBuffer.call(A,!0)}b!==void 0&&(b=E.caret!==void 0?E.caret:b)}}if(k!==void 0&&(k.inputmask._valueSet(m.join("")),b===void 0||f!==void 0&&f.type==="blur"||n.caret.call(A,k,b,void 0,void 0,f!==void 0&&f.type==="keydown"&&(f.key===e.keys.Delete||f.key===e.keys.Backspace)),k.inputmask.writeBufferHook===void 0||k.inputmask.writeBufferHook(b),_===!0)){var y=v(k),S=k.inputmask._valueGet();k.inputmask.skipInputEvent=!0,y.trigger("input"),setTimeout(function(){S===n.getBufferTemplate.call(A).join("")?y.trigger("cleared"):i.isComplete.call(A,m)===!0&&y.trigger("complete")},0)}}},2394:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var a=b(l(3976)),t=b(l(7392)),e=b(l(4963)),n=l(9716),i=b(l(9380)),r=l(7760),s=l(157),p=l(2391),g=l(8711),C=l(7215),k=l(4713);function m(v){return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},m(v)}function b(v){return v&&v.__esModule?v:{default:v}}var f=i.default.document,_="_inputmask_opts";function A(v,E,w){if(!(this instanceof A))return new A(v,E,w);this.dependencyLib=e.default,this.el=void 0,this.events={},this.maskset=void 0,w!==!0&&(Object.prototype.toString.call(v)==="[object Object]"?E=v:(E=E||{},v&&(E.alias=v)),this.opts=e.default.extend(!0,{},this.defaults,E),this.noMasksCache=E&&E.definitions!==void 0,this.userOptions=E||{},$(this.opts.alias,E,this.opts)),this.refreshValue=!1,this.undoValue=void 0,this.$el=void 0,this.skipInputEvent=!1,this.validationEvent=!1,this.ignorable=!1,this.maxLength,this.mouseEnter=!1,this.clicked=0,this.originalPlaceholder=void 0,this.isComposing=!1,this.hasAlternator=!1}function $(v,E,w){var y=A.prototype.aliases[v];return y?(y.alias&&$(y.alias,void 0,w),e.default.extend(!0,w,y),e.default.extend(!0,w,E),!0):(w.mask===null&&(w.mask=v),!1)}A.prototype={dataAttribute:"data-inputmask",defaults:a.default,definitions:t.default,aliases:{},masksCache:{},i18n:{},get isRTL(){return this.opts.isRTL||this.opts.numericInput},mask:function(v){var E=this;return typeof v=="string"&&(v=f.getElementById(v)||f.querySelectorAll(v)),(v=v.nodeName?[v]:Array.isArray(v)?v:[].slice.call(v)).forEach(function(w,y){var S=e.default.extend(!0,{},E.opts);if(function(M,T,B,I){function D(V,j){var G=I===""?V:I+"-"+V;(j=j!==void 0?j:M.getAttribute(G))!==null&&(typeof j=="string"&&(V.indexOf("on")===0?j=i.default[j]:j==="false"?j=!1:j==="true"&&(j=!0)),B[V]=j)}if(T.importDataAttributes===!0){var L,H,O,P,N=M.getAttribute(I);if(N&&N!==""&&(N=N.replace(/'/g,'"'),H=JSON.parse("{"+N+"}")),H){for(P in O=void 0,H)if(P.toLowerCase()==="alias"){O=H[P];break}}for(L in D("alias",O),B.alias&&$(B.alias,B,T),T){if(H){for(P in O=void 0,H)if(P.toLowerCase()===L.toLowerCase()){O=H[P];break}}D(L,O)}}return e.default.extend(!0,T,B),(M.dir==="rtl"||T.rightAlign)&&(M.style.textAlign="right"),(M.dir==="rtl"||T.numericInput)&&(M.dir="ltr",M.removeAttribute("dir"),T.isRTL=!0),Object.keys(B).length}(w,S,e.default.extend(!0,{},E.userOptions),E.dataAttribute)){var F=(0,p.generateMaskSet)(S,E.noMasksCache);F!==void 0&&(w.inputmask!==void 0&&(w.inputmask.opts.autoUnmask=!0,w.inputmask.remove()),w.inputmask=new A(void 0,void 0,!0),w.inputmask.opts=S,w.inputmask.noMasksCache=E.noMasksCache,w.inputmask.userOptions=e.default.extend(!0,{},E.userOptions),w.inputmask.el=w,w.inputmask.$el=(0,e.default)(w),w.inputmask.maskset=F,e.default.data(w,_,E.userOptions),s.mask.call(w.inputmask))}}),v&&v[0]&&v[0].inputmask||this},option:function(v,E){return typeof v=="string"?this.opts[v]:m(v)==="object"?(e.default.extend(this.userOptions,v),this.el&&E!==!0&&this.mask(this.el),this):void 0},unmaskedvalue:function(v){if(this.maskset=this.maskset||(0,p.generateMaskSet)(this.opts,this.noMasksCache),this.el===void 0||v!==void 0){var E=(typeof this.opts.onBeforeMask=="function"&&this.opts.onBeforeMask.call(this,v,this.opts)||v).split("");r.checkVal.call(this,void 0,!1,!1,E),typeof this.opts.onBeforeWrite=="function"&&this.opts.onBeforeWrite.call(this,void 0,g.getBuffer.call(this),0,this.opts)}return r.unmaskedvalue.call(this,this.el)},remove:function(){if(this.el){e.default.data(this.el,_,null);var v=this.opts.autoUnmask?(0,r.unmaskedvalue)(this.el):this._valueGet(this.opts.autoUnmask);v!==g.getBufferTemplate.call(this).join("")?this._valueSet(v,this.opts.autoUnmask):this._valueSet(""),n.EventRuler.off(this.el),Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this.el),"value")&&this.__valueGet&&Object.defineProperty(this.el,"value",{get:this.__valueGet,set:this.__valueSet,configurable:!0}):f.__lookupGetter__&&this.el.__lookupGetter__("value")&&this.__valueGet&&(this.el.__defineGetter__("value",this.__valueGet),this.el.__defineSetter__("value",this.__valueSet)),this.el.inputmask=void 0}return this.el},getemptymask:function(){return this.maskset=this.maskset||(0,p.generateMaskSet)(this.opts,this.noMasksCache),(this.isRTL?g.getBufferTemplate.call(this).reverse():g.getBufferTemplate.call(this)).join("")},hasMaskedValue:function(){return!this.opts.autoUnmask},isComplete:function(){return this.maskset=this.maskset||(0,p.generateMaskSet)(this.opts,this.noMasksCache),C.isComplete.call(this,g.getBuffer.call(this))},getmetadata:function(){if(this.maskset=this.maskset||(0,p.generateMaskSet)(this.opts,this.noMasksCache),Array.isArray(this.maskset.metadata)){var v=k.getMaskTemplate.call(this,!0,0,!1).join("");return this.maskset.metadata.forEach(function(E){return E.mask!==v||(v=E,!1)}),v}return this.maskset.metadata},isValid:function(v){if(this.maskset=this.maskset||(0,p.generateMaskSet)(this.opts,this.noMasksCache),v){var E=(typeof this.opts.onBeforeMask=="function"&&this.opts.onBeforeMask.call(this,v,this.opts)||v).split("");r.checkVal.call(this,void 0,!0,!1,E)}else v=this.isRTL?g.getBuffer.call(this).slice().reverse().join(""):g.getBuffer.call(this).join("");for(var w=g.getBuffer.call(this),y=g.determineLastRequiredPosition.call(this),S=w.length-1;S>y&&!g.isMask.call(this,S);S--);return w.splice(y,S+1-y),C.isComplete.call(this,w)&&v===(this.isRTL?g.getBuffer.call(this).slice().reverse().join(""):g.getBuffer.call(this).join(""))},format:function(v,E){this.maskset=this.maskset||(0,p.generateMaskSet)(this.opts,this.noMasksCache);var w=(typeof this.opts.onBeforeMask=="function"&&this.opts.onBeforeMask.call(this,v,this.opts)||v).split("");r.checkVal.call(this,void 0,!0,!1,w);var y=this.isRTL?g.getBuffer.call(this).slice().reverse().join(""):g.getBuffer.call(this).join("");return E?{value:y,metadata:this.getmetadata()}:y},setValue:function(v){this.el&&(0,e.default)(this.el).trigger("setvalue",[v])},analyseMask:p.analyseMask},A.extendDefaults=function(v){e.default.extend(!0,A.prototype.defaults,v)},A.extendDefinitions=function(v){e.default.extend(!0,A.prototype.definitions,v)},A.extendAliases=function(v){e.default.extend(!0,A.prototype.aliases,v)},A.format=function(v,E,w){return A(E).format(v,w)},A.unmask=function(v,E){return A(E).unmaskedvalue(v)},A.isValid=function(v,E){return A(E).isValid(v)},A.remove=function(v){typeof v=="string"&&(v=f.getElementById(v)||f.querySelectorAll(v)),(v=v.nodeName?[v]:v).forEach(function(E){E.inputmask&&E.inputmask.remove()})},A.setValue=function(v,E){typeof v=="string"&&(v=f.getElementById(v)||f.querySelectorAll(v)),(v=v.nodeName?[v]:v).forEach(function(w){w.inputmask?w.inputmask.setValue(E):(0,e.default)(w).trigger("setvalue",[E])})},A.dependencyLib=e.default,i.default.Inputmask=A,c.default=A},5296:function(h,c,l){function a(f){return a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},a(f)}var t=k(l(9380)),e=k(l(2394));function n(f,_){for(var A=0;A<_.length;A++){var $=_[A];$.enumerable=$.enumerable||!1,$.configurable=!0,"value"in $&&($.writable=!0),Object.defineProperty(f,(v=$.key,E=void 0,E=function(w,y){if(a(w)!=="object"||w===null)return w;var S=w[Symbol.toPrimitive];if(S!==void 0){var F=S.call(w,y||"default");if(a(F)!=="object")return F;throw new TypeError("@@toPrimitive must return a primitive value.")}return(y==="string"?String:Number)(w)}(v,"string"),a(E)==="symbol"?E:String(E)),$)}var v,E}function i(f){var _=p();return function(){var A,$=C(f);if(_){var v=C(this).constructor;A=Reflect.construct($,arguments,v)}else A=$.apply(this,arguments);return function(E,w){if(w&&(a(w)==="object"||typeof w=="function"))return w;if(w!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(y){if(y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return y}(E)}(this,A)}}function r(f){var _=typeof Map=="function"?new Map:void 0;return r=function(A){if(A===null||!function(v){try{return Function.toString.call(v).indexOf("[native code]")!==-1}catch{return typeof v=="function"}}(A))return A;if(typeof A!="function")throw new TypeError("Super expression must either be null or a function");if(_!==void 0){if(_.has(A))return _.get(A);_.set(A,$)}function $(){return s(A,arguments,C(this).constructor)}return $.prototype=Object.create(A.prototype,{constructor:{value:$,enumerable:!1,writable:!0,configurable:!0}}),g($,A)},r(f)}function s(f,_,A){return s=p()?Reflect.construct.bind():function($,v,E){var w=[null];w.push.apply(w,v);var y=new(Function.bind.apply($,w));return E&&g(y,E.prototype),y},s.apply(null,arguments)}function p(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function g(f,_){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(A,$){return A.__proto__=$,A},g(f,_)}function C(f){return C=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(_){return _.__proto__||Object.getPrototypeOf(_)},C(f)}function k(f){return f&&f.__esModule?f:{default:f}}var m=t.default.document;if(m&&m.head&&m.head.attachShadow&&t.default.customElements&&t.default.customElements.get("input-mask")===void 0){var b=function(f){(function(w,y){if(typeof y!="function"&&y!==null)throw new TypeError("Super expression must either be null or a function");w.prototype=Object.create(y&&y.prototype,{constructor:{value:w,writable:!0,configurable:!0}}),Object.defineProperty(w,"prototype",{writable:!1}),y&&g(w,y)})(E,f);var _,A,$,v=i(E);function E(){var w;(function(T,B){if(!(T instanceof B))throw new TypeError("Cannot call a class as a function")})(this,E);var y=(w=v.call(this)).getAttributeNames(),S=w.attachShadow({mode:"closed"});for(var F in w.input=m.createElement("input"),w.input.type="text",S.appendChild(w.input),y)Object.prototype.hasOwnProperty.call(y,F)&&w.input.setAttribute(y[F],w.getAttribute(y[F]));var M=new e.default;return M.dataAttribute="",M.mask(w.input),w.input.inputmask.shadowRoot=S,w}return _=E,(A=[{key:"attributeChangedCallback",value:function(w,y,S){this.input.setAttribute(w,S)}},{key:"value",get:function(){return this.input.value},set:function(w){this.input.value=w}}])&&n(_.prototype,A),$&&n(_,$),Object.defineProperty(_,"prototype",{writable:!1}),E}(r(HTMLElement));t.default.customElements.define("input-mask",b)}},2839:function(h,c){function l(s){return l=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(p){return typeof p}:function(p){return p&&typeof Symbol=="function"&&p.constructor===Symbol&&p!==Symbol.prototype?"symbol":typeof p},l(s)}function a(s,p){return function(g){if(Array.isArray(g))return g}(s)||function(g,C){var k=g==null?null:typeof Symbol<"u"&&g[Symbol.iterator]||g["@@iterator"];if(k!=null){var m,b,f,_,A=[],$=!0,v=!1;try{if(f=(k=k.call(g)).next,C===0){if(Object(k)!==k)return;$=!1}else for(;!($=(m=f.call(k)).done)&&(A.push(m.value),A.length!==C);$=!0);}catch(E){v=!0,b=E}finally{try{if(!$&&k.return!=null&&(_=k.return(),Object(_)!==_))return}finally{if(v)throw b}}return A}}(s,p)||function(g,C){if(g){if(typeof g=="string")return t(g,C);var k=Object.prototype.toString.call(g).slice(8,-1);if(k==="Object"&&g.constructor&&(k=g.constructor.name),k==="Map"||k==="Set")return Array.from(g);if(k==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(k))return t(g,C)}}(s,p)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function t(s,p){(p==null||p>s.length)&&(p=s.length);for(var g=0,C=new Array(p);g<p;g++)C[g]=s[g];return C}function e(s,p){var g=Object.keys(s);if(Object.getOwnPropertySymbols){var C=Object.getOwnPropertySymbols(s);p&&(C=C.filter(function(k){return Object.getOwnPropertyDescriptor(s,k).enumerable})),g.push.apply(g,C)}return g}function n(s,p,g){return(p=function(C){var k=function(m,b){if(l(m)!=="object"||m===null)return m;var f=m[Symbol.toPrimitive];if(f!==void 0){var _=f.call(m,b||"default");if(l(_)!=="object")return _;throw new TypeError("@@toPrimitive must return a primitive value.")}return(b==="string"?String:Number)(m)}(C,"string");return l(k)==="symbol"?k:String(k)}(p))in s?Object.defineProperty(s,p,{value:g,enumerable:!0,configurable:!0,writable:!0}):s[p]=g,s}Object.defineProperty(c,"__esModule",{value:!0}),c.keys=c.keyCode=void 0,c.toKey=function(s,p){return r[s]||(p?String.fromCharCode(s):String.fromCharCode(s).toLowerCase())},c.toKeyCode=function(s){return i[s]};var i=c.keyCode=function(s){for(var p=1;p<arguments.length;p++){var g=arguments[p]!=null?arguments[p]:{};p%2?e(Object(g),!0).forEach(function(C){n(s,C,g[C])}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(g)):e(Object(g)).forEach(function(C){Object.defineProperty(s,C,Object.getOwnPropertyDescriptor(g,C))})}return s}({c:67,x:88,z:90,BACKSPACE_SAFARI:127,Enter:13,Meta_LEFT:91,Meta_RIGHT:92,Space:32},{Alt:18,AltGraph:18,ArrowDown:40,ArrowLeft:37,ArrowRight:39,ArrowUp:38,Backspace:8,CapsLock:20,Control:17,ContextMenu:93,Dead:221,Delete:46,End:35,Escape:27,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,Home:36,Insert:45,NumLock:144,PageDown:34,PageUp:33,Pause:19,PrintScreen:44,Process:229,Shift:16,ScrollLock:145,Tab:9,Unidentified:229}),r=Object.entries(i).reduce(function(s,p){var g=a(p,2),C=g[0],k=g[1];return s[k]=s[k]===void 0?C:s[k],s},{});c.keys=Object.entries(i).reduce(function(s,p){var g=a(p,2),C=g[0];return g[1],s[C]=C==="Space"?" ":C,s},{})},2391:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.analyseMask=function(p,g,C){var k,m,b,f,_,A,$=/(?:[?*+]|\{[0-9+*]+(?:,[0-9+*]*)?(?:\|[0-9+*]*)?\})|[^.?*+^${[]()|\\]+|./g,v=/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,E=!1,w=new n.default,y=[],S=[],F=!1;function M(Q,Y,ae){ae=ae!==void 0?ae:Q.matches.length;var re=Q.matches[ae-1];if(g){if(Y.indexOf("[")===0||E&&/\\d|\\s|\\w|\\p/i.test(Y)||Y==="."){var q=C.casing?"i":"";/\\p\{.*}/i.test(Y)&&(q+="u"),Q.matches.splice(ae++,0,{fn:new RegExp(Y,q),static:!1,optionality:!1,newBlockMarker:re===void 0?"master":re.def!==Y,casing:null,def:Y,placeholder:i(C.placeholder)==="object"?C.placeholder[w.matches.length]:void 0,nativeDef:Y})}else E&&(Y=Y[Y.length-1]),Y.split("").forEach(function(pe,Ie){re=Q.matches[ae-1],Q.matches.splice(ae++,0,{fn:/[a-z]/i.test(C.staticDefinitionSymbol||pe)?new RegExp("["+(C.staticDefinitionSymbol||pe)+"]",C.casing?"i":""):null,static:!0,optionality:!1,newBlockMarker:re===void 0?"master":re.def!==pe&&re.static!==!0,casing:null,def:C.staticDefinitionSymbol||pe,placeholder:C.staticDefinitionSymbol!==void 0?pe:i(C.placeholder)==="object"?C.placeholder[w.matches.length]:void 0,nativeDef:(E?"'":"")+pe})});E=!1}else{var ie=C.definitions&&C.definitions[Y]||C.usePrototypeDefinitions&&e.default.prototype.definitions[Y];ie&&!E?Q.matches.splice(ae++,0,{fn:ie.validator?typeof ie.validator=="string"?new RegExp(ie.validator,C.casing?"i":""):new function(){this.test=ie.validator}:/./,static:ie.static||!1,optionality:ie.optional||!1,defOptionality:ie.optional||!1,newBlockMarker:re===void 0||ie.optional?"master":re.def!==(ie.definitionSymbol||Y),casing:ie.casing,def:ie.definitionSymbol||Y,placeholder:ie.placeholder,nativeDef:Y,generated:ie.generated}):(Q.matches.splice(ae++,0,{fn:/[a-z]/i.test(C.staticDefinitionSymbol||Y)?new RegExp("["+(C.staticDefinitionSymbol||Y)+"]",C.casing?"i":""):null,static:!0,optionality:!1,newBlockMarker:re===void 0?"master":re.def!==Y&&re.static!==!0,casing:null,def:C.staticDefinitionSymbol||Y,placeholder:C.staticDefinitionSymbol!==void 0?Y:void 0,nativeDef:(E?"'":"")+Y}),E=!1)}}function T(){if(y.length>0){if(M(f=y[y.length-1],m),f.isAlternator){_=y.pop();for(var Q=0;Q<_.matches.length;Q++)_.matches[Q].isGroup&&(_.matches[Q].isGroup=!1);y.length>0?(f=y[y.length-1]).matches.push(_):w.matches.push(_)}}else M(w,m)}function B(Q){var Y=new n.default(!0);return Y.openGroup=!1,Y.matches=Q,Y}function I(){if((b=y.pop()).openGroup=!1,b!==void 0)if(y.length>0){if((f=y[y.length-1]).matches.push(b),f.isAlternator){_=y.pop();for(var Q=0;Q<_.matches.length;Q++)_.matches[Q].isGroup=!1,_.matches[Q].alternatorGroup=!1;y.length>0?(f=y[y.length-1]).matches.push(_):w.matches.push(_)}}else w.matches.push(b);else T()}function D(Q){var Y=Q.pop();return Y.isQuantifier&&(Y=B([Q.pop(),Y])),Y}for(g&&(C.optionalmarker[0]=void 0,C.optionalmarker[1]=void 0);k=g?v.exec(p):$.exec(p);){if(m=k[0],g){switch(m.charAt(0)){case"?":m="{0,1}";break;case"+":case"*":m="{"+m+"}";break;case"|":if(y.length===0){var L=B(w.matches);L.openGroup=!0,y.push(L),w.matches=[],F=!0}}switch(m){case"\\d":m="[0-9]";break;case"\\p":m+=v.exec(p)[0],m+=v.exec(p)[0]}}if(E)T();else switch(m.charAt(0)){case"$":case"^":g||T();break;case C.escapeChar:E=!0,g&&T();break;case C.optionalmarker[1]:case C.groupmarker[1]:I();break;case C.optionalmarker[0]:y.push(new n.default(!1,!0));break;case C.groupmarker[0]:y.push(new n.default(!0));break;case C.quantifiermarker[0]:var H=new n.default(!1,!1,!0),O=(m=m.replace(/[{}?]/g,"")).split("|"),P=O[0].split(","),N=isNaN(P[0])?P[0]:parseInt(P[0]),V=P.length===1?N:isNaN(P[1])?P[1]:parseInt(P[1]),j=isNaN(O[1])?O[1]:parseInt(O[1]);N!=="*"&&N!=="+"||(N=V==="*"?0:1),H.quantifier={min:N,max:V,jit:j};var G=y.length>0?y[y.length-1].matches:w.matches;(k=G.pop()).isGroup||(k=B([k])),G.push(k),G.push(H);break;case C.alternatormarker:if(y.length>0){var W=(f=y[y.length-1]).matches[f.matches.length-1];A=f.openGroup&&(W.matches===void 0||W.isGroup===!1&&W.isAlternator===!1)?y.pop():D(f.matches)}else A=D(w.matches);if(A.isAlternator)y.push(A);else if(A.alternatorGroup?(_=y.pop(),A.alternatorGroup=!1):_=new n.default(!1,!1,!1,!0),_.matches.push(A),y.push(_),A.openGroup){A.openGroup=!1;var K=new n.default(!0);K.alternatorGroup=!0,y.push(K)}break;default:T()}}for(F&&I();y.length>0;)b=y.pop(),w.matches.push(b);return w.matches.length>0&&(function Q(Y){Y&&Y.matches&&Y.matches.forEach(function(ae,re){var q=Y.matches[re+1];(q===void 0||q.matches===void 0||q.isQuantifier===!1)&&ae&&ae.isGroup&&(ae.isGroup=!1,g||(M(ae,C.groupmarker[0],0),ae.openGroup!==!0&&M(ae,C.groupmarker[1]))),Q(ae)})}(w),S.push(w)),(C.numericInput||C.isRTL)&&function Q(Y){for(var ae in Y.matches=Y.matches.reverse(),Y.matches)if(Object.prototype.hasOwnProperty.call(Y.matches,ae)){var re=parseInt(ae);if(Y.matches[ae].isQuantifier&&Y.matches[re+1]&&Y.matches[re+1].isGroup){var q=Y.matches[ae];Y.matches.splice(ae,1),Y.matches.splice(re+1,0,q)}Y.matches[ae].matches!==void 0?Y.matches[ae]=Q(Y.matches[ae]):Y.matches[ae]=((ie=Y.matches[ae])===C.optionalmarker[0]?ie=C.optionalmarker[1]:ie===C.optionalmarker[1]?ie=C.optionalmarker[0]:ie===C.groupmarker[0]?ie=C.groupmarker[1]:ie===C.groupmarker[1]&&(ie=C.groupmarker[0]),ie)}var ie;return Y}(S[0]),S},c.generateMaskSet=function(p,g){var C;function k(f,_){var A=_.repeat,$=_.groupmarker,v=_.quantifiermarker,E=_.keepStatic;if(A>0||A==="*"||A==="+"){var w=A==="*"?0:A==="+"?1:A;if(w!=A)f=$[0]+f+$[1]+v[0]+w+","+A+v[1];else for(var y=f,S=1;S<w;S++)f+=y}if(E===!0){var F=f.match(new RegExp("(.)\\[([^\\]]*)\\]","g"));F&&F.forEach(function(M,T){var B=function(L,H){return function(O){if(Array.isArray(O))return O}(L)||function(O,P){var N=O==null?null:typeof Symbol<"u"&&O[Symbol.iterator]||O["@@iterator"];if(N!=null){var V,j,G,W,K=[],Q=!0,Y=!1;try{if(G=(N=N.call(O)).next,P===0){if(Object(N)!==N)return;Q=!1}else for(;!(Q=(V=G.call(N)).done)&&(K.push(V.value),K.length!==P);Q=!0);}catch(ae){Y=!0,j=ae}finally{try{if(!Q&&N.return!=null&&(W=N.return(),Object(W)!==W))return}finally{if(Y)throw j}}return K}}(L,H)||function(O,P){if(O){if(typeof O=="string")return r(O,P);var N=Object.prototype.toString.call(O).slice(8,-1);if(N==="Object"&&O.constructor&&(N=O.constructor.name),N==="Map"||N==="Set")return Array.from(O);if(N==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(N))return r(O,P)}}(L,H)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}(M.split("["),2),I=B[0],D=B[1];D=D.replace("]",""),f=f.replace(new RegExp("".concat((0,t.default)(I),"\\[").concat((0,t.default)(D),"\\]")),I.charAt(0)===D.charAt(0)?"(".concat(I,"|").concat(I).concat(D,")"):"".concat(I,"[").concat(D,"]"))})}return f}function m(f,_,A){var $,v,E=!1;return f!==null&&f!==""||((E=A.regex!==null)?f=(f=A.regex).replace(/^(\^)(.*)(\$)$/,"$2"):(E=!0,f=".*")),f.length===1&&A.greedy===!1&&A.repeat!==0&&(A.placeholder=""),f=k(f,A),v=E?"regex_"+A.regex:A.numericInput?f.split("").reverse().join(""):f,A.keepStatic!==null&&(v="ks_"+A.keepStatic+v),i(A.placeholder)==="object"&&(v="ph_"+JSON.stringify(A.placeholder)+v),e.default.prototype.masksCache[v]===void 0||g===!0?($={mask:f,maskToken:e.default.prototype.analyseMask(f,E,A),validPositions:[],_buffer:void 0,buffer:void 0,tests:{},excludes:{},metadata:_,maskLength:void 0,jitOffset:{}},g!==!0&&(e.default.prototype.masksCache[v]=$,$=a.default.extend(!0,{},e.default.prototype.masksCache[v]))):$=a.default.extend(!0,{},e.default.prototype.masksCache[v]),$}if(typeof p.mask=="function"&&(p.mask=p.mask(p)),Array.isArray(p.mask)){if(p.mask.length>1){p.keepStatic===null&&(p.keepStatic=!0);var b=p.groupmarker[0];return(p.isRTL?p.mask.reverse():p.mask).forEach(function(f){b.length>1&&(b+=p.alternatormarker),f.mask!==void 0&&typeof f.mask!="function"?b+=f.mask:b+=f}),m(b+=p.groupmarker[1],p.mask,p)}p.mask=p.mask.pop()}return C=p.mask&&p.mask.mask!==void 0&&typeof p.mask.mask!="function"?m(p.mask.mask,p.mask,p):m(p.mask,p.mask,p),p.keepStatic===null&&(p.keepStatic=!1),C};var a=s(l(4963)),t=s(l(7184)),e=s(l(2394)),n=s(l(9695));function i(p){return i=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(g){return typeof g}:function(g){return g&&typeof Symbol=="function"&&g.constructor===Symbol&&g!==Symbol.prototype?"symbol":typeof g},i(p)}function r(p,g){(g==null||g>p.length)&&(g=p.length);for(var C=0,k=new Array(g);C<g;C++)k[C]=p[C];return k}function s(p){return p&&p.__esModule?p:{default:p}}},157:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.mask=function(){var s=this,p=this.opts,g=this.el,C=this.dependencyLib;e.EventRuler.off(g);var k=function(f,_){var A=f.getAttribute("type"),$=f.tagName.toLowerCase()==="input"&&_.supportsInputType.includes(A)||f.isContentEditable||f.tagName.toLowerCase()==="textarea";if(!$)if(f.tagName.toLowerCase()==="input"){var v=document.createElement("input");v.setAttribute("type",A),$=v.type==="text",v=null}else $="partial";return $!==!1?function(E){var w,y;function S(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():i.getLastValidPosition.call(s)!==-1||_.nullable!==!0?(this.inputmask.shadowRoot||this.ownerDocument).activeElement===this&&_.clearMaskOnLostFocus?(s.isRTL?n.clearOptionalTail.call(s,i.getBuffer.call(s).slice()).reverse():n.clearOptionalTail.call(s,i.getBuffer.call(s).slice())).join(""):w.call(this):"":w.call(this)}function F(T){y.call(this,T),this.inputmask&&(0,n.applyInputValue)(this,T)}if(!E.inputmask.__valueGet){if(_.noValuePatching!==!0){if(Object.getOwnPropertyDescriptor){var M=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(E),"value"):void 0;M&&M.get&&M.set?(w=M.get,y=M.set,Object.defineProperty(E,"value",{get:S,set:F,configurable:!0})):E.tagName.toLowerCase()!=="input"&&(w=function(){return this.textContent},y=function(T){this.textContent=T},Object.defineProperty(E,"value",{get:S,set:F,configurable:!0}))}else document.__lookupGetter__&&E.__lookupGetter__("value")&&(w=E.__lookupGetter__("value"),y=E.__lookupSetter__("value"),E.__defineGetter__("value",S),E.__defineSetter__("value",F));E.inputmask.__valueGet=w,E.inputmask.__valueSet=y}E.inputmask._valueGet=function(T){return s.isRTL&&T!==!0?w.call(this.el).split("").reverse().join(""):w.call(this.el)},E.inputmask._valueSet=function(T,B){y.call(this.el,T==null?"":B!==!0&&s.isRTL?T.split("").reverse().join(""):T)},w===void 0&&(w=function(){return this.value},y=function(T){this.value=T},function(T){if(C.valHooks&&(C.valHooks[T]===void 0||C.valHooks[T].inputmaskpatch!==!0)){var B=C.valHooks[T]&&C.valHooks[T].get?C.valHooks[T].get:function(D){return D.value},I=C.valHooks[T]&&C.valHooks[T].set?C.valHooks[T].set:function(D,L){return D.value=L,D};C.valHooks[T]={get:function(D){if(D.inputmask){if(D.inputmask.opts.autoUnmask)return D.inputmask.unmaskedvalue();var L=B(D);return i.getLastValidPosition.call(s,void 0,void 0,D.inputmask.maskset.validPositions)!==-1||_.nullable!==!0?L:""}return B(D)},set:function(D,L){var H=I(D,L);return D.inputmask&&(0,n.applyInputValue)(D,L),H},inputmaskpatch:!0}}}(E.type),function(T){e.EventRuler.on(T,"mouseenter",function(){var B=this,I=B.inputmask._valueGet(!0);I!=(B.inputmask.isRTL?i.getBuffer.call(B.inputmask).slice().reverse():i.getBuffer.call(B.inputmask)).join("")&&(0,n.applyInputValue)(B,I)})}(E))}}(f):f.inputmask=void 0,$}(g,p);if(k!==!1){s.originalPlaceholder=g.placeholder,s.maxLength=g!==void 0?g.maxLength:void 0,s.maxLength===-1&&(s.maxLength=void 0),"inputMode"in g&&g.getAttribute("inputmode")===null&&(g.inputMode=p.inputmode,g.setAttribute("inputmode",p.inputmode)),k===!0&&(p.showMaskOnFocus=p.showMaskOnFocus&&["cc-number","cc-exp"].indexOf(g.autocomplete)===-1,a.iphone&&(p.insertModeVisual=!1,g.setAttribute("autocorrect","off")),e.EventRuler.on(g,"submit",t.EventHandlers.submitEvent),e.EventRuler.on(g,"reset",t.EventHandlers.resetEvent),e.EventRuler.on(g,"blur",t.EventHandlers.blurEvent),e.EventRuler.on(g,"focus",t.EventHandlers.focusEvent),e.EventRuler.on(g,"invalid",t.EventHandlers.invalidEvent),e.EventRuler.on(g,"click",t.EventHandlers.clickEvent),e.EventRuler.on(g,"mouseleave",t.EventHandlers.mouseleaveEvent),e.EventRuler.on(g,"mouseenter",t.EventHandlers.mouseenterEvent),e.EventRuler.on(g,"paste",t.EventHandlers.pasteEvent),e.EventRuler.on(g,"cut",t.EventHandlers.cutEvent),e.EventRuler.on(g,"complete",p.oncomplete),e.EventRuler.on(g,"incomplete",p.onincomplete),e.EventRuler.on(g,"cleared",p.oncleared),p.inputEventOnly!==!0&&e.EventRuler.on(g,"keydown",t.EventHandlers.keyEvent),(a.mobile||p.inputEventOnly)&&g.removeAttribute("maxLength"),e.EventRuler.on(g,"input",t.EventHandlers.inputFallBackEvent)),e.EventRuler.on(g,"setvalue",t.EventHandlers.setValueEvent),s.applyMaskHook===void 0||s.applyMaskHook(),i.getBufferTemplate.call(s).join(""),s.undoValue=s._valueGet(!0);var m=(g.inputmask.shadowRoot||g.ownerDocument).activeElement;if(g.inputmask._valueGet(!0)!==""||p.clearMaskOnLostFocus===!1||m===g){(0,n.applyInputValue)(g,g.inputmask._valueGet(!0),p);var b=i.getBuffer.call(s).slice();r.isComplete.call(s,b)===!1&&p.clearIncomplete&&i.resetMaskSet.call(s,!1),p.clearMaskOnLostFocus&&m!==g&&(i.getLastValidPosition.call(s)===-1?b=[]:n.clearOptionalTail.call(s,b)),(p.clearMaskOnLostFocus===!1||p.showMaskOnFocus&&m===g||g.inputmask._valueGet(!0)!=="")&&(0,n.writeBuffer)(g,b),m===g&&i.caret.call(s,g,i.seekNext.call(s,i.getLastValidPosition.call(s)))}}};var a=l(9845),t=l(6030),e=l(9716),n=l(7760),i=l(8711),r=l(7215)},9695:function(h,c){Object.defineProperty(c,"__esModule",{value:!0}),c.default=function(l,a,t,e){this.matches=[],this.openGroup=l||!1,this.alternatorGroup=!1,this.isGroup=l||!1,this.isOptional=a||!1,this.isQuantifier=t||!1,this.isAlternator=e||!1,this.quantifier={min:1,max:1}}},3194:function(){Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(h,c){if(this==null)throw new TypeError('"this" is null or not defined');var l=Object(this),a=l.length>>>0;if(a===0)return!1;for(var t=0|c,e=Math.max(t>=0?t:a-Math.abs(t),0);e<a;){if(l[e]===h)return!0;e++}return!1}})},9302:function(){var h=Function.bind.call(Function.call,Array.prototype.reduce),c=Function.bind.call(Function.call,Object.prototype.propertyIsEnumerable),l=Function.bind.call(Function.call,Array.prototype.concat),a=Object.keys;Object.entries||(Object.entries=function(t){return h(a(t),function(e,n){return l(e,typeof n=="string"&&c(t,n)?[[n,t[n]]]:[])},[])})},7149:function(){function h(c){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(l){return typeof l}:function(l){return l&&typeof Symbol=="function"&&l.constructor===Symbol&&l!==Symbol.prototype?"symbol":typeof l},h(c)}typeof Object.getPrototypeOf!="function"&&(Object.getPrototypeOf=h("test".__proto__)==="object"?function(c){return c.__proto__}:function(c){return c.constructor.prototype})},4013:function(){String.prototype.includes||(String.prototype.includes=function(h,c){return typeof c!="number"&&(c=0),!(c+h.length>this.length)&&this.indexOf(h,c)!==-1})},8711:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.caret=function(C,k,m,b,f){var _,A=this,$=this.opts;if(k===void 0)return"selectionStart"in C&&"selectionEnd"in C?(k=C.selectionStart,m=C.selectionEnd):t.default.getSelection?(_=t.default.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode!==C&&_.commonAncestorContainer!==C||(k=_.startOffset,m=_.endOffset):document.selection&&document.selection.createRange&&(m=(k=0-(_=document.selection.createRange()).duplicate().moveStart("character",-C.inputmask._valueGet().length))+_.text.length),{begin:b?k:g.call(A,k),end:b?m:g.call(A,m)};if(Array.isArray(k)&&(m=A.isRTL?k[0]:k[1],k=A.isRTL?k[1]:k[0]),k.begin!==void 0&&(m=A.isRTL?k.begin:k.end,k=A.isRTL?k.end:k.begin),typeof k=="number"){k=b?k:g.call(A,k),m=typeof(m=b?m:g.call(A,m))=="number"?m:k;var v=parseInt(((C.ownerDocument.defaultView||t.default).getComputedStyle?(C.ownerDocument.defaultView||t.default).getComputedStyle(C,null):C.currentStyle).fontSize)*m;if(C.scrollLeft=v>C.scrollWidth?v:0,C.inputmask.caretPos={begin:k,end:m},$.insertModeVisual&&$.insertMode===!1&&k===m&&(f||m++),C===(C.inputmask.shadowRoot||C.ownerDocument).activeElement){if("setSelectionRange"in C)C.setSelectionRange(k,m);else if(t.default.getSelection){if(_=document.createRange(),C.firstChild===void 0||C.firstChild===null){var E=document.createTextNode("");C.appendChild(E)}_.setStart(C.firstChild,k<C.inputmask._valueGet().length?k:C.inputmask._valueGet().length),_.setEnd(C.firstChild,m<C.inputmask._valueGet().length?m:C.inputmask._valueGet().length),_.collapse(!0);var w=t.default.getSelection();w.removeAllRanges(),w.addRange(_)}else C.createTextRange&&((_=C.createTextRange()).collapse(!0),_.moveEnd("character",m),_.moveStart("character",k),_.select());C.inputmask.caretHook===void 0||C.inputmask.caretHook.call(A,{begin:k,end:m})}}},c.determineLastRequiredPosition=function(C){var k,m,b=this,f=b.maskset,_=b.dependencyLib,A=r.call(b),$={},v=f.validPositions[A],E=n.getMaskTemplate.call(b,!0,r.call(b),!0,!0),w=E.length,y=v!==void 0?v.locator.slice():void 0;for(k=A+1;k<E.length;k++)y=(m=n.getTestTemplate.call(b,k,y,k-1)).locator.slice(),$[k]=_.extend(!0,{},m);var S=v&&v.alternation!==void 0?v.locator[v.alternation]:void 0;for(k=w-1;k>A&&((m=$[k]).match.optionality||m.match.optionalQuantifier&&m.match.newBlockMarker||S&&(S!==$[k].locator[v.alternation]&&m.match.static!==!0||m.match.static===!0&&m.locator[v.alternation]&&e.checkAlternationMatch.call(b,m.locator[v.alternation].toString().split(","),S.toString().split(","))&&n.getTests.call(b,k)[0].def!==""))&&E[k]===n.getPlaceholder.call(b,k,m.match);k--)w--;return C?{l:w,def:$[w]?$[w].match:void 0}:w},c.determineNewCaretPosition=function(C,k,m){var b,f,_,A=this,$=A.maskset,v=A.opts;if(k&&(A.isRTL?C.end=C.begin:C.begin=C.end),C.begin===C.end){switch(m=m||v.positionCaretOnClick){case"none":break;case"select":C={begin:0,end:i.call(A).length};break;case"ignore":C.end=C.begin=p.call(A,r.call(A));break;case"radixFocus":if(A.clicked>1&&$.validPositions.length===0)break;if(function(M){if(v.radixPoint!==""&&v.digits!==0){var T=$.validPositions;if(T[M]===void 0||T[M].input===void 0){if(M<p.call(A,-1))return!0;var B=i.call(A).indexOf(v.radixPoint);if(B!==-1){for(var I=0,D=T.length;I<D;I++)if(T[I]&&B<I&&T[I].input!==n.getPlaceholder.call(A,I))return!1;return!0}}}return!1}(C.begin)){var E=i.call(A).join("").indexOf(v.radixPoint);C.end=C.begin=v.numericInput?p.call(A,E):E;break}default:if(b=C.begin,f=r.call(A,b,!0),b<=(_=p.call(A,f!==-1||s.call(A,0)?f:-1)))C.end=C.begin=s.call(A,b,!1,!0)?b:p.call(A,b);else{var w=$.validPositions[f],y=n.getTestTemplate.call(A,_,w?w.match.locator:void 0,w),S=n.getPlaceholder.call(A,_,y.match);if(S!==""&&i.call(A)[_]!==S&&y.match.optionalQuantifier!==!0&&y.match.newBlockMarker!==!0||!s.call(A,_,v.keepStatic,!0)&&y.match.def===S){var F=p.call(A,_);(b>=F||b===_)&&(_=F)}C.end=C.begin=_}}return C}},c.getBuffer=i,c.getBufferTemplate=function(){var C=this.maskset;return C._buffer===void 0&&(C._buffer=n.getMaskTemplate.call(this,!1,1),C.buffer===void 0&&(C.buffer=C._buffer.slice())),C._buffer},c.getLastValidPosition=r,c.isMask=s,c.resetMaskSet=function(C){var k=this.maskset;k.buffer=void 0,C!==!0&&(k.validPositions=[],k.p=0),C===!1&&(k.tests={},k.jitOffset={})},c.seekNext=p,c.seekPrevious=function(C,k){var m=this,b=C-1;if(C<=0)return 0;for(;b>0&&(k===!0&&(n.getTest.call(m,b).match.newBlockMarker!==!0||!s.call(m,b,void 0,!0))||k!==!0&&!s.call(m,b,void 0,!0));)b--;return b},c.translatePosition=g;var a,t=(a=l(9380))&&a.__esModule?a:{default:a},e=l(7215),n=l(4713);function i(C){var k=this,m=k.maskset;return m.buffer!==void 0&&C!==!0||(m.buffer=n.getMaskTemplate.call(k,!0,r.call(k),!0),m._buffer===void 0&&(m._buffer=m.buffer.slice())),m.buffer}function r(C,k,m){var b=this.maskset,f=-1,_=-1,A=m||b.validPositions;C===void 0&&(C=-1);for(var $=0,v=A.length;$<v;$++)A[$]&&(k||A[$].generatedInput!==!0)&&($<=C&&(f=$),$>=C&&(_=$));return f===-1||f===C?_:_===-1||C-f<_-C?f:_}function s(C,k,m){var b=this,f=this.maskset,_=n.getTestTemplate.call(b,C).match;if(_.def===""&&(_=n.getTest.call(b,C).match),_.static!==!0)return _.fn;if(m===!0&&f.validPositions[C]!==void 0&&f.validPositions[C].generatedInput!==!0)return!0;if(k!==!0&&C>-1){if(m){var A=n.getTests.call(b,C);return A.length>1+(A[A.length-1].match.def===""?1:0)}var $=n.determineTestTemplate.call(b,C,n.getTests.call(b,C)),v=n.getPlaceholder.call(b,C,$.match);return $.match.def!==v}return!1}function p(C,k,m){var b=this;m===void 0&&(m=!0);for(var f=C+1;n.getTest.call(b,f).match.def!==""&&(k===!0&&(n.getTest.call(b,f).match.newBlockMarker!==!0||!s.call(b,f,void 0,!0))||k!==!0&&!s.call(b,f,void 0,m));)f++;return f}function g(C){var k=this.opts,m=this.el;return!this.isRTL||typeof C!="number"||k.greedy&&k.placeholder===""||!m||(C=this._valueGet().length-C)<0&&(C=0),C}},4713:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.determineTestTemplate=g,c.getDecisionTaker=r,c.getMaskTemplate=function(b,f,_,A,$){var v=this,E=this.opts,w=this.maskset,y=E.greedy;$&&E.greedy&&(E.greedy=!1,v.maskset.tests={}),f=f||0;var S,F,M,T,B=[],I=0;do{if(b===!0&&w.validPositions[I])F=(M=$&&w.validPositions[I].match.optionality&&w.validPositions[I+1]===void 0&&(w.validPositions[I].generatedInput===!0||w.validPositions[I].input==E.skipOptionalPartCharacter&&I>0)?g.call(v,I,m.call(v,I,S,I-1)):w.validPositions[I]).match,S=M.locator.slice(),B.push(_===!0?M.input:_===!1?F.nativeDef:s.call(v,I,F));else{F=(M=p.call(v,I,S,I-1)).match,S=M.locator.slice();var D=A!==!0&&(E.jitMasking!==!1?E.jitMasking:F.jit);(T=(T||w.validPositions[I-1])&&F.static&&F.def!==E.groupSeparator&&F.fn===null)||D===!1||D===void 0||typeof D=="number"&&isFinite(D)&&D>I?B.push(_===!1?F.nativeDef:s.call(v,B.length,F)):T=!1}I++}while(F.static!==!0||F.def!==""||f>I);return B[B.length-1]===""&&B.pop(),_===!1&&w.maskLength!==void 0||(w.maskLength=I-1),E.greedy=y,B},c.getPlaceholder=s,c.getTest=C,c.getTestTemplate=p,c.getTests=m,c.isSubsetOf=k;var a,t=(a=l(2394))&&a.__esModule?a:{default:a},e=l(8711);function n(b){return n=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(f){return typeof f}:function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},n(b)}function i(b,f){var _=(b.alternation!=null?b.mloc[r(b)]:b.locator).join("");if(_!=="")for(_=_.split(":")[0];_.length<f;)_+="0";return _}function r(b){var f=b.locator[b.alternation];return typeof f=="string"&&f.length>0&&(f=f.split(",")[0]),f!==void 0?f.toString():""}function s(b,f,_){var A=this,$=this.opts,v=this.maskset;if((f=f||C.call(A,b).match).placeholder!==void 0||_===!0){if(f.placeholder!==""&&f.static===!0&&f.generated!==!0){var E=e.getLastValidPosition.call(A,b),w=e.seekNext.call(A,E);return(_?b<=w:b<w)?$.staticDefinitionSymbol&&f.static?f.nativeDef:f.def:typeof f.placeholder=="function"?f.placeholder($):f.placeholder}return typeof f.placeholder=="function"?f.placeholder($):f.placeholder}if(f.static===!0){if(b>-1&&v.validPositions[b]===void 0){var y,S=m.call(A,b),F=[];if(typeof $.placeholder=="string"&&S.length>1+(S[S.length-1].match.def===""?1:0)){for(var M=0;M<S.length;M++)if(S[M].match.def!==""&&S[M].match.optionality!==!0&&S[M].match.optionalQuantifier!==!0&&(S[M].match.static===!0||y===void 0||S[M].match.fn.test(y.match.def,v,b,!0,$)!==!1)&&(F.push(S[M]),S[M].match.static===!0&&(y=S[M]),F.length>1&&/[0-9a-bA-Z]/.test(F[0].match.def)))return $.placeholder.charAt(b%$.placeholder.length)}}return f.def}return n($.placeholder)==="object"?f.def:$.placeholder.charAt(b%$.placeholder.length)}function p(b,f,_){return this.maskset.validPositions[b]||g.call(this,b,m.call(this,b,f&&f.slice(),_))}function g(b,f){var _=this.opts,A=0,$=function(T,B){var I=0,D=!1;return B.forEach(function(L){L.match.optionality&&(I!==0&&I!==L.match.optionality&&(D=!0),(I===0||I>L.match.optionality)&&(I=L.match.optionality))}),I&&(T==0||B.length==1?I=0:D||(I=0)),I}(b,f);b=b>0?b-1:0;var v,E,w,y=i(C.call(this,b));_.greedy&&f.length>1&&f[f.length-1].match.def===""&&(A=1);for(var S=0;S<f.length-A;S++){var F=f[S];v=i(F,y.length);var M=Math.abs(v-y);(F.unMatchedAlternationStopped!==!0||f.filter(function(T){return T.unMatchedAlternationStopped!==!0}).length<=1)&&(E===void 0||v!==""&&M<E||w&&!_.greedy&&w.match.optionality&&w.match.optionality-$>0&&w.match.newBlockMarker==="master"&&(!F.match.optionality||F.match.optionality-$<1||!F.match.newBlockMarker)||w&&!_.greedy&&w.match.optionalQuantifier&&!F.match.optionalQuantifier)&&(E=M,w=F)}return w}function C(b,f){var _=this.maskset;return _.validPositions[b]?_.validPositions[b]:(f||m.call(this,b))[0]}function k(b,f,_){function A($){for(var v,E=[],w=-1,y=0,S=$.length;y<S;y++)if($.charAt(y)==="-")for(v=$.charCodeAt(y+1);++w<v;)E.push(String.fromCharCode(w));else w=$.charCodeAt(y),E.push($.charAt(y));return E.join("")}return b.match.def===f.match.nativeDef||!(!(_.regex||b.match.fn instanceof RegExp&&f.match.fn instanceof RegExp)||b.match.static===!0||f.match.static===!0)&&(f.match.fn.source==="."||A(f.match.fn.source.replace(/[[\]/]/g,"")).indexOf(A(b.match.fn.source.replace(/[[\]/]/g,"")))!==-1)}function m(b,f,_){var A,$,v=this,E=this.dependencyLib,w=this.maskset,y=this.opts,S=this.el,F=w.maskToken,M=f?_:0,T=f?f.slice():[0],B=[],I=!1,D=f?f.join(""):"",L=!1;function H(j,G,W,K){function Q(re,q,ie){function pe(ee,ce){var ge=ce.matches.indexOf(ee)===0;return ge||ce.matches.every(function(me,ne){return me.isQuantifier===!0?ge=pe(ee,ce.matches[ne-1]):Object.prototype.hasOwnProperty.call(me,"matches")&&(ge=pe(ee,me)),!ge}),ge}function Ie(ee,ce,ge){var me,ne;if((w.tests[ee]||w.validPositions[ee])&&(w.validPositions[ee]?[w.validPositions[ee]]:w.tests[ee]).every(function(Ae,De){if(Ae.mloc[ce])return me=Ae,!1;var Ye=ge!==void 0?ge:Ae.alternation,Ne=Ae.locator[Ye]!==void 0?Ae.locator[Ye].toString().indexOf(ce):-1;return(ne===void 0||Ne<ne)&&Ne!==-1&&(me=Ae,ne=Ne),!0}),me){var we=me.locator[me.alternation],ye=me.mloc[ce]||me.mloc[we]||me.locator;return ye[ye.length-1].toString().indexOf(":")!==-1&&ye.pop(),ye.slice((ge!==void 0?ge:me.alternation)+1)}return ge!==void 0?Ie(ee,ce):void 0}function Oe(ee,ce){return ee.match.static===!0&&ce.match.static!==!0&&ce.match.fn.test(ee.match.def,w,b,!1,y,!1)}function Pe(ee,ce){var ge=ee.alternation,me=ce===void 0||ge<=ce.alternation&&ee.locator[ge].toString().indexOf(ce.locator[ge])===-1;if(!me&&ge>ce.alternation){for(var ne=0;ne<ge;ne++)if(ee.locator[ne]!==ce.locator[ne]){ge=ne,me=!0;break}}return!!me&&function(we){ee.mloc=ee.mloc||{};var ye=ee.locator[we];if(ye!==void 0){if(typeof ye=="string"&&(ye=ye.split(",")[0]),ee.mloc[ye]===void 0&&(ee.mloc[ye]=ee.locator.slice(),ee.mloc[ye].push(":".concat(ee.alternation))),ce!==void 0){for(var Ae in ce.mloc)typeof Ae=="string"&&(Ae=parseInt(Ae.split(",")[0])),ee.mloc[Ae+0]=ce.mloc[Ae];ee.locator[we]=Object.keys(ee.mloc).join(",")}return ee.alternation>we&&(ee.alternation=we),!0}return ee.alternation=void 0,!1}(ge)}function se(ee,ce){if(ee.locator.length!==ce.locator.length)return!1;for(var ge=ee.alternation+1;ge<ee.locator.length;ge++)if(ee.locator[ge]!==ce.locator[ge])return!1;return!0}if(M>b+y._maxTestPos)throw new Error("Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. ".concat(w.mask));if(M===b&&re.matches===void 0){if(B.push({match:re,locator:q.reverse(),cd:D,mloc:{}}),!re.optionality||ie!==void 0||!(y.definitions&&y.definitions[re.nativeDef]&&y.definitions[re.nativeDef].optional||t.default.prototype.definitions[re.nativeDef]&&t.default.prototype.definitions[re.nativeDef].optional))return!0;I=!0,M=b}else if(re.matches!==void 0){if(re.isGroup&&ie!==re)return function(){if(re=Q(j.matches[j.matches.indexOf(re)+1],q,ie))return!0}();if(re.isOptional)return function(){var ee=re,ce=B.length;if(re=H(re,G,q,ie),B.length>0){if(B.forEach(function(ge,me){me>=ce&&(ge.match.optionality=ge.match.optionality?ge.match.optionality+1:1)}),A=B[B.length-1].match,ie!==void 0||!pe(A,ee))return re;I=!0,M=b}}();if(re.isAlternator)return function(){function ee(wi){for(var Rn,wr=wi.matches[0].matches?wi.matches[0].matches.length:1,Xi=0;Xi<wi.matches.length&&wr===(Rn=wi.matches[Xi].matches?wi.matches[Xi].matches.length:1);Xi++);return wr!==Rn}v.hasAlternator=!0;var ce,ge=re,me=[],ne=B.slice(),we=q.length,ye=G.length>0?G.shift():-1;if(ye===-1||typeof ye=="string"){var Ae,De=M,Ye=G.slice(),Ne=[];if(typeof ye=="string")Ne=ye.split(",");else for(Ae=0;Ae<ge.matches.length;Ae++)Ne.push(Ae.toString());if(w.excludes[b]!==void 0){for(var ft=Ne.slice(),rt=0,Xe=w.excludes[b].length;rt<Xe;rt++){var $t=w.excludes[b][rt].toString().split(":");q.length==$t[1]&&Ne.splice(Ne.indexOf($t[0]),1)}Ne.length===0&&(delete w.excludes[b],Ne=ft)}(y.keepStatic===!0||isFinite(parseInt(y.keepStatic))&&De>=y.keepStatic)&&(Ne=Ne.slice(0,1));for(var Wt=0;Wt<Ne.length;Wt++){Ae=parseInt(Ne[Wt]),B=[],G=typeof ye=="string"&&Ie(M,Ae,we)||Ye.slice();var si=ge.matches[Ae];if(si&&Q(si,[Ae].concat(q),ie))re=!0;else if(Wt===0&&(L=ee(ge)),si&&si.matches&&si.matches.length>ge.matches[0].matches.length)break;ce=B.slice(),M=De,B=[];for(var In=0;In<ce.length;In++){var wt=ce[In],Zi=!1;wt.alternation=wt.alternation||we,Pe(wt);for(var On=0;On<me.length;On++){var Ot=me[On];if(typeof ye!="string"||wt.alternation!==void 0&&Ne.includes(wt.locator[wt.alternation].toString())){if(wt.match.nativeDef===Ot.match.nativeDef){Zi=!0,Pe(Ot,wt);break}if(k(wt,Ot,y)){Pe(wt,Ot)&&(Zi=!0,me.splice(me.indexOf(Ot),0,wt));break}if(k(Ot,wt,y)){Pe(Ot,wt);break}if(Oe(wt,Ot)){se(wt,Ot)||S.inputmask.userOptions.keepStatic!==void 0?Pe(wt,Ot)&&(Zi=!0,me.splice(me.indexOf(Ot),0,wt)):y.keepStatic=!0;break}if(Oe(Ot,wt)){Pe(Ot,wt);break}}}Zi||me.push(wt)}}B=ne.concat(me),M=b,I=B.length>0&&L,re=me.length>0&&!L,L&&I&&!re&&B.forEach(function(wi,Rn){wi.unMatchedAlternationStopped=!0}),G=Ye.slice()}else re=Q(ge.matches[ye]||j.matches[ye],[ye].concat(q),ie);if(re)return!0}();if(re.isQuantifier&&ie!==j.matches[j.matches.indexOf(re)-1])return function(){for(var ee=re,ce=!1,ge=G.length>0?G.shift():0;ge<(isNaN(ee.quantifier.max)?ge+1:ee.quantifier.max)&&M<=b;ge++){var me=j.matches[j.matches.indexOf(ee)-1];if(re=Q(me,[ge].concat(q),me)){if(B.forEach(function(ne,we){(A=O(me,ne.match)?ne.match:B[B.length-1].match).optionalQuantifier=ge>=ee.quantifier.min,A.jit=(ge+1)*(me.matches.indexOf(A)+1)>ee.quantifier.jit,A.optionalQuantifier&&pe(A,me)&&(I=!0,M=b,y.greedy&&w.validPositions[b-1]==null&&ge>ee.quantifier.min&&["*","+"].indexOf(ee.quantifier.max)!=-1&&(B.pop(),D=void 0),ce=!0,re=!1),!ce&&A.jit&&(w.jitOffset[b]=me.matches.length-me.matches.indexOf(A))}),ce)break;return!0}}}();if(re=H(re,G,q,ie))return!0}else M++}for(var Y=G.length>0?G.shift():0;Y<j.matches.length;Y++)if(j.matches[Y].isQuantifier!==!0){var ae=Q(j.matches[Y],[Y].concat(W),K);if(ae&&M===b)return ae;if(M>b)break}}function O(j,G){var W=j.matches.indexOf(G)!=-1;return W||j.matches.forEach(function(K,Q){K.matches===void 0||W||(W=O(K,G))}),W}if(b>-1){if(f===void 0){for(var P,N=b-1;(P=w.validPositions[N]||w.tests[N])===void 0&&N>-1;)N--;P!==void 0&&N>-1&&(T=function(j,G){var W,K=[];return Array.isArray(G)||(G=[G]),G.length>0&&(G[0].alternation===void 0||y.keepStatic===!0?(K=g.call(v,j,G.slice()).locator.slice()).length===0&&(K=G[0].locator.slice()):G.forEach(function(Q){Q.def!==""&&(K.length===0?(W=Q.alternation,K=Q.locator.slice()):Q.locator[W]&&K[W].toString().indexOf(Q.locator[W])===-1&&(K[W]+=","+Q.locator[W]))})),K}(N,P),D=T.join(""),M=N)}if(w.tests[b]&&w.tests[b][0].cd===D)return w.tests[b];for(var V=T.shift();V<F.length&&!(H(F[V],T,[V])&&M===b||M>b);V++);}return(B.length===0||I)&&B.push({match:{fn:null,static:!0,optionality:!1,casing:null,def:"",placeholder:""},locator:L&&B.filter(function(j){return j.unMatchedAlternationStopped!==!0}).length===0?[0]:[],mloc:{},cd:D}),f!==void 0&&w.tests[b]?$=E.extend(!0,[],B):(w.tests[b]=E.extend(!0,[],B),$=w.tests[b]),B.forEach(function(j){j.match.optionality=j.match.defOptionality||!1}),$}},7215:function(h,c,l){Object.defineProperty(c,"__esModule",{value:!0}),c.alternate=i,c.checkAlternationMatch=function(f,_,A){for(var $,v=this.opts.greedy?_:_.slice(0,1),E=!1,w=A!==void 0?A.split(","):[],y=0;y<w.length;y++)($=f.indexOf(w[y]))!==-1&&f.splice($,1);for(var S=0;S<f.length;S++)if(v.includes(f[S])){E=!0;break}return E},c.handleRemove=function(f,_,A,$,v){var E=this,w=this.maskset,y=this.opts;if((y.numericInput||E.isRTL)&&(_===t.keys.Backspace?_=t.keys.Delete:_===t.keys.Delete&&(_=t.keys.Backspace),E.isRTL)){var S=A.end;A.end=A.begin,A.begin=S}var F,M=e.getLastValidPosition.call(E,void 0,!0);A.end>=e.getBuffer.call(E).length&&M>=A.end&&(A.end=M+1),_===t.keys.Backspace?A.end-A.begin<1&&(A.begin=e.seekPrevious.call(E,A.begin)):_===t.keys.Delete&&A.begin===A.end&&(A.end=e.isMask.call(E,A.end,!0,!0)?A.end+1:e.seekNext.call(E,A.end)+1),(F=b.call(E,A))!==!1&&(($!==!0&&y.keepStatic!==!1||y.regex!==null&&n.getTest.call(E,A.begin).match.def.indexOf("|")!==-1)&&i.call(E,!0),$!==!0&&(w.p=_===t.keys.Delete?A.begin+F:A.begin,w.p=e.determineNewCaretPosition.call(E,{begin:w.p,end:w.p},!1,y.insertMode===!1&&_===t.keys.Backspace?"none":void 0).begin))},c.isComplete=s,c.isSelection=p,c.isValid=g,c.refreshFromBuffer=k,c.revalidateMask=b;var a=l(6030),t=l(2839),e=l(8711),n=l(4713);function i(f,_,A,$,v,E){var w=this,y=this.dependencyLib,S=this.opts,F=w.maskset;if(!w.hasAlternator)return!1;var M,T,B,I,D,L,H,O,P,N,V,j=y.extend(!0,[],F.validPositions),G=y.extend(!0,{},F.tests),W=!1,K=!1,Q=v!==void 0?v:e.getLastValidPosition.call(w);if(E&&(N=E.begin,V=E.end,E.begin>E.end&&(N=E.end,V=E.begin)),Q===-1&&v===void 0)M=0,T=(I=n.getTest.call(w,M)).alternation;else for(;Q>=0;Q--)if((B=F.validPositions[Q])&&B.alternation!==void 0){if(Q<=(f||0)&&I&&I.locator[B.alternation]!==B.locator[B.alternation])break;M=Q,T=F.validPositions[M].alternation,I=B}if(T!==void 0){H=parseInt(M),F.excludes[H]=F.excludes[H]||[],f!==!0&&F.excludes[H].push((0,n.getDecisionTaker)(I)+":"+I.alternation);var Y=[],ae=-1;for(D=H;H<e.getLastValidPosition.call(w,void 0,!0)+1;D++)ae===-1&&f<=D&&_!==void 0&&(Y.push(_),ae=Y.length-1),(L=F.validPositions[H])&&L.generatedInput!==!0&&(E===void 0||D<N||D>=V)&&Y.push(L.input),F.validPositions.splice(H,1);for(ae===-1&&_!==void 0&&(Y.push(_),ae=Y.length-1);F.excludes[H]!==void 0&&F.excludes[H].length<10;){for(F.tests={},e.resetMaskSet.call(w,!0),W=!0,D=0;D<Y.length&&(O=W.caret||S.insertMode==0&&O!=null?e.seekNext.call(w,O):e.getLastValidPosition.call(w,void 0,!0)+1,P=Y[D],W=g.call(w,O,P,!1,$,!0));D++)D===ae&&(K=W),f==1&&W&&(K={caretPos:D});if(W)break;if(e.resetMaskSet.call(w),I=n.getTest.call(w,H),F.validPositions=y.extend(!0,[],j),F.tests=y.extend(!0,{},G),!F.excludes[H]){K=i.call(w,f,_,A,$,H-1,E);break}if(I.alternation!=null){var re=(0,n.getDecisionTaker)(I);if(F.excludes[H].indexOf(re+":"+I.alternation)!==-1){K=i.call(w,f,_,A,$,H-1,E);break}for(F.excludes[H].push(re+":"+I.alternation),D=H;D<e.getLastValidPosition.call(w,void 0,!0)+1;D++)F.validPositions.splice(H)}else delete F.excludes[H]}}return K&&S.keepStatic===!1||delete F.excludes[H],K}function r(f,_,A){var $=this.opts,v=this.maskset;switch($.casing||_.casing){case"upper":f=f.toUpperCase();break;case"lower":f=f.toLowerCase();break;case"title":var E=v.validPositions[A-1];f=A===0||E&&E.input===String.fromCharCode(t.keyCode.Space)?f.toUpperCase():f.toLowerCase();break;default:if(typeof $.casing=="function"){var w=Array.prototype.slice.call(arguments);w.push(v.validPositions),f=$.casing.apply(this,w)}}return f}function s(f){var _=this,A=this.opts,$=this.maskset;if(typeof A.isComplete=="function")return A.isComplete(f,A);if(A.repeat!=="*"){var v=!1,E=e.determineLastRequiredPosition.call(_,!0),w=E.l;if(E.def===void 0||E.def.newBlockMarker||E.def.optionality||E.def.optionalQuantifier){v=!0;for(var y=0;y<=w;y++){var S=n.getTestTemplate.call(_,y).match;if(S.static!==!0&&$.validPositions[y]===void 0&&(S.optionality===!1||S.optionality===void 0||S.optionality&&S.newBlockMarker==0)&&(S.optionalQuantifier===!1||S.optionalQuantifier===void 0)||S.static===!0&&S.def!=""&&f[y]!==n.getPlaceholder.call(_,y,S)){v=!1;break}}}return v}}function p(f){var _=this.opts.insertMode?0:1;return this.isRTL?f.begin-f.end>_:f.end-f.begin>_}function g(f,_,A,$,v,E,w){var y=this,S=this.dependencyLib,F=this.opts,M=y.maskset;A=A===!0;var T=f;function B(W){if(W!==void 0){if(W.remove!==void 0&&(Array.isArray(W.remove)||(W.remove=[W.remove]),W.remove.sort(function(Q,Y){return y.isRTL?Q.pos-Y.pos:Y.pos-Q.pos}).forEach(function(Q){b.call(y,{begin:Q,end:Q+1})}),W.remove=void 0),W.insert!==void 0&&(Array.isArray(W.insert)||(W.insert=[W.insert]),W.insert.sort(function(Q,Y){return y.isRTL?Y.pos-Q.pos:Q.pos-Y.pos}).forEach(function(Q){Q.c!==""&&g.call(y,Q.pos,Q.c,Q.strict===void 0||Q.strict,Q.fromIsValid!==void 0?Q.fromIsValid:$)}),W.insert=void 0),W.refreshFromBuffer&&W.buffer){var K=W.refreshFromBuffer;k.call(y,K===!0?K:K.start,K.end,W.buffer),W.refreshFromBuffer=void 0}W.rewritePosition!==void 0&&(T=W.rewritePosition,W=!0)}return W}function I(W,K,Q){var Y=!1;return n.getTests.call(y,W).every(function(ae,re){var q=ae.match;if(e.getBuffer.call(y,!0),(Y=(!q.jit||M.validPositions[e.seekPrevious.call(y,W)]!==void 0)&&(q.fn!=null?q.fn.test(K,M,W,Q,F,p.call(y,f)):(K===q.def||K===F.skipOptionalPartCharacter)&&q.def!==""&&{c:n.getPlaceholder.call(y,W,q,!0)||q.def,pos:W}))!==!1){var ie=Y.c!==void 0?Y.c:K,pe=W;return ie=ie===F.skipOptionalPartCharacter&&q.static===!0?n.getPlaceholder.call(y,W,q,!0)||q.def:ie,(Y=B(Y))!==!0&&Y.pos!==void 0&&Y.pos!==W&&(pe=Y.pos),Y!==!0&&Y.pos===void 0&&Y.c===void 0||b.call(y,f,S.extend({},ae,{input:r.call(y,ie,q,pe)}),$,pe)===!1&&(Y=!1),!1}return!0}),Y}f.begin!==void 0&&(T=y.isRTL?f.end:f.begin);var D=!0,L=S.extend(!0,[],M.validPositions);if(F.keepStatic===!1&&M.excludes[T]!==void 0&&v!==!0&&$!==!0)for(var H=T;H<(y.isRTL?f.begin:f.end);H++)M.excludes[H]!==void 0&&(M.excludes[H]=void 0,delete M.tests[H]);if(typeof F.preValidation=="function"&&$!==!0&&E!==!0&&(D=B(D=F.preValidation.call(y,e.getBuffer.call(y),T,_,p.call(y,f),F,M,f,A||v))),D===!0){if(D=I(T,_,A),(!A||$===!0)&&D===!1&&E!==!0){var O=M.validPositions[T];if(!O||O.match.static!==!0||O.match.def!==_&&_!==F.skipOptionalPartCharacter){if(F.insertMode||M.validPositions[e.seekNext.call(y,T)]===void 0||f.end>T){var P=!1;if(M.jitOffset[T]&&M.validPositions[e.seekNext.call(y,T)]===void 0&&(D=g.call(y,T+M.jitOffset[T],_,!0,!0))!==!1&&(v!==!0&&(D.caret=T),P=!0),f.end>T&&(M.validPositions[T]=void 0),!P&&!e.isMask.call(y,T,F.keepStatic&&T===0)){for(var N=T+1,V=e.seekNext.call(y,T,!1,T!==0);N<=V;N++)if((D=I(N,_,A))!==!1){D=m.call(y,T,D.pos!==void 0?D.pos:N)||D,T=N;break}}}}else D={caret:e.seekNext.call(y,T)}}y.hasAlternator&&v!==!0&&!A&&(v=!0,D===!1&&F.keepStatic&&(s.call(y,e.getBuffer.call(y))||T===0)?D=i.call(y,T,_,A,$,void 0,f):(p.call(y,f)&&M.tests[T]&&M.tests[T].length>1&&F.keepStatic||D==1&&F.numericInput!==!0&&M.tests[T]&&M.tests[T].length>1&&e.getLastValidPosition.call(y,void 0,!0)>T)&&(D=i.call(y,!0))),D===!0&&(D={pos:T})}if(typeof F.postValidation=="function"&&$!==!0&&E!==!0){var j=F.postValidation.call(y,e.getBuffer.call(y,!0),f.begin!==void 0?y.isRTL?f.end:f.begin:f,_,D,F,M,A,w);j!==void 0&&(D=j===!0?D:j)}D&&D.pos===void 0&&(D.pos=T),D===!1||E===!0?(e.resetMaskSet.call(y,!0),M.validPositions=S.extend(!0,[],L)):m.call(y,void 0,T,!0);var G=B(D);return y.maxLength!==void 0&&e.getBuffer.call(y).length>y.maxLength&&!$&&(e.resetMaskSet.call(y,!0),M.validPositions=S.extend(!0,[],L),G=!1),G}function C(f,_,A){for(var $=this.maskset,v=!1,E=n.getTests.call(this,f),w=0;w<E.length;w++){if(E[w].match&&(E[w].match.nativeDef===_.match[A.shiftPositions?"def":"nativeDef"]&&(!A.shiftPositions||!_.match.static)||E[w].match.nativeDef===_.match.nativeDef||A.regex&&!E[w].match.static&&E[w].match.fn.test(_.input,$,f,!1,A))){v=!0;break}if(E[w].match&&E[w].match.def===_.match.nativeDef){v=void 0;break}}return v===!1&&$.jitOffset[f]!==void 0&&(v=C.call(this,f+$.jitOffset[f],_,A)),v}function k(f,_,A){var $,v,E=this,w=this.maskset,y=this.opts,S=this.dependencyLib,F=y.skipOptionalPartCharacter,M=E.isRTL?A.slice().reverse():A;if(y.skipOptionalPartCharacter="",f===!0)e.resetMaskSet.call(E,!1),f=0,_=A.length,v=e.determineNewCaretPosition.call(E,{begin:0,end:0},!1).begin;else{for($=f;$<_;$++)w.validPositions.splice(f,0);v=f}var T=new S.Event("keypress");for($=f;$<_;$++){T.key=M[$].toString(),E.ignorable=!1;var B=a.EventHandlers.keypressEvent.call(E,T,!0,!1,!1,v);B!==!1&&B!==void 0&&(v=B.forwardPosition)}y.skipOptionalPartCharacter=F}function m(f,_,A){var $=this,v=this.maskset,E=this.dependencyLib;if(f===void 0)for(f=_-1;f>0&&!v.validPositions[f];f--);for(var w=f;w<_;w++)if(v.validPositions[w]===void 0&&!e.isMask.call($,w,!1)&&(w==0?n.getTest.call($,w):v.validPositions[w-1])){var y=n.getTests.call($,w).slice();y[y.length-1].match.def===""&&y.pop();var S,F=n.determineTestTemplate.call($,w,y);if(F&&(F.match.jit!==!0||F.match.newBlockMarker==="master"&&(S=v.validPositions[w+1])&&S.match.optionalQuantifier===!0)&&((F=E.extend({},F,{input:n.getPlaceholder.call($,w,F.match,!0)||F.match.def})).generatedInput=!0,b.call($,w,F,!0),A!==!0)){var M=v.validPositions[_].input;return v.validPositions[_]=void 0,g.call($,_,M,!0,!0)}}}function b(f,_,A,$){var v=this,E=this.maskset,w=this.opts,y=this.dependencyLib;function S(G,W,K){var Q=W[G];if(Q!==void 0&&Q.match.static===!0&&Q.match.optionality!==!0&&(W[0]===void 0||W[0].alternation===void 0)){var Y=K.begin<=G-1?W[G-1]&&W[G-1].match.static===!0&&W[G-1]:W[G-1],ae=K.end>G+1?W[G+1]&&W[G+1].match.static===!0&&W[G+1]:W[G+1];return Y&&ae}return!1}var F=0,M=f.begin!==void 0?f.begin:f,T=f.end!==void 0?f.end:f,B=!0;if(f.begin>f.end&&(M=f.end,T=f.begin),$=$!==void 0?$:M,A===void 0&&(M!==T||w.insertMode&&E.validPositions[$]!==void 0||_===void 0||_.match.optionalQuantifier||_.match.optionality)){var I,D=y.extend(!0,[],E.validPositions),L=e.getLastValidPosition.call(v,void 0,!0);E.p=M;var H=p.call(v,f)?M:$;for(I=L;I>=H;I--)E.validPositions.splice(I,1),_===void 0&&delete E.tests[I+1];var O,P,N=$,V=N;for(_&&(E.validPositions[$]=y.extend(!0,{},_),V++,N++),D[T]==null&&E.jitOffset[T]&&(T+=E.jitOffset[T]+1),I=_?T:T-1;I<=L;I++){if((O=D[I])!==void 0&&O.generatedInput!==!0&&(I>=T||I>=M&&S(I,D,{begin:M,end:T}))){for(;n.getTest.call(v,V).match.def!=="";){if((P=C.call(v,V,O,w))!==!1||O.match.def==="+"){O.match.def==="+"&&e.getBuffer.call(v,!0);var j=g.call(v,V,O.input,O.match.def!=="+",!0);if(B=j!==!1,N=(j.pos||V)+1,!B&&P)break}else B=!1;if(B){_===void 0&&O.match.static&&I===f.begin&&F++;break}if(!B&&e.getBuffer.call(v),V>E.maskLength)break;V++}n.getTest.call(v,V).match.def==""&&(B=!1),V=N}if(!B)break}if(!B)return E.validPositions=y.extend(!0,[],D),e.resetMaskSet.call(v,!0),!1}else _&&n.getTest.call(v,$).match.cd===_.match.cd&&(E.validPositions[$]=y.extend(!0,{},_));return e.resetMaskSet.call(v,!0),F}}},d={};function x(h){var c=d[h];if(c!==void 0)return c.exports;var l=d[h]={exports:{}};return u[h](l,l.exports,x),l.exports}var o={};return function(){var h=o;Object.defineProperty(h,"__esModule",{value:!0}),h.default=void 0,x(7149),x(3194),x(9302),x(4013),x(3851),x(219),x(207),x(5296);var c,l=(c=x(2394))&&c.__esModule?c:{default:c};h.default=l.default}(),o}()})});var Ea=["*"],mo=(()=>{let d=class d{constructor(o,h,c){this.clipboard=o,this.host=h,this.toastService=c,this.reportPlacement="top"}copy(){this.clipboard.copy(this.text),this.report&&this.toastService.showToast({anchor:this.host.nativeElement,text:this.report})}};d.\u0275fac=function(h){return new(h||d)(ue(dn),ue(yt),ue(ro))},d.\u0275cmp=fe({type:d,selectors:[["isp-clipboard-pin"]],hostBindings:function(h,c){h&1&&le("click",function(){return c.copy()})},inputs:{text:"text",report:"report",reportPlacement:"reportPlacement"},features:[Ft([dn])],ngContentSelectors:Ea,decls:1,vars:0,template:function(h,c){h&1&&(lt(),ct(0))},styles:["[_nghost-%COMP%]{display:inline-block}"],changeDetection:0});let u=d;return u})();var go=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt]});let u=d;return u})();var mn=(()=>{let d=class d{isFilterButton(o){return o.$name==="filter"}isLocationContextButton(o){return o.$location==="context"}filterToolbarButtons(o){return o.map(h=>Ue(Se({},h),{buttons:h.buttons.filter(c=>!this.isFilterButton(c)&&!this.isLocationContextButton(c))}))}extractToolbarDetachedButton(o){let h=[];return o.forEach(c=>{let l=c.buttons.findIndex(a=>a.type==="detached");if(l>=0){let a=c.buttons.slice(0,l),t=c.buttons.slice(l+1),e=c.buttons[l];a.length>0&&h.push({name:`${c.name}_before`,type:"common",buttons:[...a]}),h.push({name:`${c.name}_detached`,type:"detached",buttons:[e]}),t.length>0&&h.push({name:`${c.name}_after`,type:"common",buttons:[...t]})}else h.push(c)}),h}getToolbarGroupButtons(o,h){if(!o.toolbtn)return[];let c=o.toolbtn.filter(l=>!this.isButtonRemoved(l,h)).map(l=>Ue(Se({},l),{type:l.$detached==="yes"?"detached":"common",isActive:this.isButtonActive(l,h),isFirstInGroup:!1}));return c.length===0?[]:o.$collapsed==="yes"?[{type:"list",$name:o.$name,$img:o.$img,$sprite:o.$sprite,$spritesvg:o.$spritesvg,isActive:c.some(l=>l.isActive),isFirstInGroup:!1,buttons:c}]:c}canBeActive(o,h){switch(o.$type){case"edit":return h===1||h>1&&!o.$nogroupedit;case"action":case"editlist":case"window":case"preview":return h===1;case"editnosel":return h<=1;case"group":case"groupdownload":case"groupform":case"groupwindow":return h>=1;default:return!0}}isFittingSomeConditions(o,h){return h.length?h.some(c=>o.some(l=>qn(c,l.$name)?.$===l.$value)):!0}isFittingEveryConditions(o,h){return h.length?h.every(c=>o.some(l=>qn(c,l.$name)?.$===l.$value)):!1}isButtonActive(o,h){if(this.canBeActive(o,h.length)){let l=o.hide?this.isFittingEveryConditions(o.hide,h):!1,a=o.show?this.isFittingSomeConditions(o.show,h):!0;return!l&&a}return!1}isButtonRemoved(o,h){return o.remove&&h.length>0?this.isFittingSomeConditions(o.remove,h):!1}getToolbarUi(o,h){let c=o.toolgrp.reduce((e,n)=>{if(!!n.$separator)e.push({name:n.$name,type:"common",buttons:[]});else{let r=this.getToolbarGroupButtons(n,h);e[e.length-1].buttons.push(...r)}return e},[{name:"init_group",type:"common",buttons:[]}]),l=this.extractToolbarDetachedButton(c),t=this.filterToolbarButtons(l).filter(e=>!!e.buttons.length);return t.forEach(e=>e.buttons[0].isFirstInGroup=!0),{groups:t}}popLastButton(o){let h=o.groups,c=h[h.length-1],l=c.buttons.pop();return l.type==="more"&&(l=c.buttons.pop()),c.buttons.length===0&&h.pop(),l}pushMoreButton(o,h){let c=o.groups,l=c[c.length-1],a=[];return h.forEach(t=>{t.type==="list"?a.push(...t.buttons):a.push(t)}),l.buttons.push({type:"more",isActive:!0,isFirstInGroup:!1,$name:"more-button",$img:"hamburger_icon",$sprite:"yes",$spritesvg:"yes",buttons:a}),o}updateButtonsBySelection(o,h){return Ue(Se({},o),{groups:o.groups.map(l=>Ue(Se({},l),{buttons:l.buttons.map(a=>(["list","more"].includes(a.type)?a.buttons=a.buttons.map(t=>(t.isActive=this.isButtonActive(t,h),Se({},t))).filter(t=>!this.isButtonRemoved(t,h)):a.isActive=this.isButtonActive(a,h),Se({},a))).filter(a=>!this.isButtonRemoved(a,h))}))})}};d.\u0275fac=function(h){return new(h||d)},d.\u0275prov=li({token:d,factory:d.\u0275fac});let u=d;return u})();var oi=(()=>{let d=class d{constructor(){this.orientation=tn("horizontal",{alias:"ispFocusGroup"}),this.navigationKeys=zi(()=>{let o={prev:"ArrowLeft",next:"ArrowRight",first:"Home",last:"End"};return this.orientation()==="vertical"&&(o.prev="ArrowUp",o.next="ArrowDown"),o}),this.items=Gn([]),this.sortedItems=zi(()=>this.items().sort(({elementRef:{nativeElement:o}},{elementRef:{nativeElement:h}})=>o.compareDocumentPosition(h)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1)),this.activeItem=Gn(null)}register(o){this.items.update(h=>[...h,o]),this.activeItem()||this.activeItem.set(o)}unregister(o){this.items.update(h=>h.filter(c=>c!==o)),this.activeItem()===o&&this.activeItem.set(this.items[0]??null)}onKeydown(o){let{key:h}=o,c=this.navigationKeys();Object.values(c).includes(h)&&(o.preventDefault(),o.stopImmediatePropagation()),h===c.next?this.focusNextItem():h===c.prev?this.focusPreviousItem():h===c.first?this.focusFirstItem():h===c.last&&this.focusLastItem()}setActiveItem(o){this.activeItem.set(o),o?.focus()}focusFirstItem(){let o=this.sortedItems().find(h=>!h.disabled());this.setActiveItem(o??null)}focusLastItem(){let o=[...this.sortedItems()].reverse().find(h=>!h.disabled());this.setActiveItem(o??null)}focusNextItem(){let o=this.activeItem();if(!o){this.focusFirstItem();return}let h=this.sortedItems().indexOf(o),c=this.sortedItems().slice(h+1).find(l=>!l.disabled())??null;if(!c){this.focusFirstItem();return}this.setActiveItem(c)}focusPreviousItem(){let o=this.activeItem();if(!o){this.focusLastItem();return}let h=this.sortedItems().indexOf(o),c=this.sortedItems().slice(0,h).reverse().find(l=>!l.disabled())??null;if(!c){this.focusLastItem();return}this.setActiveItem(c)}};d.\u0275fac=function(h){return new(h||d)},d.\u0275dir=Tt({type:d,selectors:[["","ispFocusGroup",""]],inputs:{orientation:[1,"ispFocusGroup","orientation"]},exportAs:["ispFocusGroup"],standalone:!0});let u=d;return u})();var ji=(()=>{let d=class d{constructor(){this.focusGroup=kt(oi),this.focusMonitor=kt(Oi),this.elementRef=kt(yt),this.disabled=tn(!1,{transform:ki,alias:"ispFocusGroupItemDisabled"}),this.tabIndex=zi(()=>!this.disabled()&&this.focusGroup.activeItem()===this?0:-1)}onKeydown(o){this.disabled()||this.focusGroup.onKeydown(o)}onClick(){this.disabled()||this.focusGroup.setActiveItem(this)}ngOnInit(){this.focusGroup.register(this)}ngOnDestroy(){this.focusGroup.unregister(this)}focus(){this.focusMonitor.focusVia(this.elementRef,"keyboard")}};d.\u0275fac=function(h){return new(h||d)},d.\u0275dir=Tt({type:d,selectors:[["","ispFocusGroupItem",""]],hostVars:1,hostBindings:function(h,c){h&1&&le("keydown",function(a){return c.onKeydown(a)})("click",function(){return c.onClick()}),h&2&&at("tabindex",c.tabIndex())},inputs:{disabled:[1,"ispFocusGroupItemDisabled","disabled"]},exportAs:["ispFocusGroupItem"],standalone:!0});let u=d;return u})();var Da=["*"],La=u=>({func:u}),Ba=u=>({event:"user_click_action_button_from_toolbar",data:u}),Ia=()=>({width:"20px",height:"20px"});function Oa(u,d){if(u&1&&oe(0,"isp-icon-provider",5),u&2){let x=U(2);R("name",x.button.$img)("inSprite",x.button.$spritesvg==="yes")("customStyle",Re(3,Ia))}}function Ra(u,d){if(u&1&&oe(0,"isp-custom-icon",6),u&2){let x=U(2);R("href",x.button.$customicon)}}function Pa(u,d){if(u&1&&oe(0,"span",7),u&2){let x=U(2);R("innerHtml",x.caption,Et)}}function Na(u,d){if(u&1){let x=ve();ke(0),Z(1,"button",1),le("click",function(h){he(x);let c=U();return de(c.emitButtonClick(h,c.button))}),J(2,Oa,1,4,"isp-icon-provider",2)(3,Ra,1,1,"isp-custom-icon",3)(4,Pa,1,1,"span",4),ct(5),X(),Ee()}if(u&2){let x=U();z(),gt("button_name_"+x.button.$name),Te("disabled",!x.button.isActive),R("ngClass",x.customClass)("ariaDisabled",!x.button.isActive)("ariaDescription",x.tooltipText)("ispMetric",bt(16,Ba,bt(14,La,x.button==null?null:x.button.$func)))("ispTooltip",x.tooltipText)("ispTooltipDirectionOrder",x.tooltipDirectionOrder)("ispTooltipDisabled",x.button.type==="more"),z(),R("ngIf",!x.button.$customicon),z(),R("ngIf",x.button.$customicon),z(),R("ngIf",!x.isCaptionHidden)}}var Pt=(()=>{let d=class d{constructor(){this.inMore=!1,this.messages=null,this.tooltipDirectionOrder=["top"],this.buttonClick=new Ge}get isCaptionHidden(){return this.button.$notext==="yes"&&!this.inMore||this.button.type==="more"||["back","back_site"].includes(this.button.$name)}get caption(){return this.messages?.[`short_${this.button.$name}`]||""}get tooltipText(){return this.button.isActive?this.hint:this.disabledHint}get hint(){return this.messages?.[`hint_${this.button.$name}`]||""}get disabledHint(){return this.messages?.[`hint_${this.button.$name}_disabled`]||this.hint}emitButtonClick(o,h){if(!h.isActive){o.preventDefault();return}this.buttonClick.emit({btn:h,target:o.target})}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-toolbar-common-button"]],inputs:{button:"button",inMore:"inMore",messages:"messages",tooltipDirectionOrder:"tooltipDirectionOrder",customClass:"customClass"},outputs:{buttonClick:"buttonClick"},ngContentSelectors:Da,decls:1,vars:1,consts:[[4,"ngIf"],["ispFocusGroupItem","","type","button","ispTooltipPosition","top-middle",1,"button",3,"click","ngClass","ariaDisabled","ariaDescription","ispMetric","ispTooltip","ispTooltipDirectionOrder","ispTooltipDisabled"],["class","button__icon",3,"name","inSprite","customStyle",4,"ngIf"],["class","button__custom-icon",3,"href",4,"ngIf"],["class","button__caption",3,"innerHtml",4,"ngIf"],[1,"button__icon",3,"name","inSprite","customStyle"],[1,"button__custom-icon",3,"href"],[1,"button__caption",3,"innerHtml"]],template:function(h,c){h&1&&(lt(),J(0,Na,6,18,"ng-container",0)),h&2&&R("ngIf",c.messages)},dependencies:[Yt,_e,ei,Ii,dt,Ri,ji],styles:["[_nghost-%COMP%]{position:relative;display:block;height:100%}.button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-highway-star);display:flex;flex-direction:row;align-items:center;width:100%;height:100%;padding:var(--isp-toolbar-button-padding, 0 15px);margin:0;font-family:inherit;font-size:14px;color:var(--isp-dc-highway-star);background:none;border:none;border-radius:var(--isp-border-radius-main);outline:none;cursor:pointer}.button.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default}.button[_ngcontent-%COMP%]:hover:not(.disabled){background-color:var(--isp-dc-cult)}.button[_ngcontent-%COMP%]:active:not(.disabled){background-color:var(--isp-dc-mass-relay)}.button[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--isp-dc-highway-star)}.button[_ngcontent-%COMP%]:not(:active):focus-visible{outline-offset:3px}.button.dropdown-button[_ngcontent-%COMP%]{border-radius:0}.button.dropdown-button[_ngcontent-%COMP%]:focus-visible{background-color:var(--isp-dc-mass-relay);outline:none}.button.dropdown-button[_ngcontent-%COMP%]:not(:active):focus-visible{background-color:var(--isp-dc-cult)}.button_name_back[_ngcontent-%COMP%], .button_name_back_site[_ngcontent-%COMP%]{--isp-toolbar-button-padding: 0 11.5px}.button__icon[_ngcontent-%COMP%]{display:flex}.button__custom-icon[_ngcontent-%COMP%]{width:20px;height:20px}.button__custom-icon[_ngcontent-%COMP%] .custom-icon-div{width:20px;height:20px}.button__caption[_ngcontent-%COMP%]{margin-left:10px;white-space:nowrap}"],changeDetection:0});let u=d;return u})();var Va=["*"],Ha=u=>({func:u}),Wa=u=>({event:"user_click_action_button_from_toolbar",data:u}),za=()=>({width:"20px",height:"20px"});function ja(u,d){if(u&1&&oe(0,"isp-icon-provider",5),u&2){let x=U(2);R("name",x.button.$img)("inSprite",x.button.$spritesvg==="yes")("customStyle",Re(3,za))}}function Ua(u,d){if(u&1&&oe(0,"isp-custom-icon",6),u&2){let x=U(2);R("href",x.button.$customicon)}}function Ga(u,d){if(u&1&&oe(0,"span",7),u&2){let x=U(2);R("innerHtml",x.caption,Et)}}function Ka(u,d){if(u&1){let x=ve();ke(0),Z(1,"button",1),le("click",function(h){he(x);let c=U();return de(c.emitButtonClick(h,c.button))}),J(2,ja,1,4,"isp-icon-provider",2)(3,Ua,1,1,"isp-custom-icon",3)(4,Ga,1,1,"span",4),ct(5),X(),Ee()}if(u&2){let x=U();z(),gt("button_name_"+x.button.$name),Te("disabled",!x.button.isActive),R("ngClass",x.customClass)("ariaDisabled",!x.button.isActive)("ariaDescription",x.tooltipText)("ispMetric",bt(16,Wa,bt(14,Ha,x.button==null?null:x.button.$func)))("ispTooltip",x.tooltipText)("ispTooltipDirectionOrder",x.tooltipDirectionOrder)("ispTooltipDisabled",x.button.type==="more"),z(),R("ngIf",!x.button.$customicon),z(),R("ngIf",x.button.$customicon),z(),R("ngIf",!x.isCaptionHidden)}}var wo=(()=>{let d=class d extends Pt{};d.\u0275fac=(()=>{let o;return function(c){return(o||(o=$i(d)))(c||d)}})(),d.\u0275cmp=fe({type:d,selectors:[["isp-toolbar-detached-button"]],features:[ci],ngContentSelectors:Va,decls:1,vars:1,consts:[[4,"ngIf"],["ispFocusGroupItem","","type","button","ispTooltipPosition","top-middle",1,"button",3,"click","ngClass","ariaDisabled","ariaDescription","ispMetric","ispTooltip","ispTooltipDirectionOrder","ispTooltipDisabled"],["class","button__icon",3,"name","inSprite","customStyle",4,"ngIf"],["class","button__custom-icon",3,"href",4,"ngIf"],["class","button__caption",3,"innerHtml",4,"ngIf"],[1,"button__icon",3,"name","inSprite","customStyle"],[1,"button__custom-icon",3,"href"],[1,"button__caption",3,"innerHtml"]],template:function(h,c){h&1&&(lt(),J(0,Ka,6,18,"ng-container",0)),h&2&&R("ngIf",c.messages)},dependencies:[Yt,_e,ei,Ii,dt,Ri,ji],styles:["[_nghost-%COMP%]{position:relative;display:block;height:100%}.button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-highway-star);display:flex;flex-direction:row;align-items:center;width:100%;height:100%;padding:var(--isp-toolbar-button-padding, 0 15px);margin:0;font-family:inherit;font-size:14px;color:var(--isp-dc-highway-star);background:none;border:none;border-radius:var(--isp-border-radius-main);outline:none;cursor:pointer}.button.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default}.button[_ngcontent-%COMP%]:hover:not(.disabled){background-color:var(--isp-dc-cult)}.button[_ngcontent-%COMP%]:active:not(.disabled){background-color:var(--isp-dc-mass-relay)}.button[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--isp-dc-highway-star)}.button[_ngcontent-%COMP%]:not(:active):focus-visible{outline-offset:3px}.button.dropdown-button[_ngcontent-%COMP%]{border-radius:0}.button.dropdown-button[_ngcontent-%COMP%]:focus-visible{background-color:var(--isp-dc-mass-relay);outline:none}.button.dropdown-button[_ngcontent-%COMP%]:not(:active):focus-visible{background-color:var(--isp-dc-cult)}.button_name_back[_ngcontent-%COMP%], .button_name_back_site[_ngcontent-%COMP%]{--isp-toolbar-button-padding: 0 11.5px}.button__icon[_ngcontent-%COMP%]{display:flex}.button__custom-icon[_ngcontent-%COMP%]{width:20px;height:20px}.button__custom-icon[_ngcontent-%COMP%] .custom-icon-div{width:20px;height:20px}.button__caption[_ngcontent-%COMP%]{margin-left:10px;white-space:nowrap}",".button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-jon-snow);color:var(--isp-c-jon-snow);background-color:var(--isp-c-blue-velvet);border-radius:5px;transition:background-color .2s ease-in-out}.button[_ngcontent-%COMP%]:hover:not(:disabled){background-color:var(--isp-c-deep)}.button[_ngcontent-%COMP%]:active:not(:disabled){background-color:var(--isp-c-blue-velvet)}.button__caption[_ngcontent-%COMP%]{margin-left:10px}"],changeDetection:0});let u=d;return u})();var Qa=["dropdownContent"],Za=["anchor"],Xa=()=>({width:"15px"}),qa=()=>({"--isp-dropdown-z-index":"var(--isp-list-toolbar-popup-z-index)"}),Ja=()=>["right","left"];function el(u,d){if(u&1){let x=ve();Z(0,"isp-toolbar-common-button",9),le("buttonClick",function(h){let c=he(x).$implicit,l=U();return de(l.emitButtonClick(h,c))}),X()}if(u&2){let x=d.$implicit,o=U();R("button",x)("messages",o.messages)("tooltipDirectionOrder",Re(3,Ja))}}var Co=(()=>{let d=class d extends Pt{constructor(){super(...arguments),this.focusMonitor=kt(Oi),this.destroyRef=kt(At),this.navigatedByKeyboard=!1}get anchorButton(){return this.dropdownAnchorRef.nativeElement.querySelector("button")}ngAfterViewInit(){this.focusMonitor.monitor(this.anchorButton).pipe(nt(this.destroyRef)).subscribe(o=>{o!==null&&(this.navigatedByKeyboard=o==="keyboard")})}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.dropdownAnchorRef)}trackBySubButton(o,h){return`sub_${h.$name}_${o}`}onDropdownUpdate(o){o==="open-start"&&this.navigatedByKeyboard?this.focusMonitor.focusVia(this.dropdownContentRef.nativeElement.querySelector("button"),"keyboard"):o==="close-start"&&this.navigatedByKeyboard&&this.anchorButton.focus()}};d.\u0275fac=(()=>{let o;return function(c){return(o||(o=$i(d)))(c||d)}})(),d.\u0275cmp=fe({type:d,selectors:[["isp-toolbar-list-button"]],viewQuery:function(h,c){if(h&1&&(it(Qa,5),it(Za,5)),h&2){let l;qe(l=Je())&&(c.dropdownContentRef=l.first),qe(l=Je())&&(c.dropdownAnchorRef=l.first)}},features:[ci],decls:9,vars:14,consts:[["anchor",""],["dropdown",""],["dropdownContent",""],[1,"button__anchor"],[3,"buttonClick","button","messages"],["name","arrow-down",1,"button__arrow-down",3,"inSprite","customStyle"],["popupClasses","isp-toolbar-list-button-popup","anchorOffset","5",3,"update","strictDirection","anchor","hideOnPopupClick","hideOnAnchorClick","disabled","cssVars"],["ispFocusGroup","vertical",3,"keydown.escape"],["class","button__dropdown-button","customClass","dropdown-button",3,"button","messages","tooltipDirectionOrder","buttonClick",4,"ngFor","ngForOf","ngForTrackBy"],["customClass","dropdown-button",1,"button__dropdown-button",3,"buttonClick","button","messages","tooltipDirectionOrder"]],template:function(h,c){if(h&1){let l=ve();Z(0,"div",3,0)(2,"isp-toolbar-common-button",4),le("buttonClick",function(){he(l);let t=Ve(5);return de(t.show())}),oe(3,"isp-icon-provider",5),X()(),Z(4,"isp-dropdown",6,1),le("update",function(t){return he(l),de(c.onDropdownUpdate(t))}),Z(6,"div",7,2),le("keydown.escape",function(){he(l);let t=Ve(5);return de(t.hide())}),J(8,el,1,4,"isp-toolbar-common-button",8),X()()}if(h&2){let l=Ve(1);z(2),R("button",c.button)("messages",c.messages),z(),R("inSprite",!0)("customStyle",Re(12,Xa)),z(),R("strictDirection",!0)("anchor",l)("hideOnPopupClick",!1)("hideOnAnchorClick",!1)("disabled",!c.button.isActive)("cssVars",Re(13,qa)),z(4),R("ngForOf",c.button.buttons)("ngForTrackBy",c.trackBySubButton)}},dependencies:[Ke,ei,Fi,oi,Pt],styles:["[_nghost-%COMP%]{position:relative;display:block;height:100%}.button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-highway-star);display:flex;flex-direction:row;align-items:center;width:100%;height:100%;padding:var(--isp-toolbar-button-padding, 0 15px);margin:0;font-family:inherit;font-size:14px;color:var(--isp-dc-highway-star);background:none;border:none;border-radius:var(--isp-border-radius-main);outline:none;cursor:pointer}.button.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default}.button[_ngcontent-%COMP%]:hover:not(.disabled){background-color:var(--isp-dc-cult)}.button[_ngcontent-%COMP%]:active:not(.disabled){background-color:var(--isp-dc-mass-relay)}.button[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--isp-dc-highway-star)}.button[_ngcontent-%COMP%]:not(:active):focus-visible{outline-offset:3px}.button.dropdown-button[_ngcontent-%COMP%]{border-radius:0}.button.dropdown-button[_ngcontent-%COMP%]:focus-visible{background-color:var(--isp-dc-mass-relay);outline:none}.button.dropdown-button[_ngcontent-%COMP%]:not(:active):focus-visible{background-color:var(--isp-dc-cult)}.button_name_back[_ngcontent-%COMP%], .button_name_back_site[_ngcontent-%COMP%]{--isp-toolbar-button-padding: 0 11.5px}.button__icon[_ngcontent-%COMP%]{display:flex}.button__custom-icon[_ngcontent-%COMP%]{width:20px;height:20px}.button__custom-icon[_ngcontent-%COMP%] .custom-icon-div{width:20px;height:20px}.button__caption[_ngcontent-%COMP%]{margin-left:10px;white-space:nowrap}",".button__anchor[_ngcontent-%COMP%]{height:100%}.button__arrow-down[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-highway-star);display:flex;margin-top:2px;margin-left:8px}.button__dropdown-button[_ngcontent-%COMP%]{--isp-toolbar-button-padding: 0 15px;width:100%;height:30px}"],changeDetection:0});let u=d;return u})();var il=["dropdownContent"],nl=["anchor"],rl=["dropdown"],ol=()=>({"--isp-dropdown-z-index":"var(--isp-list-toolbar-popup-z-index)"}),sl=()=>["right","left"];function al(u,d){if(u&1){let x=ve();Z(0,"isp-toolbar-common-button",9),le("buttonClick",function(h){let c=he(x).$implicit,l=U(2);return de(l.emitButtonClick(h,c))}),X()}if(u&2){let x=d.$implicit,o=U(2);R("button",x)("inMore",!0)("messages",o.messages)("tooltipDirectionOrder",Re(4,sl))}}function ll(u,d){if(u&1){let x=ve();Z(0,"div")(1,"isp-dropdown",6,1),le("update",function(h){he(x);let c=U();return de(c.onDropdownUpdate(h))}),Z(3,"div",7,2),le("keydown.escape",function(){he(x);let h=Ve(2);return de(h.hide())}),J(5,al,1,5,"isp-toolbar-common-button",8),X()()()}if(u&2){let x=U(),o=Ve(1);z(),R("strictDirection",!0)("anchor",o)("hideOnAnchorClick",!1)("hideOnPopupClick",!1)("cssVars",Re(7,ol)),z(4),R("ngForOf",x.button.buttons)("ngForTrackBy",x.trackBySubButton)}}var bo=(()=>{let d=class d extends Pt{constructor(){super(...arguments),this.canShow=!0,this.focusMonitor=kt(Oi),this.destroyRef=kt(At),this.cdr=kt(mt),this.navigatedByKeyboard=!1}get anchorButton(){return this.dropdownAnchorRef.nativeElement.querySelector("button")}ngAfterViewInit(){this.focusMonitor.monitor(this.anchorButton).pipe(nt(this.destroyRef)).subscribe(o=>{o!==null&&(this.navigatedByKeyboard=o==="keyboard")})}ngOnDestroy(){this.focusMonitor.stopMonitoring(this.dropdownAnchorRef)}rerender(){this.canShow=!1,this.cdr.markForCheck(),this.canShow=!0}ngOnChanges(o){o.button&&this.rerender()}onDropdownUpdate(o){o==="open-start"&&this.navigatedByKeyboard?this.focusMonitor.focusVia(this.dropdownContentRef.nativeElement.querySelector("button"),"keyboard"):o==="close-start"&&this.navigatedByKeyboard&&this.anchorButton.focus()}openDropdown(){this.dropdownRef.show()}trackBySubButton(o,h){return`sub_${h.$name}_${o}`}};d.\u0275fac=(()=>{let o;return function(c){return(o||(o=$i(d)))(c||d)}})(),d.\u0275cmp=fe({type:d,selectors:[["isp-toolbar-more-button"]],viewQuery:function(h,c){if(h&1&&(it(il,5),it(nl,5),it(rl,5)),h&2){let l;qe(l=Je())&&(c.dropdownContentRef=l.first),qe(l=Je())&&(c.dropdownAnchorRef=l.first),qe(l=Je())&&(c.dropdownRef=l.first)}},features:[ci,en],decls:4,vars:3,consts:[["anchor",""],["dropdown",""],["dropdownContent",""],[1,"button__anchor"],[3,"buttonClick","button","messages"],[4,"ngIf"],["popupClasses","isp-toolbar-list-button-popup","anchorOffset","5","alignment","end",3,"update","strictDirection","anchor","hideOnAnchorClick","hideOnPopupClick","cssVars"],["ispFocusGroup","vertical",1,"more-button-list","ispui-scrollbar_gray",3,"keydown.escape"],["class","button__dropdown-button","customClass","dropdown-button",3,"button","inMore","messages","tooltipDirectionOrder","buttonClick",4,"ngFor","ngForOf","ngForTrackBy"],["customClass","dropdown-button",1,"button__dropdown-button",3,"buttonClick","button","inMore","messages","tooltipDirectionOrder"]],template:function(h,c){if(h&1){let l=ve();Z(0,"div",3,0)(2,"isp-toolbar-common-button",4),le("buttonClick",function(){return he(l),de(c.openDropdown())}),X()(),J(3,ll,6,8,"div",5)}h&2&&(z(2),R("button",c.button)("messages",c.messages),z(),R("ngIf",c.canShow))},dependencies:[Ke,_e,Fi,oi,Pt],styles:["[_nghost-%COMP%]{position:relative;display:block;height:100%}.button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-highway-star);display:flex;flex-direction:row;align-items:center;width:100%;height:100%;padding:var(--isp-toolbar-button-padding, 0 15px);margin:0;font-family:inherit;font-size:14px;color:var(--isp-dc-highway-star);background:none;border:none;border-radius:var(--isp-border-radius-main);outline:none;cursor:pointer}.button.disabled[_ngcontent-%COMP%]{opacity:.5;cursor:default}.button[_ngcontent-%COMP%]:hover:not(.disabled){background-color:var(--isp-dc-cult)}.button[_ngcontent-%COMP%]:active:not(.disabled){background-color:var(--isp-dc-mass-relay)}.button[_ngcontent-%COMP%]:focus-visible{outline:1px solid var(--isp-dc-highway-star)}.button[_ngcontent-%COMP%]:not(:active):focus-visible{outline-offset:3px}.button.dropdown-button[_ngcontent-%COMP%]{border-radius:0}.button.dropdown-button[_ngcontent-%COMP%]:focus-visible{background-color:var(--isp-dc-mass-relay);outline:none}.button.dropdown-button[_ngcontent-%COMP%]:not(:active):focus-visible{background-color:var(--isp-dc-cult)}.button_name_back[_ngcontent-%COMP%], .button_name_back_site[_ngcontent-%COMP%]{--isp-toolbar-button-padding: 0 11.5px}.button__icon[_ngcontent-%COMP%]{display:flex}.button__custom-icon[_ngcontent-%COMP%]{width:20px;height:20px}.button__custom-icon[_ngcontent-%COMP%] .custom-icon-div{width:20px;height:20px}.button__caption[_ngcontent-%COMP%]{margin-left:10px;white-space:nowrap}",".button__anchor[_ngcontent-%COMP%]{height:100%}.button__arrow-down[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-highway-star);display:flex;margin-top:2px;margin-left:8px}.button__dropdown-button[_ngcontent-%COMP%]{--isp-toolbar-button-padding: 0 15px;width:100%;height:30px}",".more-button-list[_ngcontent-%COMP%]{height:100%;overflow:auto}"],changeDetection:0});let u=d;return u})();var ul=u=>({"toolbar__group_with-more":u}),tr=()=>["top","right","left"];function hl(u,d){if(u&1){let x=ve();Z(0,"isp-toolbar-list-button",11),le("buttonClick",function(h){he(x);let c=U(5);return de(c.emitButtonClick(h))}),X()}if(u&2){let x=U().$implicit,o=U(4);R("button",x)("messages",o.messages)("tooltipDirectionOrder",Re(3,tr))}}function dl(u,d){if(u&1){let x=ve();Z(0,"isp-toolbar-detached-button",12),le("buttonClick",function(h){he(x);let c=U(5);return de(c.emitButtonClick(h))}),X()}if(u&2){let x=U().$implicit,o=U(4);R("button",x)("messages",o.messages)("tooltipDirectionOrder",Re(3,tr))}}function pl(u,d){if(u&1){let x=ve();Z(0,"isp-toolbar-more-button",13),le("buttonClick",function(h){he(x);let c=U(5);return de(c.emitButtonClick(h))}),X()}if(u&2){let x=U().$implicit,o=U(4);R("button",x)("messages",o.messages)}}function fl(u,d){if(u&1){let x=ve();Z(0,"isp-toolbar-common-button",11),le("buttonClick",function(h){he(x);let c=U(5);return de(c.emitButtonClick(h))}),X()}if(u&2){let x=U().$implicit,o=U(4);R("button",x)("messages",o.messages)("tooltipDirectionOrder",Re(3,tr))}}function ml(u,d){if(u&1&&(ke(0,6),J(1,hl,1,4,"isp-toolbar-list-button",7)(2,dl,1,4,"isp-toolbar-detached-button",8)(3,pl,1,2,"isp-toolbar-more-button",9)(4,fl,1,4,"isp-toolbar-common-button",10),Ee()),u&2){let x=d.$implicit;R("ngSwitch",x.type),z(),R("ngSwitchCase","list"),z(),R("ngSwitchCase","detached"),z(),R("ngSwitchCase","more")}}function gl(u,d){if(u&1&&(Z(0,"div",4),J(1,ml,5,4,"ng-container",5),X()),u&2){let x=d.$implicit,o=U(3);gt("toolbar__group_type_"+x.type),R("ngClass",bt(5,ul,x.isContainsMoreButton)),z(),R("ngForOf",x.buttons)("ngForTrackBy",o.trackByButton)}}function vl(u,d){if(u&1&&(Z(0,"div",2),J(1,gl,2,7,"div",3),X()),u&2){let x=U(2);z(),R("ngForOf",x.toolbarUi.groups)("ngForTrackBy",x.trackByGroup)}}function yl(u,d){if(u&1&&(ke(0),J(1,vl,2,2,"div",1),Ee()),u&2){let x=U();z(),R("ngIf",x.toolbarUi.groups.length>0)}}var xo=(()=>{let d=class d{set toolbar(o){if(!o||Object.keys(o).length===0){this.rawToolbar=null,this.toolbarUi=null;return}this.rawToolbar=o,this.updateToolbar(),setTimeout(()=>this.handleResize())}set selectedItems(o){this.selectedItemsList=o,this.updateButtonsBySelection()}get isToolbarWithMargin(){return this.isMoreButtonShown}constructor(o,h,c,l){this.toolbarService=o,this.elementRef=h,this.cdr=c,this.destroyRef=l,this.buttonClick=new Ge,this.selectedItemsList=[],this.moreButtons=[],this.isMoreButtonShown=!1}updateButtonsBySelection(){if(!this.toolbarUi)return;let o=this.toolbarService.updateButtonsBySelection(this.toolbarUi,this.selectedItemsList);this.toolbarUi=o,this.cdr.markForCheck(),setTimeout(()=>this.handleResize())}updateToolbar(){this.rawToolbar&&(this.toolbarUi=this.toolbarService.getToolbarUi(this.rawToolbar,this.selectedItemsList),this.cdr.detectChanges())}handleResize(){let o=this.elementRef.nativeElement;if(!this.toolbarUi||!o)return;this.isMoreButtonShown=!1,this.moreButtons=[],this.updateToolbar();let h=o.scrollWidth;for(;o.scrollWidth>o.offsetWidth;){let c=this.toolbarService.popLastButton(this.toolbarUi);if(this.moreButtons.unshift(c),this.isMoreButtonShown=!0,this.cdr.detectChanges(),h===o.scrollWidth)break}this.isMoreButtonShown&&(this.toolbarUi=this.toolbarService.pushMoreButton(this.toolbarUi,this.moreButtons),this.cdr.detectChanges())}observeToolbar(){this.resizeObserver$=new _r(o=>{let h=new ResizeObserver(c=>{o.next(c[0].target)});return h.observe(this.elementRef.nativeElement),()=>h.disconnect()}),this.resizeObserver$.pipe(xi(15),nt(this.destroyRef)).subscribe(()=>this.handleResize())}ngAfterViewInit(){this.observeToolbar()}emitButtonClick(o){this.buttonClick.emit(o)}trackByGroup(o,h){return h.name}trackByButton(o,h){return h.$name}};d.\u0275fac=function(h){return new(h||d)(ue(mn),ue(yt),ue(mt),ue(At))},d.\u0275cmp=fe({type:d,selectors:[["isp-toolbar"]],hostVars:2,hostBindings:function(h,c){h&2&&Te("toolbar__with-margin",c.isToolbarWithMargin)},inputs:{messages:"messages",toolbar:"toolbar",selectedItems:"selectedItems"},outputs:{buttonClick:"buttonClick"},decls:1,vars:1,consts:[[4,"ngIf"],["class","toolbar","role","toolbar","ispFocusGroup","",4,"ngIf"],["role","toolbar","ispFocusGroup","",1,"toolbar"],["class","toolbar__group",3,"class","ngClass",4,"ngFor","ngForOf","ngForTrackBy"],[1,"toolbar__group",3,"ngClass"],[3,"ngSwitch",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngSwitch"],["class","toolbar__button",3,"button","messages","tooltipDirectionOrder","buttonClick",4,"ngSwitchCase"],["class","toolbar__button toolbar__button_detached",3,"button","messages","tooltipDirectionOrder","buttonClick",4,"ngSwitchCase"],["class","toolbar__button",3,"button","messages","buttonClick",4,"ngSwitchCase"],["class","toolbar__button",3,"button","messages","tooltipDirectionOrder","buttonClick",4,"ngSwitchDefault"],[1,"toolbar__button",3,"buttonClick","button","messages","tooltipDirectionOrder"],[1,"toolbar__button","toolbar__button_detached",3,"buttonClick","button","messages","tooltipDirectionOrder"],[1,"toolbar__button",3,"buttonClick","button","messages"]],template:function(h,c){h&1&&J(0,yl,2,1,"ng-container",0),h&2&&R("ngIf",c.toolbarUi&&c.messages)},dependencies:[Yt,Ke,_e,pi,Ei,Rr,oi,Pt,wo,Co,bo],styles:[".toolbar__with-margin[_nghost-%COMP%]{margin-right:65px}.toolbar[_ngcontent-%COMP%]{display:inline-flex;width:fit-content;height:35px;margin:var(--isp-toolbar-margin, 0 0 20px 0)}.toolbar__group[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;justify-content:center;height:100%}.toolbar__group[_ngcontent-%COMP%] + .toolbar__group[_ngcontent-%COMP%]{margin-left:10px}.toolbar__group_type_detached[_ngcontent-%COMP%]{border:none}.toolbar__button[_ngcontent-%COMP%]:not(.toolbar__button_detached){border:1px solid var(--isp-dc-charlie-chaplin);border-radius:5px}.toolbar__button[_ngcontent-%COMP%]:not(.toolbar__button_detached) + .toolbar__button[_ngcontent-%COMP%]:not(.toolbar__button_detached){margin-left:10px}"],changeDetection:0});let u=d;return u})();var Ao=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,vi,ti,rn,Ri]});let u=d;return u})();function $o(u,d){return{id:"title-header",types:["auxiliary","header"],render:!0,text:d==="filter"?te.getMessage("filtername",u):te.getMessage("title",u)}}function So(u){let d=te.getMessage("form_base_view",u),x=te.getMessage("form_extended_view",u);return{types:["auxiliary","mode-switch"],render:!0,id:"mode-switch",value:"base",options:d&&x?[{value:"base",text:d},{value:"extended",text:x}]:null}}function ko(u){let d=te.getControls(u);return{id:"form-summary",types:["auxiliary","summary"],render:!0,pages:u.metadata.summary.page.filter(x=>x.label?.length).map(x=>({render:!0,name:x.$name,title:te.getMessage(`summary_${x.$name}`,u)||te.getMessage(x.$name,u),icon:x.$img,isOpen:!1,fields:x.label.filter(o=>d.find(h=>h.$name===o.$name)).map(o=>{let h=te.getMessage(`summary_${o.$name}`,u),[c,l]=h?h.split("__value__"):[`${te.getMessage(o.$name,u)}:`,""],a={},t=u.slist?.find(n=>n.$name===o.$name);return t&&t.val.forEach(n=>a[n.$key]=n.$),d.find(n=>n.$name===o.$name&&n.$type==="checkbox")&&(a.on=te.getMessage("on",u),a.off=te.getMessage("off",u)),{name:o.$name,isHidable:o.$hidden==="yes",isHidden:!0,render:!0,beforeValue:c,afterValue:l,messages:a}})}))}}function Eo(u){let d=u.$func;return{id:"title-header",types:["auxiliary","wizard"],render:!0,buttons:u.steps.step.map((x,o,h)=>({text:x.$,func:x.$name,isStepActive:d===x.$name,isStepPassed:d!==x.$name&&!!h.slice(o+1).find(c=>c.$name===d),isStepDisabled:d!==x.$name&&!!h.slice(0,o).find(c=>c.$name===d)}))}}function _l(u,d,x){return x==="filter"?u.$type===ht.Ok?te.getMessage("filterfind",d):te.getMessage("filterclear",d):te.getMessage(`msg_${u.$name}`,d)}function Fo(u,d,x){let o=[ht.Ok,ht.Next,ht.Submit].includes(u.$type),h=u.$theme&&u.$theme!=="link",c=[ht.Back,ht.SetValues].includes(u.$type),a=u.$name!=="cancel"&&(o||c||h||x==="filter");return{types:["button"],showAs:a?"button":"link",isSubmit:o,id:u.$name,getServerMeta:()=>u,name:u.$name,render:!0,text:_l(u,d,x)}}function Mo(u,d,x){return{id:`spawn-container-${u}`,render:!0,touched:!1,types:["container","spawn"],childrenName:u,addText:te.getMessage(`${u}_add`,d),children:x}}function To(u,d,x){return{id:`titled-container-${u}`,render:!0,metaName:u,types:["container","titled"],title:te.getMessage(`multiple_group_${u}`,d),children:x}}function Do(u,d,x){let o=d.$vertical?te.getMessage(`hint_${u.$name}`,x):te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x);return{id:u.$name,showHint:!1,types:["field","checkbox"],name:u.$name,groupName:d.$name,isBase:d.$base==="yes",disabled:!1,readonly:u.$readonly==="yes",render:!0,hint:o,mixed:u.$mixed==="yes",required:u.$required==="yes",label:te.getMessage(u.$name,x)||te.getMessage(d.desc?.[0]?.$name,x)||te.getMessage(d.$name,x)}}function Lo(u,d,x){let o=u.$maxlength?Number(u.$maxlength):void 0;return{id:u.$name,types:["field","input"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,prefix:u.$prefix==="yes"?[x[`${u.$name}_prefix`]].flat()[0]?.$:null,suffix:d.desc?.map(h=>te.getMessage(h.$name,x))?.join(" "),isSearchbar:u.$search==="yes",hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x),readonly:u.$readonly==="yes",render:!0,isBase:d.$base==="yes",label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),placeholder:u.$mixed==="yes"?te.getMessage("placeholder_mixed_msg",x):te.getMessage(`placeholder_${u.$name}`,x)||te.getMessage(`placeholder_${d.$name}`,x),required:u.$required==="yes",unlimit:u.$unlimit,zoom:Number(u.$zoom),maxLength:o,autocomplete:u.$autocomplete||"off"}}function Bo(u,d,x){let o=d.$multiple_group?u.$name.replace(/\d+$/,""):u.$name,h=x.slist.find(a=>a.$name===o)?.val?.map(a=>({text:a.$,value:a.$key,color:a.$color}))||[],c={id:u.$name,types:["field","select"],name:u.$name,groupName:d.$name,showHint:!1,hint:te.getMessage(`hint_${u.$name}`,x),disabled:!1,render:!0,isBase:d.$base==="yes",readonly:u.$readonly==="yes",label:te.getMessage(u.$name,x),required:u.$required==="yes",multiple:u.$type===mi.Multiple,options:h,valueHints:u.$plainhint?h.reduce((a,t)=>Ue(Se({},a),{[t.value]:te.getMessage(`hint_${u.$name}__${t.value}`,x)}),{}):{},messages:{legend:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),placeholder:te.getMessage("null",x),notFound:te.getMessage("select_option_not_found",x),toggleAll:te.getMessage("msg_select_all",x)}},l=u.if?.find(a=>a.$drawer);if(l){let a=te.getMessage(`${u.$name}_drawer_template`,x),t=te.getMessage("drawer_edit",x);c.updateDrawerEntity=function(e){let n=`${e} ${a.split("__")[2]}`,i=`${t} ${n}`;this.options.find(r=>r.value===l.$value).text=n,this.link=i}}return c}function Io(u,d,x){return d?u.options.filter(o=>{if(!d[o.value])return!0;let h=d[o.value],c=x[h.name];return Array.isArray(c)?c.includes(h.value):c===h.value}):u.options}function Oo(u,d,x){return{id:u.$name,types:["field","slider"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,hint:te.getMessage(`hint_${u.$name}`,x),render:!0,isBase:d.$base==="yes",label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),required:u.$required==="yes",readonly:u.$readonly==="yes",min:Number(u.$min)||0,max:Number(u.$max)||100,step:Number(u.$step)||1,description:d.desc?.map(o=>te.getMessage(o.$name,x)).join(" ")}}function Ro(u,d,x){return{id:u.$name,types:["field","radio"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,hint:te.getMessage(`hint_${u.$name}`,x),render:!0,isBase:d.$base==="yes",readonly:u.$readonly==="yes",label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),required:u.$required==="yes",options:x.slist.find(o=>o.$name===u.$name)?.val?.map(o=>({text:o.$,value:o.$key,hint:te.getMessage(`hint_${u.$name}_radio_${o.$key}`,x)}))}}function Po(u,d,x){if(d)u.options.filter(o=>{if(!d[o.value])return!0;let h=d[o.value],c=x[h.name];return Array.isArray(c)?c.includes(h.value):c===h.value});else return u.options}function vn(u,d,x){return{id:`${u.$name}-image`,isBase:d.$base==="yes",name:u.$name,groupName:d.$name,render:!0,types:["auxiliary","image"],src:te.getStringValue(u.$name,x),iconName:u.$spritesvg?u.$img:"",width:+u.$width,height:+u.$height}}function No(u,d,x){let o=u.$internal==="yes",h=te.getStringValue(u.$name,x);return o&&(h=h.replace("func=","")),{id:`${u.$name}-link`,isBase:d.$base==="yes",name:u.$name,groupName:d.$name,render:!0,types:["auxiliary","link"],icon:u.$img,isInternal:o,target:u.$target,href:h,isNewTab:u.$newtab==="yes",drawer:u.$drawer,text:te.getMessage(u.$name,x),label:u.$name===d.$name?null:te.getMessage(d.$name,x)}}var Cl=[ht.Ok,ht.Next,ht.Submit,ht.Blank];function bl(u){return Cl.includes(u.$type)}function xl(u){return u.$type===ht.Cancel||u.$name==="cancel"}function Ho(u,d){return te.getMessage(d,u)}function Al(u,d){return d.$icon?"":Ho(u,`msg_${d.$name}`)}function Vo(u,d,x){let o=x?d.$manualdisable?"_manualdisable":"_disabled":"";return Ho(u,`hint_${d.$name}${o}`)}function $l(u){return xl(u)||u.$theme==="link"?"link":"button"}function Sl(u){switch(u.$theme){case"sixth":return"secondary";case"primary":return"primary";case"icon":return"icon"}return["yellow"].includes(u.$color)?"accent":bl(u)?"primary":"secondary"}function Wo(u,d,x){return d.map(o=>{let h=Ue(Se({},o),{id:Symbol("buttonId"),label:Al(u,o),displayType:$l(o),icon:o.$icon,disabled:o.$disabled==="yes"||o.$manualdisable==="yes",getDocButton:()=>o});return h.displayType==="button"&&(h.buttonTheme=Sl(o)),x&&(h.hint=Vo(u,o,!1),h.hintDisabled=Vo(u,o,!0)),u.metadata?.form?.$target&&(h.$act=u.metadata.form.$target),h})}function kl(u,d){return d.list.find(x=>x.$name===u.$name)?.elem?.map(x=>{let o=u.col.map(c=>{let l={iconHeight:c.$height,width:c.$width,column:c},a=x[c.$name]?.$,t=x[c.$name];switch(c.$type){case"data":l.text=a;break;case"msg":l.text=te.getMessage(a,d);break;case"button":if(typeof t!="object"||!("button"in t))break;let e=Wo(d,Array.isArray(t.button)?t.button:[t.button],!0);l.buttons=e.map(n=>(n.$key&&(n.keyValue=x[n.$key]?.$),n.$entitynamekey&&(n.entityName=x[n.$entitynamekey]?.$),n));break;case"img":t?.$spritesvg?l.iconName=t?.$img||a:t?.$img?l.iconPath=t?.$img:t?.$&&(l.iconPath=t.$);break;case"chip":l.chips=[x[c.$name]?.chip].flat().filter(n=>!!n);break;case"control":l.control=El(x[c.$name],d);break;case"bullet":l.bulletList="item"in t?(Array.isArray(t.item)?t.item:[t.item]).map(n=>n.$):[];break;default:break}return c.$collapse&&(l.collapse=parseInt(c.$collapse)),l}),h=o.reduce((c,l)=>{let a=u.$type==="vertical"&&l.column.$position?l.column.$position:"main";return c[a].push(l),c},{"top-left":[],"top-right":[],main:[]});return{additionalParams:{[u.$key]:x[u.$key]?.$||""},cells:h,identity:x[u.$key]?.$||o.filter(c=>c.text).map(c=>c.text).join("_")}})}function El(u,d){let x=u?.select,o=u?.input;if(x){let h=d.slist.find(c=>c.$name===x.$name)?.val?.map(c=>({text:c.$,value:c.$key,color:c.$color}))||[];return{id:x.$name,types:["field","select"],name:x.$name,groupName:null,showHint:!1,hint:te.getMessage(`hint_${x.$name}`,d),disabled:!1,render:!0,isBase:!1,readonly:x.$readonly==="yes",label:te.getMessage(x.$name,d),required:x.$required==="yes",multiple:x.$type===mi.Multiple,options:h,valueHints:x.$plainhint?h.reduce((c,l)=>Ue(Se({},c),{[l.value]:te.getMessage(`hint_${x.$name}__${l.value}`,d)}),{}):{},messages:{legend:null,placeholder:te.getMessage("null",d),notFound:te.getMessage("select_option_not_found",d),toggleAll:te.getMessage("msg_select_all",d)}}}if(o){let h=o.$maxlength?Number(o.$maxlength):void 0;return{id:o.$name,types:["field","input"],name:o.$name,groupName:null,disabled:!1,showHint:!1,prefix:null,suffix:null,isSearchbar:o.$search==="yes",hint:te.getMessage(`hint_${o.$name}`,d),readonly:o.$readonly==="yes",render:!0,isBase:!1,label:te.getMessage(o.$name,d),placeholder:o.$mixed==="yes"?te.getMessage("placeholder_mixed_msg",d):te.getMessage(`placeholder_${o.$name}`,d),required:o.$required==="yes",unlimit:o.$unlimit,zoom:Number(o.$zoom),maxLength:h}}return null}function zo(u,d,x){let o=u.col.map(h=>({text:te.getMessage(`list_${h.$name}`,x),width:h.$width,align:h.$align}));return{id:`${u.$name}-list`,isBase:d.$base==="yes",name:u.$name,isTable:u.$type!=="vertical",groupName:d.$name,render:!0,types:["auxiliary","list"],type:u.$type||"block",cols:o,rows:kl(u,x),hover:u.$hover!=="no",messages:{collapse:te.getMessage("msg_collapse",x),expand:te.getMessage("msg_expand",x)}}}function tt(u,...d){return d.every((x,o)=>x===u.types[o])}function jo(u,d){return{id:`${u.$name}-border`,name:u.$name,render:!0,types:["container","border"],children:d.map(x=>tt(x,"auxiliary","link")?Ue(Se({},x),{label:null}):x)}}function Uo(u,d,x){let o="simple";u.$preview?o="preview":!u.$accept&&u.$multiple&&(o="drop-zone");let h={buttonLabel:te.getMessage("msg_choosefile",x),title:te.getMessage(d.$name,x),hint:te.getMessage(`hint_${d.$name}`,x),tooltipClear:te.getMessage("msg_removefile",x),andMore:te.getMessage("msg_andmorefile",x),fileNotSupported:te.getMessage("msg_notsupportedfile",x),notAvailable:te.getMessage("msg_notavailablefile",x)},c={id:`${u.$name}-file-element`,types:["field","file"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,mode:o,messages:h,hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x),readonly:u.$readonly==="yes",render:!0,isBase:d.$base==="yes",multiple:u.$multiple==="yes",accept:u.$accept,label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),required:u.$required==="yes"};return o==="preview"&&(c.previewOptions={previewBackground:u.$preview,previewImage:u.$preview_image}),c}function Go(u,d,x){return{id:`tree-${u.$name}`,types:["field","tree"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,height:+u.$rows||15,isFullWidth:!0,hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x),readonly:u.$readonly==="yes",render:!0,isBase:d.$base==="yes",label:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),required:u.$required==="yes"}}function Ko(u,d,x){return{id:u.$name,types:["field","password"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,confirmName:u.$checkpasswd,hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x),readonly:u.$readonly==="yes",render:!0,isBase:d.$base==="yes",label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),placeholder:te.getMessage(`placeholder_${u.$name}`,x)||te.getMessage(`placeholder_${d.$name}`,x),required:u.$required==="yes"||!!te.getControls(x).find(o=>o.$required==="yes"&&o.$checkpasswd===u.$name),showGenerate:!!u.$checkpasswd||u.$genpasswd==="yes",showStrength:!!u.$checkpasswd,strengthMessages:te.getPasswordStrengthMessages(x)}}function Yo(u,d){return{id:`${u.$name}-code-element`,types:["field","code"],name:u.$name,groupName:d.$name,isFullWidth:!0,disabled:!1,showHint:!1,hint:null,readonly:u.$readonly==="yes",render:!0,isBase:d.$base==="yes",required:u.$required==="yes",wrap:u.$wrap==="yes",code:u.$code}}function Qo(u,d,x){let o=te.getFields(x).find(h=>h.frame?.[0].$fullpage);return{id:`${u.$name}-frame`,name:u.$name,groupName:d.$name,render:!0,keepAlive:u.$keepalive==="yes",forceTheme:u.$forcetheme==="yes",isFullpage:o?.frame?.[0].$name===u.$name,types:["auxiliary","frame"],src:te.getStringValue(u.$name,x),height:u.$height||null,fullheight:u.$fullheight==="yes"}}function Zo(u){return/^(\d|_){2}\.(\d|_){2}\.(\d|_){4}$/.test(u)?`${u.slice(6)}-${u.slice(3,5)}-${u.slice(0,2)}`:""}function Xo(u){return/^(\d|_){4}-(\d|_){2}-(\d|_){2}$/.test(u)?`${u.slice(8)}.${u.slice(5,7)}.${u.slice(0,4)}`:""}function qo(u,d,x){return{id:u.$name,types:["field","date"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,hint:te.getMessage(`hint_${u.$name}`,x),render:!0,isBase:d.$base==="yes",label:te.getMessage(u.$name,x),required:u.$required==="yes",readonly:u.$readonly==="yes"}}function ir(u){return typeof u=="string"?/^\d{4}-\d{2}-\d{2}$/.test(u)?new Date(u):null:u?hn(u,"yyyy-MM-dd"):""}function Jo(u,d,x){return{id:`${u.$name}-time`,isBase:d.$base==="yes",name:u.$name,groupName:d.$name,render:!0,types:["auxiliary","time"],label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x)}}function es(u,d,x){return{id:u.$name,types:["field","textarea"],name:u.$name,groupName:d.$name,disabled:!1,showHint:!1,isFullWidth:u.$fullwidth==="yes"||d.$fullwidth==="yes",rows:+u.$rows||10,hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x),readonly:u.$readonly==="yes",render:!0,isBase:d.$base==="yes",label:d.$noname==="yes"?null:te.getMessage(u.$name,x)||te.getMessage(d.$name,x),placeholder:te.getMessage(`placeholder_${u.$name}`,x)||te.getMessage(`placeholder_${d.$name}`,x),required:u.$required==="yes"}}function nr(u,d,x){let o={name:u.$name,groupName:u.$name,id:`vertical-group-container-${u.$name}`,render:!0,types:["container","verticalgroup"],title:te.getMessage(u.$name,d),children:x};return u.$vertical&&(o.hint=te.getMessage(`hint_${u.$name}`,d)),o}function Fl(u,d,x){let o=u.$name;switch(u.$type){case"msgdata":return te.getMessage(te.getStringValue(o,x),x);case"data":return te.getStringValue(o,x);case"banner":case"msg":default:return te.getStringValue(o,x)||te.getMessage(o,x)||te.getMessage(d.$name,x)}}function rr(u,d,x,o){let h={id:`${u.$name}-textdata`,isBase:d.$base==="yes",name:u.$name,groupName:d.$name,render:!0,isTitle:!1,types:["auxiliary","text"],HTML:Fl(u,d,x),label:null,hint:te.getMessage(`hint_${u.$name}`,x)||te.getMessage(`hint_${d.$name}`,x),isWarning:u.$warning==="yes",copy:u.$copy==="yes",labelsize:d.$labelsize||"regular"};if(!u.$noname&&!d.$noname&&["msgdata","data"].includes(u.$type)&&(h.label=te.getMessage(u.$name,x)||te.getMessage(d.$name,x)),u.$type==="banner"&&(h.banner=u.$status||"warning"),o){let{src:c,iconName:l,width:a,height:t}=vn(o,d,x);h.image={src:c,iconName:l,width:a,height:t}}return h}function ts(u,d,x){let{text:o,link:h}=x;return o.label=null,h.label=null,{name:u.$name,groupName:u.$name,id:`vertical-group-container-${u.$name}`,render:!0,types:["container","textwithlink"],title:te.getMessage(u.$name,d),children:[o,h],text:o,link:h,labelsize:u.$labelsize||"regular"}}function is(u,d){let x=[...u.input?.filter(c=>c.$type==="text").map(c=>c.$date==="yes"?qo(c,u,d):Lo(c,u,d))||[],...u.textarea?.filter(c=>c.$editor==="yes").map(c=>Yo(c,u))||[],...u.textarea?.filter(c=>!c.$editor).map(c=>es(c,u,d))||[],...u.input?.filter(c=>c.$type==="password").map(c=>Ko(c,u,d))||[],...u.input?.filter(c=>c.$type==="checkbox").map(c=>Do(c,u,d))||[],...u.input?.filter(c=>c.$type==="file").map(c=>Uo(c,u,d))||[],...u.select?.filter(c=>!["radioimg","radio","autocomplete","hidden"].includes(c.$type)&&d.slist?.some(l=>{let a=u.$multiple_group?c.$name.replace(/\d+$/,""):c.$name;return l.$name===a&&l.val?.length})).map(c=>Bo(c,u,d))||[],...u.select?.filter(c=>c.$type===mi.Radio).map(c=>Ro(c,u,d))||[],...u.datetime?.map(c=>Jo(c,u,d))||[],...u.slider?.map(c=>Oo(c,u,d))||[],...u.list?.filter(c=>d.list?.some(l=>l.$name===c.$name&&l.elem?.length)).map(c=>zo(c,u,d))||[],...u.tree?.map(c=>Go(c,u,d))||[],...u.frame?.map(c=>Qo(c,u,d))||[]],o=[...u.img?.map(c=>vn(c,u,d))||[],...u.textdata?.map(c=>rr(c,u,d)).filter(c=>c.HTML)||[],...u.link?.map(c=>No(c,u,d))||[]],h=Ml(o);return u.img&&u.link&&u.$border?x.push(jo(u,o)):u.img&&u.textdata?x.push(rr(u.textdata[0],u,d,u.img[0])):u.$vertical?(x.push(...o),x=[nr(u,d,x)]):u.img&&u.link?x=[nr(u,d,o)]:!x.length&&h?x=[ts(u,d,h)]:x.push(...o),x}function Ml(u){let d=u.find(h=>h.types[1]==="image"),x=u.find(h=>h.types[1]==="text"),o=u.find(h=>h.types[1]==="link");return d||!x||!o?null:{text:x,link:o}}function Tl(u,d){let x=te.getFields(d);if(!x.some(h=>h.$multiple_group))return u;let o={};return u.map(h=>{if(h.types[0]!=="field")return h;let c=x.find(a=>a.$multiple_group&&h.groupName===a.$name)?.$multiple_group;if(!c)return h;let l=o[c];if(l)return l.children.push(h),null;{let a=To(c,d,[h]);return o[c]=a,a}}).filter(h=>h)}function Dl(u,d){let x=u.filter(h=>tt(h,"container","titled"));if(!x.length)return u;let o=[];return x.map(h=>{let c=o.find(l=>h.metaName.startsWith(l.childrenName));if(c)return c.children.push(h),null;{let l=h.metaName.replace(/\d+$/,""),a=Mo(l,d,[h]);return o.push(a),a}}).filter(h=>h)}function Pi(u,d,x=[]){let o=u.filter(l=>!x.includes(l.$name)).map(l=>is(l,d)).flat(),h=Tl(o,d);return Dl(h,d)}function ns(u,d,x=[]){return{id:u.$name,name:u.$name,render:!0,renderOnlyChildren:!1,types:["container","page"],isOpen:u.$collapsed!=="yes",title:te.getMessage(u.$name,d),children:Pi(u.field,d,x)}}function rs(u){return{id:"form-tabs",render:!0,types:["auxiliary","form-tabs"],options:u?.metadata.form?.tabbuttons?.button.map(d=>({value:d.$func,text:te.getMessage(`msg_${d.$name}`,u),button:d})),value:u.$func}}function os(u){return{id:`${u.$func}-form-toolbar`,types:["auxiliary","toolbar"],render:!0,toolbar:u.metadata?.toolbar,messages:te.getMessageSet(u)}}function Ll(u,d){let x={id:"form-header",types:["container","layout","header"],children:[$o(u,d)],render:!0};return u.metadata?.toolbar&&x.children.push(os(u)),te.hasFormTabs(u)&&x.children.push(rs(u)),te.hasBaseMode(u)&&x.children.push(So(u)),u.steps?.step?.length&&x.children.push(Eo(u)),x}function Bl(u,d){return{id:"form-footer",types:["container","layout","footer"],render:!0,stickyBottom:!0,children:[{id:"form-buttons-container",types:["container","buttons"],render:!0,children:u.metadata.form.buttons.button.map(x=>Fo(x,u,d))}]}}function ss(u,d){let x=te.getFields(u),o=te.getDrawers(u),h=o.map(t=>t.fields).flat(),c=o.map(t=>({types:["container","drawer"],id:`${t.select}-drawer`,headerId:`${t.select}-drawer-header`,footerId:`${t.select}-drawer-footer`,render:!1,drawerMeta:t,children:Pi(x.filter(e=>t.fields.includes(e.$name)),u)})),l=Ue(Se({},Ui),{elements:c});l.elements.push(Ll(u,d));let a={id:"form-body",types:["container","layout","body"],render:!0,children:[...u.metadata?.form?.page?.filter(t=>t.field)?.map(t=>t.$noname||!te.getMessage(t.$name,u)?Pi(t.field,u,h):ns(t,u,h)).flat()||[],...u.metadata?.form?.field?.length?Pi(u.metadata.form.field,u,h):[]]};return l.elements.push(a),u.metadata?.form?.buttons?.button&&l.elements.push(Bl(u,d)),u.metadata?.summary&&l.elements.push(ko(u)),l}function _i(u,d=o=>!0,x=o=>!0){return[...u.filter(d),...u.filter(o=>o.children?.length>0).filter(x).map(o=>_i(o.children,d)).flat()]}function yn(u,...d){return _i(u,x=>tt(x,...d))}function Ni(u,d,x){if(!u||!d.length)return null;yn(d,"container").forEach(l=>l.children.forEach(a=>a._parent=l));let h=()=>d.forEach(l=>delete l._parent),c=u._parent;for(;c;){if(x(c))return h(),c;c=c._parent}return h(),null}function Ct(u,d=o=>!0,x=o=>!0){for(let o of u){if(d(o))return o;if(!x(o))continue;let h=Ct(o.children||[],d,x);if(h)return h}}function Ci(u,...d){return Ct(u,x=>tt(x,...d))}var Ui={formId:"",headerId:"",footerId:"",loading:!0,elements:[],generalError:"",place:"standard",scrollToElement:""};function wn(u,d,x){if(!u.ui&&!u.doc)return Ui;let o=u.ui?Hr(u.ui):ss(u.doc,d.place);o.place=d.place,o.loading=d.loading,o.formId=d.id,o.headerId=`${d.id}-header`,o.footerId=`${d.id}-footer`,o.generalError=d.generalError,o.scrollToElement=d.scrollToElement;let h=x||Object.keys(d);function c(i){return h.includes(i)}let l=Object.values(d.ifElseShadow).flat(),a=d.ifElseActualHidden,t=Ci(o.elements,"auxiliary","summary");_i(o.elements).forEach(e);function e(i){if(c("place")&&tt(i,"container","layout","footer")&&(i.stickyBottom=["standard","drawer","filter"].includes(d.place)),tt(i,"field")){let r=i;c("focus")&&d.focusHint&&(window.innerWidth<500||window.innerHeight<500||(r.showHint=r.name===d.focus&&!r.error?.show)),c("ifElseShadow")&&(r.disabled=l.includes(r.name)),c("errors")&&(r.error=d.errors[i.name])}if(c("openPages")&&(tt(i,"container","page")&&(i.isOpen=d.openPages.includes(i.name)),tt(i,"auxiliary","summary")&&i.pages.forEach(r=>r.isOpen=d.openPages.includes(r.name))),c("isBaseMode")&&(tt(i,"auxiliary","mode-switch")&&(i.value=d.isBaseMode?"base":"extended"),tt(i,"auxiliary","summary")&&(i.render=!d.isBaseMode),tt(i,"container","page")&&(i.renderOnlyChildren=d.isBaseMode)),c("touchedSpawns")&&tt(i,"container","spawn")&&(i.touched=d.touchedSpawns.includes(i.id)),c("drawer")&&tt(i,"container","drawer")&&(i.render=d.drawer===i.drawerMeta.select),c("drawerEntities")&&tt(i,"field","select")&&i.name in d.drawerEntities&&i.updateDrawerEntity(d.drawerEntities[i.name]),i.name&&(c("ifElseHidden")||c("isBaseMode"))){let r=Ni(i,o.elements,g=>tt(g,"container","drawer")),s=tt(i,"auxiliary","summary")||i.isBase===!1&&!r,p=d.isBaseMode&&s;if(i.render=!(a.includes(i.name)||p),t){let g=t.pages.find(C=>C.name===i.name)||t.pages.map(C=>C.fields).flat().find(C=>C.name===i.name);g&&(g.render=i.render)}}}return yn(o.elements,"container","page").forEach(i=>{i.children?.every(r=>!r.render)&&(i.render=!1)}),o}function _n(u,d,x){let o={};for(let[h,c]of Object.entries(u))d[h]&&(o[h]=d[h](c,x));return o}var or={id:"",ifElseHidden:{},ifElseActualHidden:[],ifElseShadow:{},ifElseDrawer:{},touchedSpawns:[],place:"standard",isBaseMode:!1,loading:!1,focus:"",openPages:[],errors:{},generalError:"",drawer:null,drawerEntities:{},focusHint:!1,scrollToElement:"",dismissedBannersIds:[],mixedValues:{}};function sr(u,d){let x=[];for(let o of d){if(x.includes(o))continue;let h=u[o];h&&x.push(...h)}return x}function as(u){return Ct(u,d=>d.name==="apply"&&d.types[0]==="button"&&d.getServerMeta().$type===ht.SetValues,d=>d.render)}function us(u,d){let x=Se({},d);if(!u||!x.metadata?.form)return x;let o=x.metadata.form.page?[...x.metadata.form.page]:void 0,h=x.metadata.form.field?ls(u.metadata.form.field,x.metadata.form.field):void 0;return h&&(x.messages=cs(h,u,x)),o&&o.forEach(c=>{let l=u.metadata?.form?.page?.find(a=>a.$name===c.$name);!l||!c.field?.length||(c.field=ls(l.field,c.field),x.messages=cs(c.field,u,x))}),x.metadata=Ue(Se({},x.metadata),{form:Ue(Se({},x.metadata.form),{field:h,page:o})}),x}function ls(u,d){let x=[...d],o=d.reduce((h,c)=>(c.$multiple_group&&(h[c.$multiple_group]||=[],h[c.$multiple_group].push(c)),h),{});return Object.values(o).forEach(h=>{let c=h[0].$multiple_group,l=u.filter(e=>e.$multiple_group.replace(/\d+$/,"")===c&&h.some(n=>n.$name===e.$name.replace(/\d+$/,""))),a=h[0],t=x.indexOf(a);x.splice(t,h.length,...l)}),x}function cs(u,d,x){return Ue(Se({},x.messages),{msg:Se(Se({},x.messages.msg),u.reduce((o,h)=>{!x.messages.msg[h.$name]&&d.messages.msg[h.$name]&&(o[h.$name]=d.messages.msg[h.$name]);let c=`multiple_group_${h.$multiple_group}`;return h.$multiple_group&&!x.messages.msg[c]&&d.messages.msg[c]&&(o[c]=d.messages.msg[c]),o},{}))})}function hs(u,d){let x=Ct(u,o=>o.types[1]==="drawer");return!!(x&&Ct([x],o=>o===d))}var ds=(()=>{let d=class d{constructor(){this.tabService=kt(eo),this.cache=new Map,this.listenTabEvents()}listenTabEvents(){this.tabService.tabEvents$.pipe(ze(o=>["close","update"].includes(o.type))).subscribe(o=>{let h=this.getId(o.tab);this.clearCache(h)})}getId(o){return`dynamic-form-tab-${o.id}-func-${o.func}`.split(".").join("-")}clearCache(o){this.cache.delete(o)}getCache(o){return this.cache.get(o)}setCache(o,h){this.cache.set(o,h)}};d.\u0275fac=function(h){return new(h||d)},d.\u0275prov=li({token:d,factory:d.\u0275fac,providedIn:"root"});let u=d;return u})();var Me=(()=>{let d=class d{get saveBtn(){return as(this.UI$.value.elements)}constructor(o,h,c,l,a,t){this.apiService=o,this.httpBaseService=h,this.keydownService=c,this.destroyRef=l,this.formCacheService=a,this.appService=t,this.desktop=this.appService?.desktop,this.doc$=new Fe(null),this.options$=new Fe(or),this.docHelpers$=new Fe(null),this.UI$=new Fe(Ui),this.model$=new Fe({}),this.destroy$=new ni,this.saveCache=!0,this.lockButtons$=new Fe(0),this.postponeLoader=!1,this.headerClick=new Ge,this.buttonClick=new Ge,this.linkClick=new Ge,this.wizardClick=new Ge,this.toolbarButtonClick=new Ge}lockButtons(){this.lockButtons$.next(this.lockButtons$.value+1)}unlockButtons(){let o=this.lockButtons$.value;this.lockButtons$.next(o?o-1:0)}init(o,h,c){["standard","report"].includes(c)&&this.startCaching(h);let a=this.formCacheService?.getCache(h);a?this.initFromCache(a):this.initFromDoc(o,h,c),this.startViewStream(),a||this.applyDocError(o),this.startIntervalSetvalues(),this.listenEnter()}startIntervalSetvalues(){let o=Object.entries(this.docHelpers$.value.setValues).filter(([h,c])=>+c);for(let[h,c]of o)Ji(+c*1e3).pipe(nt(this.destroyRef)).subscribe(()=>this.applySetValues(h))}initFromCache(o){let{doc:h,ui:c,docHelpers:l,model:a,options:t}=o;this.doc$.next(h),this.UI$.next(c),this.docHelpers$.next(l),this.model$.next(a),this.options$.next(t)}initFromDoc(o,h,c,l=!1){let a=us(this.doc$.value,o);this.doc$.next(a);let t=te.getFormModel(a);this.model$.next(t);let e=te.getNewDynamicFormDocHelpers(a,this.desktop);this.docHelpers$.next(e);let n=e.ifElseDetectors,i=_n(t,n,"hide"),r=this.options$.value,s=Ue(Se({},r),{id:h,place:c,openPages:l?r.openPages:e.openPages,isBaseMode:l?r.isBaseMode:e.baseFields.size>0,focusHint:this.desktop?.$forcehint==="yes",ifElseHidden:i,ifElseActualHidden:sr(i,e.controlNames),ifElseShadow:_n(t,n,"shadow"),ifElseDrawer:_n(t,n,"drawer"),mixedValues:te.getMixedValues(a),errors:or.errors});this.options$.next(s);let p=wn({doc:a},this.options$.value);this.UI$.next(p)}switchWizardStep(o){this.saveCache=!1,this.wizardClick.emit({func:o,model:this.model$.value})}applyDocError(o){return _t(this,null,function*(){let h="doc.error update";if(o.error){let c=o.error.$object,l=this.model$.value,a=te.getError(o),{ifElseActualHidden:t}=this.options$.value,e=Ct(this.UI$.value.elements,i=>i.name===c&&["input","password","date","textarea"].includes(i.types[1])),n=hs(this.UI$.value.elements,e);if(e&&c in l&&!t.includes(c)&&!n){let i=l[c];this.addChangeValidation(c,a,i),yield this.validate(c,i);let r=this.getBlockingErrorElement();if(r){this.update({spotField:r,info:`Submit handler caught error on "${r.name}"`});return}}else yield this.update({generalError:a,info:h})}else this.options$.value.generalError&&(yield this.update({generalError:null,info:h}))})}validateRequired(o){return _t(this,null,function*(){let{ifElseActualHidden:h,ifElseShadow:c,mixedValues:l,errors:a}=this.options$.value,{notpropControlNames:t}=this.docHelpers$.value,{elements:e}=this.UI$.value;o&&(e=[o]);let n=Object.values(h).flat(),i=Object.values(c).flat(),r=this.model$.value,s=_i(e,p=>p.types[0]==="field"&&p.required&&(!r[p.name]||p.types[1]==="file"&&!r[p.name]?.files?.length)&&!n.includes(p.name)&&!i.includes(p.name)&&!a[p.name]?.show&&!t.includes(p.name)&&!(p.name in l),p=>!h.includes(p.name));for(let p=0;p<s.length;p++){let g=s[p];yield this.validate(g.name,r[g.name],!0,p===0)}})}getBlockingErrorElement(o){let{ifElseHidden:h}=this.options$.value,{notpropControlNames:c}=this.docHelpers$.value,{elements:l}=this.UI$.value;o&&(l=[o]);let a=Object.values(h).flat();return Ct(l,t=>t.types[0]==="field"&&!a.includes(t.name)&&!!t.error&&!c.includes(t.name),t=>!a.includes(t.name))}fieldValue$(o){return this.model$.pipe(Qe(h=>h[o]))}update(o){return _t(this,null,function*(){this.lockButtons();try{let{errors:h,ifElseHidden:c,ifElseDrawer:l,ifElseShadow:a,openPages:t,isBaseMode:e,drawerEntities:n,touchedSpawns:i,dismissedBannersIds:r,mixedValues:s}=this.options$.value,{controlNames:p}=this.docHelpers$.value||{},g={};if(o.doc&&(this.doc$.next(o.doc),o.rebuildHelpers&&this.docHelpers$.next(te.getNewDynamicFormDocHelpers(o.doc,this.desktop)),o.enhanceModel)){let C=te.getFormModel(o.doc);this.model$.next(Se(Se({},C),this.model$.value))}if(o.name&&"value"in o&&(o.postponeLoader&&(this.postponeLoader=!0),o.value===void 0?(delete this.model$.value[o.name],this.model$.next(Se({},this.model$.value))):this.model$.next(Ue(Se({},this.model$.value),{[o.name]:o.value})),o.name in s&&s[o.name]!==o.value&&(delete s[o.name],g.mixedValues=s),this.updateSpawnsTouchedState(o.name),o.validate!==!1&&(yield this.validate(o.name,o.value)),this.applyIfElse(o.name,o.value),o.allowSetValues!==!1&&(yield this.applySetValues(o.name))),o.removeFromModel){let C=Se({},this.model$.value);o.removeFromModel.forEach(k=>{delete C[k],k in h&&(g.errors||(g.errors=Se({},h)),g.errors[k]=null)}),this.model$.next(C)}if(o.setValuesClick&&(yield this.applySetValues(o.setValuesClick.name,o.setValuesClick.additionalParams)),o.togglePage){let C;t.includes(o.togglePage)?C=t.filter(k=>k!==o.togglePage):C=[...t,o.togglePage],g.openPages=C}if(o.touchSpawn&&(g.touchedSpawns=[...i,o.touchSpawn]),o.untouchSpawn&&(g.touchedSpawns=i.filter(C=>C!==o.untouchSpawn)),"loading"in o&&(g.loading=o.loading),o.place&&(g.place=o.place),"isBaseMode"in o&&(g.isBaseMode=o.isBaseMode),"generalError"in o&&(g.generalError=o.generalError),"drawer"in o&&(g.drawer=o.drawer),"focus"in o&&(g.focus=o.focus),"scrollToElement"in o&&(g.scrollToElement=o.scrollToElement),"drawerEntity"in o&&(g.drawerEntities=Se(Se({},n),o.drawerEntity)),o.ifElseHidden&&(g.ifElseHidden=Se(Se({},c),o.ifElseHidden),g.ifElseActualHidden=sr(g.ifElseHidden,p)),o.ifElseShadow&&(g.ifElseShadow=Se(Se({},a),o.ifElseShadow)),o.ifElseDrawer){g.ifElseDrawer=Se(Se({},l),o.ifElseDrawer);let C=Object.entries(g.ifElseDrawer).filter(([k,m])=>m?.length>0).map(([k,m])=>k).find(k=>!(k in n));C&&(g.drawer=C)}if(o.error&&(g.errors=Se(Se({},h),o.error)),o.spotField){let C=o.spotField,{elements:k}=this.UI$.value;g.scrollToElement=C.id,h[C.name]&&(g.errors=Ue(Se({},h),{[C.name]:Ue(Se({},C.error),{show:!0})}));let m=Ni(C,k,b=>b.types[0]==="container"&&b.types[1]==="page");m?.isOpen===!1&&(g.openPages=[...t,m.name]),e&&!C.isBase&&(g.isBaseMode=!1)}if(o.dismissBanner&&(g.dismissedBannersIds=[...r,o.dismissBanner]),o.clientValidate){let C=this.model$.value[o.clientValidate];this.validate(o.clientValidate,C,!0)}Object.keys(g).length&&this.options$.next(Se(Se({},this.options$.value),g))}finally{this.unlockButtons()}})}updateSpawnsTouchedState(o){let h=this.UI$.value.elements.find(c=>c.types[0]==="container"&&c.types[1]==="spawn"&&!!Ct(c.children,l=>l.name===o));h&&!this.options$.value.touchedSpawns.includes(h.id)&&this.update({touchSpawn:h.id})}handleButtonClick(o,h,c){return _t(this,null,function*(){if(this.postponeLoader&&this.lockButtons$.value&&this.update({loading:!0}),this.postponeLoader=!1,[ht.Blank,ht.Next,ht.Ok,ht.Submit,ht.SetValues].includes(o.$type)){if(yield ai(this.lockButtons$.pipe(ze(e=>!e))),o.$type===ht.SetValues){this.update({setValuesClick:{name:o.$name,additionalParams:h}});return}yield this.validateRequired();let t=this.getBlockingErrorElement();if(t){this.update({spotField:t,info:`Submit handler caught error on "${t.name}"`});return}this.doc$.value.metadata.form.$wizard&&(this.saveCache=!1)}let a=Se({},this.model$.value);Object.keys(this.options$.value.mixedValues).forEach(t=>delete a[t]),this.buttonClick.emit({button:o,model:a,additionalParams:h,entityName:c})})}getMessage(o){return te.getMessage(o,this.doc$.value)}destroy(){this.destroy$.next(),this.destroy$.complete(),this.saveCache||this.formCacheService?.clearCache(this.options$.value.id)}validate(o,h,c=!1,l){return _t(this,null,function*(){let a=yield this.getFieldError(o,h,c),t=this.options$.value.errors?.[o];l&&a&&(a.focus=!0);let e=a?.text===t?.text&&a?.show===t?.show,n=this.getPassmatchFieldName(o),i=yield this.getFieldError(n,this.model$.value[n],!0);return!e&&!(t?.fromBackend&&c)&&this.update({error:{[o]:a}}),i&&this.update({error:{[n]:i}}),!!a})}addChangeValidation(o,h,c){let l=this.docHelpers$.value.validation;l[o]||(l[o]=[]);let a=l[o][0];if(a?.type==="change"){if(a.text===h)return;a.text=h,a.changeFrom=c}else l[o].unshift({type:"change",changeFrom:c,text:h});for(let t of Object.keys(l))t!==o&&(l[t]=l[t]?.filter(e=>e.type!=="change"));this.docHelpers$.next(Se({},this.docHelpers$.value))}startCaching(o){zt([this.doc$,this.docHelpers$,this.UI$,this.model$,this.options$]).pipe(ze(h=>h.every(c=>!!c)),nt(this.destroyRef)).subscribe(([h,c,l,a,t])=>{this.formCacheService?.setCache(o,{doc:h,docHelpers:c,ui:l,model:a,options:t})})}startViewStream(){this.doc$.pipe(xr(1),nt(this.destroyRef)).subscribe(o=>{this.UI$.next(wn({doc:o},this.options$.value)),this.applyDocError(o)}),this.options$.pipe(br(),nt(this.destroyRef)).subscribe(([o,h])=>{let c=Object.entries(h).filter(([l,a])=>a!==o[l]);if(c.length){let l=c.map(a=>a[0]);this.UI$.next(wn({ui:this.UI$.value},h,l))}})}getFieldError(o,h,c=!1){return _t(this,null,function*(){let l=this.docHelpers$.value.validation[o];if(!l)return null;for(let a of l){let t,e=a.text;switch(a.type){case"change":t=h===a.changeFrom;break;case"required":t=(h===""||a.file&&!h?.files)&&!(o in this.options$.value.mixedValues);break;case"duplicates":let n=h.split(/\s+/);t=n.length!==new Set(n).size;break;case"pass-match":t=this.model$.value[a.passwordField]!==h;break;case"backend":if(c)continue;e=yield this.getBackendValidationError(o,h,a),t=typeof e=="string";break}if(t)return e===null?null:{text:e,show:!0,focus:a.type==="change",fromBackend:a.type==="backend"}}return null})}getPassmatchFieldName(o){let h=this.docHelpers$.value.validation;return h?Object.keys(h).find(c=>h[c]?.some(l=>l.passwordField===o)):null}getBackendValidationError(o,h,c){return _t(this,null,function*(){let l=c.params.tconvert==="bytes"||c.params.tconvert==="money"?[h]:h?.split(/\s+/)||[];for(let a of l){let t=`backend validation of "${o}"`;this.update({loading:!this.postponeLoader,info:t});let e=yield ai(this.httpBaseService.get(Ue(Se({},c.params),{value:a})));this.update({loading:!1,info:t});let n=te.getError(e),i=e.value?.$;if(i&&i!==a){let s=this.model$.value[o].replace(a,i);setTimeout(()=>{this.update({name:o,value:s,validate:!1,allowSetValues:!1,info:`new value from backend validator for "${o}"`})})}if(n)return n.includes(" '' ")&&(n=n.replace(" '' ",` '${te.getMessage(o,this.doc$.value)}' `)),n}return null})}applyIfElse(o,h){let c={},l=this.docHelpers$.value.ifElseDetectors[o];if(!l)return;let{ifElseHidden:a,ifElseShadow:t,ifElseDrawer:e}=this.options$.value,n=l(h,"hide");n.toString()!==(a[o]||[]).toString()&&(c.ifElseHidden={[o]:n},n.forEach(s=>{(this.model$.value[s]?.files||this.model$.value[s]?.folders)&&(c.name=s,c.value=void 0)}));let i=l(h,"shadow");i.toString()!==(t[o]||[]).toString()&&(c.ifElseShadow={[o]:i});let r=l(h,"drawer");r.toString()!==(e[o]||[]).toString()&&(c.ifElseDrawer={[o]:r}),!Wr(c)&&(c.info=`if-else by "${o}"`,this.update(c))}applySetValues(o,h){return _t(this,null,function*(){let c=this.docHelpers$.value.setValues[o],l=te.getControls(this.doc$.value).find(m=>m.$name===o),a=!l||l?.$showsverror==="yes",t=this.docHelpers$.value.setValuesMinLength[o]||0,e=this.model$.value[o],n=+c,i=typeof e=="string"&&e.length<t;if(!c||i)return;let r=`setValues by "${o}"`,s=this.doc$.value;!n&&!this.postponeLoader&&this.update({loading:!0,info:r});let p=yield ai(this.apiService.setValues({field:o,model:Se(Se({},this.model$.value),h),elid:te.elid(s),plid:te.plid(s),func:s.$func}));a||delete p.error,this.update({loading:!1,doc:te.mergeSetValues(this.doc$.value,p),rebuildHelpers:!0,info:r});let g=Se(Se({},this.getSelectsModelPatch(p.slist)),te.getFormModel(p,!1)),C=this.model$.value,k=Object.entries(g).filter(([m,b])=>C[m]!==b);for(let[m,b]of k)yield this.update({name:m,value:b,validate:!1,allowSetValues:!1,error:{[m]:null},info:r});if(!["final","finalblock"].includes(c))for(let[m]of k)yield this.applySetValues(m)})}getSelectsModelPatch(o){let h={};if(o){let c=te.getFields(this.doc$.value).filter(l=>l.select).map(l=>l.select).flat();o.forEach(l=>{let a=c.find(n=>n.$name===l.$name);if(!a)return;let t=l.val?.map(n=>n.$key),e=(this.model$.value[a.$name]||"").split(",");e.every(n=>t.includes(n))||(a.$type===mi.Multiple?h[a.$name]=e.filter(n=>t.includes(n)).join(","):h[a.$name]=t[0])})}return h}listenEnter(){this.keydownService.listen$({code:"Enter",context:"form-submit"}).pipe(ze(()=>{let{loading:o,drawer:h}=this.options$.value,c=document.activeElement?.matches("[data-df-field]:not(textarea)");return!o&&!h&&c}),nt(this.destroyRef)).subscribe(()=>{let o=Ct(this.UI$.value.elements,h=>h.isSubmit,h=>h.render);o&&setTimeout(()=>{this.handleButtonClick(o.getServerMeta())})})}};d.\u0275fac=function(h){return new(h||d)(Kt(Mi),Kt(Vr),Kt(cn),Kt(At),Kt(ds,8),Kt(sn,8))},d.\u0275prov=li({token:d,factory:d.\u0275fac});let u=d;return u})();var yi=(()=>{let d=class d{constructor(o,h){this.dynamicFormService=o,this.destroyRef=h,this.element=null,this.clickState$=new Fe(!1),this.mousedown$=Wi(window,"mousedown").pipe(nt(this.destroyRef)),this.mouseup$=Wi(window,"mouseup").pipe(nt(this.destroyRef)),this.touchstart$=Wi(window,"touchstart").pipe(nt(this.destroyRef)),this.touchend$=Wi(window,"touchend").pipe(nt(this.destroyRef)),this.mousedown$.subscribe(c=>this.onClickStart(c.target)),this.touchstart$.subscribe(c=>this.onClickStart(c.target)),this.mouseup$.subscribe(()=>this.onClickEnd()),this.touchend$.subscribe(()=>setTimeout(()=>this.onClickEnd()))}handleModelChange(o,h,c=!0){return _t(this,null,function*(){let l=this.isButtonDown(),a=this.isActionButtonDown(),t=a;l&&!a&&(yield this.waitForClick()),this.dynamicFormService.update({name:o,value:h,validate:c,postponeLoader:t})})}handleBlur(o,h){return _t(this,null,function*(){let c=this.isBlurFromButtonClick(h);this.isBlurFromActionButtonClick(h)||(c&&(yield this.waitForClick()),this.dynamicFormService.update({clientValidate:o}))})}onClickStart(o){this.element=o,this.clickState$.next(!0)}onClickEnd(){this.element=null,this.clickState$.next(!1)}isBlurFromButtonClick(o){let h=o.relatedTarget;return o.type==="blur"&&this.element&&(h?.nodeName.toLowerCase()==="button"||!!h?.closest("button"))}isBlurFromActionButtonClick(o){let h=o.relatedTarget;return o.type==="blur"&&!!(h?.closest("isp-form-button")||h?.closest("isp-form-view-button"))}isButtonDown(){let o=this.element;return this.element&&(o.nodeName.toLowerCase()==="button"||!!o.closest("button"))}isActionButtonDown(){let o=this.element;return this.element&&!!(o.closest("isp-form-button")||o.closest("isp-form-view-button"))}waitForClick(){return ai(this.clickState$.pipe(ze(o=>!o),Qe(()=>null)))}};d.\u0275fac=function(h){return new(h||d)(Kt(Me),Kt(At))},d.\u0275prov=li({token:d,factory:d.\u0275fac});let u=d;return u})();var Pl=["hintTooltip"],Nl=["*"],Vl=()=>["right","bottom","top"],Hl=()=>({width:"15px",height:"15px"}),Wl=()=>["radio","file"],zl=()=>["filter","external"],jl=()=>["input","textarea","slider","password","select"];function Ul(u,d){if(u&1&&(Z(0,"div",6,1),oe(2,"isp-svg-icon",7),X()),u&2){let x=U(2);R("ispTooltip",x.element.hint)("ispTooltipDirectionOrder",Re(8,Vl))("ispTooltipViewportSelector",x.tooltipDropdownParams.viewportSelector)("ispTooltipScrollSelector",x.tooltipDropdownParams.scrollSelector)("ispTooltipLimitHeight",!1)("ispTooltipViewportLimitSelectors",x.tooltipDropdownParams.viewportLimitSelectors)("ispTooltipCssVars",x.tooltipDropdownParams.cssVars),z(2),R("customStyle",Re(9,Hl))}}function Gl(u,d){if(u&1&&J(0,Ul,3,10,"div",5),u&2){let x=U();R("ngIf",x.element.hint)}}function Kl(u,d){if(u&1&&oe(0,"isp-form-view-header-layout-container",11),u&2){let x=U(3);R("element",x.element)("id",x.UI.headerId)}}function Yl(u,d){if(u&1&&oe(0,"isp-form-view-body-layout-container",12),u&2){let x=U(3);R("element",x.element)}}function Ql(u,d){if(u&1&&oe(0,"isp-form-view-footer-layout-container",13),u&2){let x=U(3);R("element",x.element)("id",x.UI.footerId)("error",x.UI.generalError)}}function Zl(u,d){if(u&1&&(ke(0,2),J(1,Kl,1,2,"isp-form-view-header-layout-container",9)(2,Yl,1,1,"isp-form-view-body-layout-container",4)(3,Ql,1,3,"isp-form-view-footer-layout-container",10),Ee()),u&2){let x=U(2);R("ngSwitch",x.element.types[2]),z(),R("ngSwitchCase","header"),z(),R("ngSwitchCase","body"),z(),R("ngSwitchCase","footer")}}function Xl(u,d){if(u&1&&oe(0,"isp-form-view-page-container",12),u&2){let x=U(2);R("element",x.element)}}function ql(u,d){if(u&1&&oe(0,"isp-form-view-buttons-container",12),u&2){let x=U(2);R("element",x.element)}}function Jl(u,d){if(u&1&&oe(0,"isp-form-view-drawer-container",12),u&2){let x=U(2);R("element",x.element)}}function ec(u,d){if(u&1&&oe(0,"isp-form-view-border-container",12),u&2){let x=U(2);R("element",x.element)}}function tc(u,d){if(u&1&&(Z(0,"isp-form-view-titled-container",12),ct(1),X()),u&2){let x=U(2);R("element",x.element)}}function ic(u,d){if(u&1&&(Z(0,"isp-form-view-vertical-group-container",12),Lt(1,14),X()),u&2){let x=U(2),o=Ve(1);R("element",x.element),z(),R("ngTemplateOutlet",o)}}function nc(u,d){if(u&1&&oe(0,"isp-form-view-text-with-link-container",15),u&2){let x=U(2);R("tooltipDropdownParams",x.tooltipDropdownParams)("element",x.element)}}function rc(u,d){if(u&1&&oe(0,"isp-form-view-spawn-container",12),u&2){let x=U(2);R("element",x.element)}}function oc(u,d){if(u&1&&(ke(0,2),J(1,Zl,4,4,"ng-container",3)(2,Xl,1,1,"isp-form-view-page-container",4)(3,ql,1,1,"isp-form-view-buttons-container",4)(4,Jl,1,1,"isp-form-view-drawer-container",4)(5,ec,1,1,"isp-form-view-border-container",4)(6,tc,2,1,"isp-form-view-titled-container",4)(7,ic,2,2,"isp-form-view-vertical-group-container",4)(8,nc,1,2,"isp-form-view-text-with-link-container",8)(9,rc,1,1,"isp-form-view-spawn-container",4),Ee()),u&2){let x=U();R("ngSwitch",x.element.types[1]),z(),R("ngSwitchCase","layout"),z(),R("ngSwitchCase","page"),z(),R("ngSwitchCase","buttons"),z(),R("ngSwitchCase","drawer"),z(),R("ngSwitchCase","border"),z(),R("ngSwitchCase","titled"),z(),R("ngSwitchCase","verticalgroup"),z(),R("ngSwitchCase","textwithlink"),z(),R("ngSwitchCase","spawn")}}function sc(u,d){if(u&1&&oe(0,"isp-form-view-input-field",12),u&2){let x=U(2);R("element",x.element)}}function ac(u,d){if(u&1&&oe(0,"isp-form-view-password-field",12),u&2){let x=U(2);R("element",x.element)}}function lc(u,d){if(u&1&&(Z(0,"isp-form-view-file-field",12),Lt(1,14),X()),u&2){let x=U(2),o=Ve(1);R("element",x.element),z(),R("ngTemplateOutlet",o)}}function cc(u,d){if(u&1&&oe(0,"isp-form-view-checkbox-field",12),u&2){let x=U(2);R("element",x.element)}}function uc(u,d){if(u&1&&oe(0,"isp-form-view-select-field",20),u&2){let x=U(2);R("element",x.element)("dropdownParams",x.selectDropdownParams)}}function hc(u,d){if(u&1&&oe(0,"isp-form-view-date-field",20),u&2){let x=U(2);R("element",x.element)("dropdownParams",x.dateDropdownParams)}}function dc(u,d){if(u&1&&oe(0,"isp-form-view-textarea-field",12),u&2){let x=U(2);R("element",x.element)}}function pc(u,d){if(u&1&&oe(0,"isp-form-view-code-field",12),u&2){let x=U(2);R("element",x.element)}}function fc(u,d){if(u&1&&(Z(0,"isp-form-view-radio-field",21),Lt(1,14),X()),u&2){let x=U(2),o=Ve(1);R("element",x.element)("tooltipDropdownParams",x.tooltipDropdownParams),z(),R("ngTemplateOutlet",o)}}function mc(u,d){if(u&1&&oe(0,"isp-form-view-slider-field",12),u&2){let x=U(2);R("element",x.element)}}function gc(u,d){if(u&1&&oe(0,"isp-form-view-tree-field",12),u&2){let x=U(2);R("element",x.element)}}function vc(u,d){if(u&1&&(Z(0,"div",22),Lt(1,14),X()),u&2){let x=U(2),o=Ve(1);Te("hint-wrapper_top",Re(3,jl).includes(x.element.types[1])||x.element.isFullWidth),z(),R("ngTemplateOutlet",o)}}function yc(u,d){if(u&1&&(ke(0,2),Z(1,"div",16),J(2,sc,1,1,"isp-form-view-input-field",4)(3,ac,1,1,"isp-form-view-password-field",4)(4,lc,2,2,"isp-form-view-file-field",4)(5,cc,1,1,"isp-form-view-checkbox-field",4)(6,uc,1,2,"isp-form-view-select-field",17)(7,hc,1,2,"isp-form-view-date-field",17)(8,dc,1,1,"isp-form-view-textarea-field",4)(9,pc,1,1,"isp-form-view-code-field",4)(10,fc,2,3,"isp-form-view-radio-field",18)(11,mc,1,1,"isp-form-view-slider-field",4)(12,gc,1,1,"isp-form-view-tree-field",4),X(),J(13,vc,2,4,"div",19),Ee()),u&2){let x=U();R("ngSwitch",x.element.types[1]),z(),Te("field-wrapper_full-width",x.element.isFullWidth||x.element.types[0]==="field"&&x.element.types[1]==="file"),z(),R("ngSwitchCase","input"),z(),R("ngSwitchCase","password"),z(),R("ngSwitchCase","file"),z(),R("ngSwitchCase","checkbox"),z(),R("ngSwitchCase","select"),z(),R("ngSwitchCase","date"),z(),R("ngSwitchCase","textarea"),z(),R("ngSwitchCase","code"),z(),R("ngSwitchCase","radio"),z(),R("ngSwitchCase","slider"),z(),R("ngSwitchCase","tree"),z(),R("ngIf",x.element.hint&&!Re(15,Wl).includes(x.element.types[1])&&!Re(16,zl).includes(x.UI.place))}}function wc(u,d){if(u&1&&oe(0,"isp-form-view-header-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function _c(u,d){if(u&1&&oe(0,"isp-form-view-wizard-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function Cc(u,d){if(u&1&&oe(0,"isp-form-view-mode-switch-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function bc(u,d){if(u&1&&(Z(0,"isp-form-view-text-auxiliary",12),Lt(1,14),X()),u&2){let x=U(2),o=Ve(1);R("element",x.element),z(),R("ngTemplateOutlet",o)}}function xc(u,d){if(u&1&&oe(0,"isp-form-view-image-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function Ac(u,d){if(u&1&&oe(0,"isp-form-view-link-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function $c(u,d){if(u&1&&oe(0,"isp-form-view-list-auxiliary",24),u&2){let x=U(2);R("element",x.element)}}function Sc(u,d){if(u&1&&oe(0,"isp-form-view-tabs-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function kc(u,d){if(u&1&&oe(0,"isp-form-view-summary-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function Ec(u,d){if(u&1&&oe(0,"isp-form-view-toolbar-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function Fc(u,d){if(u&1&&oe(0,"isp-form-view-frame-auxiliary",12),u&2){let x=U(2);R("element",x.element)}}function Mc(u,d){if(u&1&&(Z(0,"isp-form-view-time-auxiliary",12),Lt(1,14),X()),u&2){let x=U(2),o=Ve(1);R("element",x.element),z(),R("ngTemplateOutlet",o)}}function Tc(u,d){if(u&1&&(ke(0,2),J(1,wc,1,1,"isp-form-view-header-auxiliary",4)(2,_c,1,1,"isp-form-view-wizard-auxiliary",4)(3,Cc,1,1,"isp-form-view-mode-switch-auxiliary",4)(4,bc,2,2,"isp-form-view-text-auxiliary",4)(5,xc,1,1,"isp-form-view-image-auxiliary",4)(6,Ac,1,1,"isp-form-view-link-auxiliary",4)(7,$c,1,1,"isp-form-view-list-auxiliary",23)(8,Sc,1,1,"isp-form-view-tabs-auxiliary",4)(9,kc,1,1,"isp-form-view-summary-auxiliary",4)(10,Ec,1,1,"isp-form-view-toolbar-auxiliary",4)(11,Fc,1,1,"isp-form-view-frame-auxiliary",4)(12,Mc,2,2,"isp-form-view-time-auxiliary",4),Ee()),u&2){let x=U();R("ngSwitch",x.element.types[1]),z(),R("ngSwitchCase","header"),z(),R("ngSwitchCase","wizard"),z(),R("ngSwitchCase","mode-switch"),z(),R("ngSwitchCase","text"),z(),R("ngSwitchCase","image"),z(),R("ngSwitchCase","link"),z(),R("ngSwitchCase","list"),z(),R("ngSwitchCase","form-tabs"),z(),R("ngSwitchCase","summary"),z(),R("ngSwitchCase","toolbar"),z(),R("ngSwitchCase","frame"),z(),R("ngSwitchCase","time")}}function Dc(u,d){if(u&1&&oe(0,"isp-form-view-button",12),u&2){let x=U();R("element",x.element)}}var pt=(()=>{let d=class d{get fieldWidth(){return this.element?.isFullWidth?"100%":this.UI.place==="filter"?"280px":"400px"}set element(o){if(this._element=o,o.types[0]!=="field")return;if(o.showHint){this.hintTooltip?.show(),this.hintTooltip?.updateDropdownPosition();return}this.hintTooltip?.hide()}get element(){return this._element}get UI(){return this.dynamicFormService.UI$.value}get isField(){return this.element?.types?.[0]==="field"}get id(){return this.element?.id}constructor(o){this.dynamicFormService=o}get commonDropdownParams(){let o=Ni(this.element,this.UI.elements,c=>c.types[0]==="container"&&c.types[1]==="drawer"),h;return o?h={viewportSelector:`#${o.id}`,popupClasses:"",ignoreChildren:!1,viewportLimitSelectors:[`#${o.headerId}`],scrollSelector:`#${o.id}`,resizeSelector:"#layout-main-page",cssVars:{"--isp-dropdown-z-index":"var(--isp-dynamic-form-dropdown-z-index_place_drawer)"}}:h={viewportSelector:`#${this.UI.formId}`,popupClasses:"",ignoreChildren:!1,viewportLimitSelectors:[`#${this.UI.headerId}`],scrollSelector:`#${this.UI.formId}`,resizeSelector:"#layout-main-page",cssVars:{"--isp-dropdown-z-index":`var(--isp-dynamic-form-dropdown-z-index_place_${this.UI.place})`}},this.UI.place==="external"&&(h.viewportSelector="body",h.viewportLimitSelectors=[],h.scrollSelector="body",h.resizeSelector="body"),this.UI.place==="filter"&&(h.viewportSelector="#layout-main-page",h.viewportLimitSelectors=[]),h}get tooltipDropdownParams(){return this.commonDropdownParams}get selectDropdownParams(){let o=this.commonDropdownParams,h=this.UI.place==="filter"?"var(--isp-header-dropdown-z-index)":o.cssVars["--isp-dropdown-z-index"],c=Ue(Se({},o),{cssVars:Ue(Se({},o.cssVars),{"--isp-dynamic-form-select-dropdown-width":this.fieldWidth,"--isp-dropdown-z-index":h}),popupClasses:"isp-dynamic-form-select-popup",ignoreChildren:!0});return this.UI.place==="filter"&&(c.viewportSelector="body"),c}get dateDropdownParams(){return Ue(Se({},this.selectDropdownParams),{cssVars:Ue(Se({},this.selectDropdownParams.cssVars),{"--isp-dynamic-form-select-dropdown-width":"auto"}),popupClasses:"isp-datepicker-field-dropdown-popup"})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-element"]],viewQuery:function(h,c){if(h&1&&it(Pl,5),h&2){let l;qe(l=Je())&&(c.hintTooltip=l.first)}},hostVars:5,hostBindings:function(h,c){h&2&&(at("data-dynamic-form-element-id",c.id),Dt("--isp-field__min-width",c.fieldWidth),Te("isp-form-view-element_field",c.isField))},inputs:{element:"element"},ngContentSelectors:Nl,decls:7,vars:5,consts:[["hint",""],["hintTooltip","ispTooltip"],[3,"ngSwitch"],[3,"ngSwitch",4,"ngSwitchCase"],[3,"element",4,"ngSwitchCase"],["class","hint","ispTooltipPosition","bottom-middle",3,"ispTooltip","ispTooltipDirectionOrder","ispTooltipViewportSelector","ispTooltipScrollSelector","ispTooltipLimitHeight","ispTooltipViewportLimitSelectors","ispTooltipCssVars",4,"ngIf"],["ispTooltipPosition","bottom-middle",1,"hint",3,"ispTooltip","ispTooltipDirectionOrder","ispTooltipViewportSelector","ispTooltipScrollSelector","ispTooltipLimitHeight","ispTooltipViewportLimitSelectors","ispTooltipCssVars"],["name","banner2-icon",3,"customStyle"],[3,"tooltipDropdownParams","element",4,"ngSwitchCase"],[3,"element","id",4,"ngSwitchCase"],[3,"element","id","error",4,"ngSwitchCase"],[3,"element","id"],[3,"element"],[3,"element","id","error"],[3,"ngTemplateOutlet"],[3,"tooltipDropdownParams","element"],[1,"field-wrapper"],[3,"element","dropdownParams",4,"ngSwitchCase"],[3,"element","tooltipDropdownParams",4,"ngSwitchCase"],["class","hint-wrapper",3,"hint-wrapper_top",4,"ngIf"],[3,"element","dropdownParams"],[3,"element","tooltipDropdownParams"],[1,"hint-wrapper"],["class","ispui-scrollbar_gray",3,"element",4,"ngSwitchCase"],[1,"ispui-scrollbar_gray",3,"element"]],template:function(h,c){h&1&&(lt(),J(0,Gl,1,1,"ng-template",null,0,ut),ke(2,2),J(3,oc,10,10,"ng-container",3)(4,yc,14,17,"ng-container",3)(5,Tc,13,13,"ng-container",3)(6,Dc,1,1,"isp-form-view-button",4),Ee()),h&2&&(z(2),R("ngSwitch",c.element.types[0]),z(),R("ngSwitchCase","container"),z(),R("ngSwitchCase","field"),z(),R("ngSwitchCase","auxiliary"),z(),R("ngSwitchCase","button"))},styles:["[_nghost-%COMP%]{display:block}.isp-form-view-element_field[_nghost-%COMP%]{display:flex;align-items:center}.field-wrapper[_ngcontent-%COMP%]{width:fit-content}.field-wrapper_full-width[_ngcontent-%COMP%]{flex-grow:1}.hint-wrapper[_ngcontent-%COMP%]{flex-shrink:0;margin-left:10px}.hint-wrapper_top[_ngcontent-%COMP%]{align-self:flex-start;margin-top:10px}.hint[_ngcontent-%COMP%]{width:15px;height:15px}"],changeDetection:0});let u=d;return u})();var Lc=["*"];function Bc(u,d){u&1&&oe(0,"isp-loader",4),u&2&&R("loading",!0)}function Ic(u,d){if(u&1&&oe(0,"isp-form-view-element",6),u&2){let x=U().$implicit,o=U().ngIf,h=U();Te("summary",h.isSummary(x))("sticky-top",h.isHeader(x))("sticky-bottom",h.isFooter(x)&&o.place!=="report"),R("element",x)}}function Oc(u,d){if(u&1&&(ke(0),J(1,Ic,1,7,"isp-form-view-element",5),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}function Rc(u,d){if(u&1&&(ke(0),Z(1,"div",1),J(2,Bc,1,1,"isp-loader",2),be(3,"async"),X(),J(4,Oc,2,1,"ng-container",3),Ee()),u&2){let x=d.ngIf,o=U();z(2),R("ngIf",xe(3,3,o.loading$)===!0&&!o.hasDrawer&&x.place!=="filter"),z(2),R("ngForOf",x.elements)("ngForTrackBy",o.getElementId)}}var wv=(()=>{let d=class d{set doc(o){this.doc$.next(o)}set id(o){this.id$.next(o)}set place(o){this.place$.next(o)}set loading(o){this.dynamicFormService.update({loading:o,info:'outer "loading" param'})}get hasSummary(){return Ci(this.ui$.value.elements,"auxiliary","summary")?.render}constructor(o,h,c){this.dynamicFormService=o,this.host=h,this.destroyRef=c,this.doc$=new ni,this.id$=new ni,this.place$=new Fe(null),this.headerClick=this.dynamicFormService.headerClick,this.buttonClick=this.dynamicFormService.buttonClick,this.linkClick=this.dynamicFormService.linkClick,this.wizardClick=this.dynamicFormService.wizardClick,this.toolbarButtonClick=this.dynamicFormService.toolbarButtonClick,this.ui$=this.dynamicFormService.UI$,this.loading$=this.ui$.pipe(Qe(l=>l.loading),xi(50)),this.newFieldErrors$=this.dynamicFormService.options$.pipe(Ut((l,a)=>{if(!l.errors&&!a.errors)return!0;if(!l.errors||!a.errors)return!1;let t=Object.keys(l.errors),e=Object.keys(a.errors);return t.length!==e.length?!1:t.every(n=>e.includes(n)&&l.errors[n]===a.errors[n])}),ze(l=>l.errors&&!!Object.keys(l.errors).length),Qe(l=>l.errors)),zt([this.doc$,this.id$,this.place$]).pipe(ze(l=>l.every(a=>!!a)),jt(1),ri(([l,a,t])=>{this.host?.nativeElement.setAttribute("id",a),this.host?.nativeElement.classList.add(`isp-dynamic-form_place_${t}`),this.dynamicFormService.init(l,a,t)}),Ar(this.doc$),$r(this.id$,this.place$),nt(this.destroyRef)).subscribe(([l,a,t])=>{this.dynamicFormService.initFromDoc(l,a,t,!!l.error)}),this.subscribeForAutoscroll(),this.newFieldErrors$.subscribe(l=>{let a=this.host?.nativeElement?.querySelectorAll("[data-df-field]:not([disabled])");a&&[...a].find(t=>Object.keys(l).some(e=>e===t.getAttribute("data-df-field")&&l[e]?.focus))?.focus()})}subscribeForAutoscroll(){this.ui$.pipe(Qe(o=>o.scrollToElement),Ut(),Cr(200),nt(this.destroyRef)).subscribe(o=>{if(!o)return;let h=this.host?.nativeElement?.querySelector(`[data-dynamic-form-element-id="${o}"]`);if(h){let c=Ct(this.ui$.value.elements,e=>e.types[2]==="header")?.id,l=Ct(this.ui$.value.elements,e=>e.types[2]==="footer")?.id,a=c&&this.host?.nativeElement?.querySelector(`[data-dynamic-form-element-id="${c}"]`),t=l&&this.host?.nativeElement?.querySelector(`[data-dynamic-form-element-id="${l}"]`);h.style.scrollMarginTop=a&&`${a.offsetHeight+5}px`||"100px",h.style.scrollMarginBottom=t&&`${t.offsetHeight+1}px`||"100px",h.scrollIntoView({behavior:"smooth"})}this.dynamicFormService.update({scrollToElement:"",info:`after scroll to "${o}" element`})})}handleFocusInAndOut(o){let h=o.target?.closest("[data-df-field]")?.getAttribute("data-df-field");if(h){let c={focus:h};o.type==="focusout"&&(c.focus="",c.info=`Blur of "${h}"`),this.dynamicFormService.update(c)}}getElementId(o,h){return h.id}ngAfterViewInit(){this.place$.pipe(ze(Boolean)).subscribe(o=>{this.setFocusAfterFormInit(o)})}setFocusAfterFormInit(o){return _t(this,null,function*(){let h=o==="drawer"?250:100;yield new Promise(c=>setTimeout(c,h)),this.host?.nativeElement?.querySelector("[data-df-field]:not([disabled])")?.focus()})}isLayout(o){return o.types[0]==="container"&&o.types[1]==="layout"}isHeader(o){return this.isLayout(o)&&o.types[2]==="header"}isFooter(o){return this.isLayout(o)&&o.types[2]==="footer"}get hasDrawer(){return Ci(this.ui$.value.elements,"container","drawer")?.render}isSummary(o){return o.types[0]==="auxiliary"&&o.types[1]==="summary"}ngOnDestroy(){this.dynamicFormService.destroy()}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(yt),ue(At))},d.\u0275cmp=fe({type:d,selectors:[["isp-new-dynamic-form"]],hostVars:2,hostBindings:function(h,c){h&1&&le("focusin",function(a){return c.handleFocusInAndOut(a)},!1,Un)("focusout",function(a){return c.handleFocusInAndOut(a)},!1,Un),h&2&&Te("has-summary",c.hasSummary)},inputs:{doc:"doc",id:"id",place:"place",loading:"loading"},outputs:{headerClick:"headerClick",buttonClick:"buttonClick",linkClick:"linkClick",wizardClick:"wizardClick",toolbarButtonClick:"toolbarButtonClick"},features:[Ft([Me,yi])],ngContentSelectors:Lc,decls:3,vars:3,consts:[[4,"ngIf"],[1,"loader-holder"],["class","loader","view","overlay",3,"loading",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],["view","overlay",1,"loader",3,"loading"],[3,"element","summary","sticky-top","sticky-bottom",4,"ngIf"],[3,"element"]],template:function(h,c){h&1&&(lt(),J(0,Rc,5,5,"ng-container",0),be(1,"async"),ct(2)),h&2&&R("ngIf",xe(1,1,c.ui$))},dependencies:[Ke,_e,pt,Mt,We],styles:["[_nghost-%COMP%]{position:relative;display:block;overflow-y:auto;--isp-dynamic-form-row-gap: 25px;--isp-dynamic-form-summary-width: 350px}.has-summary[_nghost-%COMP%]{width:calc(100% - var(--isp-dynamic-form-summary-width))}.sticky-top[_ngcontent-%COMP%]{position:sticky;top:0;margin-bottom:15px}@media (max-height: 400px){.sticky-top[_ngcontent-%COMP%]{position:static}}.sticky-bottom[_ngcontent-%COMP%]{position:sticky;bottom:0}@media (max-height: 400px){.sticky-bottom[_ngcontent-%COMP%]{position:static}}.sticky-top[_ngcontent-%COMP%], .sticky-bottom[_ngcontent-%COMP%]{z-index:var(--isp-dynamic-form-header-and-footer-sticky-z-index_place_standard);background-color:var(--isp-dc-monochrome)}.isp-dynamic-form_place_filter[_nghost-%COMP%] .sticky-top[_ngcontent-%COMP%], .isp-dynamic-form_place_external[_nghost-%COMP%] .sticky-top[_ngcontent-%COMP%], .isp-dynamic-form_place_filter[_nghost-%COMP%] .sticky-bottom[_ngcontent-%COMP%], .isp-dynamic-form_place_external[_nghost-%COMP%] .sticky-bottom[_ngcontent-%COMP%]{background-color:var(--isp-dc-cow)}.isp-dynamic-form_place_filter[_nghost-%COMP%] .sticky-top[_ngcontent-%COMP%]{margin-bottom:5px}.loader-holder[_ngcontent-%COMP%]{position:sticky;top:0;z-index:var(--isp-form-preloader-z-index);height:0}.loader[_ngcontent-%COMP%]{--isp-loader__size: 30px;position:absolute;top:0;left:0;width:100%;height:calc(100vh - var(--isp-topbar-top-line-height, 45px) - var(--isp-narrow-banner-height, 0px))}"],changeDetection:0});let u=d;return u})();var WC=Nn(ms());var Pc=()=>["filter","external"],Nc=()=>["standard","report"];function Vc(u,d){if(u&1){let x=ve();Z(0,"h1",1),le("click",function(){he(x);let h=U();return de(h.handleClick())}),Ce(1),X()}if(u&2){let x=d.ngIf,o=U();Te("header_no-ellipses",x.place==="drawer")("header_small",Re(7,Pc).includes(x.place))("header_pointer",Re(8,Nc).includes(x.place)),z(),Le(" ",o.element.text,`
`)}}var gs=(()=>{let d=class d{constructor(o){this.dynamicFormService=o,this.ui$=this.dynamicFormService.UI$}handleClick(){this.dynamicFormService.headerClick.emit()}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-header-auxiliary"]],inputs:{element:"element"},decls:2,vars:3,consts:[["class","header","ispTooltip","","ispTooltipEllipsis","","ispTooltipPosition","bottom-end",3,"header_no-ellipses","header_small","header_pointer","click",4,"ngIf"],["ispTooltip","","ispTooltipEllipsis","","ispTooltipPosition","bottom-end",1,"header",3,"click"]],template:function(h,c){h&1&&(J(0,Vc,2,9,"h1",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.ui$))},dependencies:[_e,dt,We],styles:[".header[_ngcontent-%COMP%]{margin:0;overflow:hidden;font-size:25px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.header_no-ellipses[_ngcontent-%COMP%]{white-space:normal}.header_pointer[_ngcontent-%COMP%]{cursor:pointer}.header_small[_ngcontent-%COMP%]{font-size:18px}"],changeDetection:0});let u=d;return u})();function Hc(u,d){if(u&1){let x=ve();Z(0,"isp-banner-slider",2),be(1,"async"),le("bannerDismissed",function(h){he(x);let c=U();return de(c.dismissBanner(h))}),X()}if(u&2){let x=U();R("doc",xe(1,1,x.doc$))}}function Wc(u,d){if(u&1&&oe(0,"isp-form-view-element",4),u&2){let x=U().$implicit;R("element",x)}}function zc(u,d){if(u&1&&(ke(0),J(1,Wc,1,1,"isp-form-view-element",3),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}var vs=(()=>{let d=class d{get isInFilter(){return this.dynamicFormService.UI$.value.place==="filter"}get isExternal(){return this.dynamicFormService.UI$.value.place==="external"}constructor(o){this.dynamicFormService=o,this.showBanners$=this.dynamicFormService.doc$.pipe(Qe(h=>h.banner?.length>0)),this.doc$=this.dynamicFormService.doc$.pipe(Qe(h=>{let c=this.dynamicFormService.options$.value.dismissedBannersIds;return Ue(Se({},h),{banner:h.banner.filter(l=>!c.includes(l.$id))})}))}identityFn(o,h){return h.id}dismissBanner(o){this.dynamicFormService.update({dismissBanner:o.$id})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-body-layout-container"]],hostVars:4,hostBindings:function(h,c){h&2&&Te("isp-form-view-body-layout-container_place_filter",c.isInFilter)("isp-form-view-body-layout-container_place_external",c.isExternal)},inputs:{element:"element"},decls:3,vars:5,consts:[[3,"doc","bannerDismissed",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[3,"bannerDismissed","doc"],["class","isp-form-view-body-layout-container__field",3,"element",4,"ngIf"],[1,"isp-form-view-body-layout-container__field",3,"element"]],template:function(h,c){h&1&&(J(0,Hc,2,3,"isp-banner-slider",0),be(1,"async"),J(2,zc,2,1,"ng-container",1)),h&2&&(R("ngIf",xe(1,3,c.showBanners$)),z(2),R("ngForOf",c.element.children)("ngForTrackBy",c.identityFn))},dependencies:[Ke,_e,to,pt,We],styles:["[_nghost-%COMP%]{display:block;padding:0 30px}.isp-form-view-body-layout-container_place_external[_nghost-%COMP%]{padding:0 50px}.isp-form-view-body-layout-container__field[_ngcontent-%COMP%]{margin-bottom:var(--isp-dynamic-form-row-gap)}.isp-form-view-body-layout-container__field[_ngcontent-%COMP%]:last-of-type{margin-bottom:0}.isp-form-view-body-layout-container_place_filter[_nghost-%COMP%]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--isp-dynamic-form-row-gap);column-gap:20px;padding:0 20px}.isp-form-view-body-layout-container_place_filter[_nghost-%COMP%] .isp-form-view-body-layout-container__field[_ngcontent-%COMP%]{margin-bottom:0}isp-banner-slider[_ngcontent-%COMP%]{max-width:var(--isp-dynamic-form-banner-max-width, 600px);margin-bottom:var(--isp-dynamic-form-row-gap)}"],changeDetection:0});let u=d;return u})();var jc=(u,d)=>({collapse:u,expand:d});function Uc(u,d){if(u&1){let x=ve();Z(0,"isp-banner",2),le("discard",function(){he(x);let h=U();return de(h.closeError())}),Z(1,"isp-collapse-text",3),oe(2,"div",4),X()()}if(u&2){let x=U();Te("banner_with-buttons",x.element.children.length>0),R("close",!0),z(),R("messages",Ht(5,jc,x.getMessage("msg_collapse"),x.getMessage("msg_expand"))),z(),R("innerHTML",x.escapedError,Et)}}function Gc(u,d){if(u&1&&oe(0,"isp-form-view-element",6),u&2){let x=U().$implicit;R("element",x)}}function Kc(u,d){if(u&1&&(ke(0),J(1,Gc,1,1,"isp-form-view-element",5),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}var ws=(()=>{let d=class d{get isInFilter(){return this.dynamicFormService.UI$.value.place==="filter"}get isExternal(){return this.dynamicFormService.UI$.value.place==="external"}get escapedError(){return this.error?.replaceAll("<","<")}constructor(o){this.dynamicFormService=o}getMessage(o){return this.dynamicFormService.getMessage(o)}closeError(){this.dynamicFormService.update({generalError:null})}identityFn(o,h){return h.id}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-footer-layout-container"]],hostVars:4,hostBindings:function(h,c){h&2&&Te("isp-form-view-footer-layout-container_place_filter",c.isInFilter)("isp-form-view-footer-layout-container_place_external",c.isExternal)},inputs:{element:"element",error:"error"},decls:2,vars:3,consts:[["status","danger","class","banner",3,"close","banner_with-buttons","discard",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],["status","danger",1,"banner",3,"discard","close"],[1,"collapse",3,"messages"],[1,"banner__text",3,"innerHTML"],[3,"element",4,"ngIf"],[3,"element"]],template:function(h,c){h&1&&J(0,Uc,3,8,"isp-banner",0)(1,Kc,2,1,"ng-container",1),h&2&&(R("ngIf",c.error),z(),R("ngForOf",c.element.children)("ngForTrackBy",c.identityFn))},dependencies:[Ke,_e,gi,Bi,pt],styles:["[_nghost-%COMP%]{display:block;padding:15px 30px;margin-top:15px}.isp-form-view-footer-layout-container_place_filter[_nghost-%COMP%]{padding:20px}.isp-form-view-footer-layout-container_place_external[_nghost-%COMP%]{padding:25px 50px 0}.banner[_ngcontent-%COMP%]{max-width:var(--isp-dynamic-form-banner-max-width, 600px);margin-bottom:7px}.banner_with-buttons[_ngcontent-%COMP%]{margin-bottom:20px}.banner__text[_ngcontent-%COMP%]{word-break:break-word}.collapse[_ngcontent-%COMP%]{--isp-collapse_lines: 2}"],changeDetection:0});let u=d;return u})();function Yc(u,d){if(u&1&&oe(0,"isp-form-view-element",8),u&2){let x=U();R("element",x.header)}}function Qc(u,d){if(u&1&&oe(0,"isp-list-action-bar",9),u&2){let x=U();R("tab",x.tab)}}function Zc(u,d){if(u&1&&oe(0,"isp-form-view-element",10),u&2){let x=U();R("element",x.modeSwitch)}}function Xc(u,d){if(u&1&&oe(0,"isp-form-view-element",11),u&2){let x=U();R("element",x.formTabs)}}function qc(u,d){if(u&1&&oe(0,"isp-form-view-element",12),u&2){let x=U();R("element",x.modeSwitch)}}function Jc(u,d){if(u&1&&oe(0,"isp-form-view-element",11),u&2){let x=U();R("element",x.toolbar)}}function eu(u,d){if(u&1&&oe(0,"isp-form-view-element",13),u&2){let x=U();R("element",x.wizard)}}function tu(u,d){if(u&1&&(Z(0,"div",14),Ce(1),X()),u&2){let x=U();z(),He(x.reportInfo)}}var _s=(()=>{let d=class d{get isInFilter(){return this.dynamicFormService.UI$.value.place==="filter"}get isExternal(){return this.dynamicFormService.UI$.value.place==="external"}get modeSwitch(){return this.element.children.find(o=>tt(o,"auxiliary","mode-switch"))}get toolbar(){return this.element.children.find(o=>tt(o,"auxiliary","toolbar"))}get formTabs(){return this.element.children.find(o=>tt(o,"auxiliary","form-tabs"))}get header(){return this.element.children.find(o=>tt(o,"auxiliary","header"))}get wizard(){return this.element.children.find(o=>tt(o,"auxiliary","wizard"))}get isStandardOrReport(){return["standard","report"].includes(this.dynamicFormService.UI$.value.place)}get reportInfo(){return this.dynamicFormService.getMessage("report_info")}constructor(o,h){this.dynamicFormService=o,this.tabContextService=h,this.tab=this.tabContextService?.tab}identityFn(o,h){return h.id}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(no,8))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-header-layout-container"]],hostVars:4,hostBindings:function(h,c){h&2&&Te("isp-form-view-header-layout-container_place_filter",c.isInFilter)("isp-form-view-header-layout-container_place_external",c.isExternal)},inputs:{element:"element"},decls:9,vars:8,consts:[[1,"header-row"],["class","header",3,"element",4,"ngIf"],[3,"tab",4,"ngIf"],["class","header-row__mode-switch_inline",3,"element",4,"ngIf"],[3,"element",4,"ngIf"],["class","header-row__mode-switch_narrow-form",3,"element",4,"ngIf"],["class","wizard",3,"element",4,"ngIf"],["class","report-info",4,"ngIf"],[1,"header",3,"element"],[3,"tab"],[1,"header-row__mode-switch_inline",3,"element"],[3,"element"],[1,"header-row__mode-switch_narrow-form",3,"element"],[1,"wizard",3,"element"],[1,"report-info"]],template:function(h,c){h&1&&(Z(0,"div",0),J(1,Yc,1,1,"isp-form-view-element",1)(2,Qc,1,1,"isp-list-action-bar",2)(3,Zc,1,1,"isp-form-view-element",3)(4,Xc,1,1,"isp-form-view-element",4),X(),J(5,qc,1,1,"isp-form-view-element",5)(6,Jc,1,1,"isp-form-view-element",4)(7,eu,1,1,"isp-form-view-element",6)(8,tu,2,1,"div",7)),h&2&&(z(),R("ngIf",c.header),z(),R("ngIf",c.tab&&c.isStandardOrReport),z(),R("ngIf",c.modeSwitch),z(),R("ngIf",c.formTabs),z(),R("ngIf",c.modeSwitch),z(),R("ngIf",c.toolbar),z(),R("ngIf",c.wizard),z(),R("ngIf",c.reportInfo))},dependencies:[_e,oo,pt],styles:["[_nghost-%COMP%]{--isp-toolbar-margin: 15px 0 0 0;display:block;padding:30px 30px 10px}.isp-form-view-header-layout-container_place_filter[_nghost-%COMP%]{padding:20px 20px 10px}.header-row[_ngcontent-%COMP%]{display:flex;gap:20px;align-items:center}.isp-form-view-header-layout-container_place_external[_nghost-%COMP%]{padding-top:0}.isp-form-view-header-layout-container_place_external[_nghost-%COMP%] .header-row[_ngcontent-%COMP%]{justify-content:center}.wizard[_ngcontent-%COMP%]{margin-top:15px}.header[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-row__mode-switch_narrow-form[_ngcontent-%COMP%]{display:none;margin-top:15px}.header-row__mode-switch_narrow-form[_ngcontent-%COMP%] isp-switcher button{width:50%}.report-info[_ngcontent-%COMP%]{margin-top:20px}"],changeDetection:0});let u=d;return u})();var iu=()=>({width:"10px",height:"10px"});function nu(u,d){if(u&1&&oe(0,"isp-form-view-element",5),u&2){let x=U().$implicit;R("element",x)}}function ru(u,d){if(u&1&&(ke(0),J(1,nu,1,1,"isp-form-view-element",4),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}function ou(u,d){if(u&1&&J(0,ru,2,1,"ng-container",3),u&2){let x=U();R("ngForOf",x.element.children)("ngForTrackBy",x.identityFn)}}function su(u,d){if(u&1&&Lt(0,6),u&2){U();let x=Ve(1);R("ngTemplateOutlet",x)}}function au(u,d){if(u&1&&(Z(0,"div",10),Lt(1,6),X()),u&2){U(2);let x=Ve(1);z(),R("ngTemplateOutlet",x)}}function lu(u,d){if(u&1){let x=ve();Z(0,"div",7),le("click",function(){he(x);let h=U();return de(h.handleToggleClick())}),oe(1,"isp-svg-icon",8),Ce(2),X(),J(3,au,2,1,"div",9)}if(u&2){let x=U();z(),R("name",x.element.isOpen?"down":"up")("customStyle",Re(4,iu)),z(),Le(" ",x.element.title," "),z(),R("ngIf",x.element.isOpen)}}var Cs=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}identityFn(o,h){return h.id}handleToggleClick(){this.dynamicFormService.update({togglePage:this.element.name})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-page-container"]],inputs:{element:"element"},decls:5,vars:2,consts:[["children",""],["full",""],[3,"ngTemplateOutlet",4,"ngIf","ngIfElse"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","form-view-page-container__child",3,"element",4,"ngIf"],[1,"form-view-page-container__child",3,"element"],[3,"ngTemplateOutlet"],[1,"form-view-page-container__header",3,"click"],[1,"form-view-page-container__icon",3,"name","customStyle"],["class","form-view-page-container__content",4,"ngIf"],[1,"form-view-page-container__content"]],template:function(h,c){if(h&1&&J(0,ou,1,2,"ng-template",null,0,ut)(2,su,1,1,"ng-container",2)(3,lu,4,5,"ng-template",null,1,ut),h&2){let l=Ve(4);z(2),R("ngIf",c.element.renderOnlyChildren)("ngIfElse",l)}},dependencies:[Ke,_e,nn,je,pt],styles:[".form-view-page-container__header[_ngcontent-%COMP%]{display:flex;align-items:center;height:25px;padding:0 15px;font-size:14px;line-height:14px;color:var(--isp-collapse-header-color, var(--isp-text-color-main));background-color:var(--isp-dc-made-in-heaven);border-radius:var(--isp-border-radius-main);cursor:pointer;transition:background-color .1s ease-in-out}.form-view-page-container__header[_ngcontent-%COMP%]:hover{background-color:var(--isp-dc-mass-relay)}.form-view-page-container__content[_ngcontent-%COMP%]{margin-top:20px}.form-view-page-container__child[_ngcontent-%COMP%]{margin-bottom:var(--isp-dynamic-form-row-gap)}.form-view-page-container__child[_ngcontent-%COMP%]:last-of-type{margin-bottom:0}.form-view-page-container__icon[_ngcontent-%COMP%]{margin-right:15px}"],changeDetection:0});let u=d;return u})();function uu(u,d){if(u&1){let x=ve();Z(0,"isp-checkbox",1),be(1,"async"),le("ngModelChange",function(h){he(x);let c=U();return de(c.handleModelChange(h))}),X()}if(u&2){let x=d.ngIf,o=U();R("ngModel",xe(1,6,o.value$))("disabled",x.disabled||x.readonly)("required",x.required)("label",x.label)("mixed",x.mixed),at("data-df-field",x.name)}}var bs=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o){this.dynamicFormService=o,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(h=>!!h),et(h=>this.dynamicFormService.fieldValue$(h.name)))}handleModelChange(o){let h=this.element$.value.name;this.dynamicFormService.model$.value[h]!==o&&this.dynamicFormService.update({name:this.element$.value.name,value:o})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-checkbox-field"]],inputs:{element:"element"},decls:2,vars:3,consts:[[3,"ngModel","disabled","required","label","mixed","ngModelChange",4,"ngIf"],[3,"ngModelChange","ngModel","disabled","required","label","mixed"]],template:function(h,c){h&1&&(J(0,uu,2,8,"isp-checkbox",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,Bt,Ti,It,pn,We],changeDetection:0});let u=d;return u})();function hu(u,d){u&1&&(Z(0,"isp-prefix"),oe(1,"isp-svg-icon",5),X())}function du(u,d){if(u&1&&(Z(0,"isp-prefix"),Ce(1),X()),u&2){let x=U().ngIf;z(),Le(" ",x.prefix," ")}}function pu(u,d){if(u&1&&(Z(0,"isp-error"),Ce(1),X()),u&2){let x=U().ngIf;z(),Le(" ",x.error.text," ")}}function fu(u,d){if(u&1){let x=ve();Z(0,"textarea",6),be(1,"async"),le("change",function(h){he(x);let c=U(2);return de(c.handleModelChange(h.target.value))})("blur",function(h){he(x);let c=U(2);return de(c.handleBlur(h))}),X()}if(u&2){let x=U().ngIf,o=U();R("name",x.name)("placeholder",x.placeholder)("rows",x.zoom)("required",x.required)("disabled",x.disabled||x.readonly)("value",xe(1,7,o.value$)),at("data-df-field",x.name)}}function mu(u,d){if(u&1){let x=ve();Z(0,"input",7),be(1,"async"),le("change",function(h){he(x);let c=U(2);return de(c.handleModelChange(h.target.value))})("blur",function(h){he(x);let c=U(2);return de(c.handleBlur(h))}),X()}if(u&2){let x=U().ngIf,o=U();R("name",x.name)("placeholder",x.placeholder)("required",x.required)("disabled",x.disabled||x.readonly)("value",xe(1,8,o.value$)),at("autocomplete",x.autocomplete)("data-df-field",x.name)("maxlength",x.maxLength)}}function gu(u,d){if(u&1){let x=ve();Z(0,"isp-suffix")(1,"button",8),le("click",function(){he(x);let h=U().ngIf,c=U();return de(c.handleModelChange(h.unlimit))}),oe(2,"isp-svg-icon",9),X()()}}function vu(u,d){if(u&1&&(Z(0,"isp-suffix"),Ce(1),X()),u&2){let x=U().ngIf;z(),Le(" ",x.suffix," ")}}function yu(u,d){if(u&1){let x=ve();Z(0,"isp-suffix")(1,"button",10),le("click",function(){he(x);let h=U(2);return de(h.toggleZoom())}),oe(2,"isp-svg-icon",11),X()()}if(u&2){let x=U(2);z(),R("ispTooltip",x.getMessage("msg_zoom")),z(),R("name",x.zoomButtonIcon)}}function wu(u,d){if(u&1&&(Z(0,"div",12),Ce(1),X()),u&2){let x=U().ngIf;z(),Le(" ",x.suffix," ")}}function _u(u,d){if(u&1&&(ke(0),Z(1,"isp-field",1),J(2,hu,2,0,"isp-prefix",0)(3,du,2,1,"isp-prefix",0),Z(4,"isp-label"),Ce(5),X(),J(6,pu,2,1,"isp-error",0)(7,fu,2,9,"textarea",2),be(8,"async"),J(9,mu,2,10,"input",3),be(10,"async"),J(11,gu,3,0,"isp-suffix",0)(12,vu,2,1,"isp-suffix",0)(13,yu,3,2,"isp-suffix",0),X(),J(14,wu,2,1,"div",4),Ee()),u&2){let x=d.ngIf,o=U();z(),R("invalid",x.error),z(),R("ngIf",x.isSearchbar),z(),R("ngIf",x.prefix),z(2),He(x.label),z(),R("ngIf",x.error==null?null:x.error.text),z(),R("ngIf",xe(8,11,o.isZoomed$)),z(2),R("ngIf",!xe(10,13,o.isZoomed$)),z(2),R("ngIf",x.unlimit!==void 0),z(),R("ngIf",x.suffix&&x.suffix.length<5),z(),R("ngIf",x.zoom),z(),R("ngIf",x.suffix&&x.suffix.length>=5)}}var $s=(()=>{let d=class d{get zoomButtonIcon(){return this.isZoomed$.value?"ff-unzoom-a":"ff-zoom-a"}set element(o){this.element$.next(o)}constructor(o,h,c){this.dynamicFormService=o,this.clickToBlurDetectionService=h,this.destroyRef=c,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(l=>!!l),et(l=>this.dynamicFormService.fieldValue$(l.name)),Qe(l=>l?.replace(/\s+/g,this.isZoomed$.value?`
`:" ")||""),nt(this.destroyRef)),this.isZoomed$=new Fe(!1)}handleModelChange(o,h=!0){this.valueOnChange=o,this.clickToBlurDetectionService.handleModelChange(this.element$.value.name,o,h)}toggleZoom(){let o=this.isZoomed$.value;this.isZoomed$.next(!o)}getMessage(o){return this.dynamicFormService.getMessage(o)}handleBlur(o){this.valueOnChange===o.target.value||this.element$.value.disabled?this.valueOnChange=null:this.clickToBlurDetectionService.handleBlur(this.element$.value.name,o)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(yi),ue(At))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-input-field"]],inputs:{element:"element"},decls:2,vars:3,consts:[[4,"ngIf"],[3,"invalid"],["ispInput","",3,"name","placeholder","rows","required","disabled","value","change","blur",4,"ngIf"],["ispInput","",3,"name","placeholder","required","disabled","value","change","blur",4,"ngIf"],["class","long-suffix",4,"ngIf"],["name","search"],["ispInput","",3,"change","blur","name","placeholder","rows","required","disabled","value"],["ispInput","",3,"change","blur","name","placeholder","required","disabled","value"],["type","button",1,"suffix-button",3,"click"],["name","ff-unlimit-a",1,"suffix-button__icon"],["type","button","ispTooltipPosition","top-end","ispTooltipViewportSelector","#layout-main-page",1,"suffix-button",3,"click","ispTooltip"],[1,"suffix-button__icon",3,"name"],[1,"long-suffix"]],template:function(h,c){h&1&&(J(0,_u,15,15,"ng-container",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,je,dt,Xt,Jt,Gr,Di,Li,qt,We],styles:[".suffix-button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;background:none;border:none;border-radius:var(--isp-border-radius-main);cursor:pointer;transition:transform .1s ease-in-out}.suffix-button[_ngcontent-%COMP%]:active{transform:scale(.9)}.suffix-button__icon[_ngcontent-%COMP%]{display:flex}.long-suffix[_ngcontent-%COMP%]{padding-left:15px;margin-top:10px;color:var(--isp-c-grey-weekdays)}"],changeDetection:0});let u=d;return u})();function Cu(u,d){if(u&1&&oe(0,"isp-form-view-element",2),u&2){let x=U().$implicit;R("element",x)}}function bu(u,d){if(u&1&&(ke(0),J(1,Cu,1,1,"isp-form-view-element",1),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}var $n=(()=>{let d=class d{identityFn(o,h){return h.id}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-buttons-container"]],inputs:{element:"element"},decls:2,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["class","isp-form-view-buttons-container__button",3,"element",4,"ngIf"],[1,"isp-form-view-buttons-container__button",3,"element"]],template:function(h,c){h&1&&(Z(0,"div"),J(1,bu,2,1,"ng-container",0),X()),h&2&&(z(),R("ngForOf",c.element.children)("ngForTrackBy",c.identityFn))},dependencies:[Ke,_e,pt],styles:[".isp-form-view-buttons-container__button[_ngcontent-%COMP%]{display:inline-block;margin-right:var(--isp-form-view-buttons-container__buttons-gap, 20px)}"],changeDetection:0});let u=d;return u})();function Sn(u){let d=[ht.Ok,ht.Next,ht.Submit].includes(u.$type),x;switch(!0){case["green","cyan"].includes(u.$color):x="primary";break;case u.$color==="yellow":x="accent";break;case u.$color==="red":x="danger";break;case u.$color==="blue":x="secondary";break;case u.$theme==="sixth":x="secondary";break;case u.$theme==="primary":x="primary";break;case d:x="primary";break;default:x="secondary"}return`isp-button_theme_${x}`}var Au=(u,d)=>[u,d];function $u(u,d){if(u&1){let x=ve();Z(0,"button",4),le("click",function(){he(x);let h=U(2);return de(h.handleClick())}),Z(1,"span",5),Ce(2),X()()}if(u&2){let x=U(2);gt(x.getButtonThemeClass(x.element.getServerMeta())),Te("button_loading",x.isLoading()),R("disabled",x.isDisabled()),z(2),He(x.element.text)}}function Su(u,d){if(u&1){let x=ve();Z(0,"span",6),le("click",function(){he(x);let h=U(2);return de(h.handleClick())}),Ce(1),X()}if(u&2){let x=U(2);Te("isp-link_disabled",x.isDisabled())("button_loading",x.isLoading()),z(),He(x.element.text)}}function ku(u,d){if(u&1&&(Z(0,"isp-loader",2),J(1,$u,3,6,"button",3)(2,Su,2,5,"ng-template",null,0,ut),X()),u&2){let x=Ve(3),o=U();gt(Ht(5,Au,"loader_"+o.getButtonThemeClass(o.element.getServerMeta()),"loader_type_"+o.element.showAs)),R("loading",o.isLoading()),z(),R("ngIf",o.element.showAs==="button")("ngIfElse",x)}}var Ss=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}handleClick(){this.dynamicFormService.handleButtonClick(this.element.getServerMeta())}getButtonThemeClass(o){return Sn(o)}isLoading(){return this.element.getServerMeta()===this.dynamicFormService.options$.value.loading}isDisabled(){return this.dynamicFormService.options$.value.loading&&this.dynamicFormService.options$.value.loading!==this.element.getServerMeta()}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-button"]],inputs:{element:"element"},decls:1,vars:1,consts:[["link",""],["class","loader","view","overlay","type","spinner",3,"loading","class",4,"ngIf"],["view","overlay","type","spinner",1,"loader",3,"loading"],["tabindex","0","class","isp-button","type","button",3,"disabled","class","button_loading","click",4,"ngIf","ngIfElse"],["tabindex","0","type","button",1,"isp-button",3,"click","disabled"],[1,"isp-button__label"],["tabindex","0",1,"isp-link",3,"click"]],template:function(h,c){h&1&&J(0,ku,4,8,"isp-loader",1),h&2&&R("ngIf",c.element)},dependencies:[_e,Mt],styles:[".loader[_ngcontent-%COMP%]{--isp-loader__background: none;--isp-loader__size: 20px;--isp-loader__color: var(--isp-c-jon-snow)}.loader_isp-button_theme_icon[_ngcontent-%COMP%]{--isp-loader__size: 15px;--isp-loader__color: currentColor}.loader[_ngcontent-%COMP%]:not(.loader_isp-button_theme_primary), .loader_type_link[_ngcontent-%COMP%]{--isp-loader__color: var(--isp-dc-fremen)}.button_loading[_ngcontent-%COMP%] [_ngcontent-%COMP%]:is(.isp-button__label, .isp-link)[_ngcontent-%COMP%]{opacity:0}"],changeDetection:0});let u=d;return u})();var Fu=["select"];function Mu(u,d){if(u&1){let x=ve();Z(0,"isp-select",3,0),be(2,"async"),le("linkClick",function(){he(x);let h=U();return de(h.handleLinkClick())})("ngModelChange",function(h){he(x);let c=U();return de(c.handleModelChange(h))}),X()}if(u&2){let x=d.ngIf,o=U();R("ngModel",xe(2,15,o.value$))("multiple",x.multiple)("disabled",x.disabled||x.readonly)("options",o.options)("required",x.required)("cssVars",o.dropdownParams.cssVars)("resizeSelector",o.dropdownParams.resizeSelector)("scrollSelector",o.dropdownParams.scrollSelector)("ignoreChildren",o.dropdownParams.ignoreChildren)("viewportLimitSelectors",o.dropdownParams.viewportLimitSelectors)("viewportSelector",o.dropdownParams.viewportSelector)("messages",x.messages)("popupClasses",o.dropdownParams.popupClasses)("link",x.link),at("data-df-field",x.name)}}function Tu(u,d){if(u&1&&(Z(0,"div",4),Ce(1),X()),u&2){let x=d.ngIf;z(),Le(" ",x,`
`)}}var ks=(()=>{let d=class d{get hasError(){return!!this.element$.value.error}set element(o){let h=this.dynamicFormService.docHelpers$.value.dependOptionConditions[o.name],c=this.dynamicFormService.model$.value;this.options=Io(o,h,c),this.element$.next(o);let l=c[o.name],a=Array.isArray(l)?l:[l],t=this.options.every(r=>!a.includes(r.value)),e=this.options.length>0,n=!o.multiple;if(t&&e&&n){let r=this.options[0].value;this.handleModelChange(r)}this.elementRef.nativeElement.getBoundingClientRect().top!==this.prevSelectVerticalPosition&&this.select?.updateDropdownPosition(),this.prevSelectVerticalPosition=this.elementRef.nativeElement.getBoundingClientRect().top}constructor(o,h){this.dynamicFormService=o,this.elementRef=h,this.element$=new Fe(null),this.dropdownParams={viewportSelector:"body",viewportLimitSelectors:[]},this.value$=this.element$.pipe(ze(c=>!!c),et(c=>this.dynamicFormService.fieldValue$(c.name)),Qe(c=>c||""),Qe(c=>c.includes(",")?c.split(","):c),ri(c=>this._value=c)),this.valueHint$=this.value$.pipe(ze(c=>c&&typeof c=="string"),Qe(c=>this.element$.value?.valueHints[c]))}handleModelChange(o){if(!o||typeof o=="string"&&this._value===o||Array.isArray(o)&&Array.isArray(this._value)&&o.length===this._value.length&&o.every(l=>this._value.includes(l)))return;let h=o;Array.isArray(o)&&(h=o.join(","));let c=this.element$.value.name;this.dynamicFormService.model$.value[c]!==h&&this.dynamicFormService.update({name:c,value:h})}optionIdentityFn(o,h){return h.value}handleLinkClick(){this.dynamicFormService.update({drawer:this.element$.value.name})}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(yt))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-select-field"]],viewQuery:function(h,c){if(h&1&&it(Fu,5),h&2){let l;qe(l=Je())&&(c.select=l.first)}},hostVars:2,hostBindings:function(h,c){h&2&&Te("isp-form-view-select-field_error",c.hasError)},inputs:{element:"element",dropdownParams:"dropdownParams"},decls:4,vars:6,consts:[["select",""],[3,"ngModel","multiple","disabled","options","required","cssVars","resizeSelector","scrollSelector","ignoreChildren","viewportLimitSelectors","viewportSelector","messages","popupClasses","link","linkClick","ngModelChange",4,"ngIf"],["class","value-hint",4,"ngIf"],[3,"linkClick","ngModelChange","ngModel","multiple","disabled","options","required","cssVars","resizeSelector","scrollSelector","ignoreChildren","viewportLimitSelectors","viewportSelector","messages","popupClasses","link"],[1,"value-hint"]],template:function(h,c){h&1&&(J(0,Mu,3,17,"isp-select",1),be(1,"async"),J(2,Tu,2,1,"div",2),be(3,"async")),h&2&&(R("ngIf",xe(1,2,c.element$)),z(2),R("ngIf",xe(3,4,c.valueHint$)))},dependencies:[_e,Bt,Ti,It,un,We],styles:["[_nghost-%COMP%]{display:block}.isp-form-view-select-field_error[_nghost-%COMP%]{--isp-select-border-color: var(--isp-dc-bright-emotions)}.value-hint[_ngcontent-%COMP%]{max-width:400px;padding-left:15px;margin-top:10px;font-family:inherit;font-size:12px;line-height:17px;color:var(--isp-c-grey-weekdays)}"],changeDetection:0});let u=d;return u})();var Du=u=>({button_active:u});function Lu(u,d){if(u&1){let x=ve();Z(0,"button",1),le("click",function(){let h=he(x).$implicit,c=U();return de(c.valueChange.emit(h.value))}),Ce(1),X()}if(u&2){let x=d.$implicit,o=U();R("ngClass",bt(2,Du,x.value===o.value)),z(),Le(" ",x.text,`
`)}}var kn=(()=>{let d=class d{constructor(){this.valueChange=new Ge}trackBy(o,h){return`${h.value}_${o}`}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-switcher"]],inputs:{options:"options",value:"value"},outputs:{valueChange:"valueChange"},decls:1,vars:2,consts:[["class","button","type","button","tabindex","0",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],["type","button","tabindex","0",1,"button",3,"click","ngClass"]],template:function(h,c){h&1&&J(0,Lu,2,4,"button",0),h&2&&R("ngForOf",c.options)("ngForTrackBy",c.trackBy)},dependencies:[Yt,Ke],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;background-color:var(--isp-dc-norilsk);border-radius:var(--isp-border-radius-main)}.button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:25px;padding:0 15px;font-family:inherit;color:inherit;background-color:var(--isp-dc-norilsk);border:none;border-radius:var(--isp-border-radius-main);transition:color .1s ease-in-out,background-color .1s ease-in-out}.button[_ngcontent-%COMP%]:hover{background-color:var(--isp-dc-reincarnation)}.button[_ngcontent-%COMP%]:not(.button_active){cursor:pointer}.button.button_active[_ngcontent-%COMP%]{color:var(--isp-c-jon-snow);background-color:var(--isp-c-blue-velvet)}"],changeDetection:0});let u=d;return u})();var Fs=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}handleChange(o){this.dynamicFormService.update({isBaseMode:o==="base"})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-mode-switch-auxiliary"]],inputs:{element:"element"},decls:1,vars:2,consts:[[1,"form-mode-switch",3,"valueChange","options","value"]],template:function(h,c){h&1&&(Z(0,"isp-switcher",0),le("valueChange",function(a){return c.handleChange(a)}),X()),h&2&&R("options",c.element.options)("value",c.element.value)},dependencies:[kn],changeDetection:0});let u=d;return u})();var Ms=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt]});let u=d;return u})();var Bu=(u,d)=>({collapse:u,expand:d});function Iu(u,d){if(u&1&&oe(0,"isp-form-view-element",10),u&2){let x=U().$implicit;R("element",x)}}function Ou(u,d){if(u&1&&(ke(0),J(1,Iu,1,1,"isp-form-view-element",9),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}function Ru(u,d){if(u&1){let x=ve();Z(0,"isp-banner",11),le("discard",function(){he(x);let h=U(2);return de(h.error$.next(""))}),Z(1,"isp-collapse-text",12),oe(2,"div",13),X()()}if(u&2){let x=d.ngIf,o=U(2);R("close",!0),z(),R("messages",Ht(3,Bu,o.getMessage("msg_collapse"),o.getMessage("msg_expand"))),z(),R("innerHTML",x,Et)}}function Pu(u,d){if(u&1){let x=ve();Z(0,"isp-loader",14),be(1,"async"),Z(2,"button",15),be(3,"async"),be(4,"async"),be(5,"async"),le("click",function(){he(x);let h=U(2);return de(h.submit())}),Z(6,"span",16),Ce(7),X()()()}if(u&2){let x=U(2);R("loading",xe(1,5,x.isLoading$)),z(2),Te("button_loading",xe(3,7,x.isLoading$)),R("disabled",xe(4,9,x.blockSubmit$)&&!xe(5,11,x.isLoading$)),z(5),He(x.element.drawerMeta.ok)}}function Nu(u,d){u&1&&oe(0,"isp-loader",17),u&2&&R("loading",!0)}function Vu(u,d){if(u&1){let x=ve();Z(0,"div",0)(1,"div",1),Ce(2),X(),Z(3,"div",2),J(4,Ou,2,1,"ng-container",3),X(),Z(5,"div",4),J(6,Ru,3,6,"isp-banner",5),be(7,"async"),J(8,Pu,8,13,"isp-loader",6),Z(9,"span",7),be(10,"async"),le("click",function(){he(x);let h=U();return de(h.close("cancel"))}),Ce(11),X()(),J(12,Nu,1,1,"isp-loader",8),be(13,"async"),X()}if(u&2){let x=U();R("id",x.element.id),z(),R("id",x.element.headerId),z(),Le(" ",x.element.drawerMeta.title," "),z(2),R("ngForOf",x.element.children)("ngForTrackBy",x.identityFn),z(),R("id",x.element.footerId),z(),R("ngIf",xe(7,12,x.error$)),z(2),R("ngIf",x.element),z(),Te("isp-link_disabled",xe(10,14,x.isLoading$)),z(2),He(x.element.drawerMeta.cancel),z(),R("ngIf",xe(13,16,x.ui$).loading)}}var Ts=(()=>{let d=class d{get element(){return this._element}set element(o){this._element=o}constructor(o,h,c,l,a){this.dynamicFormService=o,this.drawerManagerService=h,this.keydownService=c,this.api5Service=l,this.destroyRef=a,this.closeReason="cancel",this.blockSubmit$=new Fe(!1),this.isLoading$=new Fe(!1),this.error$=new Fe(""),this.ui$=this.dynamicFormService.UI$,this.dynamicFormService.destroy$.subscribe(()=>{this.drawerManagerService.close({type:"template"})}),this.listenEnter()}identityFn(o,h){return h.id}ngAfterViewInit(){this.drawerManagerService.openDrawer$({type:"template",template:this.template}).subscribe(o=>{if(o==="closeStart"){let c=this.dynamicFormService.options$.value.drawerEntities[this.element.drawerMeta.select];this.closeReason==="cancel"&&!c&&this.setSelectDefaultValue()}o==="closeEnd"&&this.dynamicFormService.update({drawer:null})})}close(o){this.closeReason=o,this.drawerManagerService.close({type:"template"})}setSelectDefaultValue(){let o=this.element.drawerMeta.select,h=this.element.drawerMeta.defaultValue;this.dynamicFormService.update({name:o,value:h})}listenEnter(){this.keydownService.listen$({code:"Enter",context:"drawer-submit"}).pipe(et(()=>{let o=document.activeElement,h=o?.closest("[data-df-field]")?.getAttribute("data-df-field");return this.element.children.find(c=>c.name===h)?this.dynamicFormService.update({name:h,value:o.value}):qi}),nt(this.destroyRef)).subscribe(()=>{this.element.children.find(o=>o.render&&o.error)||this.submit()})}submit(){return _t(this,null,function*(){if(this.blockSubmit$.value)return;this.dynamicFormService.postponeLoader&&this.dynamicFormService.lockButtons$.value&&this.dynamicFormService.update({loading:!0}),this.dynamicFormService.postponeLoader=!1;let o=this.dynamicFormService.options$.value.mixedValues;yield ai(this.dynamicFormService.lockButtons$.pipe(ze(i=>!i))),yield this.dynamicFormService.validateRequired(this._element);let h=Ct(this.dynamicFormService.UI$.value.elements,i=>i.id===this._element.id),c=this.dynamicFormService.getBlockingErrorElement(h);if(c){this.dynamicFormService.update({spotField:c,info:`Submit handler caught error on "${c.name}"`});return}let{select:l,entityField:a}=this.element.drawerMeta,t=this.dynamicFormService.doc$.value,e=Se({},this.dynamicFormService.model$.value);Object.keys(o).forEach(i=>delete e[i]);let n=Ue(Se({},e),{plid:te.plid(t),elid:te.elid(t),func:t.$func});this.blockSubmit$.next(!0),this.isLoading$.next(!0),this.api5Service.setDrawer(l,n).subscribe(i=>{if(this.blockSubmit$.next(!1),this.isLoading$.next(!1),i.error){this.error$.next(i.error.msg.$);return}this.dynamicFormService.update({drawerEntity:{[l]:e[a]}}),this.close("success")})})}getMessage(o){return this.dynamicFormService.getMessage(o)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(Jr),ue(cn),ue(Mi),ue(At))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-drawer-container"]],viewQuery:function(h,c){if(h&1&&it(Si,5),h&2){let l;qe(l=Je())&&(c.template=l.first)}},inputs:{element:"element"},decls:1,vars:0,consts:[[1,"form-view-drawer-container","ispui-scrollbar_gray",3,"id"],[1,"form-view-drawer-container__title",3,"id"],[1,"form-view-drawer-container__body"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"form-view-drawer-container__buttons",3,"id"],["status","danger","class","form-view-drawer-container__banner",3,"close","discard",4,"ngIf"],["class","loader","view","overlay","type","spinner",3,"loading",4,"ngIf"],[1,"isp-link",3,"click"],["class","form-view-drawer-container__loader","view","overlay",3,"loading",4,"ngIf"],["class","form-view-drawer-container__child",3,"element",4,"ngIf"],[1,"form-view-drawer-container__child",3,"element"],["status","danger",1,"form-view-drawer-container__banner",3,"discard","close"],[1,"form-view-drawer-container__collapse",3,"messages"],[1,"form-view-drawer-container__banner-text",3,"innerHTML"],["view","overlay","type","spinner",1,"loader",3,"loading"],["type","button",1,"isp-button","isp-button_theme_primary","form-view-drawer-container__ok",3,"click","disabled"],[1,"isp-button__label"],["view","overlay",1,"form-view-drawer-container__loader",3,"loading"]],template:function(h,c){h&1&&J(0,Vu,14,18,"ng-template")},dependencies:[Ke,_e,gi,Mt,Bi,pt,We],styles:["[_nghost-%COMP%]{position:absolute}.form-view-drawer-container[_ngcontent-%COMP%]{position:relative;height:100%;overflow-y:auto;--isp-dynamic-form-row-gap: 25px;--isp-dynamic-form-summary-width: 350px}.form-view-drawer-container__title[_ngcontent-%COMP%]{position:sticky;top:0;z-index:var(--isp-dynamic-form-header-and-footer-sticky-z-index_place_drawer);padding:30px 25px 10px;margin-bottom:15px;font-size:25px;font-weight:500;background-color:var(--isp-dc-monochrome)}@media (max-height: 400px){.form-view-drawer-container__title[_ngcontent-%COMP%]{position:static}}.form-view-drawer-container__body[_ngcontent-%COMP%]{padding:0 25px}.form-view-drawer-container__child[_ngcontent-%COMP%]{margin-bottom:var(--isp-dynamic-form-row-gap)}.form-view-drawer-container__child[_ngcontent-%COMP%]:last-of-type{margin-bottom:0}.form-view-drawer-container__buttons[_ngcontent-%COMP%]{position:sticky;bottom:0;z-index:var(--isp-dynamic-form-header-and-footer-sticky-z-index_place_drawer);padding:10px 25px 30px;margin-top:15px;background-color:var(--isp-dc-monochrome)}@media (max-height: 400px){.form-view-drawer-container__buttons[_ngcontent-%COMP%]{position:static}}.form-view-drawer-container__ok[_ngcontent-%COMP%]{margin-right:10px}.form-view-drawer-container__banner[_ngcontent-%COMP%]{margin-bottom:20px}.form-view-drawer-container__banner-text[_ngcontent-%COMP%]{word-break:break-word}.form-view-drawer-container__collapse[_ngcontent-%COMP%]{--isp-collapse_lines: 2}.form-view-drawer-container__loader[_ngcontent-%COMP%]{--isp-loader__size: 30px;position:absolute;top:0;left:0;z-index:var(--isp-form-preloader-z-index);width:100%;height:100%}.loader[_ngcontent-%COMP%]{--isp-loader__background: none;--isp-loader__size: 20px;--isp-loader__color: var(--isp-c-jon-snow)}.button_loading[_ngcontent-%COMP%] [_ngcontent-%COMP%]:is(.isp-button__label){opacity:0}"],changeDetection:0});let u=d;return u})();var Hu=()=>({width:"15px",height:"15px"});function Wu(u,d){if(u&1&&(Z(0,"isp-label"),Ce(1),X()),u&2){let x=U();z(),He(x.label)}}function zu(u,d){if(u&1){let x=ve();Z(0,"isp-suffix")(1,"button",3),le("click",function(){he(x);let h=U();return de(h.setUnlimitedValue())}),oe(2,"isp-icon-provider",4),X()()}if(u&2){let x=U();z(),R("disabled",x.disabled),z(),R("customStyle",Re(4,Hu))("name",x.unlimitedIconName)("inSprite",!0)}}function ju(u,d){if(u&1&&(Z(0,"isp-suffix")(1,"span",5),Ce(2),X()()),u&2){let x=U();z(2),Le(" ",x.description," ")}}var Ds=(()=>{let d=class d{constructor(o){this.cdr=o,this.min=0,this.max=100,this.step=1,this.unlimited=!1,this.unlimitedIconName="ff-unlimit-a",this.value=0,this.sliderFocus=new Ge,this.sliderBlur=new Ge,this.sliderChange=new Ge,this.onChangeWrapper=h=>{},this.onTouched=()=>{}}getNumberValue(){return typeof this.value=="number"?this.value:Number(this.value)}get isUnlimited(){return this.value===this.unlimitedValue}onChange(o){let h=o.target.value,c=parseInt(h);setTimeout(()=>{c>this.max?this.updateValue(this.max):c<this.min?this.updateValue(this.min):this.updateValue(Number.isNaN(c)?this.min:c),this.sliderChange.emit(this.getNumberValue())})}onFocus(o){this.sliderFocus.emit(o)}onBlur(o){this.sliderBlur.emit(o),this.onTouched()}setUnlimitedValue(){this.updateValue(this.unlimitedValue)}updateValue(o){this.value=o,this.onChangeWrapper(this.value),this.cdr.markForCheck()}writeValue(o){this.updateValue(o),this.cdr.markForCheck()}registerOnChange(o){this.onChangeWrapper=o}registerOnTouched(o){this.onTouched=o}setDisabledState(o){this.disabled=o,this.cdr.markForCheck()}};d.\u0275fac=function(h){return new(h||d)(ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["isp-slider"]],inputs:{min:"min",max:"max",step:"step",id:"id",label:"label",required:"required",unlimited:"unlimited",unlimitedIconName:"unlimitedIconName",unlimitedValue:"unlimitedValue",description:"description",value:"value",disabled:"disabled"},outputs:{sliderFocus:"sliderFocus",sliderBlur:"sliderBlur",sliderChange:"sliderChange"},features:[Ft([{provide:Qt,useExisting:Gt(()=>d),multi:!0}])],decls:6,vars:22,consts:[[4,"ngIf"],["ispInput","",1,"number-input",3,"change","focus","blur","id","type","min","max","step","disabled","required","value"],["type","range",1,"range-input",3,"ngModelChange","change","focus","blur","min","max","step","disabled","ngModel"],["type","button",1,"slider__unlimited-button",3,"click","disabled"],[1,"slider__unlimited-button-icon",3,"customStyle","name","inSprite"],[1,"slider__description"]],template:function(h,c){h&1&&(Z(0,"isp-field"),J(1,Wu,2,1,"isp-label",0),Z(2,"input",1),le("change",function(a){return c.onChange(a)})("focus",function(a){return c.onFocus(a)})("blur",function(a){return c.onBlur(a)}),X(),J(3,zu,3,5,"isp-suffix",0)(4,ju,3,1,"isp-suffix",0),X(),Z(5,"input",2),di("ngModelChange",function(a){return hi(c.value,a)||(c.value=a),a}),le("change",function(a){return c.onChange(a)})("focus",function(a){return c.onFocus(a)})("blur",function(a){return c.onBlur(a)}),X()),h&2&&(z(),R("ngIf",c.label),z(),R("id",c.id)("type",c.isUnlimited?"text":"number")("min",c.min)("max",c.max)("step",c.step)("disabled",c.disabled)("required",c.required)("value",c.value),z(),R("ngIf",c.unlimited),z(),R("ngIf",c.description),z(),Dt("--data-min",c.min)("--data-max",c.max)("--data-value",c.getNumberValue()),R("min",c.min)("max",c.max)("step",c.step)("disabled",c.disabled),ui("ngModel",c.value))},dependencies:[_e,ei,jr,Ur,Bt,It,Xt,Jt,Di,qt],styles:["[_nghost-%COMP%]{display:inline-flex;flex-direction:column;gap:3px}.number-input[_ngcontent-%COMP%]{appearance:textfield}.number-input[_ngcontent-%COMP%]::-webkit-outer-spin-button, .number-input[_ngcontent-%COMP%]::-webkit-inner-spin-button{margin:0;appearance:none}.range-input[_ngcontent-%COMP%]{--isp-slider__range-thumb-height: 11px;--isp-slider__range-thumb-width: 11px;--isp-slider__range-thumb-border: 1px solid var(--isp-c-grey-weekdays);--isp-slider__range-thumb-border_hover: 1px solid var(--isp-dc-fremen);--isp-slider__range-thumb-border_disabled: 1px solid var(--isp-dc-charlie-chaplin);--isp-slider__range-thumb-border-radius: 100%;--isp-slider__range-thumb-background-color: var(--isp-dc-monochrome);--isp-slider__range-track-height: 1px;--isp-slider__range-track-color: var(--isp-dc-charlie-chaplin);--isp-slider__range-track-progress-color: var(--isp-c-grey-weekdays);--isp-slider__range-track-progress-color_hover: var(--isp-dc-fremen);--isp-slider__range-track-progress-color_disabled: var( --isp-dc-charlie-chaplin );--data-thumb-position: calc( (var(--data-value) - var(--data-min)) / (var(--data-max) - var(--data-min)) * (100% - var(--isp-slider__range-thumb-width)) + var(--isp-slider__range-thumb-width) / 2 );width:100%;padding:5px 0;margin:3px 0 0;background:none;outline-offset:2px;appearance:none;accent-color:var(--isp-dc-fremen);cursor:pointer}.range-input[_ngcontent-%COMP%]::-webkit-slider-thumb{width:var(--isp-slider__range-thumb-width);height:var(--isp-slider__range-thumb-height);margin-top:calc(-1 * var(--isp-slider__range-thumb-height) / 2 + var(--isp-slider__range-track-height) / 2);background-color:var(--isp-slider__range-thumb-background-color);border:var(--isp-slider__range-thumb-border);border-radius:var(--isp-slider__range-thumb-border-radius);appearance:none}.range-input[_ngcontent-%COMP%]::-webkit-slider-runnable-track{width:100%;height:var(--isp-slider__range-track-height);background:linear-gradient(to right,var(--isp-slider__range-track-progress-color),var(--isp-slider__range-track-progress-color) var(--data-thumb-position),var(--isp-slider__range-track-color) var(--data-thumb-position),var(--isp-slider__range-track-color));appearance:none}.range-input[_ngcontent-%COMP%]::-moz-range-thumb{width:var(--isp-slider__range-thumb-width);height:var(--isp-slider__range-thumb-height);background-color:var(--isp-slider__range-thumb-background-color);border:var(--isp-slider__range-thumb-border);border-radius:var(--isp-slider__range-thumb-border-radius);appearance:none}.range-input[_ngcontent-%COMP%]::-moz-range-track{height:var(--isp-slider__range-track-height);background-color:var(--isp-slider__range-track-color);appearance:none}.range-input[_ngcontent-%COMP%]::-moz-range-progress{height:var(--isp-slider__range-track-height);background-color:var(--isp-slider__range-track-progress-color);appearance:none}.range-input[_ngcontent-%COMP%]::-ms-thumb{width:var(--isp-slider__range-thumb-width);height:var(--isp-slider__range-thumb-height);background-color:var(--isp-slider__range-thumb-background-color);border:var(--isp-slider__range-thumb-border);border-radius:var(--isp-slider__range-thumb-border-radius);appearance:none}.range-input[_ngcontent-%COMP%]::-ms-track{height:var(--isp-slider__range-track-height);background-color:var(--isp-slider__range-track-color);appearance:none}.range-input[_ngcontent-%COMP%]::-ms-fill-lower{height:var(--isp-slider__range-track-height);background-color:var(--isp-slider__range-track-progress-color);appearance:none}.range-input[_ngcontent-%COMP%]:hover:not(:disabled)::-webkit-slider-thumb, .range-input[_ngcontent-%COMP%]:focus-visible:not(:disabled)::-webkit-slider-thumb{border:var(--isp-slider__range-thumb-border_hover)}.range-input[_ngcontent-%COMP%]:hover:not(:disabled)::-webkit-slider-runnable-track, .range-input[_ngcontent-%COMP%]:focus-visible:not(:disabled)::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--isp-slider__range-track-progress-color_hover),var(--isp-slider__range-track-progress-color_hover) var(--data-thumb-position),var(--isp-slider__range-track-color) var(--data-thumb-position),var(--isp-slider__range-track-color))}.range-input[_ngcontent-%COMP%]:hover:not(:disabled)::-moz-range-thumb, .range-input[_ngcontent-%COMP%]:focus-visible:not(:disabled)::-moz-range-thumb{border:var(--isp-slider__range-thumb-border_hover)}.range-input[_ngcontent-%COMP%]:hover:not(:disabled)::-moz-range-progress, .range-input[_ngcontent-%COMP%]:focus-visible:not(:disabled)::-moz-range-progress{background-color:var(--isp-slider__range-track-progress-color_hover)}.range-input[_ngcontent-%COMP%]:hover:not(:disabled)::-ms-thumb, .range-input[_ngcontent-%COMP%]:focus-visible:not(:disabled)::-ms-thumb{border:var(--isp-slider__range-thumb-border_hover)}.range-input[_ngcontent-%COMP%]:hover:not(:disabled)::-ms-fill-lower, .range-input[_ngcontent-%COMP%]:focus-visible:not(:disabled)::-ms-fill-lower{background-color:var(--isp-slider__range-track-progress-color_hover)}.range-input[_ngcontent-%COMP%]:disabled{--isp-slider__range-thumb-border: var( --isp-slider__range-thumb-border_disabled );--isp-slider__range-track-progress-color: var( --isp-slider__range-track-progress-color_disabled );cursor:default}@supports (-moz-appearance: none){.range-input[_ngcontent-%COMP%]{margin:-4px 0 0;outline-offset:0}}"],changeDetection:0});let u=d;return u})();var Ls=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,vi,Zt,an]});let u=d;return u})();function Gu(u,d){if(u&1){let x=ve();ke(0),Z(1,"isp-slider",1),be(2,"async"),le("sliderChange",function(h){he(x);let c=U();return de(c.handleModelChange(h))}),X(),Ee()}if(u&2){let x=d.ngIf,o=U();z(),R("min",x.min)("max",x.max)("step",x.step)("label",x.label)("required",x.required)("description",x.description)("value",xe(2,7,o.value$))}}var Bs=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o){this.dynamicFormService=o,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(h=>!!h),et(h=>this.dynamicFormService.fieldValue$(h.name)))}handleModelChange(o){this.dynamicFormService.update({name:this.element$.value.name,value:o.toString()})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-slider-field"]],inputs:{element:"element"},decls:2,vars:3,consts:[[4,"ngIf"],[3,"sliderChange","min","max","step","label","required","description","value"]],template:function(h,c){h&1&&(J(0,Gu,3,9,"ng-container",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,Ds,We],changeDetection:0});let u=d;return u})();var Ku=["*"],Yu=u=>({label_disabled:u}),Is=(()=>{let d=class d{get isChecked(){return this.value===this.groupValue}constructor(o){this.cdr=o,this.disabled=!1,this.onChangeWrapper=h=>{},this.onTouched=()=>{}}onChange(o){this.updateValue(o.target.value)}updateValue(o){this.groupValue=o,this.onChangeWrapper(this.groupValue),this.cdr.markForCheck()}writeValue(o){this.updateValue(o),this.cdr.markForCheck()}registerOnChange(o){this.onChangeWrapper=o}registerOnTouched(o){this.onTouched=o}setDisabledState(o){this.disabled=o,this.cdr.markForCheck()}};d.\u0275fac=function(h){return new(h||d)(ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["isp-radio"]],inputs:{id:"id",name:"name",value:"value",groupValue:"groupValue",disabled:"disabled"},features:[Ft([{provide:Qt,useExisting:Gt(()=>d),multi:!0}])],ngContentSelectors:Ku,decls:3,vars:9,consts:[[1,"label",3,"ngClass"],["type","radio",1,"input",3,"change","name","value","checked","disabled"]],template:function(h,c){h&1&&(lt(),Z(0,"label",0)(1,"input",1),le("change",function(a){return c.onChange(a)}),X(),ct(2),X()),h&2&&(R("ngClass",bt(7,Yu,c.disabled)),at("for",c.id?c.id:null),z(),R("name",c.name)("value",c.value)("checked",c.isChecked)("disabled",c.disabled),at("id",c.id?c.id:null))},dependencies:[Yt],styles:['.label[_ngcontent-%COMP%]{display:inline-flex;gap:10px;align-items:center;height:25px;cursor:pointer}.label_disabled[_ngcontent-%COMP%]{color:var(--isp-c-grey-weekdays);cursor:default}.input[_ngcontent-%COMP%]{position:relative;padding:0;margin:0;appearance:none;cursor:pointer}.input[_ngcontent-%COMP%]:before{box-sizing:border-box;display:block;content:"";width:15px;height:15px;border:1px solid var(--isp-c-grey-weekdays);border-radius:50%}.label[_ngcontent-%COMP%]:hover .input[_ngcontent-%COMP%]:not(:disabled):before{border-color:var(--isp-dc-fremen)}.input[_ngcontent-%COMP%]:after{position:absolute;top:3px;left:3px;display:block;content:"";width:9px;height:9px;border-radius:50%;transition:transform .12s cubic-bezier(0,0,.2,1);transform:scale(0)}.input[_ngcontent-%COMP%]:checked:before{border-color:var(--isp-dc-fremen)}.input[_ngcontent-%COMP%]:checked:after{background-color:var(--isp-dc-fremen);transform:scale(1)}.input[_ngcontent-%COMP%]:disabled{cursor:default}.input[_ngcontent-%COMP%]:disabled:before{background-color:var(--isp-dc-norilsk);border-color:var(--isp-c-grey-weekdays)}.input[_ngcontent-%COMP%]:disabled:after{background-color:var(--isp-c-grey-weekdays)}'],changeDetection:0});let u=d;return u})();var Zu=["hintTooltip"],Xu=["*"],qu=()=>["right","bottom","top"],Ju=()=>({width:"15px",height:"15px"});function eh(u,d){if(u&1&&(Z(0,"div",4),Ce(1),Z(2,"div",5),ct(3),X()()),u&2){let x=U().ngIf;z(),Le(" ",x.label," ")}}function th(u,d){if(u&1&&(Z(0,"div",8,0),oe(2,"isp-svg-icon",9),X()),u&2){let x=U().$implicit,o=U(2);R("ispTooltip",x.hint)("ispTooltipDirectionOrder",Re(8,qu))("ispTooltipViewportSelector",o.tooltipDropdownParams.viewportSelector)("ispTooltipScrollSelector",o.tooltipDropdownParams.scrollSelector)("ispTooltipLimitHeight",!1)("ispTooltipViewportLimitSelectors",o.tooltipDropdownParams.viewportLimitSelectors)("ispTooltipCssVars",o.tooltipDropdownParams.cssVars),z(2),R("customStyle",Re(9,Ju))}}function ih(u,d){if(u&1){let x=ve();Z(0,"isp-radio",6),le("change",function(h){he(x);let c=U(2);return de(c.update(h.target.value))}),Ce(1),J(2,th,3,10,"div",7),X()}if(u&2){let x=d.$implicit,o=U().ngIf,h=U();R("name",o.name)("value",x.value)("groupValue",h.value),z(),Le(" ",x.text," "),z(),R("ngIf",x.hint)}}function nh(u,d){if(u&1&&(ke(0),J(1,eh,4,1,"div",2)(2,ih,3,5,"isp-radio",3),Ee()),u&2){let x=d.ngIf,o=U();z(),R("ngIf",x.label),z(),R("ngForOf",o.options)}}var Os=(()=>{let d=class d{set element(o){let h=this.dynamicFormService.docHelpers$.value.dependOptionConditions[o.name],c=this.dynamicFormService.model$.value;this.options=Po(o,h,c),this.element$.next(o);let l=c[o.name],a=this.options.every(n=>l!==n.value),t=this.options.length>0;if(a&&t){let n=this.options[0].value;this.update(n)}this.hintTooltips?.forEach(n=>n.updateDropdownPosition())}constructor(o){this.dynamicFormService=o,this.element$=new Fe(null),this.element$.pipe(ze(h=>!!h),et(h=>this.dynamicFormService.fieldValue$(h.name)),nt()).subscribe(h=>this.value=h)}update(o){this.dynamicFormService.update({name:this.element$.value.name,value:o})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-radio-field"]],viewQuery:function(h,c){if(h&1&&it(Zu,5),h&2){let l;qe(l=Je())&&(c.hintTooltips=l)}},inputs:{element:"element",tooltipDropdownParams:"tooltipDropdownParams"},ngContentSelectors:Xu,decls:2,vars:3,consts:[["hintTooltip","ispTooltip"],[4,"ngIf"],["class","header",4,"ngIf"],["class","option",3,"name","value","groupValue","change",4,"ngFor","ngForOf"],[1,"header"],[1,"hint-wrapper"],[1,"option",3,"change","name","value","groupValue"],["class","hint","ispTooltipPosition","bottom-middle",3,"ispTooltip","ispTooltipDirectionOrder","ispTooltipViewportSelector","ispTooltipScrollSelector","ispTooltipLimitHeight","ispTooltipViewportLimitSelectors","ispTooltipCssVars",4,"ngIf"],["ispTooltipPosition","bottom-middle",1,"hint",3,"ispTooltip","ispTooltipDirectionOrder","ispTooltipViewportSelector","ispTooltipScrollSelector","ispTooltipLimitHeight","ispTooltipViewportLimitSelectors","ispTooltipCssVars"],["name","banner2-icon",3,"customStyle"]],template:function(h,c){h&1&&(lt(),J(0,nh,3,2,"ng-container",1),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[Ke,_e,je,Is,dt,We],styles:["[_nghost-%COMP%]{display:block}.header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:10px}.option[_ngcontent-%COMP%]{display:block;margin-top:10px}.option[_ngcontent-%COMP%]:first-of-type{margin-top:0}.hint-wrapper[_ngcontent-%COMP%]{margin-top:1px;margin-left:10px}.hint-wrapper[_ngcontent-%COMP%]:empty{margin:0}"],changeDetection:0});let u=d;return u})();var Rs=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,Zt]});let u=d;return u})();var rh=["*"],oh=()=>["right","top","bottom"];function sh(u,d){if(u&1&&(Z(0,"isp-banner",3),oe(1,"div",4),X()),u&2){let x=U(2);R("status",x.element.banner),z(),R("innerHTML",x.element.HTML,Et)}}function ah(u,d){if(u&1&&(Z(0,"div",10),Ce(1),X()),u&2){let x=U(3);gt("label_labelsize-"+x.element.labelsize),z(),Le(" ",x.element.label," ")}}function lh(u,d){if(u&1&&oe(0,"img",13),u&2){let x=U().ngIf;R("src",x.src,Vt)("width",x.width)("height",x.height)}}function ch(u,d){if(u&1&&oe(0,"isp-svg-icon",14),u&2){let x=U().ngIf,o=U(3);R("name",x.iconName)("customStyle",o.getIconCustomStyle(x))}}function uh(u,d){if(u&1&&(ke(0),J(1,lh,1,3,"img",11)(2,ch,1,2,"isp-svg-icon",12),Ee()),u&2){let x=d.ngIf;z(),R("ngIf",x.src),z(),R("ngIf",!x.src&&x.iconName)}}function hh(u,d){if(u&1&&(Z(0,"isp-clipboard-pin",15)(1,"button",16),oe(2,"isp-svg-icon",17),X()()),u&2){let x=U(3);R("text",x.getCopyText(x.element.HTML))("report",x.getMessage("msg_textdata_copied"))("reportPlacement","top")("ispTooltip",x.getMessage("hint_textdata_copy"))("ispTooltipDirectionOrder",Re(5,oh))}}function dh(u,d){if(u&1&&(J(0,ah,2,3,"div",5),Z(1,"div",6),J(2,uh,3,2,"ng-container",1),oe(3,"div",7),J(4,hh,3,6,"isp-clipboard-pin",8),Z(5,"div",9),ct(6),X()()),u&2){let x=U(2);R("ngIf",x.element.label),z(2),R("ngIf",x.element.image),z(),Te("text-block_copyable",x.element.copy)("isp-text_warn",x.element.isWarning),R("innerHTML",x.element.HTML,Et),z(),R("ngIf",x.element.copy)}}function ph(u,d){if(u&1&&(ke(0),J(1,sh,2,2,"isp-banner",2)(2,dh,7,8,"ng-template",null,0,ut),Ee()),u&2){let x=Ve(3),o=U();z(),R("ngIf",o.element.banner)("ngIfElse",x)}}var En=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}getCopyText(o){let h=document.createElement("div");return h.innerHTML=o,h.innerText}getMessage(o){return this.dynamicFormService.getMessage(o)}getIconCustomStyle(o){let h={};return o.width&&(h.width=`${o.width}px`),o.height&&(h.height=`${o.height}px`),h}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-text-auxiliary"]],inputs:{element:"element"},ngContentSelectors:rh,decls:1,vars:1,consts:[["plainText",""],[4,"ngIf"],["class","banner",3,"status",4,"ngIf","ngIfElse"],[1,"banner",3,"status"],[3,"innerHTML"],["class","label",3,"class",4,"ngIf"],[1,"content"],[1,"text-block","isp-text",3,"innerHTML"],["class","copy",3,"text","report","reportPlacement","ispTooltip","ispTooltipDirectionOrder",4,"ngIf"],[1,"hint-wrapper"],[1,"label"],["class","image","alt","",3,"src","width","height",4,"ngIf"],["class","image",3,"name","customStyle",4,"ngIf"],["alt","",1,"image",3,"src","width","height"],[1,"image",3,"name","customStyle"],[1,"copy",3,"text","report","reportPlacement","ispTooltip","ispTooltipDirectionOrder"],["type","button",1,"clipboard-pin__button"],["name","copy_fm"]],template:function(h,c){h&1&&(lt(),J(0,ph,4,2,"ng-container",1)),h&2&&R("ngIf",c.element)},dependencies:[_e,je,gi,dt,mo],styles:["[_nghost-%COMP%]{display:block}.label[_ngcontent-%COMP%]{margin-bottom:5px}.label_labelsize-small[_ngcontent-%COMP%]{font-size:12px;color:var(--isp-c-grey-weekdays)}.banner[_ngcontent-%COMP%]{max-width:var(--isp-dynamic-form-banner-max-width, 600px)}.banner[_ngcontent-%COMP%] b{font-weight:500}.banner[_ngcontent-%COMP%] p{margin:.5em 0;line-height:18px}.banner[_ngcontent-%COMP%] p:first-child{margin-top:0}.banner[_ngcontent-%COMP%] p:last-child{margin-bottom:0}.content[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.image[_ngcontent-%COMP%]{position:relative;top:1px;margin-right:10px;object-fit:contain}.text-block[_ngcontent-%COMP%]{max-width:600px}.text-block_copyable[_ngcontent-%COMP%]{word-break:break-all}.hint-wrapper[_ngcontent-%COMP%]{margin-top:2px;margin-left:10px}.hint-wrapper[_ngcontent-%COMP%]:empty{margin:0}.copy[_ngcontent-%COMP%]{display:flex;width:15px;height:15px;margin-top:2px;margin-left:10px}.clipboard-pin__button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-grey-weekdays);display:flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;margin:0;background:none;border:none;cursor:pointer}.clipboard-pin__button[_ngcontent-%COMP%]:hover{--isp-icons-main-color: var(--isp-text-color-main)}"],changeDetection:0});let u=d;return u})();function mh(u,d){if(u&1&&oe(0,"img",3),u&2){let x=U(2);R("src",x.element.src,Vt)("width",x.element.width)("height",x.element.height)}}function gh(u,d){if(u&1&&oe(0,"isp-svg-icon",4),u&2){let x=U(2);R("name",x.element.iconName)("customStyle",x.getCustomStyle(x.element))}}function vh(u,d){if(u&1&&(ke(0),J(1,mh,1,3,"img",1)(2,gh,1,2,"isp-svg-icon",2),Ee()),u&2){let x=U();z(),R("ngIf",x.element.src),z(),R("ngIf",!x.element.src&&x.element.iconName)}}var Ps=(()=>{let d=class d{getCustomStyle(o){let h={};return o.width&&(h.width=`${o.width}px`),o.height&&(h.height=`${o.height}px`),h}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-image-auxiliary"]],inputs:{element:"element"},decls:1,vars:1,consts:[[4,"ngIf"],["class","image","alt","",3,"src","width","height",4,"ngIf"],[3,"name","customStyle",4,"ngIf"],["alt","",1,"image",3,"src","width","height"],[3,"name","customStyle"]],template:function(h,c){h&1&&J(0,vh,3,2,"ng-container",0),h&2&&R("ngIf",c.element)},dependencies:[_e,je],styles:[".image[_ngcontent-%COMP%]{display:block;object-fit:contain}"],changeDetection:0});let u=d;return u})();function yh(u,d){if(u&1&&(Z(0,"div",2),Ce(1),X()),u&2){let x=U();z(),He(x.element.label)}}function wh(u,d){if(u&1&&oe(0,"isp-svg-icon",5),u&2){let x=U(2);R("name",x.element.icon)}}function _h(u,d){if(u&1){let x=ve();Z(0,"a",3),le("click",function(h){he(x);let c=U();return de(c.handleLinkClick(h))}),J(1,wh,1,1,"isp-svg-icon",4),Ce(2),X()}if(u&2){let x=U();R("href",x.element.href,Vt)("target",x.element.target),z(),R("ngIf",x.element.icon),z(),Le(" ",x.element.text,`
`)}}var Fn=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}handleLinkClick(o){if(this.element.isInternal){o.preventDefault(),this.dynamicFormService.linkClick.emit({func:this.element.href,isNewTab:this.element.isNewTab,drawer:this.element.drawer});return}return!0}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-link-auxiliary"]],inputs:{element:"element"},decls:2,vars:2,consts:[["class","label",4,"ngIf"],["class","isp-link link",3,"href","target","click",4,"ngIf"],[1,"label"],[1,"isp-link","link",3,"click","href","target"],["class","icon",3,"name",4,"ngIf"],[1,"icon",3,"name"]],template:function(h,c){h&1&&J(0,yh,2,1,"div",0)(1,_h,3,4,"a",1),h&2&&(R("ngIf",c.element.label),z(),R("ngIf",c.element))},dependencies:[_e,je],styles:[".link[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-fremen);display:flex;align-items:center;width:fit-content}.link[_ngcontent-%COMP%]:hover{--isp-icons-main-color: var(--isp-dc-lapis-lazuli)}.icon[_ngcontent-%COMP%]{margin-right:10px}.label[_ngcontent-%COMP%]{margin-bottom:7px}"],changeDetection:0});let u=d;return u})();var bh=()=>({width:"15px",height:"15px"});function xh(u,d){u&1&&oe(0,"isp-loader",4)}function Ah(u,d){if(u&1&&oe(0,"isp-icon-provider",5),u&2){let x=U();R("name",x.iconName)("customStyle",Re(2,bh))}}var Ns=(()=>{let d=class d{constructor(){this.loading=!1,this.iconName=null,this.color="blue",this.value=""}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-chip"]],inputs:{loading:"loading",iconName:"iconName",color:"color",value:"value"},decls:5,vars:5,consts:[[1,"chip"],["loading","","type","spinner","class","chip__loader",4,"ngIf"],["class","chip__icon","inSprite","true",3,"name","customStyle",4,"ngIf"],[1,"chip__value"],["loading","","type","spinner",1,"chip__loader"],["inSprite","true",1,"chip__icon",3,"name","customStyle"]],template:function(h,c){h&1&&(Z(0,"div",0),J(1,xh,1,0,"isp-loader",1)(2,Ah,1,3,"isp-icon-provider",2),Z(3,"span",3),Ce(4),X()()),h&2&&(gt("chip_color_"+c.color),z(),R("ngIf",c.loading),z(),R("ngIf",!c.loading),z(2),He(c.value))},dependencies:[_e,ei,Mt],styles:[".chip[_ngcontent-%COMP%]{display:flex;flex-direction:row;gap:5px;align-items:center;justify-content:center;height:25px;padding:0 10px;border-radius:var(--isp-border-radius-main)}.chip_color_blue[_ngcontent-%COMP%]{background-color:var(--isp-dc-made-in-heaven)}.chip_color_yellow[_ngcontent-%COMP%]{background-color:var(--isp-dc-new-vegas)}.chip_color_red[_ngcontent-%COMP%]{background-color:var(--isp-dc-dirty-deeds-done-dirt-cheap)}.chip_color_green[_ngcontent-%COMP%]{background-color:var(--isp-dc-aurora-borealis)}.chip_color_grey[_ngcontent-%COMP%]{background-color:var(--isp-dc-mimic)}.chip__loader[_ngcontent-%COMP%]{--isp-loader__size: 15px;--isp-loader__color: var(--isp-c-blue-velvet)}.chip__icon[_ngcontent-%COMP%]{display:flex}"],changeDetection:0});let u=d;return u})();var Sh=(u,d,x)=>["wrapper",u,d,x];function kh(u,d){if(u&1){let x=ve();Z(0,"a",4),be(1,"async"),be(2,"async"),le("click",function(){he(x);let h=U();return de(h.handleButtonClick())}),Z(3,"span",5),Ce(4),X()()}if(u&2){let x=U();Te("button_loading",xe(1,5,x.preloaderSubject))("isp-link_disabled",xe(2,7,x.disabledSubject)),z(4),He(x.button.label)}}function Eh(u,d){if(u&1&&oe(0,"isp-svg-icon",8),u&2){let x=U(2);R("name",x.button.icon)}}function Fh(u,d){if(u&1){let x=ve();Z(0,"button",6),be(1,"async"),be(2,"async"),le("click",function(){he(x);let h=U();return de(h.handleButtonClick())}),J(3,Eh,1,1,"isp-svg-icon",7),Z(4,"span",5),Ce(5),X()()}if(u&2){let x=U();gt("isp-button isp-button_theme_"+(x.button.buttonTheme||"primary")),Te("button_loading",xe(1,7,x.preloaderSubject)),R("disabled",xe(2,9,x.disabledSubject)),z(3),R("ngIf",x.button.icon),z(2),He(x.button.label)}}var Vs=(()=>{let d=class d{constructor(){this.placement="standard",this.btnClick=new Ge,this.disabledSubject=new Fe(!1),this.preloaderSubject=new Fe(!1),this.svgIconSize={width:"20px",height:"20px"}}set disabled(o){this.disabledSubject.next(o)}set loading(o){this.preloaderSubject.next(o)}get hint(){return this.disabledSubject.pipe(Qe(o=>o?this.button.hintDisabled:this.button.hint))}handleButtonClick(){this.btnClick.emit()}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-form-button"]],inputs:{button:"button",placement:"placement",disabled:"disabled",loading:"loading"},outputs:{btnClick:"btnClick"},decls:8,vars:17,consts:[["simpleButtonBlock",""],["ispTooltipPosition","top-start",3,"ispTooltip","ispTooltipDisabled"],["view","overlay","type","spinner",1,"loader",3,"loading"],["class","isp-link link",3,"button_loading","isp-link_disabled","click",4,"ngIf","ngIfElse"],[1,"isp-link","link",3,"click"],[1,"button__label"],["tabindex","0","type","button",3,"click","disabled"],["class","button__icon",3,"name",4,"ngIf"],[1,"button__icon",3,"name"]],template:function(h,c){if(h&1&&(Z(0,"div",1),be(1,"async"),be(2,"async"),Z(3,"isp-loader",2),be(4,"async"),J(5,kh,5,9,"a",3)(6,Fh,6,11,"ng-template",null,0,ut),X()()),h&2){let l=Ve(7);gt(Br(13,Sh,"wrapper_ui-place_"+c.placement,"wrapper_theme_"+(c.button.buttonTheme||"primary"),"wrapper_type_"+(c.button.displayType||"button"))),R("ispTooltip",xe(1,7,c.hint))("ispTooltipDisabled",!xe(2,9,c.hint)),z(3),R("loading",xe(4,11,c.preloaderSubject)),z(2),R("ngIf",c.button.displayType==="link")("ngIfElse",l)}},dependencies:[dt,_e,je,Mt,We],styles:["[_nghost-%COMP%]{position:relative;display:inline-block;width:var(--isp-form-button-width, min-content);height:auto;white-space:nowrap}.wrapper_ui-place_external[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:flex;justify-content:center}.loader[_ngcontent-%COMP%]{--isp-loader__background: none;--isp-loader__size: 20px;--isp-loader__color: var(--isp-c-jon-snow)}.wrapper_theme_icon[_ngcontent-%COMP%] .loader[_ngcontent-%COMP%]{--isp-loader__size: 15px;--isp-loader__color: currentColor}.wrapper[_ngcontent-%COMP%]:not(.wrapper_theme_primary) .loader[_ngcontent-%COMP%], .wrapper_type_link[_ngcontent-%COMP%] .loader[_ngcontent-%COMP%]{--isp-loader__color: var(--isp-dc-fremen)}.button_loading[_ngcontent-%COMP%] [_ngcontent-%COMP%]:is(.button__label, .button__icon)[_ngcontent-%COMP%]{opacity:0}"],changeDetection:0});let u=d;return u})();var Hs=(u,d)=>({width:u,height:d}),Th=()=>["top-left","main","top-right"],Dh=(u,d)=>({expand:u,collapse:d}),Lh=(u,d)=>({name:u,row:d}),Bh=u=>({event:"user_click_on_action_button_with_module",data:u});function Ih(u,d){if(u&1&&(Z(0,"th",7),Ce(1),X()),u&2){let x=d.$implicit;R("width",x.width)("align",x.align),z(),Le(" ",x.text," ")}}function Oh(u,d){if(u&1&&(Z(0,"thead")(1,"tr"),J(2,Ih,2,3,"th",6),X()()),u&2){let x=U(3);z(2),R("ngForOf",x.element.cols)}}function Rh(u,d){if(u&1&&(Z(0,"div",15),oe(1,"span",16),X()),u&2){let x=U().$implicit;z(),R("innerHTML",x.text,Et)}}function Ph(u,d){if(u&1){let x=ve();Z(0,"isp-form-button",19),le("btnClick",function(){let h=he(x).$implicit,c=U(3).$implicit,l=U(3);return de(l.handleButtonClick(h,c))}),X()}if(u&2){let x=d.$implicit,o=U(6);R("button",x)("disabled",o.isButtonDisabled(x))("loading",o.isButtonLoading(x))}}function Nh(u,d){if(u&1&&(Z(0,"div",17),J(1,Ph,1,3,"isp-form-button",18),X()),u&2){let x=U().$implicit,o=U(4);z(),R("ngForOf",x.buttons)("ngForTrackBy",o.buttonIdentity)}}function Vh(u,d){if(u&1&&oe(0,"isp-svg-icon",23),u&2){let x=U(2).$implicit;R("name",x.iconName)("customStyle",Ht(2,Hs,x.width,x.iconHeight))}}function Hh(u,d){if(u&1&&oe(0,"img",24),u&2){let x=U(2).$implicit;Dt("width",x.width||"auto")("height",x.iconHeight||"auto"),R("src",x.iconPath,Vt)}}function Wh(u,d){if(u&1&&(Z(0,"div",20),J(1,Vh,1,5,"isp-svg-icon",21)(2,Hh,1,5,"img",22),X()),u&2){let x=U().$implicit;z(),R("ngIf",x.iconName),z(),R("ngIf",x.iconPath)}}function zh(u,d){if(u&1&&(Z(0,"div",25),oe(1,"isp-form-view-element",26),X()),u&2){let x=d.ngIf;z(),R("element",x)}}function jh(u,d){if(u&1&&(Z(0,"td",10),J(1,Rh,2,1,"div",11)(2,Nh,2,2,"div",12)(3,Wh,3,2,"div",13)(4,zh,2,1,"div",14),X()),u&2){let x=d.$implicit;Dt("width",x.width||(x.buttons?"0":"auto")),z(),R("ngIf",x.text),z(),R("ngIf",x.buttons),z(),R("ngIf",x.iconName||x.iconPath),z(),R("ngIf",x.control)}}function Uh(u,d){if(u&1&&(Z(0,"tr",8),J(1,jh,5,6,"td",9),X()),u&2){let x=d.$implicit,o=U(3);Te("row_hover",o.element.hover),z(),R("ngForOf",x.cells.main)("ngForTrackBy",o.cellIdentity)}}function Gh(u,d){if(u&1&&(Z(0,"table",4),J(1,Oh,3,1,"thead",2),Z(2,"tbody"),J(3,Uh,2,4,"tr",5),X()()),u&2){let x=U(2);z(),R("ngIf",x.element.cols&&x.element.type==="table"&&x.element.rows.length),z(2),R("ngForOf",x.element.rows)("ngForTrackBy",x.rowIdentity)}}function Kh(u,d){if(u&1&&(ke(0),J(1,Gh,4,3,"table",3),Ee()),u&2){let x=U(),o=Ve(2);z(),R("ngIf",x.element.isTable)("ngIfElse",o)}}function Yh(u,d){if(u&1&&oe(0,"isp-svg-icon",23),u&2){let x=U(2).$implicit;R("name",x.iconName)("customStyle",Ht(2,Hs,x.width,x.iconHeight))}}function Qh(u,d){if(u&1&&oe(0,"img",24),u&2){let x=U(2).$implicit;Dt("width",x.width||"auto")("height",x.iconHeight||"auto"),R("src",x.iconPath,Vt)}}function Zh(u,d){if(u&1&&(Z(0,"div",20),J(1,Yh,1,5,"isp-svg-icon",21)(2,Qh,1,5,"img",22),X()),u&2){let x=U().$implicit;z(),R("ngIf",x.iconName),z(),R("ngIf",x.iconPath)}}function Xh(u,d){if(u&1&&(Z(0,"isp-collapse-text",36),oe(1,"div",16),X()),u&2){let x=U(2).$implicit,o=U(5);Dt("--isp-collapse_lines",x.collapse),R("messages",Ht(4,Dh,o.element.messages.expand,o.element.messages.collapse)),z(),R("innerHTML",x.text,Et)}}function qh(u,d){if(u&1&&oe(0,"div",37),u&2){let x=U(2),o=x.$implicit,h=x.first;Te("title",h),R("innerHTML",o.text,Et)}}function Jh(u,d){if(u&1&&(ke(0),J(1,Xh,2,7,"isp-collapse-text",35)(2,qh,1,3,"ng-template",null,1,ut),Ee()),u&2){let x=Ve(3),o=U().$implicit;z(),R("ngIf",o.collapse>0)("ngIfElse",x)}}function ed(u,d){if(u&1){let x=ve();Z(0,"isp-form-button",39),le("btnClick",function(){let h=he(x).$implicit,c=U(5).$implicit,l=U(2);return de(l.handleButtonClick(h,c))}),X()}if(u&2){let x=d.$implicit,o=U(5).$implicit,h=U(2);R("button",x)("disabled",h.isButtonDisabled(x))("loading",h.isButtonLoading(x))("ispMetric",bt(7,Bh,Ht(4,Lh,x==null?null:x.$name,o==null?null:o.keyValue)))}}function td(u,d){if(u&1&&(Z(0,"div",17),J(1,ed,1,9,"isp-form-button",38),X()),u&2){let x=U().$implicit,o=U(5);z(),R("ngForOf",x.buttons)("ngForTrackBy",o.buttonIdentity)}}function id(u,d){if(u&1&&(Z(0,"li",42),Ce(1),X()),u&2){let x=d.$implicit;z(),Le(" ",x," ")}}function nd(u,d){if(u&1&&(Z(0,"ul",40),J(1,id,2,1,"li",41),X()),u&2){let x=U().$implicit;z(),R("ngForOf",x.bulletList)}}function rd(u,d){if(u&1&&oe(0,"isp-chip",45),u&2){let x=d.$implicit;R("iconName",x.$img)("color",x.$color)("value",x.$)("loading",x.$loading)}}function od(u,d){if(u&1&&(Z(0,"div",43),J(1,rd,1,4,"isp-chip",44),X()),u&2){let x=U().$implicit;z(),R("ngForOf",x.chips)}}function sd(u,d){if(u&1&&(ke(0,32),J(1,Zh,3,2,"div",13)(2,Jh,4,2,"ng-container",2)(3,td,2,2,"div",12)(4,nd,2,1,"ul",33)(5,od,2,1,"div",34),Ee()),u&2){let x=d.$implicit;R("ngSwitch",x.type),z(),R("ngIf",x.iconName||x.iconPath),z(),R("ngIf",x.text),z(),R("ngIf",x.buttons),z(),R("ngIf",x.bulletList),z(),R("ngIf",x.chips)}}function ad(u,d){if(u&1&&(Z(0,"div"),J(1,sd,6,6,"ng-container",31),X()),u&2){let x=U().$implicit,o=U().$implicit,h=U(2);gt("card-section-"+x),z(),R("ngForOf",o.cells[x])("ngForTrackBy",h.cellIdentity)}}function ld(u,d){if(u&1&&(ke(0),J(1,ad,2,4,"div",30),Ee()),u&2){let x=d.$implicit,o=U().$implicit;z(),R("ngIf",o.cells[x].length)}}function cd(u,d){u&1&&(Z(0,"div",28),J(1,ld,2,1,"ng-container",29),X()),u&2&&(z(),R("ngForOf",Re(1,Th)))}function ud(u,d){if(u&1&&J(0,cd,2,2,"div",27),u&2){let x=U();R("ngForOf",x.element.rows)("ngForTrackBy",x.rowIdentity)}}var Ws=(()=>{let d=class d{constructor(o){this.dynamicFormService=o,this.rowIdentity=(h,c)=>c.identity,this.cellIdentity=(h,c)=>h,this.buttonIdentity=(h,c)=>h}handleButtonClick(o,h){this.dynamicFormService.handleButtonClick(o.getDocButton(),h.additionalParams,o.entityName)}getButtonThemeClass(o){return Sn(o)}isButtonLoading(o){return o.getDocButton()===this.dynamicFormService.options$.value.loading}isButtonDisabled(o){return o.disabled||this.dynamicFormService.options$.value.loading&&this.dynamicFormService.options$.value.loading!==o.getDocButton()}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-list-auxiliary"]],inputs:{element:"element"},decls:3,vars:1,consts:[["cards",""],["textValueBlock",""],[4,"ngIf"],["class","table",4,"ngIf","ngIfElse"],[1,"table"],["class","row",3,"row_hover",4,"ngFor","ngForOf","ngForTrackBy"],["class","head-cell",3,"width","align",4,"ngFor","ngForOf"],[1,"head-cell",3,"width","align"],[1,"row"],["class","cell",3,"width",4,"ngFor","ngForOf","ngForTrackBy"],[1,"cell"],["class","text",4,"ngIf"],["class","buttons",4,"ngIf"],["class","img",4,"ngIf"],["class","control",4,"ngIf"],[1,"text"],[3,"innerHTML"],[1,"buttons"],[3,"button","disabled","loading","btnClick",4,"ngFor","ngForOf","ngForTrackBy"],[3,"btnClick","button","disabled","loading"],[1,"img"],[3,"name","customStyle",4,"ngIf"],["alt","",3,"src","width","height",4,"ngIf"],[3,"name","customStyle"],["alt","",3,"src"],[1,"control"],[3,"element"],["class","card",4,"ngFor","ngForOf","ngForTrackBy"],[1,"card"],[4,"ngFor","ngForOf"],[3,"class",4,"ngIf"],[3,"ngSwitch",4,"ngFor","ngForOf","ngForTrackBy"],[3,"ngSwitch"],["class","bullet-list",4,"ngIf"],["class","chips",4,"ngIf"],[3,"--isp-collapse_lines","messages",4,"ngIf","ngIfElse"],[3,"messages"],[1,"text",3,"innerHTML"],[3,"button","disabled","loading","ispMetric","btnClick",4,"ngFor","ngForOf","ngForTrackBy"],[3,"btnClick","button","disabled","loading","ispMetric"],[1,"bullet-list"],["class","bullet-list-item",4,"ngFor","ngForOf"],[1,"bullet-list-item"],[1,"chips"],[3,"iconName","color","value","loading",4,"ngFor","ngForOf"],[3,"iconName","color","value","loading"]],template:function(h,c){h&1&&J(0,Kh,2,2,"ng-container",2)(1,ud,1,2,"ng-template",null,0,ut),h&2&&R("ngIf",c.element)},dependencies:[Ke,_e,pi,je,Ns,Bi,Vs,Ii,pt],styles:['[_nghost-%COMP%]{display:block;overflow-x:auto}.head-cell[_ngcontent-%COMP%]:empty{height:0;padding:0}.chips[_ngcontent-%COMP%]{display:flex;gap:5px}.card[_ngcontent-%COMP%]{--isp-list-cell-text-max-width: 600px;display:flex;flex-direction:row;gap:25px;padding:20px 0 25px;border-top:1px solid var(--isp-dc-charlie-chaplin)}.card-section-main[_ngcontent-%COMP%]{display:flex;flex:1;flex-direction:column;gap:10px}.card[_ngcontent-%COMP%]:last-of-type{border-bottom:1px solid var(--isp-dc-charlie-chaplin)}.text.title[_ngcontent-%COMP%]{min-height:25px;font-size:18px;font-weight:500}.buttons[_ngcontent-%COMP%]{display:flex;gap:10px;width:fit-content}.buttons_align-right[_ngcontent-%COMP%]{justify-content:flex-end}.table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.head-cell[_ngcontent-%COMP%]{height:40px;padding-right:20px;font-size:12px;font-weight:400;color:var(--isp-c-grey-weekdays);text-align:left;background-color:var(--isp-dc-norilsk)}.head-cell[_ngcontent-%COMP%]:first-of-type{padding-left:20px;border-top-left-radius:5px}.head-cell[_ngcontent-%COMP%]:last-of-type{border-top-right-radius:5px}.row[_ngcontent-%COMP%]{border-bottom:1px solid var(--isp-dc-charlie-chaplin)}.row[_ngcontent-%COMP%]:last-of-type{border-bottom:none}.row_hover[_ngcontent-%COMP%]:hover{background-color:var(--isp-dc-made-in-heaven)}.cell[_ngcontent-%COMP%]{padding:15px 20px 15px 0;vertical-align:middle}.cell[_ngcontent-%COMP%]:first-of-type{padding-left:20px}.text[_ngcontent-%COMP%]{display:flex;align-items:center;width:fit-content;max-width:var(--isp-list-cell-text-max-width, 800px)}.cell[_ngcontent-%COMP%] br:first-child{display:none}.cell[_ngcontent-%COMP%] b, .cell[_ngcontent-%COMP%] strong, .cell[_ngcontent-%COMP%] h1, .cell[_ngcontent-%COMP%] h2, .cell[_ngcontent-%COMP%] h3, .cell[_ngcontent-%COMP%] h4, .cell[_ngcontent-%COMP%] h5, .cell[_ngcontent-%COMP%] h6{display:inline-block;margin-top:5px;margin-bottom:13px;font-weight:var(--isp-font-weight-bold)}.cell[_ngcontent-%COMP%] h1:first-child, .cell[_ngcontent-%COMP%] h2:first-child, .cell[_ngcontent-%COMP%] h3:first-child, .cell[_ngcontent-%COMP%] h4:first-child, .cell[_ngcontent-%COMP%] h5:first-child, .cell[_ngcontent-%COMP%] h6:first-child{margin-top:0}.cell[_ngcontent-%COMP%] i{font-size:12px;font-style:normal;line-height:14px;color:var(--isp-dc-highway-star)}.cell[_ngcontent-%COMP%] b{font-size:16px}.cell[_ngcontent-%COMP%] .img{display:flex;align-items:center;min-height:35px}.bullet-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:5px;padding:0;margin:0;list-style-type:none}.bullet-list-item[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center}.bullet-list-item[_ngcontent-%COMP%]:before{content:"";width:5px;height:5px;background-color:var(--isp-dc-fremen);border-radius:50%}'],changeDetection:0});let u=d;return u})();function hd(u,d){if(u&1&&oe(0,"isp-form-view-element",2),u&2){let x=U().$implicit;R("element",x)}}function dd(u,d){if(u&1&&(ke(0),J(1,hd,1,1,"isp-form-view-element",1),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}var zs=(()=>{let d=class d{identityFn(o,h){return h.id}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-border-container"]],inputs:{element:"element"},decls:1,vars:2,consts:[[4,"ngFor","ngForOf","ngForTrackBy"],["class","child",3,"element",4,"ngIf"],[1,"child",3,"element"]],template:function(h,c){h&1&&J(0,dd,2,1,"ng-container",0),h&2&&R("ngForOf",c.element.children)("ngForTrackBy",c.identityFn)},dependencies:[Ke,_e,pt],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;gap:10px;align-items:center;padding:15px;border:1px solid var(--isp-dc-charlie-chaplin);border-radius:var(--isp-border-radius-main)}[_nghost-%COMP%] img{border-radius:var(--isp-border-radius-main)}.frame_forcetheme[_ngcontent-%COMP%]{filter:var(--isp-d-filter-invert)}"],changeDetection:0});let u=d;return u})();var js=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,vi]});let u=d;return u})();var ii=class u{static filterByAccept(d,x){if(!x)return d;let o=x.split(",");return d.filter(h=>u.isFileAcceptedByTypes(h,o))}static isFileAcceptedByTypes(d,x){let o=(d.name||"").toLowerCase(),h=(d.type||"").toLowerCase();return x.some(c=>{let l=c.toLowerCase().trim();if(c.startsWith("."))return o.endsWith(c);if(c.endsWith("/*")){let a=/\/.*$/,t=h.replace(a,""),e=l.replace(a,"");return t===e}return h===c})}static transformToFullString(d){if(!d)return"";let x=l=>Array.from(l).map(a=>a.name).join(", "),o=x(d.files),h=x(d.folders),c="";return o.length>0&&(c+=o),h.length>0&&(c+=c.length>0?`, ${h}`:h),c}static getFirstSubstantialName(d){return d.files.length>0?d.files[0].name:d.folders.length>0?d.folders[0].name:""}static getFullLength(d){return d?d.files.length+d.folders.length:0}};function pd(u,d){if(u&1&&(Z(0,"span",6),Ce(1),X()),u&2){let x=d.ngIf;z(),He(x)}}var Hi=(()=>{let d=class d{constructor(){this.clear=new Ge,this.fileName$=new Fe(null),this.title$=new Fe(null),this.suffix$=new Fe(null)}set selectedFiles(o){this.updateFileName(o)}clearFiles(o){this.fileName$.next(null),this.title$.next(null),this.suffix$.next(null),this.clear.emit(o)}updateFileName(o){let{files:h,folders:c}=o;if(h.length===0&&c.length===0){this.fileName$.next(null),this.suffix$.next(null);return}if(this.title$.next(ii.transformToFullString(o)),!this.showSuffix){this.fileName$.next(h[0].name);return}this.fileName$.next(ii.getFirstSubstantialName(o));let l=ii.getFullLength(o);l>1&&this.suffix$.next(this.messages.andMore.replace("__value__",(l-1).toString()))}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-file-picker-selected-file"]],inputs:{showSuffix:"showSuffix",messages:"messages",selectedFiles:"selectedFiles"},outputs:{clear:"clear"},decls:10,vars:10,consts:[["name","clip_s",1,"selected-file__icon"],[1,"selected-file__caption",3,"title"],[1,"selected-file__name"],["class","selected-file__suffix",4,"ngIf"],["ispTooltipPosition","top-end","type","button",1,"selected-file__button",3,"click","ispTooltip"],["name","p-delete",1,"selected-file__icon"],[1,"selected-file__suffix"]],template:function(h,c){h&1&&(oe(0,"isp-svg-icon",0),Z(1,"span",1),be(2,"async"),Z(3,"span",2),Ce(4),be(5,"async"),X(),J(6,pd,2,1,"span",3),be(7,"async"),X(),Z(8,"button",4),le("click",function(a){return c.clearFiles(a)}),oe(9,"isp-svg-icon",5),X()),h&2&&(z(),R("title",xe(2,4,c.title$)),z(3),He(xe(5,6,c.fileName$)),z(2),R("ngIf",xe(7,8,c.suffix$)),z(2),R("ispTooltip",c.messages==null?null:c.messages.tooltipClear))},dependencies:[_e,je,dt,We],styles:["[_nghost-%COMP%]{display:flex;gap:10px;align-items:center;width:100%}.selected-file__caption[_ngcontent-%COMP%]{display:inline-flex;gap:5px;min-width:0}.selected-file__name[_ngcontent-%COMP%]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-file__suffix[_ngcontent-%COMP%]{white-space:nowrap}.selected-file__icon[_ngcontent-%COMP%]{flex-shrink:0}.selected-file__button[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-grey-weekdays);display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;pointer-events:auto;cursor:pointer}.selected-file__button[_ngcontent-%COMP%]:hover{--isp-icons-main-color: var(--isp-text-color-main)}"],changeDetection:0});let u=d;return u})();function fd(u,d){if(u&1){let x=ve();Z(0,"isp-file-picker-selected-file",5),le("clear",function(){he(x);let h=U(),c=Ve(1);return de(h.clearPicker(c))}),X()}if(u&2){let x=d.ngIf,o=U();R("messages",o.messages)("selectedFiles",x)("showSuffix",!0)}}function md(u,d){if(u&1&&(Z(0,"label",6),oe(1,"isp-svg-icon",7),Ce(2),X()),u&2){let x=U();R("for",x.id),z(2),Le(" ",x.messages.buttonLabel,"")}}var Us=(()=>{let d=class d{constructor(){this.fileChange=new Ge,this.selectedFile$=new Fe(null)}onChange(o){let c=o.target.files;if(c.length===0)return;let l={files:Array.from(c),folders:[],name:""};this.selectedFile$.next(l),this.fileChange.emit(l)}clearPicker(o){o.value=null,this.selectedFile$.next(null),this.fileChange.emit(null)}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-file-picker-simple"]],inputs:{messages:"messages",accept:"accept",multiple:"multiple",disabled:"disabled",id:"id"},outputs:{fileChange:"fileChange"},decls:7,vars:10,consts:[["fileInput",""],["label",""],["type","file",1,"visually-hidden","input",3,"change","id","disabled","multiple","accept"],[1,"simple-input"],[3,"messages","selectedFiles","showSuffix","clear",4,"ngIf","ngIfElse"],[3,"clear","messages","selectedFiles","showSuffix"],[1,"simple-input__label",3,"for"],["name","clip_s",1,"simple-input__icon"]],template:function(h,c){if(h&1){let l=ve();Z(0,"input",2,0),le("change",function(t){return he(l),de(c.onChange(t))}),X(),Z(2,"div",3),J(3,fd,1,3,"isp-file-picker-selected-file",4),be(4,"async"),J(5,md,3,2,"ng-template",null,1,ut),X()}if(h&2){let l=Ve(6);R("id",c.id)("disabled",c.disabled)("multiple",c.multiple)("accept",c.accept),z(2),Te("simple-input_disabled",c.disabled),z(),R("ngIf",xe(4,8,c.selectedFile$))("ngIfElse",l)}},dependencies:[_e,je,Hi,We],styles:[".input[_ngcontent-%COMP%]:focus + .simple-input[_ngcontent-%COMP%]{outline:2px solid var(--isp-dc-fremen);outline-offset:2px}.simple-input[_ngcontent-%COMP%]{display:flex;flex-direction:column}.simple-input_disabled[_ngcontent-%COMP%] .simple-input__label[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-grey-weekdays);color:var(--isp-c-grey-weekdays)}.simple-input__label[_ngcontent-%COMP%]{--isp-icons-main-color: currentColor;display:flex;gap:10px;color:var(--isp-dc-fremen);cursor:pointer}.simple-input__label[_ngcontent-%COMP%]:hover{color:var(--isp-dc-lapis-lazuli)}"],changeDetection:0});let u=d;return u})();var Mn=(()=>{let d=class d{constructor(){this.multiple=!1,this.acceptFolders=!1,this.disabled=!1,this.fileDrop=new Ge,this.loading=new Ge,this.dragOver=new Ge}onDragover(o){if(o.preventDefault(),o.stopPropagation(),!this.disabled){if(this.includesNonFileTypes([...o.dataTransfer.types])){o.dataTransfer.dropEffect="none";return}this.dragOver.emit(!0)}}onDragleave(o){o.preventDefault(),o.stopPropagation(),!this.disabled&&this.dragOver.emit(!1)}onDrop(o){return _t(this,null,function*(){if(o.preventDefault(),o.stopPropagation(),this.disabled||this.includesNonFileTypes([...o.dataTransfer.types]))return;this.dragOver.emit(!1),this.loading.emit(!0);let h=[...o.dataTransfer.items].map(l=>l.webkitGetAsEntry()),c=yield qr(h);this.acceptFolders||(c.folders=[]),this.accept&&(c.files=ii.filterByAccept(c.files,this.accept)),!this.multiple&&c.files.length>0&&(c.files=[c.files[0]]),this.loading.emit(!1),this.fileDrop.emit(c)})}includesNonFileTypes(o){return o.some(h=>h!=="Files"&&h!=="application/x-moz-file")}};d.\u0275fac=function(h){return new(h||d)},d.\u0275dir=Tt({type:d,selectors:[["","ispFileDrop",""]],hostBindings:function(h,c){h&1&&le("dragover",function(a){return c.onDragover(a)})("dragleave",function(a){return c.onDragleave(a)})("drop",function(a){return c.onDrop(a)})},inputs:{multiple:[0,"ispFileDropMultiple","multiple"],acceptFolders:[0,"ispFileDropAcceptFolders","acceptFolders"],accept:[0,"ispFileDropAccept","accept"],disabled:[0,"ispFileDropDisabled","disabled"]},outputs:{fileDrop:"ispFileDrop",loading:"ispFileDropLoading",dragOver:"ispFileDropDragOver"}});let u=d;return u})();function vd(u,d){if(u&1){let x=ve();Z(0,"isp-file-picker-selected-file",14),le("clear",function(){he(x);let h=U(),c=Ve(1);return de(h.clearPicker(c))}),X()}if(u&2){let x=d.ngIf,o=U();R("messages",o.messages)("selectedFiles",x)}}function yd(u,d){if(u&1&&(Z(0,"label",15),oe(1,"isp-svg-icon",16),Ce(2),X()),u&2){let x=U();R("for",x.id),z(2),Le(" ",x.messages.buttonLabel," ")}}var Ks=(()=>{let d=class d{constructor(o){this.cdr=o,this.previewBackground="light",this.fileChange=new Ge,this.dragOver$=new Fe(!1),this.showError$=new Fe(!1),this.selectedFile$=new Fe(null),this.filePreview$=new Fe(null)}ngOnInit(){this.filePreview$.next(this.defaultPreview)}onChange(o){let h=o.target,c=h.files;if(c.length===0)return;let l=ii.filterByAccept(Array.from(c),this.accept);if(l.length===0){h.value=null,this.showError();return}this.updateFile(l[0])}onDragOver(o){this.dragOver$.next(o)}onDrop(o){if(o.files.length===0){this.showError();return}this.updateFile(o.files[0])}clearPicker(o){o.value=null,this.filePreview$.next(this.defaultPreview),this.selectedFile$.next(null),this.cdr.detectChanges(),this.fileChange.next(null)}updateFile(o){this.filePreview$.next(URL.createObjectURL(o));let h={files:[o],folders:[],name:""};this.selectedFile$.next(h),this.fileChange.emit(h)}showError(){this.showError$.next(!0),setTimeout(()=>{this.showError$.next(!1)},3e3)}};d.\u0275fac=function(h){return new(h||d)(ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["isp-file-picker-preview"]],inputs:{messages:"messages",accept:"accept",disabled:"disabled",previewBackground:"previewBackground",defaultPreview:"defaultPreview",id:"id"},outputs:{fileChange:"fileChange"},decls:22,vars:30,consts:[["fileInput",""],["label",""],["type","file",1,"visually-hidden","input",3,"change","id","disabled","accept"],[1,"preview",3,"ispFileDrop","ispFileDropDragOver","ispFileDropDisabled","ispFileDropAccept","ispFileDropMultiple","ispFileDropAcceptFolders"],[1,"preview__image-wrapper"],["alt","",1,"preview__image",3,"src"],[1,"preview__info","info"],[1,"info__title"],["class","info__selected-file",3,"messages","selectedFiles","clear",4,"ngIf","ngIfElse"],[1,"overlay"],[1,"overlay__content"],["name","upload_xl",1,"overlay__icon","overlay__upload-icon"],["name","upload_error_xl",1,"overlay__icon","overlay__error-icon"],[1,"overlay__caption"],[1,"info__selected-file",3,"clear","messages","selectedFiles"],[1,"info__label",3,"for"],["name","add_s",1,"info__icon"]],template:function(h,c){if(h&1){let l=ve();Z(0,"input",2,0),le("change",function(t){return he(l),de(c.onChange(t))}),X(),Z(2,"div",3),be(3,"async"),be(4,"async"),be(5,"async"),le("ispFileDrop",function(t){return he(l),de(c.onDrop(t))})("ispFileDropDragOver",function(t){return he(l),de(c.dragOver$.next(t))}),Z(6,"div",4),oe(7,"img",5),be(8,"async"),X(),Z(9,"div",6)(10,"h4",7),Ce(11),X(),J(12,vd,1,2,"isp-file-picker-selected-file",8),be(13,"async"),J(14,yd,3,2,"ng-template",null,1,ut),X(),Z(16,"div",9)(17,"div",10),oe(18,"isp-svg-icon",11)(19,"isp-svg-icon",12),Z(20,"span",13),Ce(21),X()()()()}if(h&2){let l=Ve(15);R("id",c.id)("disabled",c.disabled)("accept",c.accept),z(2),gt("preview_background_"+c.previewBackground),Te("preview_disabled",c.disabled)("preview_dragover",xe(3,20,c.dragOver$))("preview_error",xe(4,22,c.showError$)),R("ispFileDropDisabled",c.disabled||xe(5,24,c.showError$))("ispFileDropAccept",c.accept)("ispFileDropMultiple",!1)("ispFileDropAcceptFolders",!1),z(5),R("src",xe(8,26,c.filePreview$),Vt),z(4),Le(" ",c.messages.title," "),z(),R("ngIf",xe(13,28,c.selectedFile$))("ngIfElse",l),z(9),He(c.disabled?c.messages.notAvailable:c.messages.fileNotSupported)}},dependencies:[_e,je,Mn,Hi,We],styles:[".preview[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:row;gap:15px;width:400px;padding:20px;background-color:var(--isp-dc-mimic);border:1px solid transparent;border-radius:5px;transition:background-color .1s ease-in-out,border-color .1s ease-in-out}.preview[_ngcontent-%COMP%]:not(.preview_dragover):hover [_ngcontent-%COMP%]:is(.preview__image-wrapper, .preview__info)[_ngcontent-%COMP%]{pointer-events:auto}.preview[_ngcontent-%COMP%] *[_ngcontent-%COMP%]:not(.info__label):not(.info__selected-file){pointer-events:none}.preview_dragover[_ngcontent-%COMP%]{background-color:var(--isp-c-air);border-color:var(--isp-dc-fremen)}.preview_error[_ngcontent-%COMP%]{background-color:var(--isp-dc-dirty-deeds-done-dirt-cheap);border-color:var(--isp-dc-rhodochrosite)}[_ngcontent-%COMP%]:is(.preview_disabled, .preview_dragover[_ngcontent-%COMP%], .preview_error)[_ngcontent-%COMP%] [_ngcontent-%COMP%]:is(.preview__image-wrapper, .preview__info)[_ngcontent-%COMP%]{opacity:0}.input[_ngcontent-%COMP%]:focus + .preview[_ngcontent-%COMP%]{outline:2px solid var(--isp-dc-fremen);outline-offset:2px}.preview__image-wrapper[_ngcontent-%COMP%]{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:80px;height:80px;padding:10px;background-color:var(--isp-c-jon-snow);border-radius:5px;transition:opacity .1s ease-in-out}.preview_background_dark[_ngcontent-%COMP%] .preview__image-wrapper[_ngcontent-%COMP%]{background-color:var(--isp-c-darth-vader)}.preview__image[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:contain}.preview__info[_ngcontent-%COMP%]{transition:opacity .1s ease-in-out}.info[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px;align-items:flex-start;min-width:0}.info__title[_ngcontent-%COMP%]{margin:0;font-weight:500}.info__label[_ngcontent-%COMP%]{--isp-icons-main-color: currentColor;display:flex;gap:10px;color:var(--isp-dc-fremen);cursor:pointer}.info__label[_ngcontent-%COMP%]:hover{color:var(--isp-dc-lapis-lazuli)}.overlay[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;opacity:0;transition:opacity .1s ease-in-out,display .1s;transition-behavior:normal,allow-discrete}.overlay__content[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;transition:transform .1s ease-in-out;transform:translateY(-50%)}.overlay__upload-icon[_ngcontent-%COMP%], .overlay__error-icon[_ngcontent-%COMP%], .overlay__caption[_ngcontent-%COMP%]{display:none}.preview_disabled[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%], .preview_dragover[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%], .preview_error[_ngcontent-%COMP%] .overlay[_ngcontent-%COMP%]{opacity:1}.preview_disabled[_ngcontent-%COMP%] .overlay__content[_ngcontent-%COMP%], .preview_dragover[_ngcontent-%COMP%] .overlay__content[_ngcontent-%COMP%], .preview_error[_ngcontent-%COMP%] .overlay__content[_ngcontent-%COMP%]{transform:translate(0)}.preview.preview_dragover[_ngcontent-%COMP%] .overlay__upload-icon[_ngcontent-%COMP%], .preview.preview_disabled[_ngcontent-%COMP%] .overlay__error-icon[_ngcontent-%COMP%], .preview.preview_disabled[_ngcontent-%COMP%] .overlay__caption[_ngcontent-%COMP%], .preview.preview_error[_ngcontent-%COMP%] .overlay__error-icon[_ngcontent-%COMP%], .preview.preview_error[_ngcontent-%COMP%] .overlay__caption[_ngcontent-%COMP%]{display:flex}"],changeDetection:0});let u=d;return u})();function _d(u,d){if(u&1){let x=ve();ke(0),Z(1,"h4",6),Ce(2),X(),Z(3,"isp-file-picker-selected-file",7),le("clear",function(){he(x);let h=U(),c=Ve(1);return de(h.clearPicker(c))}),X(),Ee()}if(u&2){let x=d.ngIf,o=U();z(2),He(o.messages.title),z(),R("showSuffix",!0)("messages",o.messages)("selectedFiles",x)}}function Cd(u,d){if(u&1&&(oe(0,"isp-svg-icon",8),Z(1,"span",9),Ce(2),X(),Z(3,"label",10),Ce(4),X()),u&2){let x=U();R("name",x.disabled?"upload_error_xl":"upload_xl"),z(2),He(x.disabled?x.messages.notAvailable:x.messages.hint),z(),R("for",x.id),z(),Le(" ",x.messages.buttonLabel," ")}}var Ys=(()=>{let d=class d{constructor(){this.fileChange=new Ge,this.dragOver$=new Fe(!1),this.loading$=new Fe(!1),this.selectedFile$=new Fe(null)}onDrop(o){this.selectedFile$.next(o),this.fileChange.emit(o)}onChange(o){let c=o.target.files;if(c.length===0)return;let l={files:Array.from(c),folders:[],name:""};this.selectedFile$.next(l),this.fileChange.emit(l)}clearPicker(o){o.value=null,this.selectedFile$.next(null),this.fileChange.emit(null)}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-file-picker-drop-zone"]],inputs:{messages:"messages",disabled:"disabled",id:"id"},outputs:{fileChange:"fileChange"},decls:11,vars:23,consts:[["fileInput",""],["label",""],["type","file","multiple","",1,"visually-hidden","input",3,"change","id","disabled"],[1,"drop-zone",3,"ispFileDrop","ispFileDropDragOver","ispFileDropLoading","ispFileDropMultiple","ispFileDropAcceptFolders","ispFileDropDisabled"],["loading","","type","spinner","view","overlay",1,"drop-zone__loader"],[4,"ngIf","ngIfElse"],[1,"drop-zone__title"],[1,"drop-zone__selected-file",3,"clear","showSuffix","messages","selectedFiles"],[1,"drop-zone__icon",3,"name"],[1,"drop-zone__hint"],[1,"drop-zone__label",3,"for"]],template:function(h,c){if(h&1){let l=ve();Z(0,"input",2,0),le("change",function(t){return he(l),de(c.onChange(t))}),X(),Z(2,"div",3),be(3,"async"),be(4,"async"),be(5,"async"),le("ispFileDrop",function(t){return he(l),de(c.onDrop(t))})("ispFileDropDragOver",function(t){return he(l),de(c.dragOver$.next(t))})("ispFileDropLoading",function(t){return he(l),de(c.loading$.next(t))}),oe(6,"isp-loader",4),J(7,_d,4,4,"ng-container",5),be(8,"async"),J(9,Cd,5,4,"ng-template",null,1,ut),X()}if(h&2){let l=Ve(10);R("id",c.id)("disabled",c.disabled),z(2),Te("drop-zone_has-value",xe(3,15,c.selectedFile$))("drop-zone_dragover",xe(4,17,c.dragOver$))("drop-zone_loading",xe(5,19,c.loading$))("drop-zone_disabled",c.disabled),R("ispFileDropMultiple",!0)("ispFileDropAcceptFolders",!0)("ispFileDropDisabled",c.disabled),z(5),R("ngIf",xe(8,21,c.selectedFile$))("ngIfElse",l)}},dependencies:[_e,je,Mt,Mn,Hi,We],styles:["[_nghost-%COMP%]{position:relative}.input[_ngcontent-%COMP%]:focus + .drop-zone[_ngcontent-%COMP%]{outline:2px solid var(--isp-dc-fremen);outline-offset:2px}.drop-zone[_ngcontent-%COMP%]{position:relative;display:flex;flex-direction:column;gap:15px;align-items:center;justify-content:center;height:210px;padding:25px;background-color:var(--isp-c-air);border:1px solid transparent;border-radius:var(--isp-border-radius-main);transition:border-color .1s ease-in-out}.drop-zone[_ngcontent-%COMP%]:not(.drop-zone_dragover):hover *[_ngcontent-%COMP%]{pointer-events:unset}.drop-zone[_ngcontent-%COMP%] *[_ngcontent-%COMP%]:not(.drop-zone__selected-file){pointer-events:none}.drop-zone_has-value[_ngcontent-%COMP%]{gap:10px;align-items:flex-start;justify-content:flex-start;background-color:var(--isp-dc-mimic)}.drop-zone_disabled[_ngcontent-%COMP%]{background-color:var(--isp-dc-norilsk)}.drop-zone_disabled[_ngcontent-%COMP%] .drop-zone__label[_ngcontent-%COMP%]{opacity:0;transform:translateY(50%)}.drop-zone_dragover[_ngcontent-%COMP%]{border-color:var(--isp-dc-fremen)}.drop-zone_dragover[_ngcontent-%COMP%] .drop-zone__hint[_ngcontent-%COMP%], .drop-zone_dragover[_ngcontent-%COMP%] .drop-zone__label[_ngcontent-%COMP%]{opacity:0;transform:translateY(50%)}.drop-zone_dragover[_ngcontent-%COMP%] .drop-zone__icon[_ngcontent-%COMP%]{transform:translateY(47px)}.drop-zone_loading[_ngcontent-%COMP%]{border-color:var(--isp-dc-fremen)}.drop-zone_loading[_ngcontent-%COMP%] .drop-zone__hint[_ngcontent-%COMP%], .drop-zone_loading[_ngcontent-%COMP%] .drop-zone__label[_ngcontent-%COMP%], .drop-zone_loading[_ngcontent-%COMP%] .drop-zone__icon[_ngcontent-%COMP%]{opacity:0}.drop-zone_loading[_ngcontent-%COMP%] .drop-zone__loader[_ngcontent-%COMP%]{display:block;opacity:1}.drop-zone__loader[_ngcontent-%COMP%]{--isp-loader__background: transparent;position:absolute;inset:0;display:none;opacity:0}.drop-zone__title[_ngcontent-%COMP%]{margin:0;font-size:inherit;font-weight:400}.drop-zone__icon[_ngcontent-%COMP%]{display:flex;transition:transform .1s;transform:translateY(0)}.drop-zone__hint[_ngcontent-%COMP%]{text-align:center;white-space:pre;opacity:1;cursor:default;transition:transform .1s,opacity .1s;transform:translateY(0)}.drop-zone__label[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;height:35px;padding:0 15px;color:var(--isp-dc-fremen);border:1px solid var(--isp-dc-fremen);border-radius:var(--isp-border-radius-main);opacity:1;-webkit-user-select:none;user-select:none;cursor:pointer;transition:transform .1s,opacity .1s;transform:translateY(0)}.drop-zone__label[_ngcontent-%COMP%]:hover{color:var(--isp-dc-lapis-lazuli);border-color:var(--isp-dc-lapis-lazuli)}"],changeDetection:0});let u=d;return u})();function xd(u,d){if(u&1){let x=ve();Z(0,"isp-file-picker-simple",4),le("fileChange",function(h){he(x);let c=U();return de(c.updateValue(h))}),X()}if(u&2){let x=U();R("id",x.id)("messages",x.messages)("disabled",x.disabled)("accept",x.accept)("multiple",x.multiple)}}function Ad(u,d){if(u&1){let x=ve();Z(0,"isp-file-picker-drop-zone",5),le("fileChange",function(h){he(x);let c=U();return de(c.updateValue(h))}),X()}if(u&2){let x=U();R("id",x.id)("messages",x.messages)("disabled",x.disabled)}}function $d(u,d){if(u&1){let x=ve();Z(0,"isp-file-picker-preview",6),le("fileChange",function(h){he(x);let c=U();return de(c.updateValue(h))}),X()}if(u&2){let x=U();R("id",x.id)("messages",x.messages)("accept",x.accept)("disabled",x.disabled)("defaultPreview",x.previewOptions.previewImage)("previewBackground",x.previewOptions.previewBackground)}}var Sd=0,Qs=(()=>{let d=class d{constructor(o){this.cdr=o,this.value=null,this.accept="",this.multiple=!1,this.mode="drop-zone",this.id=`isp-file-picker-${Sd++}`,this.onChangeWrapper=h=>{},this.onTouched=()=>{}}onBlur(){this.onTouched()}updateValue(o){this.value=o,this.onChangeWrapper(this.value),this.cdr.markForCheck()}writeValue(o){o&&this.updateValue(o)}registerOnChange(o){this.onChangeWrapper=o}registerOnTouched(o){this.onTouched=o}setDisabledState(o){this.disabled=o,this.cdr.markForCheck()}};d.\u0275fac=function(h){return new(h||d)(ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["isp-file-picker"]],hostBindings:function(h,c){h&1&&le("focusout",function(){return c.onBlur()})},inputs:{value:"value",disabled:"disabled",accept:"accept",multiple:"multiple",mode:"mode",messages:"messages",previewOptions:"previewOptions",id:"id"},features:[Ft([{provide:Qt,useExisting:Gt(()=>d),multi:!0}])],decls:4,vars:4,consts:[[3,"ngSwitch"],[3,"id","messages","disabled","accept","multiple","fileChange",4,"ngSwitchCase"],[3,"id","messages","disabled","fileChange",4,"ngSwitchCase"],[3,"id","messages","accept","disabled","defaultPreview","previewBackground","fileChange",4,"ngSwitchCase"],[3,"fileChange","id","messages","disabled","accept","multiple"],[3,"fileChange","id","messages","disabled"],[3,"fileChange","id","messages","accept","disabled","defaultPreview","previewBackground"]],template:function(h,c){h&1&&(ke(0,0),J(1,xd,1,5,"isp-file-picker-simple",1)(2,Ad,1,3,"isp-file-picker-drop-zone",2)(3,$d,1,6,"isp-file-picker-preview",3),Ee()),h&2&&(R("ngSwitch",c.mode),z(),R("ngSwitchCase","simple"),z(),R("ngSwitchCase","drop-zone"),z(),R("ngSwitchCase","preview"))},dependencies:[pi,Ei,Us,Ks,Ys],styles:["[_nghost-%COMP%]{display:block}"],changeDetection:0});let u=d;return u})();var Zs=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,fi,Zt,ti]});let u=d;return u})();var Ed=["*"];function Fd(u,d){u&1&&(Z(0,"span",7),Ce(1," *"),X())}function Md(u,d){if(u&1&&(Z(0,"div",5),Ce(1),J(2,Fd,2,0,"span",6),X()),u&2){let x=U().ngIf;z(),Le(" ",x.label,""),z(),R("ngIf",x.required)}}function Td(u,d){if(u&1&&(Z(0,"div",8),ct(1),X()),u&2){let x=U().ngIf;Te("hint_top",x.mode==="preview")}}function Dd(u,d){if(u&1){let x=ve();ke(0),J(1,Md,3,2,"div",1),Z(2,"div",2)(3,"isp-file-picker",3),be(4,"async"),le("ngModelChange",function(h){he(x);let c=U();return de(c.handleModelChange(h))}),X(),J(5,Td,2,2,"div",4),X(),Ee()}if(u&2){let x=d.ngIf,o=U();z(),R("ngIf",x.mode==="simple"),z(2),Te("file-picker_full-width",x.mode==="drop-zone"),R("ngModel",xe(4,11,o.value$))("accept",x.accept)("multiple",x.multiple)("messages",x.messages)("previewOptions",x.previewOptions)("mode",x.mode),at("data-df-field",x.name),z(2),R("ngIf",x.mode!=="drop-zone")}}var Xs=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o){this.dynamicFormService=o,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(h=>!!h),et(h=>this.dynamicFormService.fieldValue$(h.name)))}handleModelChange(o){this.dynamicFormService.update({name:this.element$.value.name,value:o})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-file-field"]],inputs:{element:"element"},ngContentSelectors:Ed,decls:2,vars:3,consts:[[4,"ngIf"],["class","caption",4,"ngIf"],[1,"flex-row"],[1,"file-picker",3,"ngModelChange","ngModel","accept","multiple","messages","previewOptions","mode"],["class","hint",3,"hint_top",4,"ngIf"],[1,"caption"],["class","asterisk",4,"ngIf"],[1,"asterisk"],[1,"hint"]],template:function(h,c){h&1&&(lt(),J(0,Dd,6,13,"ng-container",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,Bt,It,Qs,We],styles:["[_nghost-%COMP%]{--isp-file-picker-drop-zone__width: var(--isp-field__min-width, 400px)}.label[_ngcontent-%COMP%]{margin-bottom:10px}.content[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center}.file-picker[_ngcontent-%COMP%]{max-width:600px}.file-picker_full-width[_ngcontent-%COMP%]{width:100%}.caption[_ngcontent-%COMP%]{margin-bottom:10px}.asterisk[_ngcontent-%COMP%]{color:var(--isp-dc-bright-emotions)}.flex-row[_ngcontent-%COMP%]{display:flex;align-items:flex-start}.hint[_ngcontent-%COMP%]{align-self:center;margin-left:10px}.hint_top[_ngcontent-%COMP%]{align-self:flex-start;margin-top:10px}.hint[_ngcontent-%COMP%]:empty{margin:0}"],changeDetection:0});let u=d;return u})();function Ld(u,d){u&1&&oe(0,"isp-svg-icon",5)}function Bd(u,d){if(u&1){let x=ve();ke(0),Z(1,"button",2),le("click",function(){let h=he(x).$implicit,c=U(2);return de(h.isStepPassed&&c.go(h.func))}),Ce(2),Z(3,"span",3),Ce(4),X()(),J(5,Ld,1,0,"isp-svg-icon",4),Ee()}if(u&2){let x=d.$implicit,o=d.index,h=d.last;z(),Te("button_active",x.isStepActive)("button_passed",x.isStepPassed),R("disabled",x.isStepDisabled)("tabindex",x.isStepPassed?0:-1)("ispTooltip",x.text),z(),Le(" ",o+1,""),z(2),Le("\xA0\xA0",x.text,""),z(),R("ngIf",!h)}}function Id(u,d){if(u&1&&(ke(0),J(1,Bd,6,10,"ng-container",1),Ee()),u&2){let x=U();z(),R("ngForOf",x.element.buttons)}}var qs=(()=>{let d=class d{constructor(o,h,c){this.host=o,this.cdr=h,this.dynamicFormService=c,this.CONCISE_MAX_WIDTH=600,this.isConcise=!1,this.resizeObserver=new ResizeObserver(l=>{let a=l[0].borderBoxSize?.[0]?.inlineSize;if(!a)return;let t=a<=this.CONCISE_MAX_WIDTH;this.isConcise!==t&&(this.isConcise=t,this.cdr.markForCheck())})}ngAfterViewInit(){this.resizeObserver.observe(this.host.nativeElement)}ngOnDestroy(){this.resizeObserver.disconnect()}go(o){this.dynamicFormService.switchWizardStep(o)}};d.\u0275fac=function(h){return new(h||d)(ue(yt),ue(mt),ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-wizard-auxiliary"]],hostVars:2,hostBindings:function(h,c){h&2&&Te("isp-form-view-wizard-auxiliary_concise",c.isConcise)},inputs:{element:"element"},decls:1,vars:1,consts:[[4,"ngIf"],[4,"ngFor","ngForOf"],["type","button",1,"button",3,"click","disabled","tabindex","ispTooltip"],[1,"button-text"],["name","arrow_right_s","class","arrow",4,"ngIf"],["name","arrow_right_s",1,"arrow"]],template:function(h,c){h&1&&J(0,Id,2,1,"ng-container",0),h&2&&R("ngIf",c.element)},dependencies:[Ke,_e,je,dt],styles:["[_nghost-%COMP%]{display:flex;align-items:center;height:55px;padding:10px;background-color:var(--isp-dc-norilsk);border-radius:3px}.button[_ngcontent-%COMP%]{height:35px;padding:0 15px;overflow:hidden;font-family:inherit;font-size:14px;color:var(--isp-text-color-main);text-overflow:ellipsis;white-space:nowrap;background:transparent;border:none;border-radius:50px}.isp-form-view-wizard-auxiliary_concise[_nghost-%COMP%] .button[_ngcontent-%COMP%]:not(.button_active){justify-content:center;width:35px;padding:0}.isp-form-view-wizard-auxiliary_concise[_nghost-%COMP%] .button[_ngcontent-%COMP%]:not(.button_active) .button-text[_ngcontent-%COMP%]{display:none}.button_active[_ngcontent-%COMP%]{font-family:inherit;font-weight:var(--isp-font-weight-bold)}.button_passed[_ngcontent-%COMP%]{color:var(--isp-dc-fremen);cursor:pointer;transition:background-color .2s}.button_passed[_ngcontent-%COMP%]:hover{background-color:var(--isp-dc-reincarnation);transition:background-color .2s}.button[_ngcontent-%COMP%]:disabled{color:var(--isp-c-grey-weekdays);cursor:default}.arrow[_ngcontent-%COMP%]{flex-shrink:0}"],changeDetection:0});let u=d;return u})();var Js=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}emitButtonClick(o){let h=this.element.options.find(c=>c.value===o);this.dynamicFormService.handleButtonClick(h.button)}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-tabs-auxiliary"]],inputs:{element:"element"},decls:1,vars:2,consts:[[3,"valueChange","options","value"]],template:function(h,c){h&1&&(Z(0,"isp-switcher",0),le("valueChange",function(a){return c.emitButtonClick(a)}),X()),h&2&&R("options",c.element.options)("value",c.element.value)},dependencies:[kn],encapsulation:2,changeDetection:0});let u=d;return u})();function Od(u,d){if(u&1&&(ke(0),Ce(1),Ee()),u&2){let x=U(2).$implicit,o=U(3).ngIf,h=U(2);z(),Le("",h.getValueMessage(x,o[x.name])," ")}}function Rd(u,d){if(u&1){let x=ve();Z(0,"span",11),le("click",function(){he(x);let h=U(2).$implicit;return de(h.isHidden=!h.isHidden)}),Ce(1),X()}if(u&2){let x=U(2).$implicit,o=U(5);z(),He(o.getToggleMessage(x))}}function Pd(u,d){if(u&1&&(ke(0),Ce(1),J(2,Od,2,1,"ng-container",9)(3,Rd,2,1,"span",10),Ce(4),oe(5,"br"),Ee()),u&2){let x=U().$implicit;z(),Le(" ",x.beforeValue," "),z(),R("ngIf",!x.isHidable||!x.isHidden),z(),R("ngIf",x.isHidable),z(),Le(" ",x.afterValue," ")}}function Nd(u,d){if(u&1&&(ke(0),J(1,Pd,6,4,"ng-container",9),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}function Vd(u,d){if(u&1){let x=ve();Z(0,"div",4)(1,"div",5),le("click",function(){he(x);let h=U().$implicit,c=U(3);return de(c.togglePage(h))}),Ce(2),X(),Z(3,"div",6),le("click",function(){he(x);let h=U().$implicit,c=U(3);return de(c.togglePage(h))}),oe(4,"isp-svg-icon",7),X(),Z(5,"div",8),J(6,Nd,2,1,"ng-container",2),X()()}if(u&2){let x=U().$implicit;Te("page_open",x.isOpen),z(2),He(x.title),z(2),R("name",x.icon),z(2),R("ngForOf",x.fields)}}function Hd(u,d){if(u&1&&(ke(0),J(1,Vd,7,5,"div",3),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}function Wd(u,d){if(u&1&&(Z(0,"div",1),J(1,Hd,2,1,"ng-container",2),X()),u&2){let x=U(2);z(),R("ngForOf",x.element.pages)}}function zd(u,d){if(u&1&&(J(0,Wd,2,1,"div",0),be(1,"async")),u&2){let x=U();R("ngIf",xe(1,1,x.model$))}}var ea=(()=>{let d=class d{constructor(o,h){this.dynamicFormService=o,this.appService=h,this.model$=this.dynamicFormService.model$}ngAfterViewInit(){this.appService.updateFormSummaryTemplate(this.template)}ngOnDestroy(){this.appService.updateFormSummaryTemplate(null)}getToggleMessage(o){return this.dynamicFormService.getMessage(`summary_${o.isHidden?"show":"hide"}`)}togglePage(o){let h={togglePage:o.name};if(!this.dynamicFormService.options$.value.openPages.includes(o.name)){let c=Ct(this.dynamicFormService.UI$.value.elements,l=>l.types[0]==="container"&&l.types[1]==="page"&&l.name===o.name);c&&(h.scrollToElement=c.id)}this.dynamicFormService.update(h)}getValueMessage(o,h){return h&&h.split(",").map(l=>o.messages[l]||l).join(",")}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(sn,8))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-summary-auxiliary"]],viewQuery:function(h,c){if(h&1&&it(Si,5),h&2){let l;qe(l=Je())&&(c.template=l.first)}},inputs:{element:"element"},decls:1,vars:0,consts:[["class","summary ispui-scrollbar_gray",4,"ngIf"],[1,"summary","ispui-scrollbar_gray"],[4,"ngFor","ngForOf"],["class","page",3,"page_open",4,"ngIf"],[1,"page"],[1,"title",3,"click"],[1,"icon",3,"click"],[3,"name"],[1,"fields"],[4,"ngIf"],["class","toggle",3,"click",4,"ngIf"],[1,"toggle",3,"click"]],template:function(h,c){h&1&&J(0,zd,2,3,"ng-template")},dependencies:[Ke,_e,je,We],styles:[".summary[_ngcontent-%COMP%]{width:100%;height:100%;padding:20px;overflow-y:auto;background-color:var(--isp-dc-monochrome);border-left:1px solid var(--isp-dc-charlie-chaplin)}.page[_ngcontent-%COMP%]{position:relative;padding-top:5px;padding-left:35px;margin-bottom:15px;overflow-wrap:break-word}.icon[_ngcontent-%COMP%]{position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:var(--isp-border-radius-main, 5px);cursor:pointer}.title[_ngcontent-%COMP%]{margin-bottom:5px;font-size:14px;cursor:pointer}.page_open[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-jon-snow);background-color:var(--isp-c-blue-velvet)}.icon[_ngcontent-%COMP%]:hover:not(.page_open .icon)[_ngcontent-%COMP%], .title[_ngcontent-%COMP%]:hover ~ .icon[_ngcontent-%COMP%]:not(.page_open .icon)[_ngcontent-%COMP%]{background-color:var(--isp-dc-norilsk)}.fields[_ngcontent-%COMP%]{font-size:12px;line-height:19px;color:var(--isp-c-grey-weekdays)}.toggle[_ngcontent-%COMP%]{font-size:12px;color:var(--isp-dc-fremen);cursor:pointer}"],changeDetection:0});let u=d;return u})();var jd=["*"];function Ud(u,d){if(u&1&&oe(0,"isp-form-view-element",3),u&2){let x=U().$implicit;R("element",x)}}function Gd(u,d){if(u&1&&(ke(0),J(1,Ud,1,1,"isp-form-view-element",2),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}var ta=(()=>{let d=class d{identityFn(o,h){return h.id}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-titled-container"]],inputs:{element:"element"},ngContentSelectors:jd,decls:4,vars:3,consts:[[1,"form-view-titled-container__title"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","form-view-titled-container__child",3,"element",4,"ngIf"],[1,"form-view-titled-container__child",3,"element"]],template:function(h,c){h&1&&(lt(),Z(0,"div",0),Ce(1),ct(2),X(),J(3,Gd,2,1,"ng-container",1)),h&2&&(z(),Le(" ",c.element.title," "),z(2),R("ngForOf",c.element.children)("ngForTrackBy",c.identityFn))},dependencies:[Ke,_e,pt],styles:["[_nghost-%COMP%]{display:block}.form-view-titled-container__title[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;margin-bottom:10px}.form-view-titled-container__child[_ngcontent-%COMP%]{margin-bottom:var(--isp-dynamic-form-row-gap)}"],changeDetection:0});let u=d;return u})();function Kd(u,d){if(u&1){let x=ve();Z(0,"isp-form-view-element",4)(1,"button",5),le("click",function(){he(x);let h=U().$implicit,c=U(2);return de(c.remove(h))}),oe(2,"isp-svg-icon",6),X()()}if(u&2){let x=U().$implicit;R("element",x)}}function Yd(u,d){if(u&1&&(ke(0),J(1,Kd,3,1,"isp-form-view-element",3),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}function Qd(u,d){if(u&1&&(ke(0),J(1,Yd,2,1,"ng-container",2),Ee()),u&2){let x=U();z(),R("ngForOf",x.element.children)("ngForTrackBy",x.identityFn)}}function Zd(u,d){if(u&1){let x=ve();Z(0,"button",7),le("click",function(){he(x);let h=U();return de(h.handleAddClick())}),oe(1,"isp-svg-icon",8),Ce(2),X()}if(u&2){let x=U();z(2),Le(" ",x.element.addText,`
`)}}var ia=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}identityFn(o,h){return h.id}showChildren(){let o=!this.dynamicFormService.options$.value.isBaseMode;return this.element.touched||o}handleAddClick(){let o={};this.dynamicFormService.options$.value.touchedSpawns.includes(this.element.id)?(o.doc=this.addNewChildInDoc(this.dynamicFormService.doc$.value),o.enhanceModel=!0,o.rebuildHelpers=!0,o.info=`add fields to spawn "${this.element.childrenName}"`):o.touchSpawn=this.element.id,this.dynamicFormService.update(o)}addNewChildInDoc(o){let h=this.element.childrenName,c=this.getDocFieldList(o,h),l=this.getSpawnedFields(c,h),a=l[l.length-1],e=Number(/\d+$/.exec(a.$multiple_group)?.[0]||0)+1,n=`${h}${e}`,i=l.filter(g=>g.$multiple_group===a.$multiple_group),r=JSON.parse(JSON.stringify(i)),s=o.messages.msg[`multiple_group_${a.$multiple_group}`],p=/\d+$/.exec(s);return o.messages.msg[`multiple_group_${n}`]=`${s.replace(/ \d+$/,"")} ${p?parseInt(p[0])+1:2}`,r.forEach(g=>{g.$multiple_group=n,Pr.forEach(C=>{let k=g[C]?.[0];if(!k)return;let m,b=k.$name;e>1?m=`${b.replace(/\d+$/,"")}${e}`:m=`${b}${e}`,o.messages.msg[m]=o.messages.msg[b],o.messages.msg[`hint_${m}`]=o.messages.msg[`hint_${b}`],o[m]={},g.$name=m,k.$name=m,k.if?.forEach(f=>{f.$hide&&=f.$hide.replace(/\d*$/,`${e}`)}),k.else?.forEach(f=>{f.$hide&&=f.$hide.replace(/\d*$/,`${e}`)})})}),c.splice(c.indexOf(a)+1,0,...r),o}remove(o){let h=this.dynamicFormService.doc$.value,c=parseInt((/\d+$/.exec(o.metaName)||[])[0])||0,l=o.children.map(i=>i.name);if(l.forEach(i=>delete h[i]),h.error?.$object&&l.includes(h.error.$object)&&delete h.error,this.element.children.length===1){this.dynamicFormService.update({doc:h,rebuildHelpers:!0,info:`remove fields from spawn "${this.element.childrenName}"`,untouchSpawn:this.element.id,removeFromModel:l});return}h.metadata.form.page?.forEach(i=>i.field=i.field?.filter(r=>r.$multiple_group!==o.metaName)),h.metadata.form.field=h.metadata.form.field?.filter(i=>i.$multiple_group!==o.metaName);let a=this.element.childrenName,t=c+1,e,n;for(;e=h.messages.msg[n=`multiple_group_${a}${t}`];){let i=/(\d+)$/.exec(e)[0];h.messages.msg[n]=e.replace(/[ ]*\d+$/,i==="2"?"":` ${parseInt(i)-1||""}`),t++}this.dynamicFormService.update({doc:h,rebuildHelpers:!0,info:`remove fields from spawn "${this.element.childrenName}"`,removeFromModel:l})}getSpawnedFields(o,h){let c=l=>new RegExp(`^${h}\\d*$`).test(l.$multiple_group);return o.filter(c)}getDocFieldList(o,h){let c=l=>new RegExp(`^${h}\\d*$`).test(l.$multiple_group);return o.metadata.form.page?.find(l=>l.field.some(c))?.field||o.metadata.form.field}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-spawn-container"]],inputs:{element:"element"},decls:2,vars:2,consts:[[4,"ngIf"],["class","form-view-spawn-container__add","type","button",3,"click",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","form-view-spawn-container__child",3,"element",4,"ngIf"],[1,"form-view-spawn-container__child",3,"element"],["type","button",1,"form-view-spawn-container__delete",3,"click"],["name","p-delete"],["type","button",1,"form-view-spawn-container__add",3,"click"],["name","add_s"]],template:function(h,c){h&1&&J(0,Qd,2,2,"ng-container",0)(1,Zd,3,1,"button",1),h&2&&(R("ngIf",c.showChildren()),z(),R("ngIf",c.element.children.length<10))},dependencies:[Ke,_e,je,pt],styles:[".form-view-spawn-container__child[_ngcontent-%COMP%]{margin-bottom:var(--isp-dynamic-form-row-gap)}.form-view-spawn-container__delete[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-grey-weekdays);display:flex;padding:2px;background:none;border:none;cursor:pointer}.form-view-spawn-container__delete[_ngcontent-%COMP%]:hover{--isp-icons-main-color: var(--isp-dc-highway-star)}.form-view-spawn-container__add[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-fremen);display:flex;gap:10px;align-items:center;padding:0;font-weight:14;color:var(--isp-dc-fremen);background:none;border:none;cursor:pointer}.form-view-spawn-container__add[_ngcontent-%COMP%]:hover{--isp-icons-main-color: var(--isp-dc-lapis-lazuli);color:var(--isp-dc-lapis-lazuli)}"],changeDetection:0});let u=d;return u})();var Xd=["*"];function qd(u,d){if(u&1&&(Z(0,"div",2)(1,"div"),Ce(2),X(),ct(3),X()),u&2){let x=U();z(2),He(x.element.title)}}function Jd(u,d){if(u&1&&oe(0,"isp-form-view-element",4),u&2){let x=U().$implicit;R("element",x)}}function ep(u,d){if(u&1&&(ke(0),J(1,Jd,1,1,"isp-form-view-element",3),Ee()),u&2){let x=d.$implicit;z(),R("ngIf",x.render)}}var na=(()=>{let d=class d{get childOffset(){let o=this.element.children;switch(!0){case o.every(h=>tt(h,"field","checkbox")):return"10px";case o.every(h=>tt(h,"auxiliary")):return"0px";default:return"var(--isp-dynamic-form-row-gap)"}}identityFn(o,h){return h.id}};d.\u0275fac=function(h){return new(h||d)},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-vertical-group-container"]],hostVars:2,hostBindings:function(h,c){h&2&&Dt("--isp-form-vertical-group-child-mb",c.childOffset)},inputs:{element:"element"},ngContentSelectors:Xd,decls:2,vars:3,consts:[["class","form-view-vertical-group-container__title",4,"ngIf"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"form-view-vertical-group-container__title"],["class","form-view-vertical-group-container__child",3,"element",4,"ngIf"],[1,"form-view-vertical-group-container__child",3,"element"]],template:function(h,c){h&1&&(lt(),J(0,qd,4,1,"div",0)(1,ep,2,1,"ng-container",1)),h&2&&(R("ngIf",c.element.title),z(),R("ngForOf",c.element.children)("ngForTrackBy",c.identityFn))},dependencies:[Ke,_e,pt],styles:["[_nghost-%COMP%]{display:block}.form-view-vertical-group-container__title[_ngcontent-%COMP%]{display:flex;gap:10px;margin-bottom:15px}.form-view-vertical-group-container__child[_ngcontent-%COMP%]{margin-bottom:var(--isp-form-vertical-group-child-mb)}.form-view-vertical-group-container__child[_ngcontent-%COMP%]:last-child{margin-bottom:0}"],changeDetection:0});let u=d;return u})();var ur=class{constructor(){this.expansionModel=new Xn(!0)}toggle(d){this.expansionModel.toggle(this._trackByValue(d))}expand(d){this.expansionModel.select(this._trackByValue(d))}collapse(d){this.expansionModel.deselect(this._trackByValue(d))}isExpanded(d){return this.expansionModel.isSelected(this._trackByValue(d))}toggleDescendants(d){this.expansionModel.isSelected(this._trackByValue(d))?this.collapseDescendants(d):this.expandDescendants(d)}collapseAll(){this.expansionModel.clear()}expandDescendants(d){let x=[d];x.push(...this.getDescendants(d)),this.expansionModel.select(...x.map(o=>this._trackByValue(o)))}collapseDescendants(d){let x=[d];x.push(...this.getDescendants(d)),this.expansionModel.deselect(...x.map(o=>this._trackByValue(o)))}_trackByValue(d){return this.trackBy?this.trackBy(d):d}};var Tn=class extends ur{constructor(d,x){super(),this.getChildren=d,this.options=x,this.options&&(this.trackBy=this.options.trackBy),this.options?.isExpandable&&(this.isExpandable=this.options.isExpandable)}expandAll(){this.expansionModel.clear();let d=this.dataNodes.reduce((x,o)=>[...x,...this.getDescendants(o),o],[]);this.expansionModel.select(...d.map(x=>this._trackByValue(x)))}getDescendants(d){let x=[];return this._getDescendants(x,d),x.splice(1)}_getDescendants(d,x){d.push(x);let o=this.getChildren(x);Array.isArray(o)?o.forEach(h=>this._getDescendants(d,h)):Vn(o)&&o.pipe(jt(1),ze(Boolean)).subscribe(h=>{for(let c of h)this._getDescendants(d,c)})}},oa=new Sr("CDK_TREE_NODE_OUTLET_NODE"),Gi=(()=>{let d=class d{constructor(o,h){this.viewContainer=o,this._node=h}};d.\u0275fac=function(h){return new(h||d)(ue(Mr),ue(oa,8))},d.\u0275dir=Tt({type:d,selectors:[["","cdkTreeNodeOutlet",""]],standalone:!0});let u=d;return u})(),hr=class{constructor(d){this.$implicit=d}},dr=(()=>{let d=class d{constructor(o){this.template=o}};d.\u0275fac=function(h){return new(h||d)(ue(Si))},d.\u0275dir=Tt({type:d,selectors:[["","cdkTreeNodeDef",""]],inputs:{when:[0,"cdkTreeNodeDefWhen","when"]},standalone:!0});let u=d;return u})();function ra(){return Error("Could not find a tree control, levelAccessor, or childrenAccessor for the tree.")}var Yi=(()=>{let d=class d{get dataSource(){return this._dataSource}set dataSource(o){this._dataSource!==o&&this._switchDataSource(o)}constructor(o,h){this._differs=o,this._changeDetectorRef=h,this._dir=kt(Kr),this._onDestroy=new ni,this._levels=new Map,this._parents=new Map,this._ariaSets=new Map,this.viewChange=new Fe({start:0,end:Number.MAX_VALUE}),this._flattenedNodes=new Fe([]),this._nodeType=new Fe(null),this._nodes=new Fe(new Map),this._keyManagerNodes=new Fe([]),this._keyManagerFactory=kt(co),this._viewInit=!1}ngAfterContentInit(){this._initializeKeyManager()}ngAfterContentChecked(){this._updateDefaultNodeDefinition(),this._subscribeToDataChanges()}ngOnDestroy(){this._nodeOutlet.viewContainer.clear(),this.viewChange.complete(),this._onDestroy.next(),this._onDestroy.complete(),this._dataSource&&typeof this._dataSource.disconnect=="function"&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),this._keyManager?.destroy()}ngOnInit(){this._checkTreeControlUsage(),this._initializeDataDiffer()}ngAfterViewInit(){this._viewInit=!0}_updateDefaultNodeDefinition(){let o=this._nodeDefs.filter(h=>!h.when);o.length>1,this._defaultNodeDef=o[0]}_setNodeTypeIfUnset(o){this._nodeType.value===null&&this._nodeType.next(o)}_switchDataSource(o){this._dataSource&&typeof this._dataSource.disconnect=="function"&&this.dataSource.disconnect(this),this._dataSubscription&&(this._dataSubscription.unsubscribe(),this._dataSubscription=null),o||this._nodeOutlet.viewContainer.clear(),this._dataSource=o,this._nodeDefs&&this._subscribeToDataChanges()}_getExpansionModel(){return this.treeControl?this.treeControl.expansionModel:(this._expansionModel??=new Xn(!0),this._expansionModel)}_subscribeToDataChanges(){if(this._dataSubscription)return;let o;Yr(this._dataSource)?o=this._dataSource.connect(this):Vn(this._dataSource)?o=this._dataSource:Array.isArray(this._dataSource)&&(o=St(this._dataSource)),o&&(this._dataSubscription=this._getRenderData(o).pipe(Ai(this._onDestroy)).subscribe(h=>{this._renderDataChanges(h)}))}_getRenderData(o){let h=this._getExpansionModel();return zt([o,this._nodeType,h.changed.pipe(jn(null),ri(c=>{this._emitExpansionChanges(c)}))]).pipe(et(([c,l])=>l===null?St({renderNodes:c,flattenedNodes:null,nodeType:l}):this._computeRenderingData(c,l).pipe(Qe(a=>Ue(Se({},a),{nodeType:l})))))}_renderDataChanges(o){if(o.nodeType===null){this.renderNodeChanges(o.renderNodes);return}this._updateCachedData(o.flattenedNodes),this.renderNodeChanges(o.renderNodes),this._updateKeyManagerItems(o.flattenedNodes)}_emitExpansionChanges(o){if(!o)return;let h=this._nodes.value;for(let c of o.added)h.get(c)?._emitExpansionState(!0);for(let c of o.removed)h.get(c)?._emitExpansionState(!1)}_initializeKeyManager(){let o=zt([this._keyManagerNodes,this._nodes]).pipe(Qe(([c,l])=>c.reduce((a,t)=>{let e=l.get(this._getExpansionKey(t));return e&&a.push(e),a},[]))),h={trackBy:c=>this._getExpansionKey(c.data),skipPredicate:c=>!!c.isDisabled,typeAheadDebounceInterval:!0,horizontalOrientation:this._dir.value};this._keyManager=this._keyManagerFactory(o,h)}_initializeDataDiffer(){let o=this.trackBy??((h,c)=>this._getExpansionKey(c));this._dataDiffer=this._differs.find([]).create(o)}_checkTreeControlUsage(){}renderNodeChanges(o,h=this._dataDiffer,c=this._nodeOutlet.viewContainer,l){let a=h.diff(o);!a&&!this._viewInit||(a?.forEachOperation((t,e,n)=>{if(t.previousIndex==null)this.insertNode(o[n],n,c,l);else if(n==null)c.remove(e);else{let i=c.get(e);c.move(i,n)}}),a?.forEachIdentityChange(t=>{let e=t.item;if(t.currentIndex!=null){let n=c.get(t.currentIndex);n.context.$implicit=e}}),l?this._changeDetectorRef.markForCheck():this._changeDetectorRef.detectChanges())}_getNodeDef(o,h){if(this._nodeDefs.length===1)return this._nodeDefs.first;let c=this._nodeDefs.find(l=>l.when&&l.when(h,o))||this._defaultNodeDef;return c}insertNode(o,h,c,l){let a=this._getLevelAccessor(),t=this._getNodeDef(o,h),e=this._getExpansionKey(o),n=new hr(o);l??=this._parents.get(e)??void 0,a?n.level=a(o):l!==void 0&&this._levels.has(this._getExpansionKey(l))?n.level=this._levels.get(this._getExpansionKey(l))+1:n.level=0,this._levels.set(e,n.level),(c||this._nodeOutlet.viewContainer).createEmbeddedView(t.template,n,h),Ki.mostRecentTreeNode&&(Ki.mostRecentTreeNode.data=o)}isExpanded(o){return!!(this.treeControl?.isExpanded(o)||this._expansionModel?.isSelected(this._getExpansionKey(o)))}toggle(o){this.treeControl?this.treeControl.toggle(o):this._expansionModel&&this._expansionModel.toggle(this._getExpansionKey(o))}expand(o){this.treeControl?this.treeControl.expand(o):this._expansionModel&&this._expansionModel.select(this._getExpansionKey(o))}collapse(o){this.treeControl?this.treeControl.collapse(o):this._expansionModel&&this._expansionModel.deselect(this._getExpansionKey(o))}toggleDescendants(o){this.treeControl?this.treeControl.toggleDescendants(o):this._expansionModel&&(this.isExpanded(o)?this.collapseDescendants(o):this.expandDescendants(o))}expandDescendants(o){if(this.treeControl)this.treeControl.expandDescendants(o);else if(this._expansionModel){let h=this._expansionModel;h.select(this._getExpansionKey(o)),this._getDescendants(o).pipe(jt(1),Ai(this._onDestroy)).subscribe(c=>{h.select(...c.map(l=>this._getExpansionKey(l)))})}}collapseDescendants(o){if(this.treeControl)this.treeControl.collapseDescendants(o);else if(this._expansionModel){let h=this._expansionModel;h.deselect(this._getExpansionKey(o)),this._getDescendants(o).pipe(jt(1),Ai(this._onDestroy)).subscribe(c=>{h.deselect(...c.map(l=>this._getExpansionKey(l)))})}}expandAll(){this.treeControl?this.treeControl.expandAll():this._expansionModel&&this._expansionModel.select(...this._flattenedNodes.value.map(h=>this._getExpansionKey(h)))}collapseAll(){this.treeControl?this.treeControl.collapseAll():this._expansionModel&&this._expansionModel.deselect(...this._flattenedNodes.value.map(h=>this._getExpansionKey(h)))}_getLevelAccessor(){return this.treeControl?.getLevel?.bind(this.treeControl)??this.levelAccessor}_getChildrenAccessor(){return this.treeControl?.getChildren?.bind(this.treeControl)??this.childrenAccessor}_getDirectChildren(o){let h=this._getLevelAccessor(),c=this._expansionModel??this.treeControl?.expansionModel;if(!c)return St([]);let l=this._getExpansionKey(o),a=c.changed.pipe(et(e=>e.added.includes(l)?St(!0):e.removed.includes(l)?St(!1):qi),jn(this.isExpanded(o)));if(h)return zt([a,this._flattenedNodes]).pipe(Qe(([e,n])=>e?this._findChildrenByLevel(h,n,o,1):[]));let t=this._getChildrenAccessor();if(t)return fn(t(o)??[]);throw ra()}_findChildrenByLevel(o,h,c,l){let a=this._getExpansionKey(c),t=h.findIndex(r=>this._getExpansionKey(r)===a),e=o(c),n=e+l,i=[];for(let r=t+1;r<h.length;r++){let s=o(h[r]);if(s<=e)break;s<=n&&i.push(h[r])}return i}_registerNode(o){this._nodes.value.set(this._getExpansionKey(o.data),o),this._nodes.next(this._nodes.value)}_unregisterNode(o){this._nodes.value.delete(this._getExpansionKey(o.data)),this._nodes.next(this._nodes.value)}_getLevel(o){return this._levels.get(this._getExpansionKey(o))}_getSetSize(o){return this._getAriaSet(o).length}_getPositionInSet(o){let h=this._getAriaSet(o),c=this._getExpansionKey(o);return h.findIndex(l=>this._getExpansionKey(l)===c)+1}_getNodeParent(o){let h=this._parents.get(this._getExpansionKey(o.data));return h&&this._nodes.value.get(this._getExpansionKey(h))}_getNodeChildren(o){return this._getDirectChildren(o.data).pipe(Qe(h=>h.reduce((c,l)=>{let a=this._nodes.value.get(this._getExpansionKey(l));return a&&c.push(a),c},[])))}_sendKeydownToKeyManager(o){this._keyManager.onKeydown(o)}_getDescendants(o){if(this.treeControl)return St(this.treeControl.getDescendants(o));if(this.levelAccessor){let h=this._findChildrenByLevel(this.levelAccessor,this._flattenedNodes.value,o,1/0);return St(h)}if(this.childrenAccessor)return this._getAllChildrenRecursively(o).pipe(Wn((h,c)=>(h.push(...c),h),[]));throw ra()}_getAllChildrenRecursively(o){return this.childrenAccessor?fn(this.childrenAccessor(o)).pipe(jt(1),et(h=>{for(let c of h)this._parents.set(this._getExpansionKey(c),o);return St(...h).pipe(zn(c=>Hn(St([c]),this._getAllChildrenRecursively(c))))})):St([])}_getExpansionKey(o){return this.expansionKey?.(o)??o}_getAriaSet(o){let h=this._getExpansionKey(o),c=this._parents.get(h),l=c?this._getExpansionKey(c):null;return this._ariaSets.get(l)??[o]}_findParentForNode(o,h,c){if(!c.length)return null;let l=this._levels.get(this._getExpansionKey(o))??0;for(let a=h-1;a>=0;a--){let t=c[a];if((this._levels.get(this._getExpansionKey(t))??0)<l)return t}return null}_flattenNestedNodesWithExpansion(o,h=0){let c=this._getChildrenAccessor();return c?St(...o).pipe(zn(l=>{let a=this._getExpansionKey(l);this._parents.has(a)||this._parents.set(a,null),this._levels.set(a,h);let t=fn(c(l));return Hn(St([l]),t.pipe(jt(1),ri(e=>{this._ariaSets.set(a,[...e??[]]);for(let n of e??[]){let i=this._getExpansionKey(n);this._parents.set(i,l),this._levels.set(i,h+1)}}),et(e=>e?this._flattenNestedNodesWithExpansion(e,h+1).pipe(Qe(n=>this.isExpanded(l)?n:[])):St([]))))}),Wn((l,a)=>(l.push(...a),l),[])):St([...o])}_computeRenderingData(o,h){if(this.childrenAccessor&&h==="flat")return this._ariaSets.set(null,[...o]),this._flattenNestedNodesWithExpansion(o).pipe(Qe(c=>({renderNodes:c,flattenedNodes:c})));if(this.levelAccessor&&h==="nested"){let c=this.levelAccessor;return St(o.filter(l=>c(l)===0)).pipe(Qe(l=>({renderNodes:l,flattenedNodes:o})),ri(({flattenedNodes:l})=>{this._calculateParents(l)}))}else return h==="flat"?St({renderNodes:o,flattenedNodes:o}).pipe(ri(({flattenedNodes:c})=>{this._calculateParents(c)})):(this._ariaSets.set(null,[...o]),this._flattenNestedNodesWithExpansion(o).pipe(Qe(c=>({renderNodes:o,flattenedNodes:c}))))}_updateCachedData(o){this._flattenedNodes.next(o)}_updateKeyManagerItems(o){this._keyManagerNodes.next(o)}_calculateParents(o){let h=this._getLevelAccessor();if(h){this._parents.clear(),this._ariaSets.clear();for(let c=0;c<o.length;c++){let l=o[c],a=this._getExpansionKey(l);this._levels.set(a,h(l));let t=this._findParentForNode(l,c,o);this._parents.set(a,t);let e=t?this._getExpansionKey(t):null,n=this._ariaSets.get(e)??[];n.splice(c,0,l),this._ariaSets.set(e,n)}}}};d.\u0275fac=function(h){return new(h||d)(ue(Qn),ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["cdk-tree"]],contentQueries:function(h,c,l){if(h&1&&Yn(l,dr,5),h&2){let a;qe(a=Je())&&(c._nodeDefs=a)}},viewQuery:function(h,c){if(h&1&&it(Gi,7),h&2){let l;qe(l=Je())&&(c._nodeOutlet=l.first)}},hostAttrs:["role","tree",1,"cdk-tree"],hostBindings:function(h,c){h&1&&le("keydown",function(a){return c._sendKeydownToKeyManager(a)})},inputs:{dataSource:"dataSource",treeControl:"treeControl",levelAccessor:"levelAccessor",childrenAccessor:"childrenAccessor",trackBy:"trackBy",expansionKey:"expansionKey"},exportAs:["cdkTree"],standalone:!0,features:[Dr],decls:1,vars:0,consts:[["cdkTreeNodeOutlet",""]],template:function(h,c){h&1&&Lt(0,0)},dependencies:[Gi],encapsulation:2});let u=d;return u})(),Ki=(()=>{let d=class d{get role(){return"treeitem"}set role(o){}get isExpandable(){return this._isExpandable()}set isExpandable(o){this._inputIsExpandable=o,!(this.data&&!this._isExpandable||!this._inputIsExpandable)&&(this._inputIsExpanded?this.expand():this._inputIsExpanded===!1&&this.collapse())}get isExpanded(){return this._tree.isExpanded(this._data)}set isExpanded(o){this._inputIsExpanded=o,o?this.expand():this.collapse()}getLabel(){return this.typeaheadLabel||this._elementRef.nativeElement.textContent?.trim()||""}get data(){return this._data}set data(o){o!==this._data&&(this._data=o,this._dataChanges.next())}get isLeafNode(){return this._tree.treeControl?.isExpandable!==void 0&&!this._tree.treeControl.isExpandable(this._data)?!0:this._tree.treeControl?.isExpandable===void 0&&this._tree.treeControl?.getDescendants(this._data).length===0}get level(){return this._tree._getLevel(this._data)??this._parentNodeAriaLevel}_isExpandable(){return this._tree.treeControl?!this.isLeafNode:this._inputIsExpandable}_getAriaExpanded(){return this._isExpandable()?String(this.isExpanded):null}_getSetSize(){return this._tree._getSetSize(this._data)}_getPositionInSet(){return this._tree._getPositionInSet(this._data)}constructor(o,h){this._elementRef=o,this._tree=h,this._tabindex=-1,this.activation=new Ge,this.expandedChange=new Ge,this._destroyed=new ni,this._dataChanges=new ni,this._inputIsExpandable=!1,this._inputIsExpanded=void 0,this._shouldFocus=!0,this._changeDetectorRef=kt(mt),d.mostRecentTreeNode=this}ngOnInit(){this._parentNodeAriaLevel=tp(this._elementRef.nativeElement),this._tree._getExpansionModel().changed.pipe(Qe(()=>this.isExpanded),Ut()).subscribe(()=>{this._changeDetectorRef.markForCheck()}),this._tree._setNodeTypeIfUnset("flat"),this._tree._registerNode(this)}ngOnDestroy(){d.mostRecentTreeNode===this&&(d.mostRecentTreeNode=null),this._dataChanges.complete(),this._destroyed.next(),this._destroyed.complete()}getParent(){return this._tree._getNodeParent(this)??null}getChildren(){return this._tree._getNodeChildren(this)}focus(){this._tabindex=0,this._shouldFocus&&this._elementRef.nativeElement.focus(),this._changeDetectorRef.markForCheck()}unfocus(){this._tabindex=-1,this._changeDetectorRef.markForCheck()}activate(){this.isDisabled||this.activation.next(this._data)}collapse(){this.isExpandable&&this._tree.collapse(this._data)}expand(){this.isExpandable&&this._tree.expand(this._data)}makeFocusable(){this._tabindex=0,this._changeDetectorRef.markForCheck()}_focusItem(){this.isDisabled||this._tree._keyManager.focusItem(this)}_setActiveItem(){this.isDisabled||(this._shouldFocus=!1,this._tree._keyManager.focusItem(this),this._shouldFocus=!0)}_emitExpansionState(o){this.expandedChange.emit(o)}};d.mostRecentTreeNode=null,d.\u0275fac=function(h){return new(h||d)(ue(yt),ue(Yi))},d.\u0275dir=Tt({type:d,selectors:[["cdk-tree-node"]],hostAttrs:["role","treeitem",1,"cdk-tree-node"],hostVars:5,hostBindings:function(h,c){h&1&&le("click",function(){return c._setActiveItem()})("focus",function(){return c._focusItem()}),h&2&&(Tr("tabindex",c._tabindex),at("aria-expanded",c._getAriaExpanded())("aria-level",c.level+1)("aria-posinset",c._getPositionInSet())("aria-setsize",c._getSetSize()))},inputs:{role:"role",isExpandable:[2,"isExpandable","isExpandable",ki],isExpanded:"isExpanded",isDisabled:[2,"isDisabled","isDisabled",ki],typeaheadLabel:[0,"cdkTreeNodeTypeaheadLabel","typeaheadLabel"]},outputs:{activation:"activation",expandedChange:"expandedChange"},exportAs:["cdkTreeNode"],standalone:!0,features:[Kn]});let u=d;return u})();function tp(u){let d=u.parentElement;for(;d&&!ip(d);)d=d.parentElement;return d?d.classList.contains("cdk-nested-tree-node")?Or(d.getAttribute("aria-level")):0:-1}function ip(u){let d=u.classList;return!!(d?.contains("cdk-nested-tree-node")||d?.contains("cdk-tree"))}var sa=(()=>{let d=class d extends Ki{constructor(o,h,c){super(o,h),this._differs=c}ngAfterContentInit(){this._dataDiffer=this._differs.find([]).create(this._tree.trackBy),this._tree._getDirectChildren(this.data).pipe(Ai(this._destroyed)).subscribe(o=>this.updateChildrenNodes(o)),this.nodeOutlet.changes.pipe(Ai(this._destroyed)).subscribe(()=>this.updateChildrenNodes())}ngOnInit(){this._tree._setNodeTypeIfUnset("nested"),super.ngOnInit()}ngOnDestroy(){this._clear(),super.ngOnDestroy()}updateChildrenNodes(o){let h=this._getNodeOutlet();if(o&&(this._children=o),h&&this._children){let c=h.viewContainer;this._tree.renderNodeChanges(this._children,this._dataDiffer,c,this._data)}else this._dataDiffer.diff([])}_clear(){let o=this._getNodeOutlet();o&&(o.viewContainer.clear(),this._dataDiffer.diff([]))}_getNodeOutlet(){let o=this.nodeOutlet;return o&&o.find(h=>!h._node||h._node===this)}};d.\u0275fac=function(h){return new(h||d)(ue(yt),ue(Yi),ue(Qn))},d.\u0275dir=Tt({type:d,selectors:[["cdk-nested-tree-node"]],contentQueries:function(h,c,l){if(h&1&&Yn(l,Gi,5),h&2){let a;qe(a=Je())&&(c.nodeOutlet=a)}},hostAttrs:[1,"cdk-nested-tree-node"],exportAs:["cdkNestedTreeNode"],standalone:!0,features:[Ft([{provide:Ki,useExisting:d},{provide:oa,useExisting:d}]),ci]});let u=d;return u})();var t_=(()=>{let d=class d{constructor(o,h){this._tree=o,this._treeNode=h,this.recursive=!1}_toggle(){this.recursive?this._tree.toggleDescendants(this._treeNode.data):this._tree.toggle(this._treeNode.data),this._tree._keyManager.focusItem(this._treeNode)}};d.\u0275fac=function(h){return new(h||d)(ue(Yi),ue(Ki))},d.\u0275dir=Tt({type:d,selectors:[["","cdkTreeNodeToggle",""]],hostAttrs:["tabindex","-1"],hostBindings:function(h,c){h&1&&le("click",function(a){return c._toggle(),a.stopPropagation()})("keydown.Enter",function(a){return c._toggle(),a.preventDefault()})("keydown.Space",function(a){return c._toggle(),a.preventDefault()})},inputs:{recursive:[2,"cdkTreeNodeToggleRecursive","recursive",ki]},standalone:!0,features:[Kn]});let u=d;return u})();var aa=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({});let u=d;return u})();var rp=["treeElement"];function op(u,d){if(u&1){let x=ve();Z(0,"button",13),le("click",function(h){he(x);let c=U().$implicit,l=U();return de(l.toggle(c,h))}),oe(1,"isp-svg-icon",14),X()}if(u&2){let x=U().$implicit,o=U();Te("tree__expand-button_expanded",o.treeControl.isExpanded(x))}}function sp(u,d){if(u&1&&oe(0,"isp-loader",15),u&2){let x=U().$implicit;R("loading",x.isLoading)}}function ap(u,d){if(u&1){let x=ve();Z(0,"isp-svg-icon",16),be(1,"iconSimular"),le("click",function(h){he(x);let c=U().$implicit,l=U();return de(l.toggle(c,h))}),X()}if(u&2){let x=U().$implicit,o=U();Te("tree__icon_is_extendable",o.isExpandable(x)),R("name",xe(1,3,x.$img))}}function lp(u,d){u&1&&Lt(0,17)}function cp(u,d){if(u&1){let x=ve();Z(0,"cdk-nested-tree-node",6,0)(2,"div",7),le("click",function(){let h=he(x).$implicit,c=U();return de(c.select(h))})("dblclick",function(h){let c=he(x).$implicit,l=U();return de(l.toggle(c,h))}),Z(3,"div",8),J(4,op,2,2,"button",9)(5,sp,1,1,"isp-loader",10)(6,ap,2,5,"ng-template",null,1,ut),X(),Z(8,"span",11),Ce(9),X()(),J(10,lp,1,0,"ng-container",12),X()}if(u&2){let x=d.$implicit,o=d.level,h=Ve(7),c=U();Dt("--isp-tree-level",o),z(2),Te("tree__label_is_selected",x.$key===c.value),z(2),R("ngIf",c.isExpandable(x)),z(),R("ngIf",x.isLoading)("ngIfElse",h),z(3),R("ispTooltipScrollSelector","#"+c.id),z(),Le(" ",x.$," "),z(),R("ngIf",c.treeControl.isExpanded(x))}}function pr(u){return Ue(Se({},u),{isLoading:!1,children:[u.tlist?.val].flat().filter(d=>!!d).map(d=>pr(d))})}var la=(()=>{let d=class d{set doc(o){this.doc$.next(o)}set name(o){this.name$.next(o)}get id(){return`isp-tree-${this.name$.value}`}constructor(o,h){this.apiService=o,this.cdr=h,this.list=[],this.doc$=new Fe(null),this.name$=new Fe(null),this.height=15,this.treeControl=new Tn(c=>c.children.length?c.children:null),this.onChange=c=>{},this.onTouched=()=>{},zt([this.doc$,this.name$]).pipe(ze(c=>c.every(l=>!!l)),jt(1)).subscribe(([c,l])=>{let a=c.tlist?.find(t=>t.$name===l)?.val;a&&(this.list.push(...a.map(t=>pr(t))),this.setInitialExpansion())})}setInitialExpansion(){let o=this.list;this.list.length!==0&&(o[0]?.children.length>0&&this.treeControl.expand(o[0]),this.treeControl.getDescendants(o[0]).filter(h=>h.children.length).forEach(h=>this.treeControl.expand(h)))}ngAfterViewInit(){setTimeout(()=>{this.scrollToSelected()},200)}writeValue(o){this.value=o}registerOnChange(o){this.onChange=o}registerOnTouched(o){this.onTouched=o}select(o){let h=o.$key;this.value!==h&&(this.writeValue(h),this.onChange(h))}toggle(o,h){if(h.preventDefault(),h.stopPropagation(),this.treeControl.isExpanded(o)||o.children.length){this.treeControl.toggle(o);return}o.isLoading=!0;let c=this.doc$.value,l=this.name$.value;this.apiService.setValues({field:l,model:{[l]:o.$key,sv_tree:"yes"},elid:te.elid(c),plid:te.plid(c),func:c.$func}).subscribe(a=>{o.isLoading=!1,this.cdr.markForCheck();let t=[a.tlist?.[0]?.val].flat().filter(e=>!!e);t.length&&(o.children.push(...t.map(e=>pr(e))),o.$collapsed=null,this.treeControl.expand(o),this.updateList())})}scrollToSelected(){this.treeRef?.nativeElement?.querySelector(".tree__label_is_selected")?.scrollIntoView()}updateList(){let o=this.list;this.list=[],setTimeout(()=>{this.list=o,this.cdr.markForCheck()})}trackByNode(o,h){return`${h.$key}_${o}`}isExpandable(o){return!!(o.$collapsed||o.children.length)}};d.\u0275fac=function(h){return new(h||d)(ue(Mi),ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["isp-tree"]],viewQuery:function(h,c){if(h&1&&it(rp,5),h&2){let l;qe(l=Je())&&(c.treeRef=l.first)}},hostVars:2,hostBindings:function(h,c){h&2&&Dt("--isp-tree-row-count",c.height)},inputs:{doc:"doc",name:"name",height:"height"},features:[Ft([{provide:Qt,useExisting:Gt(()=>d),multi:!0}])],decls:4,vars:4,consts:[["treeElement",""],["icon",""],[1,"wrapper"],[1,"tree","tree-field-tooltip-parent","ispui-scrollbar_gray"],[3,"dataSource","treeControl","trackBy"],["class","tree__branch",3,"--isp-tree-level",4,"cdkTreeNodeDef"],[1,"tree__branch"],[1,"tree__label",3,"click","dblclick"],[1,"tree__icons"],["class","tree__expand-button","type","button",3,"tree__expand-button_expanded","click",4,"ngIf"],["class","tree__loader","type","spinner",3,"loading",4,"ngIf","ngIfElse"],["ispTooltip","","ispTooltipEllipsis","","ispTooltipViewportSelector",".tree-field-tooltip-parent",1,"tree__text",3,"ispTooltipScrollSelector"],["cdkTreeNodeOutlet","",4,"ngIf"],["type","button",1,"tree__expand-button",3,"click"],["name","arrow-down",1,"tree__expand-button-icon"],["type","spinner",1,"tree__loader",3,"loading"],[1,"tree__icon",3,"click","name"],["cdkTreeNodeOutlet",""]],template:function(h,c){h&1&&(Z(0,"div",2)(1,"div",3)(2,"cdk-tree",4),J(3,cp,11,10,"cdk-nested-tree-node",5),X()()()),h&2&&(at("id",c.id),z(2),R("dataSource",c.list)("treeControl",c.treeControl)("trackBy",c.trackByNode))},dependencies:[_e,sa,dr,Yi,Gi,je,dt,Mt,so],styles:['.wrapper[_ngcontent-%COMP%]{display:flex;height:calc(var(--isp-tree-row-count) * 30px + 14px);border:1px solid var(--isp-dc-charlie-chaplin);border-radius:var(--isp-border-radius-main)}@media (max-height: 850px){.wrapper[_ngcontent-%COMP%]{max-height:500px}}@media (max-height: 750px){.wrapper[_ngcontent-%COMP%]{max-height:400px}}@media (max-height: 650px){.wrapper[_ngcontent-%COMP%]{max-height:300px}}.tree[_ngcontent-%COMP%]{width:100%;height:calc(100% - 14px);margin:7px 0;overflow-x:auto;overflow-y:scroll}.tree-field-tooltip-parent[_ngcontent-%COMP%]{position:relative}.tree__branch[_ngcontent-%COMP%]{--isp-tree-level: 0;display:block}.tree__label[_ngcontent-%COMP%]{position:relative;display:flex;align-items:center;justify-content:flex-start;padding-top:7px;padding-right:15px;padding-bottom:7px;padding-left:calc(var(--isp-tree-level) * 20px + 15px);line-height:16px;-webkit-user-select:none;user-select:none;cursor:pointer}.tree__label[_ngcontent-%COMP%]:hover{background-color:var(--isp-dc-the-institute)}.tree__label_is_selected[_ngcontent-%COMP%]{background-color:var(--isp-dc-cult)}.tree__label_is_selected[_ngcontent-%COMP%]:before{position:absolute;top:0;bottom:0;left:0;content:"";width:4px;background-color:var(--isp-c-blue-velvet)}.tree__loader[_ngcontent-%COMP%]{--isp-loader__background: none;--isp-loader__size: 15px;--isp-loader__color: var(--isp-text-color-main)}.tree__text[_ngcontent-%COMP%]{max-width:calc(100% - 50px);margin-left:5px;white-space:nowrap}.tree__icon[_ngcontent-%COMP%]{display:flex;margin-left:20px}.tree__icons[_ngcontent-%COMP%]{display:flex}.tree__icons[_ngcontent-%COMP%]:hover .tree__expand-button[_ngcontent-%COMP%]{background-color:var(--isp-dc-mass-relay)}.tree__icon_is_extendable[_ngcontent-%COMP%]{margin-left:0}.tree__expand-button[_ngcontent-%COMP%]{padding:0;margin-right:5px;background:none;border:none;border-radius:50%;cursor:pointer;transition:transform .15s ease-in-out;transform:rotate(-90deg)}.tree__expand-button_expanded[_ngcontent-%COMP%]{transform:rotate(0)}.tree__expand-button-icon[_ngcontent-%COMP%]{display:flex}'],changeDetection:0});let u=d;return u})();function hp(u,d){if(u&1){let x=ve();ke(0),Z(1,"div",1),Ce(2),X(),Z(3,"isp-tree",2),be(4,"async"),be(5,"async"),le("ngModelChange",function(h){he(x);let c=U();return de(c.handleModelChange(h))}),X(),Ee()}if(u&2){let x=d.ngIf,o=U();z(2),He(x.label),z(),R("name",x.name)("height",x.height)("doc",xe(4,5,o.doc$))("ngModel",xe(5,7,o.value$))}}var ca=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o){this.dynamicFormService=o,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(h=>!!h),et(h=>this.dynamicFormService.fieldValue$(h.name))),this.doc$=this.dynamicFormService.doc$}handleModelChange(o){this.dynamicFormService.update({name:this.element$.value.name,value:o})}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-tree-field"]],inputs:{element:"element"},decls:2,vars:3,consts:[[4,"ngIf"],[1,"label"],[3,"ngModelChange","name","height","doc","ngModel"]],template:function(h,c){h&1&&(J(0,hp,6,9,"ng-container",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,Bt,It,la,We],styles:[".label[_ngcontent-%COMP%]{margin-bottom:7px}"],changeDetection:0});let u=d;return u})();var ua=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,Zt,aa,fi,ao,ti]});let u=d;return u})();function dp(u,d){if(u&1){let x=ve();Z(0,"isp-password",1),be(1,"async"),le("change",function(h){he(x);let c=U();return de(c.handleModelChange(h.target.value))})("toggleFocus",function(h){he(x);let c=U();return de(c.handleBlur(h))})("passwordGenerated",function(h){he(x);let c=U();return de(c.handleModelChange(h,!0))}),X()}if(u&2){let x=d.ngIf,o=U();R("name",x.name)("ngModel",xe(1,13,o.value$))("label",x.label)("required",x.required)("invalid",x.error)("disabled",x.disabled||x.readonly)("showGenerate",x.showGenerate)("generateLength",o.getLength())("generateChars",o.getChars())("showStrength",x.showStrength)("strengthMessages",x.strengthMessages)("errorText",x.error==null?null:x.error.text),at("data-df-field",x.name)}}var ha=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o,h){this.dynamicFormService=o,this.clickToBlurDetectionService=h,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(c=>!!c),et(c=>this.dynamicFormService.fieldValue$(c.name)))}handleModelChange(o,h=!1){return _t(this,null,function*(){this.valueOnChange=o;let{name:c,confirmName:l}=this.element$.value;if(this.dynamicFormService.model$.value[c]===o||(yield this.clickToBlurDetectionService.handleModelChange(c,o),!l))return;if(h){yield this.dynamicFormService.update({name:l,value:o});return}let a=this.dynamicFormService.model$.value[l];a&&(yield this.dynamicFormService.update({name:l,value:a}))})}getMessage(o){return this.dynamicFormService.getMessage(o)}getChars(){return this.dynamicFormService.desktop?.pwgencharacters?.$}getLength(){return+this.dynamicFormService.desktop?.pwgenlen?.$}handleBlur(o){if(o.type!=="blur")return;this.valueOnChange===o.target.value||this.element$.value.disabled?this.valueOnChange=null:this.clickToBlurDetectionService.handleBlur(this.element$.value.name,o)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(yi))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-password-field"]],inputs:{element:"element"},decls:2,vars:3,consts:[["autocomplete","new-password",3,"name","ngModel","label","required","invalid","disabled","showGenerate","generateLength","generateChars","showStrength","strengthMessages","errorText","change","toggleFocus","passwordGenerated",4,"ngIf"],["autocomplete","new-password",3,"change","toggleFocus","passwordGenerated","name","ngModel","label","required","invalid","disabled","showGenerate","generateLength","generateChars","showStrength","strengthMessages","errorText"]],template:function(h,c){h&1&&(J(0,dp,2,15,"isp-password",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,Bt,Ti,It,ln,We],changeDetection:0});let u=d;return u})();var W_=Nn(pa());ace.define("ace/theme/monokai",["require","exports","module","ace/lib/dom"],function(u,d,x){d.isDark=!0,d.cssClass="ace-monokai",d.cssText=".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}";var o=u("../lib/dom");o.importCssString(d.cssText,d.cssClass)});var Dn=(()=>{let d=class d{constructor(o,h){this.zone=h,this.textChanged=new Ge,this.textChange=new Ge,this.style={},this._options={},this._readOnly=!1,this._theme="monokai",this._mode="html",this._autoUpdateContent=!0,this._durationBeforeCallback=0,this._text="",this.onChange=l=>{},this.onTouched=()=>{};let c=o.nativeElement;this.zone.runOutsideAngular(()=>{this._editor=ace.edit(c)}),this._editor.$blockScrolling=1/0}ngOnInit(){this.init(),this.initEvents()}ngOnDestroy(){this._editor.destroy()}init(){this.setOptions(this._options||{}),this.setTheme(this._theme),this.setMode(this._mode),this.setReadOnly(this._readOnly)}initEvents(){this._editor.on("change",()=>this.updateText()),this._editor.on("paste",()=>this.updateText())}updateText(){let o=this._editor.getValue();o!==this.oldText&&(this._durationBeforeCallback?(this.timeoutSaving&&clearTimeout(this.timeoutSaving),this.timeoutSaving=setTimeout(()=>{this._text=o,this.zone.run(()=>{this.textChange.emit(o),this.textChanged.emit(o)}),this.timeoutSaving=null},this._durationBeforeCallback)):(this._text=o,this.zone.run(()=>{this.textChange.emit(o),this.textChanged.emit(o)}),this.onChange(o)),this.oldText=o)}set options(o){this.setOptions(o)}setOptions(o){this._options=o,this._editor.setOptions(o||{})}set readOnly(o){this.setReadOnly(o)}setReadOnly(o){this._readOnly=o,this._editor.setReadOnly(o)}set theme(o){this.setTheme(o)}setTheme(o){this._theme=o,this._editor.setTheme(`ace/theme/${o}`)}set mode(o){this.setMode(o)}setMode(o){this._mode=o,typeof this._mode=="object"?this._editor.getSession().setMode(this._mode):this._editor.getSession().setMode(`ace/mode/${this._mode}`)}get value(){return this.text}set value(o){this.setText(o)}writeValue(o){this.setText(o)}registerOnChange(o){this.onChange=o}registerOnTouched(o){this.onTouched=o}get text(){return this._text}set text(o){this.setText(o)}setText(o){o==null&&(o=""),this._text!==o&&this._autoUpdateContent&&(this._text=o,this._editor.setValue(o),this.onChange(o),this._editor.clearSelection())}set autoUpdateContent(o){this.setAutoUpdateContent(o)}setAutoUpdateContent(o){this._autoUpdateContent=o}set durationBeforeCallback(o){this.setDurationBeforeCallback(o)}setDurationBeforeCallback(o){this._durationBeforeCallback=o}getEditor(){return this._editor}};d.\u0275fac=function(h){return new(h||d)(ue(yt),ue(kr))},d.\u0275cmp=fe({type:d,selectors:[["ace-editor"]],inputs:{style:"style",options:"options",readOnly:"readOnly",theme:"theme",mode:"mode",value:"value",text:"text",autoUpdateContent:"autoUpdateContent",durationBeforeCallback:"durationBeforeCallback"},outputs:{textChanged:"textChanged",textChange:"textChange"},features:[Ft([{provide:Qt,useExisting:Gt(()=>d),multi:!0}])],decls:0,vars:0,template:function(h,c){},styles:["[_nghost-%COMP%]{display:block;width:100%}"]});let u=d;return u})();var fr=[10,11,12,13,14,16,18,20,24],mr=[["abap","abap"],["abc","abc"],["actionscript","actionscript"],["ada","ada"],["alda","alda"],["apache_conf","apache conf"],["apex","apex"],["applescript","applescript"],["aql","aql"],["asciidoc","asciidoc"],["asl","asl"],["assembly_x86","assembly x86"],["autohotkey","autohotkey"],["batchfile","batchfile"],["c9search","c9search"],["c_cpp","c++"],["cirru","cirru"],["clojure","clojure"],["cobol","cobol"],["coffee","coffee"],["coldfusion","coldfusion"],["crystal","crystal"],["csharp","csharp"],["csound_document","csound document"],["csound_orchestra","csound orchestra"],["csound_score","csound score"],["csp","csp"],["css","css"],["curly","curly"],["d","d"],["dart","dart"],["diff","diff"],["django","django"],["dockerfile","dockerfile"],["dot","dot"],["drools","drools"],["edifact","edifact"],["eiffel","eiffel"],["ejs","ejs"],["elixir","elixir"],["elm","elm"],["erlang","erlang"],["forth","forth"],["fortran","fortran"],["fsharp","fsharp"],["fsl","fsl"],["ftl","ftl"],["gcode","gcode"],["gherkin","gherkin"],["gitignore","gitignore"],["glsl","glsl"],["gobstones","gobstones"],["golang","golang"],["graphqlschema","graphqlschema"],["groovy","groovy"],["haml","haml"],["handlebars","handlebars"],["haskell","haskell"],["haskell_cabal","haskell cabal"],["haxe","haxe"],["hjson","hjson"],["html","html"],["html_elixir","html elixir"],["html_ruby","html ruby"],["ini","ini"],["io","io"],["jack","jack"],["jade","jade"],["java","java"],["javascript","javascript"],["json","json"],["json5","json5"],["jsoniq","jsoniq"],["jsp","jsp"],["jssm","jssm"],["jsx","jsx"],["julia","julia"],["kotlin","kotlin"],["latex","latex"],["less","less"],["liquid","liquid"],["lisp","lisp"],["livescript","livescript"],["logiql","logiql"],["logtalk","logtalk"],["lsl","lsl"],["lua","lua"],["luapage","luapage"],["lucene","lucene"],["makefile","makefile"],["markdown","markdown"],["mask","mask"],["matlab","matlab"],["maze","maze"],["mediawiki","mediawiki"],["mel","mel"],["mixal","mixal"],["mushcode","mushcode"],["mysql","mysql"],["nginx","nginx"],["nim","nim"],["nix","nix"],["nsis","nsis"],["nunjucks","nunjucks"],["objectivec","objectivec"],["ocaml","ocaml"],["pascal","pascal"],["perl","perl"],["perl6","perl6"],["pgsql","pgsql"],["php","php"],["php_laravel_blade","php laravel blade"],["pig","pig"],["plain_text","plain text"],["powershell","powershell"],["praat","praat"],["prisma","prisma"],["prolog","prolog"],["properties","properties"],["protobuf","protobuf"],["puppet","puppet"],["python","python"],["qml","qml"],["r","r"],["razor","razor"],["rdoc","rdoc"],["red","red"],["redshift","redshift"],["rhtml","rhtml"],["rst","rst"],["ruby","ruby"],["rust","rust"],["sass","sass"],["scad","scad"],["scala","scala"],["scheme","scheme"],["scss","scss"],["sh","sh"],["sjs","sjs"],["slim","slim"],["smarty","smarty"],["snippets","snippets"],["soy_template","soy template"],["space","space"],["sparql","sparql"],["sql","sql"],["sqlserver","sqlserver"],["stylus","stylus"],["svg","svg"],["swift","swift"],["tcl","tcl"],["terraform","terraform"],["tex","tex"],["text","text"],["textile","textile"],["toml","toml"],["tsx","tsx"],["turtle","turtle"],["twig","twig"],["typescript","typescript"],["vala","vala"],["vbscript","vbscript"],["velocity","velocity"],["verilog","verilog"],["vhdl","vhdl"],["visualforce","visualforce"],["wollok","wollok"],["xml","xml"],["xquery","xquery"],["yaml","yaml"],["zeek","zeek"]],gr=[["ambiance","Ambiance"],["chaos","Chaos"],["chrome","Chrome"],["clouds","Clouds"],["clouds_midnight","Clouds Midnight"],["cobalt","Cobalt"],["crimson_editor","Crimson Editor"],["dawn","Dawn"],["dracula","Dracula"],["dreamweaver","Dreamweaver"],["eclipse","Eclipse"],["github","Github"],["gob","Gob"],["gruvbox","Gruvbox"],["idle_fingers","Idle Fingers"],["iplastic","Iplastic"],["ispmanager","Ispmanager"],["katzenmilch","Katzenmilch"],["kr_theme","KR Theme"],["kuroir","Kuroir"],["merbivore","Merbivore"],["merbivore_soft","Merbivore soft"],["mono_industrial","Mono Industrial"],["monokai","Monokai"],["nord_dark","Nord Dark"],["pastel_on_dark","Pastel on dark"],["solarized_dark","Solarized dark"],["solarized_light","Solarized light"],["sqlserver","Sql server"],["terminal","Terminal"],["textmate","Textmate"],["tomorrow","Tomorrow"],["tomorrow_night","Tomorrow night"],["tomorrow_night_blue","Tomorrow night blue"],["tomorrow_night_bright","Tomorrow night bright"],["tomorrow_night_eighties","Tomorrow night eighties"],["twilight","Twilight"],["vibrant_ink","Vibrant ink"],["xcode","XCode"]],vr=[[!1,"Off"],[40,"40 Chars"],[80,"80 Chars"],[!0,"Free"]];var fa=(()=>{let d=class d{get ispResizableBlock(){return this.enable}set ispResizableBlock(o){this.enable=o,o?this.activate():this.deactivate()}constructor(o,h,c){this.host=o,this.renderer=h,this.window=c,this.minHeight=10,this.handleListenerList=[],this.resizeEnd=new Ge}activate(){this.activeHeight&&this.renderer.setStyle(this.host.nativeElement,"height",`${this.activeHeight}px`),this.appendHandle(),this.listenHandle()}deactivate(){this.renderer.setStyle(this.host.nativeElement,"height",null),this.handleListenerList.forEach(o=>{o()}),this.handle&&this.handle.remove()}prepareHost(){this.window.getComputedStyle(this.host.nativeElement).position==="static"&&this.renderer.setStyle(this.host.nativeElement,"position","relative")}appendHandle(){let o=this.renderer.createElement("div"),h={position:"absolute",width:"17px",height:"15px",bottom:"0",right:"0",cursor:"ns-resize","z-index":"2","clip-path":"polygon(100% 0, 0 100%, 100% 100%)","background-image":"repeating-linear-gradient(140deg, #d9d9d9, #d9d9d9 1px, transparent 2px, transparent 3px)"};for(let c of Object.keys(h))this.renderer.setStyle(o,c,h[c]);this.renderer.appendChild(this.host.nativeElement,o),this.handle=o}listenHandle(){let o,h,c=!1,l=this.renderer.listen(this.handle,"mousedown",e=>{e.stopPropagation(),e.preventDefault(),c=!0,o=e.pageY,h=this.host.nativeElement.clientHeight}),a=this.renderer.listen(window,"mousemove",e=>{if(c){e.stopPropagation(),e.preventDefault();let n=e.pageY-o,i=h+n,r=i<this.minHeight?this.minHeight:i;this.activeHeight=r,this.renderer.setStyle(this.host.nativeElement,"height",`${r}px`)}}),t=this.renderer.listen(window,"mouseup",e=>{e.stopPropagation(),e.preventDefault(),c&&(o=void 0,h=void 0,c=!1,this.resizeEnd.emit())});this.handleListenerList=[l,a,t]}ngOnInit(){this.prepareHost()}ngOnDestroy(){this.deactivate()}};d.\u0275fac=function(h){return new(h||d)(ue(yt),ue(Fr),ue(on))},d.\u0275dir=Tt({type:d,selectors:[["","ispResizableBlock",""]],inputs:{ispResizableBlock:"ispResizableBlock"},outputs:{resizeEnd:"resizeEnd"}});let u=d;return u})();var Ln=u=>({legend:u}),Bn=()=>({"--isp-dropdown-z-index":"var(--isp-code-editor-select-popup-z-index)"});function mp(u,d){u&1&&oe(0,"isp-loader",16),u&2&&R("loading",!0)}function gp(u,d){if(u&1){let x=ve();Z(0,"label",17)(1,"input",18),le("change",function(h){he(x);let c=U();return de(c.replaceWithFile(h))}),X(),oe(2,"isp-svg-icon",19),Z(3,"span",20),Ce(4),X()()}if(u&2){let x=U();z(4),He(x.getMessage("msg_ide_uploadfile"))}}function vp(u,d){if(u&1&&oe(0,"isp-form-view-buttons-container",22),u&2){let x=d.ngIf;R("element",x)}}function yp(u,d){if(u&1&&(ke(0),J(1,vp,1,1,"isp-form-view-buttons-container",21),be(2,"async"),Ee()),u&2){let x=U();z(),R("ngIf",xe(2,1,x.formButtonsElement$))}}var ma=(()=>{let d=class d{set element(o){this.element$.next(o)}get fullscreenButtonIcon(){return this.isFullScreen?"ff-unzoom-a":"ff-zoom-a"}get fullscreenButtonTitle(){return this.getMessage(`msg_ide_${this.isFullScreen?"exit":""}fullscreen`)}get canShowLineNumbers(){return this.aceOptions.showLineNumbers?"on":"off"}set canShowLineNumbers(o){this.updateAceOptions({showLineNumbers:o==="on"})}get fontSize(){return`${this.aceOptions.fontSize}`}set fontSize(o){this.updateAceOptions({fontSize:+o})}get theme(){return this.aceOptions.theme}set theme(o){this.updateAceOptions({theme:o})}get mode(){return this.aceOptions.mode}set mode(o){this.updateAceOptions({mode:o})}get wrap(){return String(this.aceOptions.wrap)}set wrap(o){let h;o==="true"?h=!0:o==="false"?h=!1:h=Number(o),this.updateAceOptions({wrap:h})}get fontSizeOptions(){return fr.map(o=>({text:`${o}px`,value:`${o}`}))}get modeOptionList(){return mr.map(([o,h])=>({text:h,value:`ace/mode/${o}`}))}get themeOptionList(){return gr.map(([o,h])=>({text:h,value:`ace/theme/${o}`}))}get wrapOptionList(){return vr.map(([o,h])=>({text:h,value:o.toString()}))}constructor(o,h,c,l){this.dynamicFormService=o,this.localStorage=h,this.cdr=c,this.window=l,this.element$=new Fe(null),this.formButtonsElement$=this.dynamicFormService.UI$.pipe(Qe(e=>Ci(e.elements,"container","buttons"))),this.value$=this.element$.pipe(ze(e=>!!e),et(e=>this.dynamicFormService.fieldValue$(e.name))),this.loading$=this.dynamicFormService.UI$.pipe(Qe(e=>e.loading),xi(50)),this.submitErrors$=this.dynamicFormService.UI$.pipe(Ut((e,n)=>e.loading===n.loading),ze(e=>!e.loading),et(()=>this.dynamicFormService.UI$.pipe(Ut((e,n)=>e.generalError===n.generalError),ze(e=>!!e.generalError)))),this.fontSizeList=fr,this.defaultFontSize=12,this.modeList=mr.map(([e,n])=>[`ace/mode/${e}`,n]),this.themeList=gr.map(([e,n])=>[`ace/theme/${e}`,n]),this.wrapList=vr,this.isFullScreen=!1,this.aceOptions={wrap:!1,fontSize:12,showLineNumbers:!0,theme:"ace/theme/ispmanager",showPrintMargin:!1,mode:""};let a=this.window.ace,t=Nr.production?pageInfo?.theme:"manimg/dragon";a.require=a.acequire,a.config.set("basePath",`${t}/assets/ace`),this.submitErrors$.subscribe(()=>{this.isFullScreen&&this.toggleFullscreen()})}closeFullscreenMode(){this.isFullScreen&&this.toggleFullscreen()}saveOnCtrlS(o){if(o.code==="KeyS"&&(o.ctrlKey||o.metaKey)){let h=this.dynamicFormService.saveBtn;if(!h)return;o.preventDefault(),this.dynamicFormService.handleButtonClick(h.getServerMeta())}}handleModelChange(o){this.dynamicFormService.update({name:this.element$.value.name,value:o})}getMessage(o){return this.dynamicFormService.getMessage(o)}updateAceOptions(o){this.aceOptions=Se(Se({},this.aceOptions),o),this.cdr.markForCheck(),this.localStorage.patch(Zn.CodeEditorSettings,o)}restoreSettings(){let o=this.localStorage.getParsed(Zn.CodeEditorSettings);o?.wrap&&(this.wrap=String(o.wrap)),o?.fontSize&&(this.fontSize=`${o.fontSize}`),o?.theme&&(this.theme=o.theme),o?.showLineNumbers!==void 0&&(this.canShowLineNumbers=o.showLineNumbers?"on":"off"),this.cdr.markForCheck()}ngOnInit(){this.restoreSettings(),this.mode=`ace/mode/${this.element$.value.code||"text"}`,this.aceOptions.readOnly=this.element$.value.readonly,setTimeout(()=>this.window.dispatchEvent(new Event("resize")),1e3)}resetEditor(){this.editor.setOptions(this.aceOptions),this.window.dispatchEvent(new Event("resize"))}toggleFullscreen(){this.isFullScreen=!this.isFullScreen,setTimeout(()=>this.resetEditor())}preventEnterClickBubbling(o){o.stopPropagation()}replaceWithFile(o){let h=o.target.files;if(h.length===0)return;let c=h.item(0),l=new FileReader;l.addEventListener("load",a=>{this.handleModelChange(a.target.result)}),l.readAsText(c)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(zr),ue(mt),ue(on))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-code-field"]],viewQuery:function(h,c){if(h&1&&it(Dn,7),h&2){let l;qe(l=Je())&&(c.editor=l.first)}},hostVars:2,hostBindings:function(h,c){h&1&&le("keyup.esc",function(){return c.closeFullscreenMode()})("keydown",function(a){return c.saveOnCtrlS(a)}),h&2&&Te("isp-form-view-code-field_full-screen",c.isFullScreen)},inputs:{element:"element"},decls:23,vars:52,consts:[[1,"code__settings-panel"],[1,"code__settings-controls"],[1,"code__setting"],[1,"code__select","code__select_fz",3,"ngModelChange","options","messages","popupClasses","cssVars","ngModel"],[1,"code__select","code__select_mode",3,"ngModelChange","options","searchFrom","messages","popupClasses","cssVars","ngModel"],[1,"code__select","code__select_theme",3,"ngModelChange","searchFrom","options","messages","popupClasses","cssVars","ngModel"],[3,"ngModelChange","label","ngModel"],[1,"code__select","code__select_wrap",3,"ngModelChange","options","messages","popupClasses","cssVars","ngModel"],[1,"code__expand"],["role","button",1,"code__expand-button",3,"click","ispTooltip","tabIndex"],[1,"code__expand-button-icon",3,"name"],[1,"code__editor-wrap",3,"resizeEnd","ispResizableBlock"],["class","loader","view","overlay",3,"loading",4,"ngIf"],[1,"code__editor",3,"ngModelChange","keyup.enter","options","ngModel"],["class","upload-file",4,"ngIf"],[4,"ngIf"],["view","overlay",1,"loader",3,"loading"],[1,"upload-file"],["type","file",1,"upload-file__input",3,"change"],["name","folder_upload_s",1,"upload-file__icon"],[1,"upload-file__label"],["class","form-buttons",3,"element",4,"ngIf"],[1,"form-buttons",3,"element"]],template:function(h,c){h&1&&(Z(0,"div",0)(1,"div",1)(2,"div",2)(3,"isp-select",3),di("ngModelChange",function(a){return hi(c.fontSize,a)||(c.fontSize=a),a}),X()(),Z(4,"div",2)(5,"isp-select",4),di("ngModelChange",function(a){return hi(c.mode,a)||(c.mode=a),a}),X()(),Z(6,"div",2)(7,"isp-select",5),di("ngModelChange",function(a){return hi(c.theme,a)||(c.theme=a),a}),X()(),Z(8,"div",2)(9,"isp-checkbox",6),di("ngModelChange",function(a){return hi(c.canShowLineNumbers,a)||(c.canShowLineNumbers=a),a}),X()(),Z(10,"div",2)(11,"isp-select",7),di("ngModelChange",function(a){return hi(c.wrap,a)||(c.wrap=a),a}),X()()()(),Z(12,"div",8)(13,"span",9),le("click",function(){return c.toggleFullscreen()}),oe(14,"isp-svg-icon",10),X()(),Z(15,"div",11),le("resizeEnd",function(){return c.resetEditor()}),J(16,mp,1,1,"isp-loader",12),be(17,"async"),Z(18,"ace-editor",13),be(19,"async"),le("ngModelChange",function(a){return c.handleModelChange(a)})("keyup.enter",function(a){return c.preventEnterClickBubbling(a)}),X()(),J(20,gp,5,1,"label",14),be(21,"async"),J(22,yp,3,3,"ng-container",15)),h&2&&(z(3),R("options",c.fontSizeOptions)("messages",bt(40,Ln,c.getMessage("msg_ide_font")))("popupClasses","isp-code-editor-select-popup "+(c.isFullScreen?"":"isp-code-editor-select-popup_fz"))("cssVars",Re(42,Bn)),ui("ngModel",c.fontSize),z(2),R("options",c.modeOptionList)("searchFrom",50)("messages",bt(43,Ln,c.getMessage("msg_ide_mode")))("popupClasses","isp-code-editor-select-popup "+(c.isFullScreen?"":"isp-code-editor-select-popup_mode"))("cssVars",Re(45,Bn)),ui("ngModel",c.mode),z(2),R("searchFrom",50)("options",c.themeOptionList)("messages",bt(46,Ln,c.getMessage("msg_ide_theme")))("popupClasses","isp-code-editor-select-popup "+(c.isFullScreen?"":"isp-code-editor-select-popup_theme"))("cssVars",Re(48,Bn)),ui("ngModel",c.theme),z(2),R("label",c.getMessage("msg_ide_gutter")),ui("ngModel",c.canShowLineNumbers),z(2),R("options",c.wrapOptionList)("messages",bt(49,Ln,c.getMessage("msg_ide_softwrap")))("popupClasses","isp-code-editor-select-popup "+(c.isFullScreen?"":"isp-code-editor-select-popup_wrap"))("cssVars",Re(51,Bn)),ui("ngModel",c.wrap),z(2),R("ispTooltip",c.fullscreenButtonTitle)("tabIndex",0),at("aria-label",c.fullscreenButtonTitle),z(),R("name",c.fullscreenButtonIcon),z(),R("ispResizableBlock",!c.isFullScreen),z(),R("ngIf",xe(17,34,c.loading$)===!0&&c.isFullScreen),z(2),R("options",c.aceOptions)("ngModel",xe(19,36,c.value$)),z(2),R("ngIf",!xe(21,38,c.element$).readonly),z(2),R("ngIf",c.isFullScreen))},dependencies:[_e,Bt,It,je,un,pn,dt,fa,Dn,Mt,$n,We],styles:["[_nghost-%COMP%]{position:relative;display:block}.isp-form-view-code-field_full-screen[_nghost-%COMP%]{position:fixed;inset:0;z-index:var(--isp-z-index-form-code-editor);width:100%;height:100vh;padding:20px;background:var(--isp-dc-monochrome);border:none;border-radius:0}.code__editor-wrap[_ngcontent-%COMP%]{position:relative;display:block;height:300px;overflow:hidden;border:1px solid var(--isp-dc-charlie-chaplin);border-radius:var(--isp-border-radius-main)}.isp-form-view-code-field_full-screen[_nghost-%COMP%] .code__editor-wrap[_ngcontent-%COMP%]{height:calc(100vh - 150px)}.code__editor[_ngcontent-%COMP%]{position:relative;z-index:0;width:100%;height:100%}.code__editor[_ngcontent-%COMP%] .editor-container{height:100%}.code__settings-controls[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center}.code__expand[_ngcontent-%COMP%]{position:absolute;top:0;right:0}.isp-form-view-code-field_full-screen[_nghost-%COMP%] .code__expand[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-c-jon-snow);position:fixed;top:20px;right:20px;z-index:calc(var(--isp-z-index-form-code-editor) + 1)}.code__settings-panel[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;width:100%;padding-right:20px}.code__setting[_ngcontent-%COMP%]{display:inline-flex;align-items:center;margin-right:15px;margin-bottom:10px}.isp-form-view-code-field_full-screen[_nghost-%COMP%] .code__setting[_ngcontent-%COMP%]{margin-right:20px;margin-bottom:20px}.code__setting-label[_ngcontent-%COMP%]{margin-right:10px}.code__setting_align_right[_ngcontent-%COMP%]{margin-left:auto}.code__expand-button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:30px;cursor:pointer;transition:.33s ease}.code__expand-button[_ngcontent-%COMP%]:hover{--isp-icons-main-color: var(--isp-c-jon-snow);background-color:var(--isp-dc-fremen)}.isp-form-view-code-field_full-screen[_nghost-%COMP%] .code__expand[_ngcontent-%COMP%] .code__expand-button[_ngcontent-%COMP%]{background-color:var(--isp-dc-fremen)}.code__expand-button-icon[_ngcontent-%COMP%]{transform:rotate(45deg)}.code__select_theme[_ngcontent-%COMP%]{--isp-field__min-width: 170px}.code__select_fz[_ngcontent-%COMP%]{--isp-field__min-width: 80px}.code__select_mode[_ngcontent-%COMP%], .code__select_wrap[_ngcontent-%COMP%]{--isp-field__min-width: 120px}.isp-form-view-code-field_full-screen[_nghost-%COMP%] .code__select[_ngcontent-%COMP%]{--isp-field__min-width: 120px}.upload-file[_ngcontent-%COMP%]{--isp-icons-main-color: var(--isp-dc-fremen);display:inline-flex;gap:10px;margin-top:10px;color:var(--isp-dc-fremen);cursor:pointer}.upload-file[_ngcontent-%COMP%]:hover, .upload-file[_ngcontent-%COMP%]:focus-within{--isp-icons-main-color: var(--isp-dc-lapis-lazuli);color:var(--isp-dc-lapis-lazuli)}.isp-form-view-code-field_full-screen[_nghost-%COMP%] .upload-file[_ngcontent-%COMP%]{display:none}.upload-file__input[_ngcontent-%COMP%]{position:absolute;z-index:-1;display:block;width:0;height:0;opacity:0}.loader[_ngcontent-%COMP%]{--isp-loader__size: 30px;position:absolute;top:0;left:0;width:100%;height:100%}.form-buttons[_ngcontent-%COMP%]{--isp-form-view-buttons-container__buttons-gap: 15px;display:block;margin-top:20px}"],changeDetection:0});let u=d;return u})();var ga=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({});let u=d;return u})();var va=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({});let u=d;return u})();var ya=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}handleButtonClick(o){this.dynamicFormService.toolbarButtonClick.emit(o)}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-toolbar-auxiliary"]],inputs:{element:"element"},decls:1,vars:2,consts:[[3,"buttonClick","toolbar","messages"]],template:function(h,c){h&1&&(Z(0,"isp-toolbar",0),le("buttonClick",function(a){return c.handleButtonClick(a)}),X()),h&2&&R("toolbar",c.element.toolbar)("messages",c.element.messages)},dependencies:[xo],encapsulation:2,changeDetection:0});let u=d;return u})();var wp=["shellContainer"];function _p(u,d){u&1&&oe(0,"div",3,1)}function Cp(u,d){if(u&1&&(oe(0,"iframe",4),be(1,"trust")),u&2){let x=U();Te("frame_forcetheme",x.element.forceTheme)("frame_fullpage",x.element.isFullpage),R("src",Ir(1,5,x.element.src,"resourceUrl"),Er)}}var wa=(()=>{let d=class d{get isFullpage(){return this.element.isFullpage}constructor(o,h,c){this.dynamicFormService=o,this.iframeKeeperService=h,this.host=c,this.formId=this.dynamicFormService.options$.value.id,this.formEl=document.getElementById(this.formId),this.formResizeHandlers=[],this.updatePersistentIframePosition=()=>{let l=this.shellContainer?.nativeElement?.getBoundingClientRect();if(!l||!this.persistentIframe)return;let{top:a,left:t,width:e,height:n}=l,i=this.persistentIframe;i.style.top=`${a}px`,i.style.left=`${t}px`,i.style.width=`${e}px`,i.style.height=`${n}px`}}ngOnInit(){if(this.element.height&&(this.host.nativeElement.style.height=this.element.height),this.element.fullheight&&this.formResizeHandlers.push(()=>this.updateFullHeight()),this.element.keepAlive){let o=`${this.dynamicFormService.options$.value.id}-${this.element.id}`;if(this.iframeKeeperService.getOrCreateIframe(this.element.src,o,{isFullPage:this.element.isFullpage,forceTheme:this.element.forceTheme}).then(h=>this.persistentIframe=h),this.element.isFullpage)return;this.formResizeHandlers.push(this.updatePersistentIframePosition),this.formEl.addEventListener("scroll",this.updatePersistentIframePosition),this.updatePersistentIframePosition()}if(this.formResizeHandlers.length){let o=()=>this.formResizeHandlers.forEach(h=>h());this.formResizeObserver=new ResizeObserver(o),this.formResizeObserver.observe(this.formEl)}}updateFullHeight(){let o=this.host.nativeElement.getBoundingClientRect(),h=document.documentElement.clientHeight-30-o.top;this.host.nativeElement.style.height=`${Math.max(400,h)}px`}ngOnDestroy(){this.formResizeObserver?.disconnect(),this.formEl.removeEventListener("scroll",this.updatePersistentIframePosition)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(uo),ue(yt))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-frame-auxiliary"]],viewQuery:function(h,c){if(h&1&&it(wp,5),h&2){let l;qe(l=Je())&&(c.shellContainer=l.first)}},hostVars:2,hostBindings:function(h,c){h&2&&Te("frame_fullpage",c.isFullpage)},inputs:{element:"element"},decls:3,vars:2,consts:[["iframe",""],["shellContainer",""],["class","frame",4,"ngIf","ngIfElse"],[1,"frame"],["frameborder","0",1,"frame",3,"src"]],template:function(h,c){if(h&1&&J(0,_p,2,0,"div",2)(1,Cp,2,8,"ng-template",null,0,ut),h&2){let l=Ve(2);R("ngIf",c.element.keepAlive)("ngIfElse",l)}},dependencies:[_e,Qr],styles:["[_nghost-%COMP%]{display:block;height:400px;border:1px solid var(--isp-dc-charlie-chaplin);border-radius:var(--isp-border-radius-main)}.frame_fullpage[_nghost-%COMP%]{z-index:var(--isp-z-index-fullpage-frame);background-color:var(--isp-dc-monochrome);border:none;border-radius:0;visibility:visible;position:fixed;top:calc(var(--isp-topbar-top-line-height, 45px) + var(--isp-narrow-banner-height, 0px));right:0;bottom:0;left:var(--isp-sidebar-width);width:calc(100% - var(--isp-sidebar-width));height:calc(100vh - var(--isp-topbar-top-line-height, 45px) - var(--isp-narrow-banner-height, 0px));transition:left .25s ease-out,width .25s ease-out}.frame_fullpage[_nghost-%COMP%] .frame[_ngcontent-%COMP%]{border-radius:0}.frame[_ngcontent-%COMP%]{width:100%;height:100%;border-radius:var(--isp-border-radius-main)}.frame_forcetheme[_ngcontent-%COMP%]{filter:var(--isp-d-filter-invert)}"],changeDetection:0});let u=d;return u})();var Ca=Nn(_a());var bp=["datepickerInput"],xp=()=>["bottom","top","right","left"];function Ap(u,d){if(u&1&&(Z(0,"isp-error"),Ce(1),X()),u&2){let x=U().ngIf;z(),Le(" ",x.error.text," ")}}function $p(u,d){if(u&1){let x=ve();Z(0,"mat-calendar",8),le("selectedChange",function(h){he(x);let c=U(2);return de(c.onSelectDate(h))}),X()}if(u&2){let x=U(2);R("minDate",x.minDate)("startAt",x.dateValue)("selected",x.dateValue)}}function Sp(u,d){if(u&1){let x=ve();Z(0,"isp-suffix")(1,"button",9),le("click",function(h){he(x);let c=U(2);return h.stopImmediatePropagation(),de(c.updateValue(""))}),X()()}}function kp(u,d){if(u&1){let x=ve();Z(0,"isp-suffix")(1,"button",10),le("click",function(h){he(x);let c=U(2);return h.stopImmediatePropagation(),de(c.toggleDatepicker())}),oe(2,"isp-svg-icon",11),X()()}}function Ep(u,d){if(u&1){let x=ve();Z(0,"isp-field",2)(1,"isp-label"),Ce(2),X(),J(3,Ap,2,1,"isp-error",3),Z(4,"input",4,0),le("change",function(h){he(x);let c=U();return de(c.handleStringInput(h.target.value))})("focus",function(){he(x);let h=U();return de(h.datepickerOpen$.next(!0))}),X(),Z(6,"isp-dropdown",5),be(7,"async"),le("update",function(h){he(x);let c=U();return de(c.onDropdownUpdate(h))}),Z(8,"div",6),le("click",function(h){return he(x),de(h.stopImmediatePropagation())}),J(9,$p,1,3,"mat-calendar",7),be(10,"async"),X()(),J(11,Sp,2,0,"isp-suffix",3)(12,kp,3,0,"isp-suffix",3),X()}if(u&2){let x=d.ngIf,o=Ve(5),h=U();R("invalid",x.error),z(2),He(x.label),z(),R("ngIf",x.error==null?null:x.error.text),z(),R("required",x.required)("value",h.stringValueUI)("disabled",x.disabled||x.readonly),at("data-df-field",x.name),z(2),R("open",xe(7,25,h.datepickerOpen$))("anchor",o)("anchorOffset",5)("hideOnDocumentClick",!0)("hideOnAnchorClick",!1)("hideOnPopupClick",!1)("hideOnScroll",!0)("ignoreChildren",!0)("scrollSelector",h.dropdownParams.scrollSelector)("viewportLimitSelectors",h.dropdownParams.viewportLimitSelectors)("popupClasses",h.dropdownParams.popupClasses)("viewportSelector",h.dropdownParams.viewportSelector)("cssVars",h.dropdownParams.cssVars)("directionOrder",Re(29,xp))("clip",!1),z(3),R("ngIf",xe(10,27,h.datepickerOpen$)||h.dateValue),z(2),R("ngIf",h.stringValueUI&&!x.disabled&&!x.readonly),z(),R("ngIf",!h.stringValueUI)}}var ba=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o,h){this.dynamicFormService=o,this.cdr=h,this.element$=new Fe(null),this.datepickerOpen$=new Fe(!1),this.minDate=new Date(0),this.element$.pipe(ze(c=>!!c),et(c=>this.dynamicFormService.fieldValue$(c.name))).subscribe(c=>{this.stringValueUI=Xo(c),this.dateValue=ir(c),this.cdr.markForCheck()})}ngAfterViewInit(){let o=this.datepickerInput.nativeElement;(0,Ca.default)({mask:"99.99.9999",showMaskOnHover:!1}).mask(o)}handleStringInput(o){this.updateValue(Zo(o))}updateValue(o){this.dynamicFormService.update({name:this.element$.value.name,value:o})}onSelectDate(o){this.updateValue(ir(o)),this.closeDatepicker()}closeDatepicker(){this.datepickerOpen$.next(!1)}toggleDatepicker(){this.datepickerOpen$.next(!this.datepickerOpen$.value)}onDropdownUpdate(o){o==="close-end"&&this.closeDatepicker()}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(mt))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-date-field"]],viewQuery:function(h,c){if(h&1&&it(bp,5),h&2){let l;qe(l=Je())&&(c.datepickerInput=l.first)}},inputs:{element:"element",dropdownParams:"dropdownParams"},decls:2,vars:3,consts:[["datepickerInput",""],[3,"invalid",4,"ngIf"],[3,"invalid"],[4,"ngIf"],["ispInput","",3,"change","focus","required","value","disabled"],["trigger","parameter",3,"update","open","anchor","anchorOffset","hideOnDocumentClick","hideOnAnchorClick","hideOnPopupClick","hideOnScroll","ignoreChildren","scrollSelector","viewportLimitSelectors","popupClasses","viewportSelector","cssVars","directionOrder","clip"],[3,"click"],[3,"minDate","startAt","selected","selectedChange",4,"ngIf"],[3,"selectedChange","minDate","startAt","selected"],["type","button",1,"button","isp-close",3,"click"],["type","button","tabindex","-1",1,"button",3,"click"],["name","m-scheduler"]],template:function(h,c){h&1&&(J(0,Ep,13,30,"isp-field",1),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,je,Fi,Xt,Jt,Di,Li,qt,po,We],styles:[".button[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:15px;height:15px;padding:0;background:none;border:none;cursor:pointer;transition:transform .1s ease-in-out}.button[_ngcontent-%COMP%]:active{transform:scale(.9)}"],changeDetection:0});let u=d;return u})();var Fp=["*"],xa=(()=>{let d=class d{constructor(o,h){this.dynamicFormService=o,this.destroyRef=h,this.dateValue$=new Fe(new Date),this.stringValue$=this.dateValue$.pipe(Qe(c=>hn(c,"dd.MM.yyyy, HH:mm:ss")))}ngAfterViewInit(){this.dynamicFormService.fieldValue$(this.element.name).pipe(Ut(),nt(this.destroyRef)).subscribe(o=>this.dateValue$.next(new Date(String(o).replace(/-/g,"/")))),Ji(1e3).pipe(nt(this.destroyRef)).subscribe(()=>{this.incrementTime()})}incrementTime(){let o=this.dateValue$.value;o.setSeconds(o.getSeconds()+1),this.dateValue$.next(o)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(At))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-time-auxiliary"]],inputs:{element:"element"},ngContentSelectors:Fp,decls:7,vars:4,consts:[["ispInput","","readonly","","type","text",3,"value"],[1,"hint-wrapper"]],template:function(h,c){h&1&&(lt(),Z(0,"isp-field")(1,"isp-label"),Ce(2),X(),oe(3,"input",0),be(4,"async"),X(),Z(5,"div",1),ct(6),X()),h&2&&(z(2),He(c.element.label),z(),R("value",xe(4,2,c.stringValue$)))},dependencies:[Xt,Jt,qt,We],styles:["[_nghost-%COMP%]{display:flex;align-items:center}.hint-wrapper[_ngcontent-%COMP%]{margin-left:10px}"],changeDetection:0});let u=d;return u})();function Mp(u,d){if(u&1&&(Z(0,"isp-error"),Ce(1),X()),u&2){let x=U().ngIf;z(),Le(" ",x.error.text," ")}}function Tp(u,d){if(u&1){let x=ve();Z(0,"isp-field",1)(1,"isp-label"),Ce(2),X(),J(3,Mp,2,1,"isp-error",2),Z(4,"textarea",3),be(5,"async"),le("change",function(h){he(x);let c=U();return de(c.handleModelChange(h.target.value))})("blur",function(h){he(x);let c=U();return de(c.handleBlur(h))}),X()()}if(u&2){let x=d.ngIf,o=U();R("invalid",x.error),z(2),He(x.label),z(),R("ngIf",x.error==null?null:x.error.text),z(),R("name",x.name)("rows",x.rows)("placeholder",x.placeholder)("required",x.required)("disabled",x.disabled||x.readonly)("value",xe(5,10,o.value$)),at("data-df-field",x.name)}}var Aa=(()=>{let d=class d{set element(o){this.element$.next(o)}constructor(o,h){this.dynamicFormService=o,this.clickToBlurDetectionService=h,this.element$=new Fe(null),this.value$=this.element$.pipe(ze(c=>!!c),et(c=>this.dynamicFormService.fieldValue$(c.name)))}handleModelChange(o){this.valueOnChange=o,this.clickToBlurDetectionService.handleModelChange(this.element$.value.name,o)}handleBlur(o){this.valueOnChange===o.target.value||this.element$.value.disabled?this.valueOnChange=null:this.clickToBlurDetectionService.handleBlur(this.element$.value.name,o)}};d.\u0275fac=function(h){return new(h||d)(ue(Me),ue(yi))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-textarea-field"]],inputs:{element:"element"},decls:2,vars:3,consts:[[3,"invalid",4,"ngIf"],[3,"invalid"],[4,"ngIf"],["ispInput","",3,"change","blur","name","rows","placeholder","required","disabled","value"]],template:function(h,c){h&1&&(J(0,Tp,6,12,"isp-field",0),be(1,"async")),h&2&&R("ngIf",xe(1,1,c.element$))},dependencies:[_e,Xt,Jt,Li,qt,We],changeDetection:0});let u=d;return u})();var Dp=["hintTooltip"],Lp=["*"],Bp=()=>["right","bottom","top"],Ip=()=>({width:"15px",height:"15px"});function Op(u,d){if(u&1&&(Z(0,"div",4)(1,"div"),Ce(2),X(),ct(3),X()),u&2){let x=U();gt("form-view-text-with-link-container__title_labelsize-"+x.element.labelsize),z(2),He(x.element.title)}}function Rp(u,d){if(u&1){let x=ve();Z(0,"isp-banner",5),le("infoClick",function(){he(x);let h=U();return de(h.handleBannerLink())}),oe(1,"div",6),X()}if(u&2){let x=U();R("status",x.element.text.banner)("info",x.element.link.text),z(),R("innerHTML",x.element.text.HTML,Et)}}function Pp(u,d){if(u&1&&(Z(0,"div",9,1),oe(2,"isp-svg-icon",10),X()),u&2){let x=U(2);R("ispTooltip",x.element.text.hint)("ispTooltipDirectionOrder",Re(8,Bp))("ispTooltipViewportSelector",x.tooltipDropdownParams.viewportSelector)("ispTooltipScrollSelector",x.tooltipDropdownParams.scrollSelector)("ispTooltipLimitHeight",!1)("ispTooltipViewportLimitSelectors",x.tooltipDropdownParams.viewportLimitSelectors)("ispTooltipCssVars",x.tooltipDropdownParams.cssVars),z(2),R("customStyle",Re(9,Ip))}}function Np(u,d){if(u&1&&(Z(0,"div")(1,"isp-form-view-text-auxiliary",7),J(2,Pp,3,10,"div",8),X(),oe(3,"isp-form-view-link-auxiliary",7),X()),u&2){let x=U();Te("form-view-text-with-link-container__content_copyable",x.element.text.copy),z(),R("element",x.element.text),z(),R("ngIf",x.element.text.hint),z(),R("element",x.element.link)}}var $a=(()=>{let d=class d{constructor(o){this.dynamicFormService=o}handleBannerLink(){if(this.element.link.isInternal){this.dynamicFormService.linkClick.emit({func:this.element.link.href,isNewTab:this.element.link.isNewTab,drawer:this.element.link.drawer});return}return!0}ngOnChanges(){this.hintTooltip?.updateDropdownPosition()}};d.\u0275fac=function(h){return new(h||d)(ue(Me))},d.\u0275cmp=fe({type:d,selectors:[["isp-form-view-text-with-link-container"]],viewQuery:function(h,c){if(h&1&&it(Dp,5),h&2){let l;qe(l=Je())&&(c.hintTooltip=l.first)}},inputs:{tooltipDropdownParams:"tooltipDropdownParams",element:"element"},features:[en],ngContentSelectors:Lp,decls:4,vars:3,consts:[["copyableText",""],["hintTooltip","ispTooltip"],["class","form-view-text-with-link-container__title",3,"class",4,"ngIf"],["class","form-view-text-with-link-container__banner",3,"status","info","infoClick",4,"ngIf","ngIfElse"],[1,"form-view-text-with-link-container__title"],[1,"form-view-text-with-link-container__banner",3,"infoClick","status","info"],[3,"innerHTML"],[3,"element"],["class","hint","ispTooltipPosition","bottom-middle",3,"ispTooltip","ispTooltipDirectionOrder","ispTooltipViewportSelector","ispTooltipScrollSelector","ispTooltipLimitHeight","ispTooltipViewportLimitSelectors","ispTooltipCssVars",4,"ngIf"],["ispTooltipPosition","bottom-middle",1,"hint",3,"ispTooltip","ispTooltipDirectionOrder","ispTooltipViewportSelector","ispTooltipScrollSelector","ispTooltipLimitHeight","ispTooltipViewportLimitSelectors","ispTooltipCssVars"],["name","banner2-icon",3,"customStyle"]],template:function(h,c){if(h&1&&(lt(),J(0,Op,4,3,"div",2)(1,Rp,2,3,"isp-banner",3)(2,Np,4,5,"ng-template",null,0,ut)),h&2){let l=Ve(3);R("ngIf",c.element.title),z(),R("ngIf",c.element.text.banner)("ngIfElse",l)}},dependencies:[_e,je,gi,dt,En,Fn],styles:[".form-view-text-with-link-container__content_copyable[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px}.form-view-text-with-link-container__title[_ngcontent-%COMP%]{margin-bottom:5px}.form-view-text-with-link-container__title_labelsize-small[_ngcontent-%COMP%]{font-size:12px;color:var(--isp-c-grey-weekdays)}.form-view-text-with-link-container__banner[_ngcontent-%COMP%]{max-width:var(--isp-dynamic-form-banner-max-width, 600px)}"],changeDetection:0});let u=d;return u})();var Sa=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[ti,vt,fi]});let u=d;return u})();var ka=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({providers:[mn],imports:[vt,Zt,fi,rn,io,Xr,Ms,Ls,Rs,lo,ti,go,js,Zs,ua,an,ln,ga,va,Ao,Zr,ho,fo,Sa,vi]});let u=d;return u})();Lr(pt,[_e,nn,pi,Ei,je,dt,$s,Cs,gs,_s,vs,ws,bs,$n,Ss,ks,Bs,Fs,Ts,Os,En,Ps,Fn,zs,Ws,Xs,qs,Js,ea,ta,ia,na,ca,ha,ma,ya,wa,ba,xa,Aa,$a],[]);var lx=(()=>{let d=class d{};d.\u0275fac=function(h){return new(h||d)},d.\u0275mod=st({type:d}),d.\u0275inj=ot({imports:[vt,ka]});let u=d;return u})();export{ds as a,wv as b,mo as c,go as d,Tn as e,Gi as f,dr as g,Yi as h,sa as i,t_ as j,aa as k,mn as l,xo as m,Ao as n,lx as o};