203 lines
401 KiB
JavaScript
203 lines
401 KiB
JavaScript
var YM=Object.create;var pm=Object.defineProperty;var QM=Object.getOwnPropertyDescriptor;var XM=Object.getOwnPropertyNames;var eI=Object.getPrototypeOf,tI=Object.prototype.hasOwnProperty;var T=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var rI=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of XM(t))!tI.call(e,n)&&n!==r&&pm(e,n,{get:()=>t[n],enumerable:!(o=QM(t,n))||o.enumerable});return e};var y=(e,t,r)=>(r=e!=null?YM(eI(e)):{},rI(t||!e||!e.__esModule?pm(r,"default",{value:e,enumerable:!0}):r,e));var Pa=T((nD,bs)=>{var oI=function(){var e=String.fromCharCode,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$",o={};function n(i,a){if(!o[i]){o[i]={};for(var l=0;l<i.length;l++)o[i][i.charAt(l)]=l}return o[i][a]}var s={compressToBase64:function(i){if(i==null)return"";var a=s._compress(i,6,function(l){return t.charAt(l)});switch(a.length%4){default:case 0:return a;case 1:return a+"===";case 2:return a+"==";case 3:return a+"="}},decompressFromBase64:function(i){return i==null?"":i==""?null:s._decompress(i.length,32,function(a){return n(t,i.charAt(a))})},compressToUTF16:function(i){return i==null?"":s._compress(i,15,function(a){return e(a+32)})+" "},decompressFromUTF16:function(i){return i==null?"":i==""?null:s._decompress(i.length,16384,function(a){return i.charCodeAt(a)-32})},compressToUint8Array:function(i){for(var a=s.compress(i),l=new Uint8Array(a.length*2),d=0,c=a.length;d<c;d++){var m=a.charCodeAt(d);l[d*2]=m>>>8,l[d*2+1]=m%256}return l},decompressFromUint8Array:function(i){if(i==null)return s.decompress(i);for(var a=new Array(i.length/2),l=0,d=a.length;l<d;l++)a[l]=i[l*2]*256+i[l*2+1];var c=[];return a.forEach(function(m){c.push(e(m))}),s.decompress(c.join(""))},compressToEncodedURIComponent:function(i){return i==null?"":s._compress(i,6,function(a){return r.charAt(a)})},decompressFromEncodedURIComponent:function(i){return i==null?"":i==""?null:(i=i.replace(/ /g,"+"),s._decompress(i.length,32,function(a){return n(r,i.charAt(a))}))},compress:function(i){return s._compress(i,16,function(a){return e(a)})},_compress:function(i,a,l){if(i==null)return"";var d,c,m={},h={},v="",p="",f="",g=2,w=3,S=2,u=[],b=0,E=0,k;for(k=0;k<i.length;k+=1)if(v=i.charAt(k),Object.prototype.hasOwnProperty.call(m,v)||(m[v]=w++,h[v]=!0),p=f+v,Object.prototype.hasOwnProperty.call(m,p))f=p;else{if(Object.prototype.hasOwnProperty.call(h,f)){if(f.charCodeAt(0)<256){for(d=0;d<S;d++)b=b<<1,E==a-1?(E=0,u.push(l(b)),b=0):E++;for(c=f.charCodeAt(0),d=0;d<8;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1}else{for(c=1,d=0;d<S;d++)b=b<<1|c,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=0;for(c=f.charCodeAt(0),d=0;d<16;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1}g--,g==0&&(g=Math.pow(2,S),S++),delete h[f]}else for(c=m[f],d=0;d<S;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1;g--,g==0&&(g=Math.pow(2,S),S++),m[p]=w++,f=String(v)}if(f!==""){if(Object.prototype.hasOwnProperty.call(h,f)){if(f.charCodeAt(0)<256){for(d=0;d<S;d++)b=b<<1,E==a-1?(E=0,u.push(l(b)),b=0):E++;for(c=f.charCodeAt(0),d=0;d<8;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1}else{for(c=1,d=0;d<S;d++)b=b<<1|c,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=0;for(c=f.charCodeAt(0),d=0;d<16;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1}g--,g==0&&(g=Math.pow(2,S),S++),delete h[f]}else for(c=m[f],d=0;d<S;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1;g--,g==0&&(g=Math.pow(2,S),S++)}for(c=2,d=0;d<S;d++)b=b<<1|c&1,E==a-1?(E=0,u.push(l(b)),b=0):E++,c=c>>1;for(;;)if(b=b<<1,E==a-1){u.push(l(b));break}else E++;return u.join("")},decompress:function(i){return i==null?"":i==""?null:s._decompress(i.length,32768,function(a){return i.charCodeAt(a)})},_decompress:function(i,a,l){var d=[],c,m=4,h=4,v=3,p="",f=[],g,w,S,u,b,E,k,L={val:l(0),position:a,index:1};for(g=0;g<3;g+=1)d[g]=g;for(S=0,b=Math.pow(2,2),E=1;E!=b;)u=L.val&L.position,L.position>>=1,L.position==0&&(L.position=a,L.val=l(L.index++)),S|=(u>0?1:0)*E,E<<=1;switch(c=S){case 0:for(S=0,b=Math.pow(2,8),E=1;E!=b;)u=L.val&L.position,L.position>>=1,L.position==0&&(L.position=a,L.val=l(L.index++)),S|=(u>0?1:0)*E,E<<=1;k=e(S);break;case 1:for(S=0,b=Math.pow(2,16),E=1;E!=b;)u=L.val&L.position,L.position>>=1,L.position==0&&(L.position=a,L.val=l(L.index++)),S|=(u>0?1:0)*E,E<<=1;k=e(S);break;case 2:return""}for(d[3]=k,w=k,f.push(k);;){if(L.index>i)return"";for(S=0,b=Math.pow(2,v),E=1;E!=b;)u=L.val&L.position,L.position>>=1,L.position==0&&(L.position=a,L.val=l(L.index++)),S|=(u>0?1:0)*E,E<<=1;switch(k=S){case 0:for(S=0,b=Math.pow(2,8),E=1;E!=b;)u=L.val&L.position,L.position>>=1,L.position==0&&(L.position=a,L.val=l(L.index++)),S|=(u>0?1:0)*E,E<<=1;d[h++]=e(S),k=h-1,m--;break;case 1:for(S=0,b=Math.pow(2,16),E=1;E!=b;)u=L.val&L.position,L.position>>=1,L.position==0&&(L.position=a,L.val=l(L.index++)),S|=(u>0?1:0)*E,E<<=1;d[h++]=e(S),k=h-1,m--;break;case 2:return f.join("")}if(m==0&&(m=Math.pow(2,v),v++),d[k])p=d[k];else if(k===h)p=w+w.charAt(0);else return null;f.push(p),d[h++]=w+p.charAt(0),m--,w=p,m==0&&(m=Math.pow(2,v),v++)}}};return s}();typeof bs<"u"&&bs!=null&&(bs.exports=oI)});var xo=T((Ql,Eb)=>{var Gj=Object.prototype.hasOwnProperty;Ql=function(e,t){return Gj.call(e,t)};Eb.exports=Ql});var Ae=T((ui,Lb)=>{var Jj=xo();Object.keys?ui=Object.keys:ui=function(e){var t=[];for(var r in e)Jj(e,r)&&t.push(r);return t};Lb.exports=ui});var Eo=T((mi,kb)=>{var Kj=Ae();mi=function(e){return Zj.test(e)?e.replace(Yj,Qj):e};var Tb=mi.map={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Cb="(?:"+Kj(Tb).join("|")+")",Zj=new RegExp(Cb),Yj=new RegExp(Cb,"g"),Qj=function(e){return Tb[e]};kb.exports=mi});var Ye=T((Xl,Mb)=>{Xl=function(e){return e==null?"":e.toString()};Mb.exports=Xl});var jb=T((ec,Ib)=>{ec=function(e,t,r){return Array.prototype.indexOf.call(e,t,r)};Ib.exports=ec});var Et=T((tc,Ub)=>{var Xj=Object.prototype.toString;tc=function(e){return Xj.call(e)};Ub.exports=tc});var ie=T((rc,Ab)=>{var e1=Et();rc=function(e){return e1(e)==="[object String]"};Ab.exports=rc});var rt=T((oc,Pb)=>{var t1=Et();oc=function(e){return t1(e)==="[object Number]"};Pb.exports=oc});var Be=T((nc,Hb)=>{var r1=Et();nc=function(e){var t=r1(e);return t==="[object Function]"||t==="[object GeneratorFunction]"||t==="[object AsyncFunction]"};Hb.exports=nc});var Zt=T((sc,qb)=>{var o1=rt(),n1=Be(),s1=Math.pow(2,53)-1;sc=function(e){if(!e)return!1;var t=e.length;return o1(t)&&t>=0&&t<=s1&&!n1(e)};qb.exports=sc});var Me=T((ic,Nb)=>{ic=function(e){return e===void 0};Nb.exports=ic});var lc=T((ac,Ob)=>{var i1=Me();ac=function(e,t,r){if(i1(t))return e;switch(r??3){case 1:return function(o){return e.call(t,o)};case 3:return function(o,n,s){return e.call(t,o,n,s)};case 4:return function(o,n,s,i){return e.call(t,o,n,s,i)}}return function(){return e.apply(t,arguments)}};Ob.exports=ac});var Q=T((cc,Db)=>{var a1=Zt(),l1=Ae(),c1=lc();cc=function(e,t,r){t=c1(t,r);var o,n;if(a1(e))for(o=0,n=e.length;o<n;o++)t(e[o],o,e);else{var s=l1(e);for(o=0,n=s.length;o<n;o++)t(e[s[o]],s[o],e)}return e};Db.exports=cc});var _b=T((dc,Rb)=>{var d1=Q();dc=function(e){var t=[];return d1(e,function(r){t.push(r)}),t};Rb.exports=dc});var Pe=T((pc,Bb)=>{var p1=jb(),u1=ie(),m1=Zt(),f1=_b();pc=function(e,t){return u1(e)?e.indexOf(t)>-1:(m1(e)||(e=f1(e)),p1(e,t)>=0)};Bb.exports=pc});var Lt=T((uc,$b)=>{uc=function(e,t){return e.indexOf(t)===0};$b.exports=uc});var fc=T((mc,Fb)=>{var g1=Ye();mc=function(e){return g1(e).replace(h1,function(t){switch(t){case'"':case"'":case"\\":return"\\"+t;case`
|
|
`:return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029"}})};var h1=/["'\\\n\r\u2028\u2029]/g;Fb.exports=mc});var hc=T((gc,zb)=>{gc=function(e,t){var r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r};zb.exports=gc});var ot=T((fi,Wb)=>{var y1=Et();Array.isArray?fi=Array.isArray:fi=function(e){return y1(e)==="[object Array]"};Wb.exports=fi});var Gb=T((yc,Vb)=>{var v1=Et();yc=function(e){return v1(e)==="[object Arguments]"};Vb.exports=yc});var gi=T((vc,Jb)=>{var w1=Zt(),b1=ot(),S1=ie(),x1=Gb(),E1=Ae();vc=function(e){return e==null?!0:w1(e)&&(b1(e)||S1(e)||x1(e))?e.length===0:E1(e).length===0};Jb.exports=vc});var hi=T((wc,Zb)=>{var L1=Me(),Kb=Q();wc=function(e,t){return function(r){return Kb(arguments,function(o,n){if(n!==0){var s=e(o);Kb(s,function(i){(!t||L1(r[i]))&&(r[i]=o[i])})}}),r}};Zb.exports=wc});var $e=T((bc,Yb)=>{bc=function(e){var t=typeof e;return!!e&&(t==="function"||t==="object")};Yb.exports=bc});var yi=T((Sc,eS)=>{var T1=$e(),C1=Be(),Qb=Object.getPrototypeOf,Xb={}.constructor;Sc=function(e){if(T1(e)){if(Qb)return Qb(e);var t=e.__proto__;if(t||t===null)return t;if(C1(e.constructor))return e.constructor.prototype;if(e instanceof Xb)return Xb.prototype}};eS.exports=Sc});var rS=T((xc,tS)=>{var k1=Ae(),M1=hi();xc=M1(k1);tS.exports=xc});var nS=T((Ec,oS)=>{var I1=Ae();Ec=function(e,t){var r=I1(t),o=r.length;if(e==null)return!o;e=Object(e);for(var n=0;n<o;n++){var s=r[n];if(t[s]!==e[s]||!(s in e))return!1}return!0};oS.exports=Ec});var iS=T((Lc,sS)=>{var j1=rS(),U1=nS();Lc=function(e){return e=j1({},e),function(t){return U1(t,e)}};sS.exports=Lc});var lS=T((Tc,aS)=>{Tc=function(e){return e};aS.exports=Tc});var vi=T((Cc,cS)=>{var A1=xo(),P1=ot();Cc=function(e,t){if(P1(e))return e;if(t&&A1(t,e))return[e];var r=[];return e.replace(H1,function(o,n,s,i){r.push(s?i.replace(q1,"$1"):n||o)}),r};var H1=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,q1=/\\(\\)?/g;cS.exports=Cc});var Mc=T((kc,dS)=>{var N1=Me(),O1=vi();kc=function(e,t){t=O1(t,e);var r;for(r=t.shift();!N1(r);){if(e=e[r],e==null)return;r=t.shift()}return e};dS.exports=kc});var uS=T((Ic,pS)=>{var D1=ot(),R1=Mc();Ic=function(e){return D1(e)?function(t){return R1(t,e)}:_1(e)};function _1(e){return function(t){return t?.[e]}}pS.exports=Ic});var Nr=T((jc,mS)=>{var B1=Be(),$1=$e(),F1=ot(),z1=lc(),W1=iS(),V1=lS(),G1=uS();jc=function(e,t,r){return e==null?V1:B1(e)?z1(e,t,r):$1(e)&&!F1(e)?W1(e):G1(e)};mS.exports=jc});var Lo=T((Uc,fS)=>{var J1=Nr(),K1=Q();Uc=function(e,t,r){var o=[];return t=J1(t,r),K1(e,function(n,s,i){t(n,s,i)&&o.push(n)}),o};fS.exports=Uc});var bn=T((Ac,gS)=>{var Z1=Lo();Ac=function(e,t){return t=t||Y1,Z1(e,function(r,o,n){for(var s=n.length;++o<s;)if(t(r,n[o]))return!1;return!0})};function Y1(e,t){return e===t}gS.exports=Ac});var Sn=T((Hc,vS)=>{var hS=Ae(),Q1=yi(),X1=bn(),Pc=Object.getOwnPropertyNames,yS=Object.getOwnPropertySymbols;Hc=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.prototype,o=r===void 0?!0:r,n=t.unenumerable,s=n===void 0?!1:n,i=t.symbol,a=i===void 0?!1:i,l=[];if((s||a)&&Pc){var d=hS;s&&Pc&&(d=Pc);do l=l.concat(d(e)),a&&yS&&(l=l.concat(yS(e)));while(o&&(e=Q1(e))&&e!==Object.prototype);l=X1(l)}else if(o)for(var c in e)l.push(c);else l=hS(e);return l};vS.exports=Hc});var Yt=T((qc,wS)=>{var eU=hi(),tU=Sn();qc=eU(tU,!0);wS.exports=qc});var To=T((Nc,bS)=>{var rU=Yt(),oU=Me();Nc=function(e,t){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};rU(r,nU);var o=r.ellipsis,n=r.separator,s=e.length;if(t>s)return e;var i=t-o.length;if(i<1)return o;var a=e.slice(0,i);if(oU(n))return a+o;if(e.indexOf(n,i)!==i){var l=a.lastIndexOf(n);l>-1&&(a=a.slice(0,l))}return a+o};var nU={ellipsis:"..."};bS.exports=Nc});var Co=T((Oc,SS)=>{Oc=function(e){return e.length<1?e:e[0].toUpperCase()+e.slice(1)};SS.exports=Oc});var dt=T((Dc,ES)=>{var sU=Nr(),iU=Ae(),aU=Zt();Dc=function(e,t,r){t=sU(t,r);for(var o=!aU(e)&&iU(e),n=(o||e).length,s=Array(n),i=0;i<n;i++){var a=o?o[i]:i;s[i]=t(e[a],a,e)}return s};ES.exports=Dc});var TS=T((Rc,LS)=>{var lU=/^\s+/;Rc=function(e,t){if(t==null)return e.trimLeft?e.trimLeft():e.replace(lU,"");for(var r=0,o=e.length,n=t.length,s=!0,i,a;s&&r<o;)for(s=!1,i=-1,a=e.charAt(r);++i<n;)if(a===t[i]){s=!0,r++;break}return r>=o?"":e.substr(r,o)};LS.exports=Rc});var kS=T((_c,CS)=>{_c=function(e,t){if(t==null){if(e.trimRight)return e.trimRight();t=` \r
|
|
\f\v`}for(var r=e.length-1,o=t.length,n=!0,s,i;n&&r>=0;)for(n=!1,s=-1,i=e.charAt(r);++s<o;)if(i===t[s]){n=!0,r--;break}return r>=0?e.substring(0,r+1):""};CS.exports=_c});var nt=T((Bc,MS)=>{var cU=TS(),dU=kS();Bc=function(e,t){return t==null&&e.trim?e.trim():cU(dU(e,t),t)};MS.exports=Bc});var wi=T(($c,IS)=>{$c=typeof window=="object"&&typeof document=="object"&&document.nodeType===9;IS.exports=$c});var _t=T((Fc,jS)=>{var pU=wi();Fc=pU?window:global;jS.exports=Fc});var En=T((zc,US)=>{zc=function(e){var t=e?e.length:0;if(t)return e[t-1]};US.exports=zc});var PS=T((Wc,AS)=>{var uU=Q(),mU=Me(),fU=Be();Wc=function(e,t){mU(t)&&(t=!0);var r=fU(t),o={};return uU(e,function(n){o[n]=r?t(n):t}),o};AS.exports=Wc});var Qt=T((Vc,HS)=>{var gU=Ye();Vc=function(e){return gU(e).toLocaleLowerCase()};HS.exports=Vc});var RS=T((Gc,DS)=>{var bi=En(),hU=PS(),Si=Lt(),qS=Qt();Gc=function(e,t){for(var r=[],o,n=e;e;){if(o=!0,!bi(r)||!wU[bi(r)]){if(Si(e,"<!--")){var s=e.indexOf("-->");s>=0&&(t.comment&&t.comment(e.substring(4,s)),e=e.substring(s+3),o=!1)}else if(Si(e,"<!")){var i=e.match(yU);i&&(t.text&&t.text(e.substring(0,i[0].length)),e=e.substring(i[0].length),o=!1)}else if(Si(e,"</")){var a=e.match(NS);a&&(e=e.substring(a[0].length),a[0].replace(NS,p),o=!1)}else if(Si(e,"<")){var l=e.match(OS);l&&(e=e.substring(l[0].length),l[0].replace(OS,v),o=!1)}if(o){var d=e.indexOf("<"),c=d<0?e:e.substring(0,d);e=d<0?"":e.substring(d),t.text&&t.text(c)}}else{var m=new RegExp("</".concat(bi(r),"[^>]*>")).exec(e);if(m){var h=e.substring(0,m.index);e=e.substring(m.index+m[0].length),h&&t.text&&t.text(h)}p("",bi(r))}if(n===e)throw Error("Parse Error: "+e);n=e}p();function v(f,g,w,S){if(g=qS(g),S=!!S,S||r.push(g),t.start){var u={};w.replace(vU,function(b,E,k,L,P){u[E]=k||L||P||""}),t.start(g,u,S)}}function p(f,g){g=qS(g);var w;if(!g)w=0;else for(w=r.length-1;w>=0&&r[w]!==g;w--);if(w>=0){for(var S=r.length-1;S>=w;S--)t.end&&t.end(r[S]);r.length=w}}};var yU=/^<!\s*doctype((?:\s+[\w:]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/i,NS=/^<\/([-A-Za-z0-9_]+)[^>]*>/,OS=/^<([-A-Za-z0-9_]+)((?:\s+[-A-Za-z0-9_:@.]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)>/i,vU=/([-A-Za-z0-9_:@.]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,wU=hU("script,style".split(","));DS.exports=Gc});var pt=T((Jc,_S)=>{var bU=hi(),SU=Sn();Jc=bU(SU);_S.exports=Jc});var st=T((Kc,BS)=>{var xU=Zt(),EU=dt(),LU=ot(),TU=ie();Kc=function(e){return e?LU(e)?e:xU(e)&&!TU(e)?EU(e):[e]:[]};BS.exports=Kc});var Yc=T((Zc,FS)=>{var CU=$e();Zc=function(e){if(!CU(e))return{};if($S)return $S(e);function t(){}return t.prototype=e,new t};var $S=Object.create;FS.exports=Zc});var WS=T((Qc,zS)=>{var kU=Yc();Qc=function(e,t){e.prototype=kU(t.prototype)};zS.exports=Qc});var ed=T((Xc,VS)=>{var MU=Be();Xc=typeof wx<"u"&&MU(wx.openLocation);VS.exports=Xc});var Xt=T((xi,YS)=>{var GS=pt(),JS=st(),KS=WS(),IU=Mc(),jU=ed();xi=function(e,t){return UU.extend(e,t)};function ZS(e,t,r){r=r||{};var o=t.className||IU(t,"initialize.name")||"";delete t.className;var n=function(){var s=JS(arguments);return this.initialize?this.initialize.apply(this,s)||this:this};if(!jU)try{n=new Function("toArr","return function "+o+"(){var args = toArr(arguments);return this.initialize ? this.initialize.apply(this, args) || this : this;};")(JS)}catch{}return KS(n,e),n.prototype.constructor=n,n.extend=function(s,i){return ZS(n,s,i)},n.inherits=function(s){KS(n,s)},n.methods=function(s){return GS(n.prototype,s),n},n.statics=function(s){return GS(n,s),n},n.methods(t).statics(r),n}var UU=xi.Base=ZS(Object,{className:"Base",callSuper:function(e,t,r){var o=e.prototype[t];return o.apply(this,r)},toString:function(){return this.constructor.name}});YS.exports=xi});var XS=T((td,QS)=>{td=function(e){var t=e.length,r=Array(t);t--;for(var o=0;o<=t;o++)r[t-o]=e[o];return r};QS.exports=td});var od=T((rd,ex)=>{var AU=Xt(),PU=XS();rd=AU({initialize:function(){this.clear()},clear:function(){this._items=[],this.size=0},push:function(e){return this._items.push(e),++this.size},pop:function(){if(this.size)return this.size--,this._items.pop()},peek:function(){return this._items[this.size-1]},forEach:function(e,t){t=arguments.length>1?t:this;for(var r=this._items,o=this.size-1,n=0;o>=0;o--,n++)e.call(t,r[o],n,this)},toArr:function(){return PU(this._items)}});ex.exports=rd});var rx=T((nd,tx)=>{var HU=Nr(),qU=Ae();nd=function(e,t,r){t=HU(t,r);for(var o=qU(e),n=o.length,s={},i=0;i<n;i++){var a=o[i];s[a]=t(e[a],a,e)}return s};tx.exports=nd});var Ln=T((id,sx)=>{var NU=RS(),OU=od(),nx=ot(),ox=Q(),DU=ie(),RU=rx();function _U(e){var t=[],r=new OU;return NU(e,{start:function(o,n){n=RU(n,function(s){return BU(s)}),r.push({tag:o,attrs:n})},end:function(){var o=r.pop();if(!r.size){t.push(o);return}var n=r.peek();nx(n.content)||(n.content=[]),n.content.push(o)},comment:function(o){var n="<!--".concat(o,"-->"),s=r.peek();if(!s){t.push(n);return}s.content||(s.content=[]),s.content.push(n)},text:function(o){var n=r.peek();if(!n){t.push(o);return}n.content||(n.content=[]),n.content.push(o)}}),t}function sd(e){var t="";return nx(e)?ox(e,function(r){return t+=sd(r)}):DU(e)?t=e:(t+="<".concat(e.tag),ox(e.attrs,function(r,o){return t+=" ".concat(o,'="').concat($U(r),'"')}),t+=">",e.content&&(t+=sd(e.content)),t+="</".concat(e.tag,">")),t}var BU=function(e){return e.replace(/"/g,'"')},$U=function(e){return e.replace(/"/g,""")};id={parse:_U,stringify:sd};sx.exports=id});var er=T((ad,ax)=>{var FU=rt(),ix=$e(),zU=Be(),WU=ie();ad=function(e){if(FU(e))return e;if(ix(e)){var t=zU(e.valueOf)?e.valueOf():e;e=ix(t)?t+"":t}return WU(e)?+e:e===0?e:+e};ax.exports=ad});var cx=T((ld,lx)=>{var VU=Et();ld=typeof process<"u"&&VU(process)==="[object process]";lx.exports=ld});var Tn=T((cd,dx)=>{var GU=wi(),JU=cx();cd=function(e){!e&&GU&&(e=navigator.userAgent);function t(s){return e.indexOf(s)>-1}if(e){if(e=e.toLowerCase(),t("windows phone"))return"windows phone";if(t("win"))return"windows";if(t("android"))return"android";if(t("ipad")||t("iphone")||t("ipod"))return"ios";if(t("mac"))return"os x";if(t("linux"))return"linux"}else if(JU){var r=process,o=r.platform,n=r.env;if(o==="win32"||n.OSTYPE==="cygwin"||n.OSTYPE==="msys")return"windows";if(o==="darwin")return"os x";if(o==="linux")return"linux"}return"unknown"};dx.exports=cd});var Ei=T((dd,px)=>{dd=function(){};px.exports=dd});var Cn=T((pd,ux)=>{var KU=Ei();pd=function(e,t){t=t||KU;var r=new Image;r.onload=function(){t(null,r)},r.onerror=function(o){t(o)},r.src=e};ux.exports=pd});var Or=T((ud,hx)=>{var gx=_t(),Li=gx.getComputedStyle,mx=gx.document;ud=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.display,o=r===void 0?!0:r,n=t.visibility,s=n===void 0?!1:n,i=t.opacity,a=i===void 0?!1:i,l=t.size,d=l===void 0?!1:l,c=t.viewport,m=c===void 0?!1:c,h=t.overflow,v=h===void 0?!1:h,p=Li(e);if(o){var f=e.tagName;if(f==="BODY"||f==="HTML"||p.position==="fixed"){if(p.display==="none")return!0;for(var g=e;g=g.parentElement;){var w=Li(g);if(w.display==="none")return!0}}else if(e.offsetParent===null)return!0}if(s&&p.visibility==="hidden")return!0;if(a){if(p.opacity==="0")return!0;for(var S=e;S=S.parentElement;){var u=Li(S);if(u.opacity==="0")return!0}}var b=e.getBoundingClientRect();if(d&&(b.width===0||b.height===0))return!0;if(m){var E={top:0,left:0,right:mx.documentElement.clientWidth,bottom:mx.documentElement.clientHeight};return fx(b,E)}if(v)for(var k=e;k=k.parentElement;){var L=Li(k),P=L.overflow;if(P==="scroll"||P==="hidden"){var D=k.getBoundingClientRect();if(fx(b,D))return!0}}return!1};function fx(e,t){return e.right<t.left||e.left>t.right||e.bottom<t.top||e.top>t.bottom}hx.exports=ud});var ki=T((hd,qx)=>{hd=function(e){return e===!0||e===!1};qx.exports=hd});var Ox=T((yd,Nx)=>{yd=function(e){return e==null};Nx.exports=yd});var wd=T((vd,Dx)=>{var tA=Ox();vd=function(e){if(tA(e))return"";try{return rA.call(e)}catch{}try{return e+""}catch{}return""};var rA=Function.prototype.toString;Dx.exports=vd});var Sd=T((bd,_x)=>{var oA=$e(),Rx=Be();bd=function(e){return oA(e)&&Rx(e.then)&&Rx(e.catch)};_x.exports=bd});var Ed=T((xd,Bx)=>{var nA=rt();xd=function(e){return nA(e)&&e!==+e};Bx.exports=xd});var Fx=T((Ld,$x)=>{var sA=Be();Ld=function(e){return e==null?!1:e._isBuffer?!0:e.constructor&&sA(e.constructor.isBuffer)&&e.constructor.isBuffer(e)};$x.exports=Ld});var Mi=T((Td,zx)=>{var iA=Et(),aA=Ed(),lA=Qt(),cA=Fx();Td=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r;return e===null&&(r="Null"),e===void 0&&(r="Undefined"),aA(e)&&(r="NaN"),cA(e)&&(r="Buffer"),r||(r=iA(e).match(dA),r&&(r=r[1])),r?t?lA(r):r:""};var dA=/^\[object\s+(.*?)]$/;zx.exports=Td});var Ii=T((Cd,Wx)=>{Cd=function(e,t){return t=t==null?e.length-1:+t,function(){var r=Math.max(arguments.length-t,0),o=new Array(r),n;for(n=0;n<r;n++)o[n]=arguments[n+t];switch(t){case 0:return e.call(this,o);case 1:return e.call(this,arguments[0],o);case 2:return e.call(this,arguments[0],arguments[1],o)}var s=new Array(t+1);for(n=0;n<t;n++)s[n]=arguments[n];return s[t]=o,e.apply(this,s)}};Wx.exports=Cd});var Gx=T((kd,Vx)=>{var pA=Ii();kd=pA(function(e,t){for(var r=e.length,o=0,n=t.length;o<n;o++)for(var s=t[o],i=0,a=s.length;i<a;i++)e[r++]=s[i];return e.length=r,e});Vx.exports=kd});var Md=T((kn,Jx)=>{var uA=Xt(),mA=ie(),fA=Q(),gA=Gx();kn=uA({className:"Select",initialize:function(e){if(this.length=0,!e)return this;if(mA(e))return hA.find(e);e.nodeType&&(this[0]=e,this.length=1)},find:function(e){var t=new kn;return this.each(function(){gA(t,this.querySelectorAll(e))}),t},each:function(e){return fA(this,function(t,r){e.call(t,r,t)}),this}});var hA=new kn(document);Jx.exports=kn});var Tt=T((Id,Kx)=>{var yA=ie(),vA=st(),wA=Md();Id=function(e){return vA(yA(e)?new wA(e):e)};Kx.exports=Id});var Yx=T((jd,Zx)=>{var bA=Tt();jd=function(e){e=bA(e);var t=e[0],r=t.getBoundingClientRect();return{left:r.left+window.pageXOffset,top:r.top+window.pageYOffset,width:Math.round(r.width),height:Math.round(r.height)}};Zx.exports=jd});var Xx=T((Ad,Qx)=>{var SA=Q(),xA=Tt();Ad=function(e){e=xA(e),SA(e,function(t){EA(t)&&(t.style.display=LA(t.nodeName))})};function EA(e){return getComputedStyle(e,"").getPropertyValue("display")=="none"}var Ud={};function LA(e){var t,r;return Ud[e]||(t=document.createElement(e),document.documentElement.appendChild(t),r=getComputedStyle(t,"").getPropertyValue("display"),t.parentNode.removeChild(t),r=="none"&&(r="block"),Ud[e]=r),Ud[e]}Qx.exports=Ad});var Hd=T((Pd,eE)=>{var TA=/([A-Z])/g,CA=/[_.\- ]+/g,kA=/(^-)|(-$)/g;Pd=function(e){return e=e.replace(TA,"-$1").toLowerCase().replace(CA,"-").replace(kA,""),e.split("-")};eE.exports=Pd});var Nd=T((qd,tE)=>{var MA=Hd();qd=function(e){return MA(e).join("-")};tE.exports=qd});var oE=T((Od,rE)=>{var IA=xo();Od=function(e,t){var r=function(o){var n=r.cache,s=""+(t?t.apply(this,arguments):o);return IA(n,s)||(n[s]=e.apply(this,arguments)),n[s]};return r.cache={},r};rE.exports=Od});var sE=T((Dd,nE)=>{var jA=Hd();Dd=function(e){var t=jA(e),r=t[0];return t.shift(),t.forEach(UA,t),r+=t.join(""),r};function UA(e,t){this[t]=e.replace(/\w/,function(r){return r.toUpperCase()})}nE.exports=Dd});var uE=T((Mn,pE)=>{var cE=oE(),AA=sE(),PA=Co(),iE=xo(),HA=Nd();Mn=cE(function(e){if(e=e.replace(dE,""),e=AA(e),iE(lE,e))return e;for(var t=aE.length;t--;){var r=aE[t]+PA(e);if(iE(lE,r))return r}return e});Mn.dash=cE(function(e){var t=Mn(e);return(dE.test(t)?"-":"")+HA(t)});var aE=["O","ms","Moz","Webkit"],dE=/^(O)|(ms)|(Moz)|(Webkit)|(-o-)|(-ms-)|(-moz-)|(-webkit-)/g,lE=document.createElement("p").style;pE.exports=Mn});var ji=T((Rd,gE)=>{var qA=ie(),NA=$e(),OA=Nd(),DA=Me(),RA=Pe(),_A=rt(),BA=Tt(),fE=uE(),mE=Q();Rd=function(e,t,r){e=BA(e);var o=DA(r)&&qA(t);if(o)return $A(e[0],t);var n=t;NA(n)||(n={},n[t]=r),FA(e,n)};function $A(e,t){return e.style[fE(t)]||getComputedStyle(e,"").getPropertyValue(t)}function FA(e,t){mE(e,function(r){var o=";";mE(t,function(n,s){s=fE.dash(s),o+=s+":"+WA(s,n)+";"}),r.style.cssText+=o})}var zA=["column-count","columns","font-weight","line-weight","opacity","z-index","zoom"];function WA(e,t){var r=_A(t)&&!RA(zA,OA(e));return r?t+"px":t}gE.exports=Rd});var _d=T((Ai,yE)=>{var VA=st(),GA=$e(),JA=ie(),Ui=Q(),KA=Me(),hE=Tt();Ai=function(e,t,r){e=hE(e);var o=KA(r)&&JA(t);if(o)return ZA(e[0],t);var n=t;GA(n)||(n={},n[t]=r),YA(e,n)};Ai.remove=function(e,t){e=hE(e),t=VA(t),Ui(e,function(r){Ui(t,function(o){r.removeAttribute(o)})})};function ZA(e,t){return e.getAttribute(t)}function YA(e,t){Ui(e,function(r){Ui(t,function(o,n){r.setAttribute(n,o)})})}yE.exports=Ai});var wE=T(($d,vE)=>{var QA=Me(),XA=Q(),eP=Tt();$d={html:Bd("innerHTML"),text:Bd("textContent"),val:Bd("value")};function Bd(e){return function(t,r){t=eP(t);var o=t[0];if(QA(r))return o?o[e]:"";o&&XA(t,function(n){n[e]=r})}}vE.exports=$d});var SE=T((Fd,bE)=>{var tP=Q(),rP=Tt();Fd=function(e){e=rP(e),tP(e,function(t){var r=t.parentNode;r&&r.removeChild(t)})};bE.exports=Fd});var EE=T((zd,xE)=>{var oP=_d(),nP=ie(),sP=$e(),iP=Q(),mG=Tt();zd=function(e,t,r){var o=t;return nP(t)&&(o="data-"+t),sP(t)&&(o={},iP(t,function(n,s){o["data-"+s]=n})),oP(e,o,r)};xE.exports=zd});var TE=T((Pi,LE)=>{var aP=Xt(),lP=Pe();function Wd(){return!0}function Vd(){return!1}function cP(e){var t=this.events[e.type],r,o=dP.call(this,e,t);e=new Pi.Event(e);for(var n=0,s,i,a;(i=o[n++])&&!e.isPropagationStopped();)for(e.curTarget=i.el,s=0;(r=i.handlers[s++])&&!e.isImmediatePropagationStopped();)a=r.handler.apply(i.el,[e]),a===!1&&(e.preventDefault(),e.stopPropagation())}function dP(e,t){var r=e.target,o=[],n=t.delegateCount,s,i,a,l;if(r.nodeType)for(;r!==this;r=r.parentNode||this){for(i=[],l=0;l<n;l++)a=t[l],s=a.selector+" ",i[s]===void 0&&(i[s]=lP(this.querySelectorAll(s),r)),i[s]&&i.push(a);i.length&&o.push({el:r,handlers:i})}return n<t.length&&o.push({el:this,handlers:t.slice(n)}),o}Pi={add:function(e,t,r,o){var n={selector:r,handler:o},s;e.events||(e.events={}),(s=e.events[t])||(s=e.events[t]=[],s.delegateCount=0,e.addEventListener(t,function(){cP.apply(e,arguments)},!1)),r?s.splice(s.delegateCount++,0,n):s.push(n)},remove:function(e,t,r,o){var n=e.events;if(!(!n||!n[t]))for(var s=n[t],i=s.length,a;i--;)a=s[i],(!r||a.selector==r)&&a.handler==o&&(s.splice(i,1),a.selector&&s.delegateCount--)},Event:aP({className:"Event",initialize:function(t){this.origEvent=t},isDefaultPrevented:Vd,isPropagationStopped:Vd,isImmediatePropagationStopped:Vd,preventDefault:function(){var e=this.origEvent;this.isDefaultPrevented=Wd,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.origEvent;this.isPropagationStopped=Wd,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.origEvent;this.isImmediatePropagationStopped=Wd,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}})};LE.exports=Pi});var Jd=T((Gd,kE)=>{var pP=TE(),uP=Me(),mP=Tt(),fP=Q();Gd={on:CE("add"),off:CE("remove")};function CE(e){return function(t,r,o,n){t=mP(t),uP(n)&&(n=o,o=void 0),fP(t,function(s){pP[e](s,r,o,n)})}}kE.exports=Gd});var Zd=T((Kd,ME)=>{var gP=Nr(),hP=Zt(),yP=Ae();Kd=function(e,t,r){t=gP(t,r);for(var o=!hP(e)&&yP(e),n=(o||e).length,s=0;s<n;s++){var i=o?o[s]:s;if(t(e[i],i,e))return!0}return!1};ME.exports=Kd});var Yd=T((Dr,jE)=>{var vP=st(),wP=Zd(),Hi=Tt(),bP=ie(),In=Q();Dr={add:function(e,t){e=Hi(e);var r=IE(t);In(e,function(o){var n=[];In(r,function(s){Dr.has(o,s)||n.push(s)}),n.length!==0&&(o.className+=(o.className?" ":"")+n.join(" "))})},has:function(e,t){e=Hi(e);var r=new RegExp("(^|\\s)"+t+"(\\s|$)");return wP(e,function(o){return r.test(o.className)})},toggle:function(e,t){e=Hi(e),In(e,function(r){if(!Dr.has(r,t))return Dr.add(r,t);Dr.remove(r,t)})},remove:function(e,t){e=Hi(e);var r=IE(t);In(e,function(o){In(r,function(n){o.classList.remove(n)})})}};function IE(e){return bP(e)?e.split(/\s+/):vP(e)}jE.exports=Dr});var AE=T((Qd,UE)=>{var SP=Q(),xP=Tt(),EP=ie();Qd={before:qi("beforebegin"),after:qi("afterend"),append:qi("beforeend"),prepend:qi("afterbegin")};function qi(e){return function(t,r){t=xP(t),SP(t,function(o){if(EP(r))o.insertAdjacentHTML(e,r);else{var n=o.parentNode;switch(e){case"beforebegin":n&&n.insertBefore(r,o);break;case"afterend":n&&n.insertBefore(r,o.nextSibling);break;case"beforeend":o.appendChild(r);break;case"afterbegin":o.prepend(r);break}}})}}UE.exports=Qd});var Bt=T((Rr,NE)=>{var qE=Md(),LP=Yx(),TP=Xx(),CP=ji(),PE=_d(),Xd=wE(),kP=En(),MP=SE(),IP=EE(),HE=Jd(),Ni=Yd(),Oi=AE(),Di=Me(),jP=ie();Rr=function(e){return new qE(e)};qE.methods({offset:function(){return LP(this)},hide:function(){return this.css("display","none")},show:function(){return TP(this),this},first:function(){return Rr(this[0])},last:function(){return Rr(kP(this))},get:function(e){return this[e]},eq:function(e){return Rr(this[e])},on:function(e,t,r){return HE.on(this,e,t,r),this},off:function(e,t,r){return HE.off(this,e,t,r),this},html:function(e){var t=Xd.html(this,e);return Di(e)?t:this},text:function(e){var t=Xd.text(this,e);return Di(e)?t:this},val:function(e){var t=Xd.val(this,e);return Di(e)?t:this},css:function(e,t){var r=CP(this,e,t);return ep(e,t)?r:this},attr:function(e,t){var r=PE(this,e,t);return ep(e,t)?r:this},data:function(e,t){var r=IP(this,e,t);return ep(e,t)?r:this},rmAttr:function(e){return PE.remove(this,e),this},remove:function(){return MP(this),this},addClass:function(e){return Ni.add(this,e),this},rmClass:function(e){return Ni.remove(this,e),this},toggleClass:function(e){return Ni.toggle(this,e),this},hasClass:function(e){return Ni.has(this,e)},parent:function(){return Rr(this[0].parentNode)},append:function(e){return Oi.append(this,e),this},prepend:function(e){return Oi.prepend(this,e),this},before:function(e){return Oi.before(this,e),this},after:function(e){return Oi.after(this,e),this}});var ep=function(e,t){return Di(t)&&jP(e)};NE.exports=Rr});var RE=T((tp,DE)=>{var UP=ot();tp=function(e){return OE(e,[])};function OE(e,t){for(var r=e.length,o=-1,n;r--;)n=e[++o],UP(n)?OE(n,t):t.push(n);return t}DE.exports=tp});var op=T((rp,_E)=>{var AP=Ii(),PP=RE(),HP=Lo(),qP=Pe();rp=AP(function(e,t){return t=PP(t),HP(e,function(r){return!qP(t,r)})});_E.exports=rp});var sp=T((np,BE)=>{np=function(e,t){var r=[];t=t||1;for(var o=0,n=Math.ceil(e.length/t);o<n;o++){var s=o*t,i=s+t;r.push(e.slice(s,i))}return r};BE.exports=np});var Bi=T((_i,WE)=>{var Ri=Lt(),$E=_t(),FE=Ye();_i=function(e){return e.sort(zE)};_i.comparator=zE;function zE(e,t){if(e=FE(e),t=FE(t),Ri(e,"_")&&!Ri(t,"_"))return 1;if(Ri(t,"_")&&!Ri(e,"_"))return-1;for(var r=/^\d+|^\D+/,o,n,s,i;;){if(e){if(!t)return 1}else return t?-1:0;if(o=e.match(r)[0],n=t.match(r)[0],s=!$E.isNaN(o),i=!$E.isNaN(n),s&&!i)return-1;if(i&&!s)return 1;if(s&&i){var a=o-n;if(a)return a;if(o.length!==n.length)return!+o&&!+n?o.length-n.length:n.length-o.length}else if(o!==n)return o<n?-1:1;e=e.substring(o.length),t=t.substring(n.length)}}WE.exports=_i});var Fi=T((ip,ZE)=>{var DP=0;ip=function(e){var t=++DP+"";return e?e+t:t};ZE.exports=ip});var QE=T((ap,YE)=>{ap=function(e,t,r){var o=e.length;t==null?t=0:t<0?t=Math.max(o+t,0):t=Math.min(t,o),r==null?r=o:r<0?r=Math.max(o+r,0):r=Math.min(r,o);for(var n=[];t<r;)n.push(e[t++]);return n};YE.exports=ap});var eL=T((lp,XE)=>{var RP=Ii(),_P=st();lp=RP(function(e,t){return function(){var r=[];return r=r.concat(t),r=r.concat(_P(arguments)),e.apply(this,r)}});XE.exports=lp});var rL=T((cp,tL)=>{cp=function(e,t){var r;return function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=null),r}};tL.exports=cp});var nL=T((dp,oL)=>{var BP=eL(),$P=rL();dp=BP($P,2);oL.exports=dp});var zi=T((pp,sL)=>{var FP=$e(),zP=ot(),WP=pt();pp=function(e){return FP(e)?zP(e)?e.slice():WP({},e):e};sL.exports=pp});var tr=T((Wi,lL)=>{var VP=Xt(),iL=xo(),aL=Q(),GP=QE(),JP=nL(),KP=zi();Wi=VP({initialize:function(){this._events=this._events||{}},on:function(e,t){return this._events[e]=this._events[e]||[],this._events[e].push(t),this},off:function(e,t){var r=this._events;if(iL(r,e)){var o=r[e].indexOf(t);return o>-1&&r[e].splice(o,1),this}},once:function(e,t){return this.on(e,JP(t)),this},emit:function(e){var t=this;if(iL(this._events,e)){var r=GP(arguments,1),o=KP(this._events[e]);return aL(o,function(n){return n.apply(t,r)},this),this}},removeAllListeners:function(e){return e?delete this._events[e]:this._events={},this}},{mixin:function(e){aL(["on","off","once","emit","removeAllListeners"],function(t){e[t]=Wi.prototype[t]}),e._events=e._events||{}}});lL.exports=Wi});var Io=T((mp,wL)=>{var eH=Nr();mp=function(e,t,r){var o=[];t=eH(t,r);for(var n=-1,s=e.length;++n<s;){var i=n-o.length,a=e[i];t(a,n,e)&&(o.push(a),e.splice(i,1))}return o};wL.exports=mp});var xL=T((fp,SL)=>{var bL=tr();fp=bL.extend({className:"MediaQuery",initialize:function(e){var t=this;this.callSuper(bL,"initialize"),this._listener=function(){t.emit(t.isMatch()?"match":"unmatch")},this.setQuery(e)},setQuery:function(e){this._mql&&this._mql.removeListener(this._listener),this._mql=window.matchMedia(e),this._mql.addListener(this._listener)},isMatch:function(){return this._mql.matches}});SL.exports=fp});var Un=T((jo,EL)=>{var tH=tr(),rH=xL(),gp=new rH("(prefers-color-scheme: dark)");jo={get:function(){return gp.isMatch()?"dark":"light"}};tH.mixin(jo);gp.on("match",function(){return jo.emit("change","dark")});gp.on("unmatch",function(){return jo.emit("change","light")});EL.exports=jo});var Lp=T((Ep,sT)=>{Ep=function(){for(var e=arguments,t=e[0],r=1,o=e.length;r<o;r++)e[r]<t&&(t=e[r]);return t};sT.exports=Ep});var Pn=T((Tp,iT)=>{var aH=ie(),lH=st(),cH=Lp(),dH=dt(),pH=nt();Tp=function(e){aH(e)&&(e=lH(e));for(var t="",r=arguments.length,o=new Array(r>1?r-1:0),n=1;n<r;n++)o[n-1]=arguments[n];for(var s=0,i=e.length;s<i;s++)t+=e[s],o[s]&&(t+=o[s]);for(var a=t.split(`
|
|
`),l=[],d=0,c=a.length;d<c;d++){var m=a[d],h=m.match(uH);h&&l.push(h[1].length)}var v=l.length>0?cH.apply(null,l):0;return pH(dH(a,function(p){return p[0]===" "?p.slice(v):p}).join(`
|
|
`))};var uH=/^(\s+)\S+/;iT.exports=Tp});var Yi=T((Mp,ET)=>{Mp=function(e){return!!(e&&e.nodeType===1)};ET.exports=Mp});var Nn=T((Up,CT)=>{var LT=Yi(),Ip=ie(),jp=Lt(),hH=Yd(),yH=ji(),TT=Q(),vH=Be();Up=function(e,t){for(var r=arguments.length,o=new Array(r>2?r-2:0),n=2;n<r;n++)o[n-2]=arguments[n];(LT(t)||Ip(t))&&(o.unshift(t),t=null),t||(t={});var s=wH(e),i=s.tagName,a=s.id,l=s.classes,d=document.createElement(i);return a&&d.setAttribute("id",a),hH.add(d,l),TT(o,function(c){Ip(c)?d.appendChild(document.createTextNode(c)):LT(c)&&d.appendChild(c)}),TT(t,function(c,m){Ip(c)?d.setAttribute(m,c):vH(c)&&jp(m,"on")?d.addEventListener(m.slice(2),c,!1):m==="style"&&yH(d,c)}),d};function wH(e){for(var t="div",r="",o=[],n=[],s="",i=0,a=e.length;i<a;i++){var l=e[i];l==="#"||l==="."?(n.push(s),s=l):s+=l}n.push(s);for(var d=0,c=n.length;d<c;d++)s=n[d],s&&(jp(s,"#")?r=s.slice(1):jp(s,".")?o.push(s.slice(1)):t=s);return{tagName:t,id:r,classes:o}}CT.exports=Up});var IT=T((Qi,MT)=>{var bH=Xt(),SH=zi(),kT=Q(),xH=st();Qi=bH({initialize:function(){this._listeners=[]},addListener:function(e){this._listeners.push(e)},rmListener:function(e){var t=this._listeners.indexOf(e);t>-1&&this._listeners.splice(t,1)},rmAllListeners:function(){this._listeners=[]},emit:function(){var e=this,t=xH(arguments),r=SH(this._listeners);kT(r,function(o){return o.apply(e,t)},this)}},{mixin:function(e){kT(["addListener","rmListener","emit","rmAllListeners"],function(t){e[t]=Qi.prototype[t]}),e._listeners=e._listeners||[]}});MT.exports=Qi});var ta=T((ea,AT)=>{var Xi=IT(),On=Nn(),jT=Jd(),Ap=ji(),EH=Pe(),Pp=pt(),UT=_t();UT.ResizeObserver?ea=Xi.extend({initialize:function(t){var r=this;if(t._resizeSensor)return t._resizeSensor;this.callSuper(Xi,"initialize");var o=new UT.ResizeObserver(function(){return r.emit()});o.observe(t),t._resizeSensor=this,this._resizeObserver=o,this._el=t},destroy:function(){var e=this._el;e._resizeSensor&&(this.rmAllListeners(),delete e._resizeSensor,this._resizeObserver.unobserve(e))}}):ea=Xi.extend({initialize:function(t){if(t._resizeSensor)return t._resizeSensor;this.callSuper(Xi,"initialize"),this._el=t,t._resizeSensor=this,EH(["absolute","relative","fixed","sticky"],Ap(t,"position"))||Ap(t,"position","relative"),this._appendResizeSensor(),this._bindEvent()},destroy:function(){var e=this._el;e._resizeSensor&&(this.rmAllListeners(),delete e._resizeSensor,e.removeChild(this._resizeSensorEl))},_appendResizeSensor:function(){var e=this._el,t={pointerEvents:"none",position:"absolute",left:"0px",top:"0px",right:"0px",bottom:"0px",overflow:"hidden",zIndex:"-1",visibility:"hidden",maxWidth:"100%"},r={position:"absolute",left:"0px",top:"0px",transition:"0s"},o=On("div",{style:r}),n=On("div.resize-sensor-expand",{style:t},o),s=On("div.resize-sensor-shrink",{style:t},On("div",{style:Pp({width:"200%",height:"200%"},r)})),i=On("div.resize-sensor",{dir:"ltr",style:t},n,s);this._expandEl=n,this._expandChildEl=o,this._shrinkEl=s,this._resizeSensorEl=i,e.appendChild(i),this._resetExpandShrink()},_bindEvent:function(){var e=this;jT.on(this._expandEl,"scroll",function(){return e._onScroll()}),jT.on(this._shrinkEl,"scroll",function(){return e._onScroll()})},_onScroll:function(){this.emit(),this._resetExpandShrink()},_resetExpandShrink:function(){var e=this._el,t=e.offsetWidth,r=e.offsetHeight;Ap(this._expandChildEl,{width:t+10,height:r+10}),Pp(this._expandEl,{scrollLeft:t+10,scrollTop:r+10}),Pp(this._shrinkEl,{scrollLeft:t+10,scrollTop:r+10})}});AT.exports=ea});var qp=T((Hp,PT)=>{Hp=function(e,t,r){var o;return function(){var n=this,s=arguments,i=function(){o=null,e.apply(n,s)};r||clearTimeout(o),(!r||!o)&&(o=setTimeout(i,t))}};PT.exports=Hp});var Op=T((Np,HT)=>{var LH=qp();Np=function(e,t){return LH(e,t,!0)};HT.exports=Np});var ra=T((Dp,qT)=>{Dp=function(e){return e===null};qT.exports=Dp});var Dn=T((Rp,NT)=>{var TH=Et();Rp=function(e){return TH(e)==="[object RegExp]"};NT.exports=Rp});var RT=T((_p,DT)=>{var OT=Me();_p=function(e,t,r){return OT(r)&&(r=t,t=void 0),!OT(t)&&e<t?t:e>r?r:e};DT.exports=_p});var BT=T((Bp,_T)=>{Bp=function(){for(var e=arguments,t=e[0],r=1,o=e.length;r<o;r++)e[r]>t&&(t=e[r]);return t};_T.exports=Bp});var FT=T(($p,$T)=>{var CH=rt();$p=function(e){return CH(e)&&e%1===0};$T.exports=$p});var WT=T((Fp,zT)=>{var kH=FT();Fp=function(e){return kH(e)?e%2!==0:!1};zT.exports=Fp});var Ao=T((oa,VT)=>{Date.now?oa=Date.now:oa=function(){return new Date().getTime()};VT.exports=oa});var KT=T((zp,JT)=>{var GT=_t(),MH={down:"touchstart",move:"touchmove",up:"touchend"},IH={down:"mousedown",move:"mousemove",up:"mouseup"},jH={down:"pointerdown",move:"pointermove",up:"pointerup"},UH="PointerEvent"in GT,AH="ontouchstart"in GT;zp=function(e){return UH?jH[e]:AH?MH[e]:IH[e]};JT.exports=zp});var A0=T((Yp,U0)=>{Yp=function(e){return window.ShadowRoot?e instanceof ShadowRoot:!1};U0.exports=Yp});var H0=T(($n,P0)=>{var OH=Xt();$n=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;$n||($n=OH({initialize:function(){},observe:function(){},disconnect:function(){},takeRecords:function(){}}));P0.exports=$n});var Qp=T((pa,q0)=>{var da=Q(),DH=Yt();pa=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"js",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};DH(r,RH),e=e.replace(/</g,"<").replace(/>/g,">"),t=fr[t];var o=0,n=[];da(t,function(i){i.language&&(e=e.replace(i.re,function(a,l){return l?(n[o++]=pa(l,i.language,r),a.replace(l,"___subtmpl"+(o-1)+"___")):a}))}),da(t,function(i,a){fr[i.language]||(e=e.replace(i.re,"___"+a+"___$1___end"+a+"___"))});var s=[];return e=e.replace(/___(?!subtmpl)\w+?___/g,function(i){var a=i.substr(3,3)==="end",l=(a?i.substr(6):i.substr(3)).replace(/_/g,""),d=s.length>0?s[s.length-1]:null;return!a&&(d==null||l==d||d!=null&&t[d]&&t[d].embed!=null&&t[d].embed.indexOf(l)>-1)?(s.push(l),i):a&&l==d?(s.pop(),i):""}),da(t,function(i,a){var l=r[i.style]?' style="'.concat(r[i.style],'"'):"";e=e.replace(new RegExp("___end"+a+"___","g"),"</span>").replace(new RegExp("___"+a+"___","g"),'<span class="'.concat(i.style,'"').concat(l,">"))}),da(t,function(i){i.language&&(e=e.replace(/___subtmpl\d+___/g,function(a){var l=parseInt(a.replace(/___subtmpl(\d+)___/,"$1"),10);return n[l]}))}),e};var RH={comment:"color:#63a35c;",string:"color:#183691;",number:"color:#0086b3;",keyword:"color:#a71d5d;",operator:"color:#994500;"},fr={};fr.js={comment:{re:/(\/\/.*|\/\*([\s\S]*?)\*\/)/g,style:"comment"},string:{re:/(('.*?')|(".*?"))/g,style:"string"},numbers:{re:/(-?(\d+|\d+\.\d+|\.\d+))/g,style:"number"},keywords:{re:/(?:\b)(function|for|foreach|while|if|else|elseif|switch|break|as|return|this|class|self|default|var|const|let|false|true|null|undefined)(?:\b)/gi,style:"keyword"},operator:{re:/(\+|-|\/|\*|%|=|<|>|\||\?|\.)/g,style:"operator"}};fr.html={comment:{re:/(<!--([\s\S]*?)-->)/g,style:"comment"},tag:{re:/(<\/?\w(.|\n)*?\/?>)/g,style:"keyword",embed:["string"]},string:fr.js.string,css:{re:/(?:<style.*?>)([\s\S]*)?(?:<\/style>)/gi,language:"css"},script:{re:/(?:<script.*?>)([\s\S]*?)(?:<\/script>)/gi,language:"js"}};fr.css={comment:fr.js.comment,string:fr.js.string,numbers:{re:/((-?(\d+|\d+\.\d+|\.\d+)(%|px|em|pt|in)?)|#[0-9a-fA-F]{3}[0-9a-fA-F]{3})/g,style:"number"},keywords:{re:/(@\w+|:?:\w+|[a-z-]+:)/g,style:"keyword"}};q0.exports=pa});var O0=T((Xp,N0)=>{var _H=Nr(),BH=Zt(),$H=Ae();Xp=function(e,t,r){t=_H(t,r);for(var o=!BH(e)&&$H(e),n=(o||e).length,s=0;s<n;s++){var i=o?o[s]:s;if(!t(e[i],i,e))return!1}return!0};N0.exports=Xp});var R0=T((eu,D0)=>{var FH=Q();eu=function(e){var t={};return FH(e,function(r,o){t[r]=o}),t};D0.exports=eu});var B0=T((tu,_0)=>{var zH=ie(),WH=R0();tu=function(e){return zH(e)?qo[e]:VH[e]};var qo={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,windows:91,"right windows":92,"windows menu":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222};for(Fn=97;Fn<123;Fn++)qo[String.fromCharCode(Fn)]=Fn-32;var Fn;for(zn=48;zn<58;zn++)qo[zn-48]=zn;var zn;for(Wn=1;Wn<13;Wn++)qo["f"+Wn]=Wn+111;var Wn;for(Vn=0;Vn<10;Vn++)qo["numpad "+Vn]=Vn+96;var Vn,VH=WH(qo);_0.exports=tu});var G0=T((nu,V0)=>{var GH=tr(),JH=B0(),$0=Q(),KH=bn(),ZH=nt(),YH=dt(),F0=Be();nu={on:function(e,t,r){F0(t)&&(r=t,t={}),e=e.split(z0),$0(e,function(o){if(o=ou(o),t.element){var n=t,s=n.element,i=s._hotkeyListeners||{};s._hotkeyListeners=i,i[o]=i[o]||[];var a=function(l){o===W0(l)&&r(l)};i[o].push({listener:a,origin:r}),s.addEventListener("keydown",a)}else ru.on(o,r)})},off:function(e,t,r){F0(t)&&(r=t,t={}),e=e.split(z0),$0(e,function(o){if(o=ou(o),t.element){var n=t,s=n.element,i=s._hotkeyListeners;if(i&&i[o]){for(var a=i[o],l,d=0,c=a.length;d<c;d++)a[d].origin===r&&(l=a[d].listener,a.splice(d,1));l&&s.removeEventListener("keydown",l)}}else ru.off(o,r)})}};var ru=new GH;document.addEventListener("keydown",function(e){ru.emit(W0(e),e)});function W0(e){var t=[];return e.ctrlKey&&t.push("ctrl"),e.shiftKey&&t.push("shift"),t.push(JH(e.keyCode)),ou(t.join("+"))}function ou(e){var t=e.split(QH);return t=YH(t,function(r){return ZH(r)}),t=KH(t),t.sort(),t.join("+")}var z0=/,/g,QH=/\+/g;V0.exports=nu});var oC=T((uu,rC)=>{var eq=Et();uu=function(e){switch(eq(e)){case"[object Error]":case"[object DOMException]":return!0;default:return e instanceof Error}};rC.exports=uu});var sC=T((mu,nC)=>{mu=function(e){var t=typeof e;return e==null||t!=="function"&&t!=="object"};nC.exports=mu});var aC=T((fu,iC)=>{var tq=er();fu=function(e){return e?(e=tq(e),e-e%1):e===0?e:0};iC.exports=fu});var dC=T((gu,cC)=>{var lC=st();gu=function(){for(var e=lC(arguments),t=[],r=0,o=e.length;r<o;r++)t=t.concat(lC(e[r]));return t};cC.exports=gu});var uC=T((hu,pC)=>{var rq=Mi(),oq=Co(),nq=Ye(),sq=Me(),iq=Be(),aq=Dn();hu=function(e,t){return JSON.stringify(e,lq(),t)};function lq(){var e=[],t=[];return function(r,o){if(e.length>0){var n=e.indexOf(this);n>-1?(e.splice(n+1),t.splice(n,1/0,r)):(e.push(this),t.push(r));var s=e.indexOf(o);s>-1&&(e[0]===o?o="[Circular ~]":o="[Circular ~."+t.slice(0,s).join(".")+"]")}else e.push(o);return aq(o)||iq(o)?o="["+oq(rq(o))+" "+nq(o)+"]":sq(o)&&(o=null),o}}pC.exports=hu});var vu=T((yu,mC)=>{var cq=pt(),dq=Ei();yu=function(e,t){t=t||dq;var r=document.createElement("textarea"),o=document.body;cq(r.style,{fontSize:"12pt",border:"0",padding:"0",margin:"0",position:"absolute",left:"-9999px"}),r.value=e,o.appendChild(r),r.setAttribute("readonly",""),r.select(),r.setSelectionRange(0,e.length);try{document.execCommand("copy"),t()}catch(n){t(n)}finally{o.removeChild(r)}};mC.exports=yu});var bu=T((wu,fC)=>{wu=function(e){return typeof e=="symbol"};fC.exports=wu});var hC=T((Su,gC)=>{var pq=vi(),uq=Me(),mq=Ye(),fq=bu(),gq=ie();Su=function(e,t,r){t=pq(t,e);var o=t.pop(),n;for(n=t.shift();!uq(n);){if(!gq(n)&&!fq(n)&&(n=mq(n)),n==="__proto__"||n==="constructor"||n==="prototype")return;e[n]||(e[n]={}),e=e[n],n=t.shift()}e[o]=r};gC.exports=Su});var wC=T((xu,vC)=>{var hq=vi(),yq=ie(),vq=$e(),wq=Q();xu=function(e,t,r){return yq(t)?yC(e,t,r):vq(t)&&wq(t,function(o,n){yC(e,n,o)}),e};function yC(e,t,r){for(var o=hq(t,e),n=o.pop();t=o.shift();)e[t]||(e[t]={}),e=e[t];Object.defineProperty(e,n,r)}vC.exports=xu});var SC=T((Eu,bC)=>{var bq=ie(),Sq=ot(),xq=Pe(),Eq=Q();Eu=function(e,t,r){if(bq(t)&&(t=[t]),Sq(t)){var o=t;t=function(i,a){return xq(o,a)}}var n={},s=function(i,a){t(i,a)&&(n[a]=i)};return r&&(s=function(i,a){t(i,a)||(n[a]=i)}),Eq(e,s),n};bC.exports=Eu});var AC=T((hr,UC)=>{var Lq=fc(),Tq=Mi(),Do=Ye(),xC=hc(),Cq=wd(),kC=Ae(),Kn=Q(),kq=Xt(),MC=yi(),Mq=op(),Iq=pt(),jq=Sd(),Uq=Lo(),EC=Ao(),LC=Sn(),IC=Pe(),Cu=$e(),Aq=ed(),TC=Yc(),Pq=Lt(),Hq=hC(),qq=wC(),CC=SC(),Nq=Zt();hr=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.self,o=t.startTime,n=o===void 0?EC():o,s=t.timeout,i=s===void 0?0:s,a=t.depth,l=a===void 0?0:a,d=t.curDepth,c=d===void 0?1:d,m=t.visitor,h=m===void 0?new Oq:m,v=t.unenumerable,p=v===void 0?!1:v,f=t.symbol,g=f===void 0?!1:f,w=t.accessGetter,S=w===void 0?!1:w,u=t.ignore,b=u===void 0?[]:u,E="",k={visitor:h,unenumerable:p,symbol:g,accessGetter:S,depth:l,curDepth:c+1,timeout:i,startTime:n,ignore:b},L=Tq(e,!1);if(L==="String")E=Oo(e);else if(L==="Number")E=Do(e),xC(E,"Infinity")&&(E='{"value":"'.concat(E,'","type":"Number"}'));else if(L==="NaN")E='{"value":"NaN","type":"Number"}';else if(L==="Boolean")E=e?"true":"false";else if(L==="Null")E="null";else if(L==="Undefined")E='{"type":"Undefined"}';else if(L==="Symbol"){var P="Symbol";try{P=Do(e)}catch{}E='{"value":'.concat(Oo(P),',"type":"Symbol"}')}else{if(i&&EC()-n>i)return Oo("Timeout");if(l&&c>l)return Oo("{...}");E="{";var D=[],z=h.get(e),ae;if(z?(ae=z.id,D.push('"reference":'.concat(ae))):(ae=h.set(e),D.push('"id":'.concat(ae))),D.push('"type":"'.concat(L,'"')),xC(L,"Function")?D.push('"value":'.concat(Oo(Cq(e)))):L==="RegExp"&&D.push('"value":'.concat(Oo(e))),!z){var ee=kC(e);if(ee.length&&D.push(Lu("enumerable",ee,r||e,k)),p){var le=Mq(LC(e,{prototype:!1,unenumerable:!0}),ee);le.length&&D.push(Lu("unenumerable",le,r||e,k))}if(g){var te=Uq(LC(e,{prototype:!1,symbol:!0}),function(Ce){return typeof Ce=="symbol"});te.length&&D.push(Lu("symbol",te,r||e,k))}var re=MC(e);if(re&&!IC(b,re)){var ge='"proto":'.concat(hr(re,Iq(k,{self:r||e})));D.push(ge)}}E+=D.join(",")+"}"}return E};function Lu(e,t,r,o){var n=[];return Kn(t,function(s){var i,a=Object.getOwnPropertyDescriptor(r,s),l=a&&a.get,d=a&&a.set;if(!o.accessGetter&&l)i="(...)";else try{if(i=r[s],IC(o.ignore,i))return;jq(i)&&i.catch(function(){})}catch(c){i=c.message}n.push("".concat(Tu(s),":").concat(hr(i,o))),l&&n.push("".concat(Tu("get "+Do(s)),":").concat(hr(a.get,o))),d&&n.push("".concat(Tu("set "+Do(s)),":").concat(hr(a.set,o)))}),'"'.concat(e,'":{')+n.join(",")+"}"}function Tu(e){return'"'.concat(jC(e),'"')}function Oo(e){return'"'.concat(jC(Do(e)),'"')}function jC(e){return Lq(e).replace(/\\'/g,"'").replace(/\t/g,"\\t")}var Oq=kq({initialize:function(){this.id=1,this.visited=[]},set:function(e){var t=this.visited,r=this.id,o={id:r,val:e};return t.push(o),this.id++,r},get:function(e){for(var t=this.visited,r=0,o=t.length;r<o;r++){var n=t[r];if(e===n.val)return n}return!1}});hr.parse=function(e){var t={},r=Fr(JSON.parse(e),{map:t});return Dq(t),r};function Dq(e){Kn(e,function(t){for(var r=kC(t),o=0,n=r.length;o<n;o++){var s=r[o];if(Cu(t[s])){var i=t[s].reference;i&&e[i]&&(t[s]=e[i])}}var a=MC(t);a&&a.reference&&e[a.reference]&&Object.setPrototypeOf(t,e[a.reference])})}function Fr(e,t){var r=t.map;if(!Cu(e))return e;var o=e.id,n=e.type,s=e.value,i=e.proto,a=e.reference,l=e.enumerable,d=e.unenumerable;if(a)return e;if(n==="Number")return s==="Infinity"?Number.POSITIVE_INFINITY:s==="-Infinity"?Number.NEGATIVE_INFINITY:NaN;if(n==="Undefined")return;var c;if(n==="Function")c=function(){},c.toString=function(){return s},i&&Object.setPrototypeOf(c,Fr(i,t));else if(n==="RegExp")c=_q(s);else if(n!=="Object"){var m;Aq?m=function(){}:m=new Function(n,""),i&&(m.prototype=Fr(i,t)),c=new m}else i?c=TC(Fr(i,t)):c=TC(null);var h={};if(l){var v;Nq(l)&&(v=l.length,delete l.length),l=CC(l,function(f,g){return!p(l,f,g)}),Kn(l,function(f,g){var w=h[g]||{};w.get||(c[g]=Fr(f,t))}),v&&(c.length=v)}d&&(d=CC(d,function(f,g){return!p(d,f,g)}),Kn(d,function(f,g){var w=h[g]||{};if(!w.get)if(f=Fr(f,t),Cu(f)&&f.reference){var S=f.reference;f=function(){return r[S]},w.get=f}else w.value=f;w.enumerable=!1,h[g]=w})),qq(c,h);function p(f,g,w){w=Do(w);var S=!1;return Kn(["get","set"],function(u){if(Pq(w,u+" ")){var b=w.replace(u+" ","");f[b]&&(g=Fr(g,t),g==="Timeout"&&(g=Rq),Hq(h,[b,u],g),S=!0)}}),S}return r[o]=c,c}function Rq(){return"Timeout"}function _q(e){var t=e.lastIndexOf("/");return new RegExp(e.slice(1,t),e.slice(t+1))}UC.exports=hr});var qC=T((Zn,HC)=>{typeof process=="object"&&process.nextTick?Zn=process.nextTick:typeof setImmediate=="function"?Zn=function(e){setImmediate(PC(e))}:Zn=function(e){setTimeout(PC(e),0)};function PC(e){if(typeof e!="function")throw new TypeError(e+" is not a function");return e}HC.exports=Zn});var OC=T((ku,NC)=>{var Bq=bn(),$q=nt(),Fq=dt(),zq=st();ku=function(e){var t=zq(e.match(Wq));return Bq(Fq(t,function(r){return $q(r)}))};var Wq=/((https?)|(ftp)):\/\/[\w.]+[^ \f\n\r\t\v"\\<>[\]\u2100-\uFFFF(),]*/gi;NC.exports=ku});var RC=T((Mu,DC)=>{Mu=function(e){return e.replace(/\W/g,"\\$&")};DC.exports=Mu});var BC=T((Iu,_C)=>{var Vq=OC(),Gq=Q(),Jq=RC();Iu=function(e,t){t=t||Kq;var r=Vq(e);return Gq(r,function(o){e=e.replace(new RegExp(Jq(o),"g"),t)}),e};function Kq(e){return'<a href="'+e+'">'+e+"</a>"}_C.exports=Iu});var FC=T((ga,$C)=>{var Yn=document;ga=function(e){var t=Yn.createElement("body");return t.innerHTML=e,t.childNodes[0]};Yn.createRange&&Yn.body&&(fa=Yn.createRange(),fa.selectNode(Yn.body),fa.createContextualFragment&&(ga=function(e){return fa.createContextualFragment(e).childNodes[0]}));var fa;$C.exports=ga});var kk=T((rs,Ck)=>{var Lk=Ao(),Tk=_t(),Au=Tk.performance,wa=Tk.process,ba;Au&&Au.now?rs=function(){return Au.now()}:wa&&wa.hrtime?(Pu=function(){var e=wa.hrtime();return e[0]*1e9+e[1]},ba=Pu()-wa.uptime()*1e9,rs=function(){return(Pu()-ba)/1e6}):(ba=Lk(),rs=function(){return Lk()-ba});var Pu;Ck.exports=rs});var jk=T((Hu,Ik)=>{var eN=ie(),tN=Xt();Hu=function(e,t){return eN(e)?rN(e):oN(e,t)};function rN(e){for(var t=[],r=document.evaluate(e,document,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),o=0;o<r.snapshotLength;o++)t.push(r.snapshotItem(o));return t}function oN(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if(e.nodeType===Node.DOCUMENT_NODE)return"/";for(var r=[],o=e;o;){var n=nN(o,t);if(!n||(r.push(n),n.optimized))break;o=o.parentNode}return r.reverse(),(r.length&&r[0].optimized?"":"/")+r.join("/")}function nN(e,t){var r,o=sN(e);if(o===-1)return null;switch(e.nodeType){case Node.ELEMENT_NODE:if(t&&e.getAttribute("id"))return new Mk('//*[@id="'+e.getAttribute("id")+'"]',!0);r=e.localName;break;case Node.ATTRIBUTE_NODE:r="@"+e.nodeName();break;case Node.TEXT_NODE:case Node.CDATA_SECTION_NODE:r="text()";break;case Node.PROCESSING_INSTRUCTION_NODE:r="processing-instruction()";break;case Node.COMMENT_NODE:r="comment()";break;case Node.DOCUMENT_NODE:r="";break;default:r="";break}return o>0&&(r+="["+o+"]"),new Mk(r,e.nodeType===Node.DOCUMENT_NODE)}function sN(e){function t(a,l){if(a===l)return!0;if(a.nodeType===Node.ELEMENT_NODE&&l.nodeType===Node.ELEMENT_NODE)return a.localName===l.localName;if(a.nodeType===l.nodeType)return!0;var d=a.nodeType===Node.CDATA_SECTION_NODE?Node.TEXT_NODE:a.nodeType,c=l.nodeType===Node.CDATA_SECTION_NODE?Node.TEXT_NODE:l.nodeType;return d===c}var r=e.parentNode?e.parentNode.children:null;if(!r)return 0;for(var o,n=0;n<r.length;++n)if(t(e,r[n])&&r[n]!==e){o=!0;break}if(!o)return 0;for(var s=1,i=0;i<r.length;++i)if(t(e,r[i])){if(r[i]===e)return s;++s}return-1}var Mk=tN({initialize:function(e,t){this.value=e,this.optimized=t||!1},toString:function(){return this.value}});Ik.exports=Hu});var Ak=T((qu,Uk)=>{var iN=Et();qu=function(e){return iN(e)==="[object Date]"};Uk.exports=qu});var Hk=T((Nu,Pk)=>{Nu=function(e,t){var r="";if(t<1)return"";for(;t>0;)t&1&&(r+=e),t>>=1,e+=e;return r};Pk.exports=Nu});var Nk=T((Ou,qk)=>{var aN=Hk(),lN=Ye();Ou=function(e,t,r){e=lN(e);var o=e.length;return r=r||" ",o<t&&(e=(aN(r,t-o)+e).slice(-t)),e};qk.exports=Ou});var Dk=T((Mt,Ok)=>{var cN=ie(),dN=Ak(),Sa=Ye(),pN=Nk();Mt=function(e,t,r,o){arguments.length===1&&cN(e)&&!fN.test(e)&&(t=e,e=void 0),e=e||new Date,dN(e)||(e=new Date(e)),t=Sa(Mt.masks[t]||t||Mt.masks.default);var n=t.slice(0,4);(n==="UTC:"||n==="GMT:")&&(t=t.slice(4),r=!0,n==="GMT:"&&(o=!0));var s=r?"getUTC":"get",i=e[s+"Date"](),a=e[s+"Day"](),l=e[s+"Month"](),d=e[s+"FullYear"](),c=e[s+"Hours"](),m=e[s+"Minutes"](),h=e[s+"Seconds"](),v=e[s+"Milliseconds"](),p=r?0:e.getTimezoneOffset(),f={d:i,dd:or(i),ddd:Mt.i18n.dayNames[a],dddd:Mt.i18n.dayNames[a+7],m:l+1,mm:or(l+1),mmm:Mt.i18n.monthNames[l],mmmm:Mt.i18n.monthNames[l+12],yy:Sa(d).slice(2),yyyy:d,h:c%12||12,hh:or(c%12||12),H:c,HH:or(c),M:m,MM:or(m),s:h,ss:or(h),l:or(v,3),L:or(Math.round(v/10)),t:c<12?"a":"p",tt:c<12?"am":"pm",T:c<12?"A":"P",TT:c<12?"AM":"PM",Z:o?"GMT":r?"UTC":(Sa(e).match(mN)||[""]).pop().replace(gN,""),o:(p>0?"-":"+")+or(Math.floor(Math.abs(p)/60)*100+Math.abs(p)%60,4),S:["th","st","nd","rd"][i%10>3?0:(i%100-i%10!=10)*i%10]};return t.replace(uN,function(g){return g in f?f[g]:g.slice(1,g.length-1)})};var or=function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return pN(Sa(e),t,"0")},uN=/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZWN]|"[^"]*"|'[^']*'/g,mN=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,fN=/\d/,gN=/[^-+\dA-Z]/g;Mt.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"};Mt.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],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"]};Ok.exports=Mt});var Jk=T((Du,Gk)=>{var hN=Ao(),yN=wi(),$t,Vr,Wk=0;if(yN){for($t=window.requestAnimationFrame,Vr=window.cancelAnimationFrame,ss=["ms","moz","webkit","o"],Ro=0,Vk=ss.length;Ro<Vk&&!$t;Ro++)$t=window[ss[Ro]+"RequestAnimationFrame"],Vr=window[ss[Ro]+"CancelAnimationFrame"]||window[ss[Ro]+"CancelRequestAnimationFrame"];$t&&($t=$t.bind(window),Vr=Vr.bind(window))}var ss,Ro,Vk;$t=$t||function(e){var t=hN(),r=Math.max(0,16-(t-Wk)),o=setTimeout(function(){e(t+r)},r);return Wk=t+r,o};Vr=Vr||function(e){clearTimeout(e)};$t.cancel=Vr;Du=$t;Gk.exports=Du});var Ha=y(Pa());function um(e={}){let{appUrl:t="https://livecodes.io",params:r={},config:o={},headless:n,import:s,lite:i,view:a,...l}=e,d;try{d=new URL(t)}catch{throw new Error(`${t} is not a valid URL.`)}let c=new URLSearchParams;Object.entries(l).forEach(([h,v])=>{v!==void 0&&d.searchParams.set(h,String(v))});let m=e.view==="headless"||n;if(i&&(console.warn(`Deprecation notice: "lite" option is deprecated. Use "config: { mode: 'lite' }" instead.`),typeof o=="object"&&o.mode==null?o.mode="lite":d.searchParams.set("lite","true")),a&&(console.warn('Deprecation notice: The "view" option has been moved to "config.view". For headless mode use "headless: true".'),typeof o=="object"&&o.view==null&&a!=="headless"?o.view=a:d.searchParams.set("view",a)),typeof o=="string")try{new URL(o),d.searchParams.set("config",encodeURIComponent(o))}catch{throw new Error('"config" is not a valid URL or configuration object.')}else o&&typeof o=="object"&&Object.keys(o).length>0&&(o.title&&o.title!=="Untitled Project"&&d.searchParams.set("title",o.title),o.description&&o.description.length>0&&d.searchParams.set("description",o.description),c.set("config","code/"+(0,Ha.compressToEncodedURIComponent)(JSON.stringify(o))));if(r&&typeof r=="object"&&Object.keys(r).length>0)try{c.set("params",(0,Ha.compressToEncodedURIComponent)(JSON.stringify(r)))}catch{Object.keys(r).forEach(h=>{d.searchParams.set(h,encodeURIComponent(String(r[h])))})}return s&&d.searchParams.set("x",encodeURIComponent(s)),m&&d.searchParams.set("headless","true"),d.hash=c.toString(),d.href}var nI=typeof btoa=="function",qa=typeof Buffer=="function",iD=typeof TextDecoder=="function"?new TextDecoder:void 0,mm=typeof TextEncoder=="function"?new TextEncoder:void 0,sI="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",zo=Array.prototype.slice.call(sI),aD=(e=>{let t={};return e.forEach((r,o)=>t[r]=o),t})(zo);var At=String.fromCharCode.bind(String),lD=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),iI=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_");var aI=e=>{let t,r,o,n,s="",i=e.length%3;for(let a=0;a<e.length;){if((r=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(n=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=r<<16|o<<8|n,s+=zo[t>>18&63]+zo[t>>12&63]+zo[t>>6&63]+zo[t&63]}return i?s.slice(0,i-3)+"===".substring(i):s},gm=nI?e=>btoa(e):qa?e=>Buffer.from(e,"binary").toString("base64"):aI,lI=qa?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let o=0,n=e.length;o<n;o+=4096)r.push(At.apply(null,e.subarray(o,o+4096)));return gm(r.join(""))};var cI=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?At(192|t>>>6)+At(128|t&63):At(224|t>>>12&15)+At(128|t>>>6&63)+At(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return At(240|t>>>18&7)+At(128|t>>>12&63)+At(128|t>>>6&63)+At(128|t&63)}},dI=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,pI=e=>e.replace(dI,cI),fm=qa?e=>Buffer.from(e,"utf8").toString("base64"):mm?e=>lI(mm.encode(e)):e=>gm(pI(e)),hm=(e,t=!1)=>t?iI(fm(e)):fm(e);var Xr=(e,t)=>{let r;return(...o)=>{r&&clearTimeout(r),r=setTimeout(()=>e.apply(null,o),typeof t=="function"?t():t)}},ym=e=>{let t=document.createElement("textarea");return t.innerHTML=e,t.value};var Na=e=>e.replace(/<\/script>/g,"<\\/script>"),Er=(e,t=!0)=>e.replace(/\\/g,t?"\\\\":"\\").replace(/`/g,"\\`").replace(/<\/script>/g,"<\\/script>");var Oa=(e,t="_")=>e.replace(/[\W]+/g,t),ar=()=>{let e=!1,t=navigator.userAgent.toLowerCase();return function(r){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(r)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(r.substr(0,4)))&&(e=!0)}(t||navigator.vendor||window.opera),e},Lr=()=>navigator.userAgent.includes("Mac")||navigator.platform.includes("Mac"),Se=e=>Lr()?e.metaKey:e.ctrlKey;var eo=e=>!e?.startsWith("http")&&!e?.startsWith("data:"),to=(e,t=document.baseURI)=>eo(e)?new URL(e,t).href:e,ft=e=>(globalThis.structuredClone||(t=>JSON.parse(JSON.stringify(t,(r,o)=>o===void 0?null:o))))(e),Wo=(e,t)=>Object.fromEntries(Object.entries(e).map(([r,o],n)=>[r,t(o,r,n)])),ro=(e,t)=>Object.fromEntries(Object.entries(e).filter(([r,o],n)=>t(o,r,n))),Ss=e=>{if("clipboard"in navigator)return navigator.clipboard.writeText(e);if(document.queryCommandSupported&&document.queryCommandSupported("copy")){let t=document.createElement("textarea");t.textContent=e,t.style.position="fixed",document.body.appendChild(t),t.select();try{return document.execCommand("copy")}catch(r){return console.warn("Copy to clipboard failed.",r),!1}finally{document.body.removeChild(t)}}return!1};var Da=e=>e.replace(/'[^'"]*'(?=(?:[^"]*"[^"]*")*[^"]*$)/g,function(r){return'"'+r.substring(1,r.length-1)+'"'}).replace(/(\w+(?=([^"\\]*(\\.|"([^"\\]*\\.)*[^"\\]*"))*[^"]*$))(\s*:)(?!(\w*)(?:"))/gm,function(r){return'"'+r.substring(0,r.length-1).trimEnd()+'":'}).replace(/,\s*([\]}])/g,"$1"),Vo=(e,t=!1)=>{try{return JSON.stringify(e,void 0,t?2:void 0)}catch{return""}},Ra=()=>String(Math.random())+"-"+Date.now().toFixed(),_a=(e,t,r)=>{let o=document.createElement("a");o.style.display="none",o.href=r,o.download=Oa(e)+"."+t,o.click(),o.remove()},Go=(e,t)=>new Promise((r,o)=>{if(t&&globalThis[t])return r(globalThis[t]);if(typeof globalThis.importScripts=="function")return globalThis.importScripts(e),t&&globalThis[t]?r(globalThis[t]):r(globalThis);let n=document.createElement("script");n.src=e,n.async=!0;let s=()=>{n.removeEventListener("load",i),n.removeEventListener("error",a)},i=()=>{if(s(),!t)return r("loaded: "+e);let l=setInterval(()=>{if(window[t])return clearInterval(l),r(window[t])},5)},a=()=>{s(),o("failed to load: "+e)};n.addEventListener("load",i),n.addEventListener("error",a),document.head.appendChild(n)}),Wt=(e,t,r)=>{if(t&&document.getElementById(t))return;let o=document.createElement("link");o.rel="stylesheet",o.href=e,o.id=t||"styles-"+Ra(),o.crossOrigin="anonymous",document.head.insertBefore(o,r?document.querySelector(r):null)};var lr=(e,t="text/javascript")=>`data:${t};charset=UTF-8;base64,`+hm(e);var oo=e=>e.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1"),uI=e=>e.replace(/'[^\n']*'/gm,"''").replace(/"[^\n"]*"/gm,'""').replace(/`[^`]*`/gm,"``"),Ba=e=>uI(oo(e)),$=(e,t)=>({...t.customSettings[e]}),Jo=e=>{if(!e)return null;let t=null;if(e.startsWith("http")||e.startsWith("data:"))try{t=new URL(e).href}catch{try{t=new URL(decodeURIComponent(e)).href}catch{}}return t};var xs=e=>e.charAt(0).toUpperCase()+e.slice(1),vm=e=>e.replace(/[-_.]+/g," ").trim().replace(/^([A-Z])|\s+(\w)/g,function(t,r,o){return o?o.toUpperCase():r.toLowerCase()}),Pt=e=>Array.from(new Set(e));var wm=(e,t)=>{if(typeof t=="object"){Object.entries(t).forEach(([o,n])=>e.setAttribute(o,n));return}let r=t.match(/[^\s="']+\s*=\s*(('[^']*')|("[^"]*"))/g)||[];for(let o of r){let[n,...s]=o.split("="),i=s.join("=");e.setAttribute(n,i.slice(1,-1))}};var bm=e=>{let t=document.createElement("div");t.style.height=e,t.style.display="none",document.body.appendChild(t);let r=window.getComputedStyle(t).height;return document.body.removeChild(t),r},Sm=e=>{let t=document.createElement("div");t.style.color=e,document.body.appendChild(t);let o=window.getComputedStyle(t).getPropertyValue("color")||"rgb(77, 121, 179)";document.body.removeChild(t);let n=o.split("(")[1].split(")")[0].split(",").map(d=>Number(d)),[s,i,a,l=1]=n;return{r:s,g:i,b:a,a:l}},mI=(e,t,r,o=1)=>{let n=e/255,s=t/255,i=r/255,a=Math.min(n,s,i),l=Math.max(n,s,i),d=l-a,c=0,m=0,h=0;return d===0?c=0:l===n?c=(s-i)/d%6:l===s?c=(i-n)/d+2:c=(n-s)/d+4,c=Math.round(c*60),c<0&&(c+=360),h=(l+a)/2,m=d===0?0:d/(1-Math.abs(2*h-1)),m=+(m*100).toFixed(0),h=+(h*100).toFixed(0),{h:c,s:m,l:h,a:o}},xm=e=>{let{r:t,g:r,b:o,a:n}=Sm(e);return mI(t,r,o,n)},fI=(e,t,r)=>"#"+((e<<16)+(t<<8)+r).toString(16).padStart(6,"0"),Em=e=>{let{r:t,g:r,b:o}=Sm(e);return fI(t,r,o)},Lm=()=>(...e)=>e,Tm=e=>{let t=e.querySelector("textarea")||e.querySelector('[role="textbox"]');if(t){let r=()=>t.tabIndex=-1;new MutationObserver(n=>{for(let s of n)s.type==="attributes"&&s.attributeName==="tabindex"&&t.tabIndex!==-1&&r()}).observe(t,{attributes:!0}),r()}};var Cm=e=>{if(!e||e.tabIndex<0)return!1;switch(e.tagName){case"A":return!!e.href;case"INPUT":return e.type!=="hidden"&&!e.disabled;case"SELECT":case"TEXTAREA":case"BUTTON":return!e.disabled;default:return!1}},$a=(e,t)=>{let r=[];for(let o of Object.keys(e))if(typeof e[o]!="function")if(!(o in t))r.push(o);else if(e[o]!==null&&typeof e[o]=="object"){let n=$a(e[o],t[o]).map(s=>`${o}.${s}`);r.push(...n)}else e[o]!==t[o]&&r.push(o);return r},Ht={APP_VERSION:"46",SDK_VERSION:"0.11.1",COMMIT_SHA:"43f0982",REPO_URL:"https://github.com/live-codes/livecodes",DOCS_BASE_URL:"/docs/"};var km='<!doctype html><html><head><script id="message-script" data-env="development">window.addEventListener("message",(function(e){var t=e.data.result||e.data.html;t&&(document.write(t),document.close())}))<\/script></head><body></body></html>';var Mm='<ul id="app-menu-project" class="dropdown-menu"><li><a href="#" id="new-link"><span data-i18n="menu.new">New \u2026 </span><span><kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>N</kbd></span></a></li><li><a href="#" id="open-link"><span data-i18n="menu.open">Open \u2026</span> <span><kbd>Ctrl</kbd><kbd>O</kbd></span></a></li><li role="separator"></li><li><a href="#" id="save-link"><span data-i18n="menu.save">Save</span> <span><kbd>Ctrl</kbd><kbd>S</kbd></span></a></li><li><i class="arrow submenu-chevron"></i> <a href="#" id="save-as"><span data-i18n="menu.saveAs.heading">Save as \u2026</span></a><ul class="dropdown-menu submenu" id="save-as-menu"><li><a href="#" id="fork-link"><span data-i18n="menu.saveAs.fork">Fork (New Project)</span> <span><kbd>Ctrl</kbd><kbd>\u21E7</kbd><kbd>S</kbd></span></a></li><li><a href="#" id="template-link" data-i18n="menu.saveAs.template">Template</a></li></ul></li><li role="separator"></li><li><a href="#" id="import-link"><span data-i18n="menu.import">Import \u2026</span> <span><kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>I</kbd></span></a></li><li><i class="arrow submenu-chevron"></i> <a href="#" id="export" data-i18n="menu.export.heading">Export</a><ul class="dropdown-menu submenu" id="export-menu"><li><a href="#" id="export-json" data-i18n="menu.export.json">Export Project (JSON)</a></li><li><a href="#" id="export-src" data-i18n="menu.export.src">Export Source (ZIP)</a></li><li><a href="#" id="export-result" data-i18n="menu.export.result">Export Result (HTML)</a></li><li><a href="#" id="export-githubGist" data-i18n="menu.export.gist">Export to GitHub Gist</a></li><li><a href="#" id="export-codepen" data-i18n="menu.export.codepen">Edit in CodePen</a></li><li><a href="#" id="export-jsfiddle" data-i18n="menu.export.jsfiddle">Edit in JSFiddle</a></li></ul></li><li role="separator"></li><li><a href="#" id="deploy-link" data-i18n="menu.deploy">Deploy \u2026</a></li><li><a href="#" id="broadcast-link" data-i18n="menu.broadcast">Broadcast \u2026</a></li><li><a href="#" id="embed-link" data-i18n="menu.embed">Embed \u2026</a></li><li><a href="#" id="share-link"><span data-i18n="menu.share">Share \u2026</span> <span><kbd>Ctrl</kbd><kbd>Alt</kbd><kbd>S</kbd></span></a></li><li role="separator"></li><li><a href="#" id="info-link" data-i18n="menu.project">Project Info \u2026</a></li><li><a href="#" id="custom-settings-link" data-i18n="menu.customSettings">Custom Settings \u2026</a></li><li><a href="#" id="external-resources-link" data-i18n="menu.resources">External Resources \u2026</a></li></ul>';var Im='<ul id="app-menu-settings" class="dropdown-menu"><li class="link-and-switch"><a href="#" id="welcome-link" data-i18n="menu.welcome.heading">Welcome \u2026</a> <label for="welcome" class="switch" title="Show Welcome screen on startup" data-i18n="menu.showWelcome.title" data-i18n-prop="title"><div><input id="welcome" type="checkbox" data-config="welcome"> <span class="slider round"></span></div></label></li><li role="separator"></li><li><label class="switch"><span data-i18n="menu.autoUpdate">Auto Update</span><div><input id="autoupdate" type="checkbox" data-config="autoupdate"> <span class="slider round"></span></div></label></li><li><label class="switch"><span data-i18n="menu.autoSave">Auto Save</span><div><input id="autosave" type="checkbox" data-config="autosave"> <span class="slider round"></span></div></label></li><li><label class="range-slider-label" title="Delay before auto-update" data-i18n="menu.delay.hint" data-i18n-prop="title"><span data-i18n="menu.delay.heading" data-i18n-prop="innerHTML">Delay: <span id="delay-value">1.5</span>s</span><div><input type="range" id="delay-range" min="0" max="3000" step="250" value="1500" class="range-slider"></div></label></li><li><label class="switch"><span data-i18n="menu.formatOnsave">Format On-save</span><div><input id="formatOnsave" type="checkbox" data-config="formatOnsave"> <span class="slider round"></span></div></label></li><li><label class="switch"><span data-i18n="menu.recoverUnsaved">Recover Unsaved</span><div><input id="recover-unsaved" type="checkbox" data-config="recoverUnsaved"> <span class="slider round"></span></div></label></li><li class="link-and-switch"><a href="#" id="sync-link" data-i18n="menu.sync" data-i18n-prop="innerHTML">Sync (beta) \u2026 <span id="sync-indicator" class="smaller hidden">\u23F3</span></a> <label for="autosync" class="switch"><div><input id="autosync" type="checkbox" data-config="autosync"> <span class="slider round"></span></div></label></li><li role="separator"></li><li><label class="switch"><span data-i18n="menu.theme">Dark Theme</span><div><input id="theme" type="checkbox" data-config="theme"> <span class="slider round"></span></div></label></li><li id="theme-color-item"><span data-i18n="menu.themeColor">Color</span> <span id="theme-color-selector"></span></li><li data-i18n="menu.showSpacing.hint" data-i18n-prop="title" title="Press Alt/Option and move your cursor over result page"><label class="switch"><span data-i18n="menu.showSpacing.heading">Show Spacing</span><div><input id="show-spacing" type="checkbox" data-config="showSpacing"> <span class="slider round"></span></div></label></li><li><label class="switch"><span data-i18n="menu.layout">Vertical Layout</span><div><input id="layout" type="checkbox" data-config="layout"> <span class="slider round"></span></div></label></li><li role="separator"></li><li><a href="#" id="assets-link" data-i18n="menu.assets">Assets \u2026</a></li><li><a href="#" id="snippets-link" data-i18n="menu.snippets">Code Snippets \u2026</a></li><li><a href="#" id="backup-link" data-i18n="menu.backup">Backup / Restore \u2026</a></li><li role="separator"></li><li><a href="#" id="editor-settings-link" data-i18n="menu.editorSettings">Editor Settings \u2026</a></li></ul>';var jm='<ul id="app-menu-help" class="dropdown-menu"><li><a href="#" id="command-menu-link"><span data-i18n="menu.commandMenu">Command Menu</span> <span><kbd>Ctrl</kbd><kbd>K</kbd></span></a></li><li><a href="#" id="keyboard-shortcuts-menu-link"><span data-i18n="menu.keyboardShortcuts">Keyboard Shortcuts</span></a></li><li role="separator"></li><li><a href="https://blog.livecodes.io" target="_blank" rel="noopener" data-i18n="menu.blog">LiveCodes Blog</a></li><li role="separator"></li><li><a href="{{DOCS_BASE_URL}}" target="_blank" rel="noopener" data-i18n="menu.docs">Documentation</a></li><li><a href="{{DOCS_BASE_URL}}getting-started" target="_blank" rel="noopener" data-i18n="menu.getstart">Getting Started</a></li><li><a href="{{DOCS_BASE_URL}}features" target="_blank" rel="noopener" data-i18n="menu.features">Features</a></li><li><a href="{{DOCS_BASE_URL}}configuration" target="_blank" rel="noopener" data-i18n="menu.config">Configuration</a></li><li><a href="{{DOCS_BASE_URL}}sdk" target="_blank" rel="noopener" data-i18n="menu.sdk">SDK</a></li><li><a href="{{DOCS_BASE_URL}}license" target="_blank" rel="noopener" data-i18n="menu.license">License</a></li><li role="separator"></li><li><a href="{{REPO_URL}}/issues/new/choose" target="_blank" rel="noopener" data-i18n="menu.report">Report an issue</a></li><li><a href="{{REPO_URL}}" target="_blank" rel="noopener" data-i18n="menu.source">Source code on GitHub</a></li><li role="separator"></li><li><a href="#" id="about-link" data-i18n="menu.about">About ...</a></li></ul>';var Um='<div id="custom-settings-container" class="modal-container"><div class="modal-title" data-i18n="customSettings.heading">Custom Settings</div><div id="custom-settings-screen-container" class="modal-screen-container"><div class="modal-screen"><label data-i18n="customSettings.JSON">Custom Settings JSON</label><div id="custom-settings-editor" class="editor custom-editor"></div><button id="custom-settings-load-btn" class="wide-button" data-i18n="customSettings.load">Load</button></div><div class="description help" data-i18n="customSettings.desc" data-i18n-prop="innerHTML"><i class="icon-help"></i> For further details, please refer to the <a href="{{DOCS_BASE_URL}}advanced/custom-settings" target="_blank" rel="noopener">documentation</a></div></div></div>';var Am='<div id="test-editor-container" class="modal-container"><div class="modal-title" data-i18n="testEditor.heading">Edit Tests</div><div id="test-editor-screen-container" class="modal-screen-container"><div class="modal-screen"><label data-i18n="testEditor.tests">Tests</label><div id="test-editor" class="editor custom-editor"></div><button id="test-load-btn" class="wide-button" data-i18n="testEditor.load">Load</button></div><div class="description help" data-i18n="testSettings.desc" data-i18n-prop="innerHTML"><i class="icon-help"></i> For further details, please refer to the <a href="https://livecodes.io/docs/features/tests/" target="_blank" rel="noopener">documentation</a></div></div></div>';var Pm='<div id="welcome-container" class="modal-container"><div class="modal-title" data-i18n="welcome.heading">Welcome</div><div id="welcome-screen-container" class="modal-screen-container"><div class="modal-section" id="welcome-start"><h3 data-i18n="welcome.start.heading">Start</h3><ul><li><a href="#" id="welcome-link-new"><i class="icon-file-new"></i> <span data-i18n="welcome.start.new">New...</span></a></li><li><a href="#" id="welcome-link-open"><i class="icon-file-open"></i> <span data-i18n="welcome.start.open">Open...</span></a></li><li><a href="#" id="welcome-link-import"><i class="icon-file-import"></i> <span data-i18n="welcome.start.import">Import...</span></a></li><li class="default-template-li"><span id="no-default-template" class="default-template" data-i18n="welcome.start.noDefaultTemplate"><i class="icon-file-template"></i> No default template </span><a href="#" id="welcome-link-load-default" class="default-template"><i class="icon-file-template"></i> <span data-i18n="welcome.start.loadDefaultTemplate">Load default template</span></a> <a href="{{DOCS_BASE_URL}}features/default-template-language" target="_blank" id="welcome-default-template-info" class="more" title="Click for info..." data-i18n="generic.clickForInfo" data-i18n-prop="title"><i class="icon-info"></i></a></li></ul></div><div class="modal-section" id="welcome-recent"><h3 data-i18n="welcome.recent.heading">Recent</h3><ul id="welcome-recent-list"><li><a href="#" id="welcome-link-recent-open" class="more" data-i18n="generic.more">More...</a></li></ul></div><div class="modal-section" id="welcome-templates"><h3 data-i18n="welcome.templates.heading">Starter Templates</h3><ul id="welcome-template-list"><li><a href="#" id="welcome-link-templates" class="more" data-i18n="generic.more">More...</a></li></ul></div><div class="modal-section" id="welcome-recover"><h3 data-i18n="welcome.recover.heading">Recover</h3><div class="welcome-recover-content"><div class="smaller" data-i18n="welcome.recover.unsavedChanges">Your last project had unsaved changes:</div><ul><li class="smaller overflow-ellipsis"><i class="icon-edit"></i> <span id="unsaved-project-name" class="overflow-ellipsis"></span></li><li class="smaller"><i class="icon-calendar"></i> <span data-i18n="welcome.recover.lastModified" data-i18n-prop="innerHTML">Last modified:</span> <span id="unsaved-project-last-modified"></span></li></ul><div class="welcome-recover-actions"><a href="#" id="prompt-recover-btn" title="Recover project to editor"><i class="icon-recover"></i> <span data-i18n="welcome.recover.recover">Recover</span></a> <a href="#" id="prompt-save-previous-btn" title="Save to device and continue"><i class="icon-save"></i> <span data-i18n="welcome.recover.save">Save</span> </a><a href="#" id="prompt-cancel-recover-btn"><i class="icon-delete"></i> <span data-i18n="welcome.recover.cancel">Cancel</span></a></div></div></div><div class="modal-section" id="welcome-about"><h3 data-i18n="welcome.about.heading">About LiveCodes</h3><ul class="modal-docs"><li><a href="{{DOCS_BASE_URL}}" target="_blank" rel="noopener" data-i18n="welcome.about.documentation">Documentation</a></li><li><a href="{{DOCS_BASE_URL}}getting-started" target="_blank" rel="noopener" data-i18n="generic.about.gettingStarted">Getting Started</a></li><li><a href="{{DOCS_BASE_URL}}configuration" target="_blank" rel="noopener" data-i18n="generic.about.configuration">Configuration</a></li><li><a href="{{DOCS_BASE_URL}}sdk" target="_blank" rel="noopener" data-i18n="generic.about.sdk">LiveCodes SDK</a></li></ul><div class="livecodes-support"><div><a href="{{DOCS_BASE_URL}}sponsor" target="_blank" rel="noopener" title="Sponsor LiveCodes"><i class="icon-sponsor"></i><br><span data-i18n="generic.about.sponsor">Sponsor</span></a></div><div><a href="https://blog.livecodes.io" target="_blank" rel="noopener" title="LiveCodes Blog"><i class="icon-blog"></i><br><span data-i18n="generic.about.blog">Blog</span></a></div><div><a href="https://twitter.com/livecodes_io" target="_blank" rel="noopener" title="\u{1D54F} / Twitter"><i class="icon-share-x"></i><br><span data-i18n="generic.about.twitter">\u{1D54F} / Twitter</span></a></div><div><a href="{{REPO_URL}}" target="_blank" rel="noopener" title="GitHub"><i class="icon-github"></i><br><span data-i18n="generic.about.github">GitHub</span></a></div></div></div></div><div id="welcome-show"><input type="checkbox" value="welcome-show-checkbox" id="welcome-show-checkbox" checked> <label for="welcome-show-checkbox" data-i18n="welcome.showOnStartup">Show on startup</label></div></div>';var Hm='<div id="about-container" class="modal-container"><div class="modal-title" data-i18n="about.heading">About LiveCodes</div><div id="about-screen-container" class="modal-screen-container"><div class="about-logo" title="LiveCodes: A Code Playground That Just Works!" data-i18n="app.logo.title" data-i18n-prop="title"><img src="livecodes/assets/images/livecodes-text-logo-nowrap.svg" width="280" height="auto" alt="LiveCodes logo"></div><div class="modal-section"><h3 data-i18n="about.version.heading">Version</h3><ul class="about-version"><li data-i18n="about.version.app" data-i18n-prop="innerHTML">App version: <span class="version">{{APP_VERSION}}</span></li><li data-i18n="about.version.sdk" data-i18n-prop="innerHTML">SDK version: <span class="version">{{SDK_VERSION}}</span></li><li data-i18n="about.version.commit" data-i18n-prop="innerHTML">Git commit: <a href="{{COMMIT_URL}}" target="_blank" rel="noopener" class="version">{{COMMIT_SHA}}</a></li><li><a data-i18n="about.version.appPermanentUrl" href="{{APP_URL}}" target="_blank" rel="noopener">App Permanent URL</a></li><li><a data-i18n="about.version.sdkPermanentUrl" href="{{SDK_URL}}" target="_blank" rel="noopener">SDK Permanent URL</a></li></ul><h3 data-i18n="about.credits.heading">Credits</h3><p data-i18n="about.credits.para1" data-i18n-prop="innerHTML">LiveCodes is made possible by open source projects, web services and contributors. <a href="{{DOCS_BASE_URL}}credits" target="_blank">View Credits</a></p><p data-i18n="about.credits.para2">\xA9 2024 Hatem Hosny. LiveCodes is licensed under MIT License.</p></div><div class="modal-section" id="about-info"><h3 data-i18n="about.livecodes.aboutUs">About LiveCodes</h3><p data-i18n="about.livecodes.para1" data-i18n-prop="innerHTML"><strong><em>LiveCodes</em></strong> is an open-source, feature-rich, client-side code playground. Currently, 90+ languages and frameworks are supported. It can be used as a standalone app or embedded in any web page.</p><p data-i18n="about.livecodes.para2" data-i18n-prop="innerHTML">A powerful SDK makes it easy to integrate and communicate with playgrounds. Extensive documentation is available with code examples, live demos, and screenshots.</p><h3 data-i18n="about.documentations.heading">Documentations</h3><ul class="modal-docs"><li><a href="{{DOCS_BASE_URL}}getting-started" target="_blank" rel="noopener" data-i18n="about.gettingStarted">Getting Started</a></li><li><a href="{{DOCS_BASE_URL}}" target="_blank" rel="noopener" data-i18n="about.documentations.heading">Documentations</a></li><li><a href="{{DOCS_BASE_URL}}configuration" target="_blank" rel="noopener" data-i18n="about.configuration">Configuration</a></li><li><a href="{{DOCS_BASE_URL}}sdk" target="_blank" rel="noopener" data-i18n="about.sdk">LiveCodes SDK</a></li></ul><div class="livecodes-support"><div><a href="{{DOCS_BASE_URL}}sponsor" target="_blank" rel="noopener" title="Sponsor LiveCodes" data-i18n="about.sponsor.title" data-i18n-prop="title"><i class="icon-sponsor"></i><br><span data-i18n="about.sponsor.text">Sponsor</span></a></div><div><a href="https://blog.livecodes.io" target="_blank" rel="noopener" title="LiveCodes Blog" data-i18n="about.blog.title" data-i18n-prop="title"><i class="icon-blog"></i><br><span data-i18n="about.blog.text">Blog</span></a></div><div><a href="https://twitter.com/livecodes_io" target="_blank" rel="noopener" title="\u{1D54F} / Twitter" data-i18n="about.twitter.title" data-i18n-prop="title"><i class="icon-share-x"></i><br><span data-i18n="about.twitter.text">\u{1D54F} / Twitter</span></a></div><div><a href="{{REPO_URL}}" target="_blank" rel="noopener" title="GitHub" data-i18n="about.github.title" data-i18n-prop="title"><i class="icon-github"></i><br><span data-i18n="about.github.text">GitHub</span></a></div></div></div></div></div>';var qm=`<div id="info-container" class="modal-container"><div class="modal-title" data-i18n="project.heading">Project Info</div><div id="info-screen-container" class="modal-screen-container"><div class="modal-screen"><label for="title-input" data-i18n="project.title">Project Title</label> <input id="title-input" type="text" spellcheck="false"> <label for="description-textarea" data-i18n="project.desc">Description</label> <textarea id="description-textarea"></textarea> <label for="head-textarea" data-i18n="project.head" data-i18n-prop="innerHTML">Add to <head></label> <textarea dir="ltr" id="head-textarea" placeholder='<meta name="viewport" content="width=device-width, initial-scale=1.0" />' spellcheck="false"></textarea> <label for="html-attrs-textarea" data-i18n="project.htmlAttr" data-i18n-prop="innerHTML">Attributes for <html></label> <textarea dir="ltr" id="html-attrs-textarea" placeholder='lang="en" class="my-class"' spellcheck="false"></textarea> <label for="tags-input" data-i18n="project.tags">Tags</label> <input id="tags-input" type="text" spellcheck="false"></div></div></div>`;var Nm='<div id="keyboard-shortcuts-container" class="modal-container"><div class="modal-title" data-i18n="keyboardShortcuts.heading">Keyboard Shortcuts</div><div id="keyboard-shortcuts-screen-container" class="modal-screen-container"><div id="keyboard-shortcuts-status" class="modal-status"></div><div class="modal-screen"><div class="description help" data-i18n="keyboardShortcuts.editorShortcuts" data-i18n-prop="innerHTML">For the list of code editor keyboard shortcuts, see <a href="https://code.visualstudio.com/docs/getstarted/keybindings#_basic-editing" target="_blank" rel="noopener">VS Code shortcuts</a></div><div id="keyboard-shortcuts-table-container"><table id="keyboard-shortcuts-table"><thead><tr><th data-i18n="keyboardShortcuts.command">Command</th><th data-i18n="keyboardShortcuts.key">Key</th></tr></thead><tbody></tbody></table></div></div></div></div>';var Om='<div id="login-screen" class="modal-container"><div class="modal-title" data-i18n="login.heading">Login with GitHub</div><div class="modal-screen-container"><div class="modal-content"><p data-i18n="login.accessAllowed">Allow access to:</p><div class="login-access"><input type="checkbox" value="public_repo" id="public_repo" name="public_repo" checked> <label for="public_repo" data-i18n="login.publicRepo">Repos</label><div class="indent"><input type="checkbox" value="repo" id="repo" name="repo" checked><label for="repo" data-i18n="login.privateRepo">Private Repos</label></div><input type="checkbox" value="gist" id="gist" name="gist" checked><label for="gist" data-i18n="login.gist">Gists</label></div><div class="buttons"><button id="login-btn" class="button" data-i18n="login.loginBtn">Login</button></div></div><div class="description confirm" data-i18n="login.desc" data-i18n-prop="innerHTML"><p>By logging in, you agree that <strong>cookies</strong> may be stored on your device.</p><p><a href="{{DOCS_BASE_URL}}features/github-integration#features-that-require-github-account" target="_blank" rel="noopener">Why are these permissions required?</a></p><p><a href="{{DOCS_BASE_URL}}features/github-integration#setting-permissions" target="_blank" rel="noopener">How to change/revoke permissions?</a></p></div></div></div>';var Dm='<div id="prompt-screen"><div class="modal-title" data-i18n="savePrompt.heading">Unsaved changes</div><div class="modal-screen-container"><div class="modal-screen"><div class="description dialog" data-i18n="savePrompt.prompt.heading" data-i18n-prop="innerHTML">The changes you made may not be saved.<br>Do you want to save now?</div><div class="buttons"><button id="prompt-save-btn" class="button" data-i18n="savePrompt.prompt.save">Save</button> <button id="prompt-donot-save-btn" class="button" data-i18n="savePrompt.prompt.discard">Do not save</button> <button id="prompt-cancel-btn" class="button" data-i18n="savePrompt.prompt.cancel">Cancel</button></div></div></div></div>';var Rm='<div id="prompt-recover-screen"><div class="modal-title" data-i18n="recoverPrompt.heading">Recover unsaved project?</div><div class="modal-screen-container"><div class="description warn" data-i18n="recoverPrompt.desc">Your last project has unsaved changes!<br><br></div><div class="description help" data-i18n="recoverPrompt.meta" data-i18n-prop="innerHTML">Title: <strong id="unsaved-project-name"></strong><br>Last modified: <span id="unsaved-project-last-modified"></span></div><div class="centered" data-i18n="recoverPrompt.prompt.heading" data-i18n-prop="innerHTML"><br>Do you want to recover it now?</div><div class="buttons"><button id="prompt-recover-btn" class="button" title="Recover project to editor" data-i18n="recoverPrompt.prompt.recover" data-i18n-prop="title">Recover</button> <button id="prompt-save-previous-btn" class="button" title="Save to device and continue" data-i18n="recoverPrompt.prompt.save" data-i18n-prop="title">Save</button> <button id="prompt-cancel-recover-btn" class="button" title="Discard unsaved project" data-i18n="recoverPrompt.prompt.discard" data-i18n-prop="title">Cancel</button></div></div><div id="show-prompt"><input type="checkbox" value="disable-recover-checkbox" id="disable-recover-checkbox" name="disable-recover-checkbox"> <label for="disable-recover-checkbox" data-i18n="recoverPrompt.notShowAgain">Do not show this again.</label></div></div>';var _m='<div id="templates-container" class="modal-container"><div class="modal-title" data-i18n="templates.heading">New Project</div><div id="templates-screens" class="modal-screen-container"><ul id="templates-tabs" class="modal-tabs"><li class="active"><a href="#" data-target="templates-starter" data-i18n="templates.starter.heading">Starter Templates</a></li><li><a href="#" data-target="templates-user" data-i18n="templates.user.heading">My Templates</a></li></ul><div id="templates-starter" class="tab-content active"><div class="modal-screen"><ul id="starter-templates-list" class="thumbnails"><li class="loading" data-i18n="templates.starter.loading">Loading starter templates...</li></ul></div></div><div id="templates-user" class="tab-content"><div id="list-container" class="modal-screen"><div class="loading" data-i18n="templates.user.loading">Loading user templates...</div></div></div></div></div>';var Bm='<!doctype html><html lang="en"><head><title>LiveCodes</title><style>body,html{margin:0;padding:0;width:100vw;height:100vh;overflow:hidden}#result{border:0;width:100%;height:100%}</style></head><body><script>let url;const createIframe=e=>{if(!url)return;const o=document.querySelector("#result");o&&o.remove();const t=document.createElement("iframe");t.id="result",t.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts"),t.src=url,t.addEventListener("load",(()=>{t.contentWindow.postMessage({html:e},"*")}),{once:!0}),document.body.appendChild(t)};addEventListener("message",(e=>{if(e.source!=window.opener)return;if(e.data.url)return url=e.data.url,void window.opener.postMessage({type:"ready"},"*");const o=e.data.result;null!=url&&null!=o&&createIframe(o)})),window.opener.postMessage({type:"loaded"},"*")<\/script></body></html>';var Oe=e=>Object.entries(Ht).reduce((t,[r,o])=>t.replace(new RegExp(`{{${r}}}`,"g"),o),e),$m=Oe(km);var Fa=Oe(Mm),za=Oe(Im),Wa=Oe(jm);var Fm=Oe(Um),zm=Oe(Am);var Wm=Oe(Pm),Vm=Oe(Hm),Gm=Oe(qm);var Jm=Oe(Nm),Km=Oe(Om),Zm=Oe(Dm),Ym=Oe(Rm),Qm=Oe(_m);var Xm=Oe(Bm);var tf=["esm.sh","skypack","esm.run","jsdelivr.esm","fastly.jsdelivr.esm","gcore.jsdelivr.esm","testingcf.jsdelivr.esm","jsdelivr.b-cdn.esm","jspm"],rf=["jsdelivr","fastly.jsdelivr","unpkg","gcore.jsdelivr","testingcf.jsdelivr","jsdelivr.b-cdn","npmcdn"],of=["jsdelivr.gh","fastly.jsdelivr.gh","statically","gcore.jsdelivr.gh","testingcf.jsdelivr.gh","jsdelivr.b-cdn.gh"],be={getModuleUrl:(e,{isModule:t=!0,defaultCDN:r="esm.sh",external:o}={})=>{e=e.replace(/#nobundle/g,"");let n=i=>!o||!i.includes("https://esm.sh")?i:i.includes("?")?`${i}&external=${o}`:`${i}?external=${o}`,s=ef(e,t,r);return s?n(s):t?n("https://esm.sh/"+e):"https://cdn.jsdelivr.net/npm/"+e},getUrl:(e,t)=>e.startsWith("http")||e.startsWith("data:")?e:ef(e,!1,t||Vt())||e,cdnLists:{npm:rf,module:tf,gh:of},checkCDNs:async(e,t)=>{let r=[t,...be.cdnLists.npm].filter(Boolean);for(let o of r)try{if((await fetch(be.getUrl(e,o),{method:"HEAD"})).ok)return o}catch{}return be.cdnLists.npm[0]}},Vt=()=>{if(globalThis.appCDN)return globalThis.appCDN;try{return new URL(location.href).searchParams.get("appCDN")||be.cdnLists.npm[0]}catch{return be.cdnLists.npm[0]}},ef=(e,t,r)=>{let o=t&&e.startsWith("unpkg:")?"?module":"";e.startsWith("gh:")?e=e.replace("gh",of[0]):e.includes(":")||(e=(r||(t?tf[0]:rf[0]))+":"+e);for(let n of jI){let[s,i]=n;if(s.test(e))return e.replace(s,i)+o}return null},jI=[[/^(esm\.sh:)(.+)/i,"https://esm.sh/$2"],[/^(npm:)(.+)/i,"https://esm.sh/$2"],[/^(node:)(.+)/i,"https://esm.sh/$2"],[/^(jsr:)(.+)/i,"https://esm.sh/jsr/$2"],[/^(skypack:)(.+)/i,"https://cdn.skypack.dev/$2"],[/^(jsdelivr:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2"],[/^(fastly\.jsdelivr:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2"],[/^(gcore\.jsdelivr:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2"],[/^(testingcf\.jsdelivr:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2"],[/^(jsdelivr\.b-cdn:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2"],[/^(jsdelivr\.gh:)(.+)/i,"https://cdn.jsdelivr.net/gh/$2"],[/^(fastly\.jsdelivr\.gh:)(.+)/i,"https://fastly.jsdelivr.net/gh/$2"],[/^(gcore\.jsdelivr\.gh:)(.+)/i,"https://gcore.jsdelivr.net/gh/$2"],[/^(testingcf\.jsdelivr\.gh:)(.+)/i,"https://testingcf.jsdelivr.net/gh/$2"],[/^(jsdelivr\.b-cdn\.gh:)(.+)/i,"https://jsdelivr.b-cdn.net/gh/$2"],[/^(statically:)(.+)/i,"https://cdn.statically.io/gh/$2"],[/^(esm\.run:)(.+)/i,"https://esm.run/$2"],[/^(jsdelivr\.esm:)(.+)/i,"https://cdn.jsdelivr.net/npm/$2/+esm"],[/^(fastly\.jsdelivr\.esm:)(.+)/i,"https://fastly.jsdelivr.net/npm/$2/+esm"],[/^(gcore\.jsdelivr\.esm:)(.+)/i,"https://gcore.jsdelivr.net/npm/$2/+esm"],[/^(testingcf\.jsdelivr\.esm:)(.+)/i,"https://testingcf.jsdelivr.net/npm/$2/+esm"],[/^(jsdelivr\.b-cdn\.esm:)(.+)/i,"https://jsdelivr.b-cdn.net/npm/$2/+esm"],[/^(jspm:)(.+)/i,"https://jspm.dev/$2"],[/^(esbuild:)(.+)/i,"https://esbuild.vercel.app/$2"],[/^(bundle\.run:)(.+)/i,"https://bundle.run/$2"],[/^(unpkg:)(.+)/i,"https://unpkg.com/$2"],[/^(npmcdn:)(.+)/i,"https://npmcdn.com/$2"],[/^(bundlejs:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(bundle:)(.+)/i,"https://deno.bundlejs.com/?file&q=$2"],[/^(deno:)(.+)/i,"https://deno.bundlejs.com/?file&q=https://deno.land/x/$2/mod.ts"],[/^(https:\/\/deno\.land\/.+)/i,"https://deno.bundlejs.com/?file&q=$1"],[/^(github:|https:\/\/github\.com\/)(.[^\/]+?)\/(.[^\/]+?)\/(?!releases\/)(?:(?:blob|raw)\/)?(.+?\/.+)/i,"https://deno.bundlejs.com/?file&q=https://cdn.jsdelivr.net/gh/$2/$3@$4"],[/^(gist\.github:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(gitlab:|https:\/\/gitlab\.com\/)([^\/]+.*\/[^\/]+)\/(?:raw|blob)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://gl.githack.com/$2/raw/$3"],[/^(bitbucket:|https:\/\/bitbucket\.org\/)([^\/]+\/[^\/]+)\/(?:raw|src)\/(.+?)(?:\?.*)?$/i,"https://deno.bundlejs.com/?file&q=https://bb.githack.com/$2/raw/$3"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/]+)\/revisions\/([^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/$3/files/$4"],[/^(bitbucket:)snippets\/([^\/]+\/[^\/\#\?]+)(?:\?[^#]*)?(?:\#file-(.+?))$/i,"https://bb.githack.com/!api/2.0/snippets/$2/HEAD/files/$3"],[/^(bitbucket:)\!api\/2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(api\.bitbucket:)2.0\/snippets\/([^\/]+\/[^\/]+\/[^\/]+)\/files\/(.+?)(?:\?.*)?$/i,"https://bb.githack.com/!api/2.0/snippets/$2/files/$3"],[/^(rawgit:)(.+?\/[0-9a-f]+\/raw\/(?:[0-9a-f]+\/)?.+)$/i,"https://gist.githack.com/$2"],[/^(rawgit:|https:\/\/raw\.githubusercontent\.com)(\/[^\/]+\/[^\/]+|[0-9A-Za-z-]+\/[0-9a-f]+\/raw)\/(.+)/i,"https://deno.bundlejs.com/?file&q=https://raw.githack.com/$2/$3"]];var{getUrl:A,getModuleUrl:UI}=be,H=A("@live-codes/browser-compilers@0.22.3/dist/");var nf=A("art-template@4.13.2/lib/template-web.js"),sf=A("@asciidoctor/core@2.2.8/dist/browser/asciidoctor.js"),af=A("@assemblyscript/loader@0.27.29/umd/index.js");var lf=A("@hatemhosny/astro-internal@0.0.4/");var cf=A("@babel/standalone@7.26.4/babel.js"),df=A("biwascheme@0.8.0/release/biwascheme.js");var pf=A("@live-codes/browser-jest@0.0.3/dist/browser-jest.umd.js"),Va=A("brython@3.12.4/"),uf=UI("chai@5.1.2"),Es=A("cherry-cljs@0.2.19/");var Ga=A("@live-codes/clio-browser-compiler@0.0.3/public/build/");var mf=A("coffeescript@2.7.0/lib/coffeescript-browser-compiler-legacy/coffeescript.js");var ff=A("dot@1.1.3/doT.js"),gf=A("ejs@3.1.10/ejs.js");var hf="es-module-shims@1.10.0/dist/es-module-shims.js",yf=A("eta@3.4.0/dist/eta.umd.js");var vf=A("@fontsource/anonymous-pro@4.5.9/index.css"),wf=A("gh:hatemhosny/astigmata-font@6d0ee00a07fb1932902f0b81a504d075d47bd52f/index.css");var bf=A("@fontsource/cascadia-code@4.2.1/index.css"),Sf=A("https://fonts.cdnfonts.com/css/code-new-roman-2"),xf=A("comic-mono@0.0.1/index.css"),Ef=A("@fontsource/courier-prime@4.5.9/index.css"),Lf=A("https://fonts.cdnfonts.com/css/dec-terminal-modern"),Tf=A("@fontsource/dejavu-mono@4.5.4/index.css"),Cf=A("@typopro/web-fantasque-sans-mono@3.7.5/TypoPRO-FantasqueSansMono.css"),kf=A("firacode@6.2.0/distr/fira_code.css"),Mf=A("https://fonts.cdnfonts.com/css/fixedsys-62"),If=A("hack-font@3.3.0/build/web/hack.css"),jf=A("typeface-hermit@0.0.44/index.css"),Uf=A("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono&display=swap"),Af=A("https://fonts.googleapis.com/css2?family=Inconsolata&display=swap"),Pf=A("https://fonts.googleapis.com/css?family=Inter:300,400,500"),Hf=A("@fontsource/iosevka@4.5.4/index.css"),qf=A("@fontsource/jetbrains-mono@4.5.11/index.css"),Nf=A("https://fonts.googleapis.com/css?family=Material+Icons&display=swap"),Of=A("https://fonts.cdnfonts.com/css/menlo"),no=A("monaspace-font@0.0.2/"),Df=A("https://fonts.cdnfonts.com/css/monofur"),Rf=A("@typopro/web-monoid@3.7.5/TypoPRO-Monoid.css"),_f=A("https://fonts.googleapis.com/css2?family=Noto+Sans+Mono&display=swap"),Bf=A("https://fonts.googleapis.com/css2?family=Nova+Mono&display=swap"),$f=A("@fontsource/opendyslexic@4.5.4/index.css"),Ff=A("https://fonts.cdnfonts.com/css/profontwindows"),zf=A("@fontsource/roboto-mono@4.5.8/index.css"),Wf=A("https://fonts.cdnfonts.com/css/sf-mono"),Vf=A("@fontsource/source-code-pro@4.5.12/index.css"),Gf=A("@fontsource/space-mono@4.5.10/index.css"),Jf=A("https://fonts.cdnfonts.com/css/sudo-var"),Kf=A("@fontsource/ubuntu-mono@4.5.11/index.css"),Zf=A("victormono@1.5.4/dist/index.css"),Yf=A("fscreen@1.2.0/dist/fscreen.esm.js");var so=A("@live-codes/go2js@0.5.0/build/");var Ja=A("handlebars@4.7.8/dist/");var Ka=A("imba@2.0.0-alpha.229/dist/"),Qf=A("@types/jest@27.4.1/index.d.ts"),Xf=A("gh:jscl-project/jscl-project.github.io@058adc599f0d012718ef3ad28e704a92c4dd741e/jscl.js"),eg=A("jszip@3.10.1/dist/jszip.js");var tg=A("liquidjs@10.14.0/dist/liquid.browser.min.js"),rg=A("localforage@1.10.0/dist/localforage.min.js"),cr=A("fengari-web@0.1.4/dist/fengari-web.js"),og=A("luna-console@1.3.3/luna-console.css"),ng=A("luna-data-grid@0.5.1/luna-data-grid.css"),sg=A("luna-dom-viewer@1.2.4/luna-dom-viewer.css"),ig=A("luna-object-viewer@0.2.4/luna-object-viewer.css"),ag=A("malinajs@0.7.19/"),lg=A("marked@13.0.2/marked.min.js");var cg=A("mjml-browser@4.15.3/lib/index.js");var dg=A("mustache@4.2.0/mustache.js"),pg=A("@hatemhosny/ninja-keys@1.14.0/bundle/index.js");var ug=A("normalize.css@8.0.1/normalize.css"),Za=A("nunjucks@3.2.4/browser/"),Ko=A("https://cdn.opalrb.com/opal/1.8.2/"),mg=A("parinfer@3.13.1/parinfer.js");var fg=A("@live-codes/postcss-import-url@0.1.2/dist/postcss-import-url.js"),dr=A("prettier@3.3.2/"),gg=A("@prettier/plugin-php@0.22.2/standalone.js");var hg=A("requirejs@2.3.6/require.js");var yg=A("reset-css@5.0.1/reset.css"),Ya=A("riot@9.2.2/");var vg=A("@ruby/wasm-wasi@2.6.2/dist/browser.umd.js"),wg=A("@snackbar/core@1.7.0/dist/snackbar.css"),bg=A("spacingjs@1.0.7/dist/bundle.js"),Ls=A("sql-formatter@12.2.1/dist/sql-formatter.min.js"),Sg=A("sql.js@1.10.3/dist/"),io=A("squint-cljs@0.4.81/"),xg=A("@stencil/core@3.2.2/compiler/stencil.js"),Eg=A("stylis@4.3.2/dist/umd/stylis.js"),Ee=A("svelte@5.12.0/");var Ts=A("@yaireo/tagify@4.25.1/dist/");var gt=A("tau-prolog@0.3.4/modules/");var Lg=A("twig@1.17.1/twig.min.js"),Tg=A("typescript@5.6.2/lib/typescript.js");var Cg=A("uniter@2.18.0/dist/uniter.js");var Qa=A("vue@2"),kg=A("vue@3/dist/vue.runtime.esm-browser.prod.js"),Mg=A("livecodes@0.11.1/vue.js"),Ig=A("vue3-sfc-loader@0.9.5/dist/"),jg=A("wabt@1.0.35/index.js"),Ug=A("wasmoon@1.16.0/dist/index.js");var Ag=e=>{try{return JSON.parse(e).map(t=>t.value)}catch{return e.split(",").map(t=>t.trim())}},Pg=async(e,t,r,o)=>{let n=document.createElement("div");n.innerHTML=Gm;let s=n.firstChild;r.show(s,{onClose:()=>m(),autoFocus:!1});let i=Hg();i.value=e.title,i.focus();let a=Og();a.value=e.description;let l=qg();l.value=e.head;let d=Ng();d.value=typeof e.htmlAttrs=="string"?e.htmlAttrs:JSON.stringify(e.htmlAttrs,null,2);let c=Dg();c.value=Pt(e.tags).join(", ");let m=async()=>{Tr().textContent=i.value,o(i.value,a.value,l.value,d.value,Ag(c.value))};Wt(Ts+"tagify.css","tagify-styles");let h=(await import(Ts+"tagify.esm.js")).default;h&&new h(c,{focusable:!1,whitelist:Array.from(new Set((await t.getList()).map(v=>v.tags).flat())).sort((v,p)=>p>v?-1:1),dropdown:{maxItems:40,enabled:0,closeOnSelect:!1,highlightFirst:!0}})};var xe=(e=window.deps.translateString("generic.loading","Loading..."))=>{let t=document.createElement("div");return t.innerHTML=e,t.classList.add("modal-message"),t};var Rg=()=>document.querySelector("#toolbar"),Tr=()=>document.querySelector("#project-title"),_g=()=>document.querySelector("#editor-container"),Bg=()=>document.querySelector("#editors"),$g=()=>document.querySelector("#markup"),Fg=()=>document.querySelector("#style"),zg=()=>document.querySelector("#script"),Wg=()=>document.querySelector("#output"),pr=()=>document.querySelector("#result"),ur=()=>document.querySelector("#result > iframe"),Xa=()=>document.querySelector("#editor-container .gutter"),Cs=()=>document.querySelector("a#logo"),ao=()=>document.querySelector("#run-button"),Zo=()=>document.querySelector("#light-theme-button"),Yo=()=>document.querySelector("#dark-theme-button"),Vg=()=>document.querySelector("#app-menu-button-i18n"),Gg=()=>document.querySelector("#app-menu-container-i18n"),Jg=()=>document.querySelector("#markup-selector"),Kg=()=>document.querySelector("#style-selector"),Zg=()=>document.querySelector("#script-selector"),ks=()=>document.querySelector("#editor-tools"),lo=()=>document.querySelector("#editor-tools #focus-btn"),Ms=()=>document.querySelector("#editor-tools #copy-btn"),Is=()=>document.querySelector("#editor-tools #copy-as-url-btn"),js=()=>document.querySelector("#editor-tools #code-to-img-btn"),Yg=()=>document.querySelector("#editor-tools #undo-btn"),Qg=()=>document.querySelector("#editor-tools #redo-btn"),Cr=()=>document.querySelector("#editor-tools #format-btn"),Xg=()=>document.querySelector("#editor-mode"),eh=()=>document.querySelector("#editor-tools #editor-status"),el=()=>document.querySelector("#editor-tools #external-resources-btn");var th=()=>document.querySelector("#editor-tools #project-info-btn"),tl=()=>document.querySelector("#editor-tools #custom-settings-btn"),rh=()=>document.querySelector("#editor-tools #editor-settings-btn"),oh=()=>document.querySelector("#share-button"),kr=()=>document.querySelector("#result-button"),Us=()=>document.querySelector("#fullscreen-button"),rl=()=>document.querySelectorAll(".editor-title:not(.hidden)"),nh=()=>document.querySelectorAll("#editors > .editor"),co=()=>document.querySelector("#output #tools-pane"),ol=()=>document.querySelector("#output #tools-pane-bar"),As=()=>document.querySelector("#tools-pane-buttons"),po=()=>document.querySelector("#tools-pane-titles"),Mr=()=>document.querySelector("#tools-pane-titles > .console"),nl=()=>document.querySelector("#tools-pane-titles > .compiled"),sl=()=>document.querySelector("#tools-pane-titles > .tests"),sh=()=>document.querySelector("#tools-pane-loading"),Ps=()=>document.querySelector("#zoom-button"),ih=()=>document.querySelector("#zoom-button #zoom-value"),ah=()=>document.querySelector("#result-popup-btn"),il=()=>document.querySelector("#modal #prompt-save-btn"),lh=()=>document.querySelector("#modal #prompt-donot-save-btn"),ch=()=>document.querySelector("#modal #prompt-cancel-btn"),dh=()=>document.querySelector("#modal #prompt-recover-btn"),ph=()=>document.querySelector("#modal #prompt-save-previous-btn"),uh=()=>document.querySelector("#modal #prompt-cancel-recover-btn"),al=()=>document.querySelector("#modal #unsaved-project-name"),mh=()=>document.querySelector("#modal #unsaved-project-last-modified"),fh=()=>document.querySelector("#modal #disable-recover-checkbox"),gh=()=>document.querySelectorAll("#select-editor .language-item a"),hh=()=>document.querySelectorAll("#select-editor .language-menu-button"),yh=()=>document.querySelector("#style-selector .dropdown-menu"),Hs=()=>document.querySelectorAll("#app-menu-settings input"),ll=()=>document.querySelector("#app-menu-settings #theme-color-selector");var vh=()=>document.querySelector("#app-menu-container-project"),wh=()=>document.querySelector("#app-menu-button-project"),bh=()=>document.querySelector("#app-menu-container-settings"),Sh=()=>document.querySelector("#app-menu-button-settings"),xh=()=>document.querySelector("#app-menu-container-help"),Eh=()=>document.querySelector("#app-menu-button-help"),qs=()=>document.querySelector("#export-menu #export-json"),Ns=()=>document.querySelector("#export-menu #export-result"),Os=()=>document.querySelector("#export-menu #export-src"),Ds=()=>document.querySelector("#export-menu #export-githubGist"),Rs=()=>document.querySelector("#export-menu #export-codepen"),_s=()=>document.querySelector("#export-menu #export-jsfiddle"),Ir=()=>document.querySelector("#login-link"),jr=()=>document.querySelector("#logout-link"),Qo=()=>document.querySelector("#new-link"),Xo=()=>document.querySelector("#open-link"),en=()=>document.querySelector("#save-link"),tn=()=>document.querySelector("#fork-link"),Bs=()=>document.querySelector("#template-link"),$s=()=>document.querySelector("#external-resources-link"),Fs=()=>document.querySelector("#custom-settings-link"),rn=()=>document.querySelector("#share-link"),zs=()=>document.querySelector("#embed-link"),Ws=()=>document.querySelector("#editor-settings-link"),Vs=()=>document.querySelector("#deploy-link"),Lh=()=>document.querySelector("#sync-link");var on=()=>document.querySelector("#import-link"),nn=()=>document.querySelector("#backup-link"),Gs=()=>document.querySelector("#broadcast-link"),Js=()=>document.querySelector("#welcome-link"),Ks=()=>document.querySelector("#about-link"),Zs=()=>document.querySelector("#command-menu-link"),Ys=()=>document.querySelector("#keyboard-shortcuts-menu-link"),Th=()=>document.querySelector("#app-menu-settings input#autoupdate"),cl=()=>document.querySelector("#app-menu-settings #delay-value"),dl=()=>document.querySelector("#app-menu-settings input#delay-range"),Ch=()=>document.querySelector("#app-menu-settings input#autosave"),kh=()=>document.querySelector("#app-menu-settings input#autosync"),Mh=()=>document.querySelector("#app-menu-settings input#formatOnsave"),Ih=()=>document.querySelectorAll("#style-selector input");var pl=()=>document.querySelector("#app-menu-settings input#theme"),ul=()=>document.querySelector("#app-menu-settings input#layout"),jh=()=>document.querySelector("#app-menu-settings input#welcome"),Uh=()=>document.querySelector("#app-menu-settings input#recover-unsaved"),Ah=()=>document.querySelector("#theme-color-selector"),Ph=()=>document.querySelector("#theme-color-custom"),Hh=()=>document.querySelector("#app-menu-settings input#show-spacing"),qh=()=>document.querySelectorAll("#css-preset-menu a"),Qs=()=>document.querySelector("#app-menu-project #info-link"),Xs=()=>document.querySelector("#app-menu-settings #assets-link"),ei=()=>document.querySelector("#app-menu-settings #snippets-link"),qt=()=>document.querySelector("#app-menu-help"),Hg=()=>document.querySelector("#info-container input#title-input"),qg=()=>document.querySelector("#info-container #head-textarea"),Ng=()=>document.querySelector("#info-container #html-attrs-textarea"),Og=()=>document.querySelector("#info-container #description-textarea"),Dg=()=>document.querySelector("#info-container input#tags-input");var Nh=()=>document.querySelector("#custom-settings-container #custom-settings-editor"),Oh=()=>document.querySelector("#custom-settings-container #custom-settings-load-btn"),Dh=()=>document.querySelector("#test-editor-container #test-editor"),Rh=()=>document.querySelector("#test-editor-container #test-load-btn"),_h=()=>document.querySelector("#test-container #edit-tests-btn"),sn=()=>document.querySelector("#test-container #run-tests-btn"),uo=()=>document.querySelector("#test-container #watch-tests-btn");var Bh=e=>e.querySelector('#templates-tabs [data-target="templates-starter"]'),$h=e=>e.querySelector("#starter-templates-list"),Fh=e=>e.querySelector("#templates-user .modal-screen");var zh=()=>document.querySelector("#broadcast-status-btn");var Wh=e=>e.querySelector("#welcome-link-new"),Vh=e=>e.querySelector("#welcome-link-open"),Gh=e=>e.querySelector("#welcome-link-import"),Jh=e=>e.querySelector(".default-template-li"),Kh=e=>e.querySelector("#no-default-template"),Zh=e=>e.querySelector("#welcome-link-load-default"),Yh=e=>e.querySelector("#welcome-link-recent-open"),Qh=e=>e.querySelector("#welcome-link-templates"),Xh=e=>e.querySelector("#modal #welcome-show-checkbox"),ey=(e=document)=>e.querySelector("#modal #welcome-recover"),ty=e=>e.querySelector("#modal #welcome-screen-container"),ry=e=>e.querySelector("#modal #welcome-recent"),oy=e=>e.querySelector("#modal #welcome-recent-list"),ny=e=>e.querySelector("#modal #welcome-template-list"),ml=()=>document.querySelector("ninja-keys"),fl=()=>document.querySelector("#result-mode-drawer");var iy=(e,t)=>{let r=document.createElement("div");r.innerHTML=Km;let o=r.firstChild,n=o.querySelector("#public_repo"),s=o.querySelector("#repo"),i=o.querySelector("#gist"),a=o.querySelector("#login-btn");return e.addEventListener(n,"change",()=>{s.checked=n.checked},!1),e.addEventListener(s,"change",()=>{s.checked&&(n.checked=!0)},!1),e.addEventListener(a,"click",()=>{let l=[...n.checked&&!s.checked?[n.value]:[],...s.checked?[s.value]:[],...i.checked?[i.value]:[]];t(l)},!1),o},gl=e=>{let t=Ir();t&&(t.style.display="none");let r=jr(),o=r?.querySelector("span");if(r&&o){let n=e.displayName||e.username;o.innerHTML=window.deps.translateString("login.logout","Log out"),r.title=window.deps.translateString("login.loginAs","Logged in as {{name}}",{name:n}),r.style.display="flex"}},ay=()=>{let e=Ir();e&&(e.style.display="flex");let t=jr(),r=t?.querySelector("span");t&&r&&(r.innerHTML=window.deps.translateString("login.logout","Log out"),t.style.display="none")};function PI(e){return import(e)}var hl=null;function ly(e){return hl||(hl=PI(e).catch(()=>{})),hl}var cy=(e,t,r,o,n=!1)=>{let s=document.createElement("li");t.appendChild(s);let i=document.createElement("a");i.href="#",i.dataset.id=e.id,i.classList.add("open-project-link");let a=document.createElement("div");a.classList.add("open-project-item"),i.appendChild(a);let l=ar()?new Date(e.lastModified).toLocaleDateString():new Date(e.lastModified).toLocaleString(),d=[];ar()||e.languages.forEach(k=>{let L=document.createElement("span");L.classList.add("language-tag"),L.dataset.lang=o(k),n?L.classList.add("template-tag"):L.title=window.deps.translateString("open.filter.language","filter by language"),L.textContent=r(k),d.push(L)});let c=[];e.tags=[...new Set(e.tags)].filter(Boolean),!ar()&&e.tags.length>0&&e.tags.forEach(k=>{let L=document.createElement("span");L.classList.add("user-tag"),L.dataset.tag=k,n?L.classList.add("template-tag"):L.title=window.deps.translateString("open.filter.tag","filter by tag"),L.textContent=k,c.push(L)});let m=document.createElement("div");m.classList.add("open-title","overflow-text"),m.textContent=e.title,a.appendChild(m);let h=document.createElement("div");h.classList.add("light"),h.textContent=window.deps.translateString("open.lastModified","Last modified: {{modified}}",{modified:l}),a.appendChild(h);let v=document.createElement("div");v.classList.add("project-tags"),d.forEach(k=>v.append(k)),v.innerHTML+=c.length>0?' <span class="light">|</span> ':"",c.forEach(k=>v.append(k)),a.appendChild(v);let p=document.createElement("div");p.classList.add("template-default");let f=document.createElement("i");f.classList.add("icon-file-template"),p.appendChild(f);let g=document.createElement("span");g.innerText=window.deps.translateString("open.setAsDefault","Set as default"),g.classList.add("template-default-link"),p.appendChild(g);let w=document.createElement("span");w.classList.add("default-template-label"),w.innerText=window.deps.translateString("open.defaultTemplate","Default template "),p.appendChild(w);let S=document.createElement("span");S.innerText=window.deps.translateString("open.removeDefault","(unset)"),S.classList.add("template-remove-default-link","delete"),w.appendChild(S),n&&i.appendChild(p),s.appendChild(i);let u=document.createElement("div");u.classList.add("actions"),s.appendChild(u);let b=document.createElement("button");b.classList.add("delete-button");let E='<i class="icon-delete"></i>';return b.title=window.deps.translateString("open.action.delete","Delete"),b.innerHTML=`<span id="delete-button">${E}</span>`,u.appendChild(b),{link:i,deleteButton:b,setAsDefaultLink:g,removeDefaultLink:S}};var at=typeof window<"u"?window:null,vl=at===null,ln=vl?void 0:at.document,ht="addEventListener",yt="removeEventListener",yl="getBoundingClientRect",an="_a",vt="_b",Gt="_c",ti="horizontal",wt=function(){return!1},HI=vl?"calc":["","-webkit-","-moz-","-o-"].filter(function(e){var t=ln.createElement("div");return t.style.cssText="width:"+e+"calc(9px)",!!t.style.length}).shift()+"calc",py=function(e){return typeof e=="string"||e instanceof String},dy=function(e){if(py(e)){var t=ln.querySelector(e);if(!t)throw new Error("Selector "+e+" did not match a DOM element");return t}return e},Ie=function(e,t,r){var o=e[t];return o!==void 0?o:r},ri=function(e,t,r,o){if(t){if(o==="end")return 0;if(o==="center")return e/2}else if(r){if(o==="start")return 0;if(o==="center")return e/2}return e},qI=function(e,t){var r=ln.createElement("div");return r.className="gutter gutter-"+t,r},NI=function(e,t,r){var o={};return py(t)?o[e]=t:o[e]=HI+"("+t+"% - "+r+"px)",o},OI=function(e,t){var r;return r={},r[e]=t+"px",r},DI=function(e,t){if(t===void 0&&(t={}),vl)return{};var r=e,o,n,s,i,a,l;Array.from&&(r=Array.from(r));var d=dy(r[0]),c=d.parentNode,m=getComputedStyle?getComputedStyle(c):null,h=m?m.flexDirection:null,v=Ie(t,"sizes")||r.map(function(){return 100/r.length}),p=Ie(t,"minSize",100),f=Array.isArray(p)?p:r.map(function(){return p}),g=Ie(t,"maxSize",1/0),w=Array.isArray(g)?g:r.map(function(){return g}),S=Ie(t,"expandToMin",!1),u=Ie(t,"gutterSize",10),b=Ie(t,"gutterAlign","center"),E=Ie(t,"snapOffset",30),k=Array.isArray(E)?E:r.map(function(){return E}),L=Ie(t,"dragInterval",1),P=Ie(t,"direction",ti),D=Ie(t,"cursor",P===ti?"col-resize":"row-resize"),z=Ie(t,"gutter",qI),ae=Ie(t,"elementStyle",NI),ee=Ie(t,"gutterStyle",OI);P===ti?(o="width",n="clientX",s="left",i="right",a="clientWidth"):P==="vertical"&&(o="height",n="clientY",s="top",i="bottom",a="clientHeight");function le(N,U,q,F){var ke=ae(o,U,q,F);Object.keys(ke).forEach(function(we){N.style[we]=ke[we]})}function te(N,U,q){var F=ee(o,U,q);Object.keys(F).forEach(function(ke){N.style[ke]=F[ke]})}function re(){return l.map(function(N){return N.size})}function ge(N){return"touches"in N?N.touches[0][n]:N[n]}function Ce(N){var U=l[this.a],q=l[this.b],F=U.size+q.size;U.size=N/this.size*F,q.size=F-N/this.size*F,le(U.element,U.size,this[vt],U.i),le(q.element,q.size,this[Gt],q.i)}function Xe(N){var U,q=l[this.a],F=l[this.b];this.dragging&&(U=ge(N)-this.start+(this[vt]-this.dragOffset),L>1&&(U=Math.round(U/L)*L),U<=q.minSize+q.snapOffset+this[vt]?U=q.minSize+this[vt]:U>=this.size-(F.minSize+F.snapOffset+this[Gt])&&(U=this.size-(F.minSize+this[Gt])),U>=q.maxSize-q.snapOffset+this[vt]?U=q.maxSize+this[vt]:U<=this.size-(F.maxSize-F.snapOffset+this[Gt])&&(U=this.size-(F.maxSize+this[Gt])),Ce.call(this,U),Ie(t,"onDrag",wt)(re()))}function R(){var N=l[this.a].element,U=l[this.b].element,q=N[yl](),F=U[yl]();this.size=q[o]+F[o]+this[vt]+this[Gt],this.start=q[s],this.end=q[i]}function K(N){if(!getComputedStyle)return null;var U=getComputedStyle(N);if(!U)return null;var q=N[a];return q===0?null:(P===ti?q-=parseFloat(U.paddingLeft)+parseFloat(U.paddingRight):q-=parseFloat(U.paddingTop)+parseFloat(U.paddingBottom),q)}function I(N){var U=K(c);if(U===null||f.reduce(function(we,et){return we+et},0)>U)return N;var q=0,F=[],ke=N.map(function(we,et){var xr=U*we/100,vs=ri(u,et===0,et===N.length-1,b),ws=f[et]+vs;return xr<ws?(q+=ws-xr,F.push(0),ws):(F.push(xr-ws),xr)});return q===0?N:ke.map(function(we,et){var xr=we;if(q>0&&F[et]-q>0){var vs=Math.min(q,F[et]-q);q-=vs,xr=we-vs}return xr/U*100})}function j(){var N=this,U=l[N.a].element,q=l[N.b].element;N.dragging&&Ie(t,"onDragEnd",wt)(re()),N.dragging=!1,at[yt]("mouseup",N.stop),at[yt]("touchend",N.stop),at[yt]("touchcancel",N.stop),at[yt]("mousemove",N.move),at[yt]("touchmove",N.move),N.stop=null,N.move=null,U[yt]("selectstart",wt),U[yt]("dragstart",wt),q[yt]("selectstart",wt),q[yt]("dragstart",wt),U.style.userSelect="",U.style.webkitUserSelect="",U.style.MozUserSelect="",U.style.pointerEvents="",q.style.userSelect="",q.style.webkitUserSelect="",q.style.MozUserSelect="",q.style.pointerEvents="",N.gutter.style.cursor="",N.parent.style.cursor="",ln.body.style.cursor=""}function V(N){if(!("button"in N&&N.button!==0)){var U=this,q=l[U.a].element,F=l[U.b].element;U.dragging||Ie(t,"onDragStart",wt)(re()),N.preventDefault(),U.dragging=!0,U.move=Xe.bind(U),U.stop=j.bind(U),at[ht]("mouseup",U.stop),at[ht]("touchend",U.stop),at[ht]("touchcancel",U.stop),at[ht]("mousemove",U.move),at[ht]("touchmove",U.move),q[ht]("selectstart",wt),q[ht]("dragstart",wt),F[ht]("selectstart",wt),F[ht]("dragstart",wt),q.style.userSelect="none",q.style.webkitUserSelect="none",q.style.MozUserSelect="none",q.style.pointerEvents="none",F.style.userSelect="none",F.style.webkitUserSelect="none",F.style.MozUserSelect="none",F.style.pointerEvents="none",U.gutter.style.cursor=D,U.parent.style.cursor=D,ln.body.style.cursor=D,R.call(U),U.dragOffset=ge(N)-U.end}}v=I(v);var he=[];l=r.map(function(N,U){var q={element:dy(N),size:v[U],minSize:f[U],maxSize:w[U],snapOffset:k[U],i:U},F;if(U>0&&(F={a:U-1,b:U,dragging:!1,direction:P,parent:c},F[vt]=ri(u,U-1===0,!1,b),F[Gt]=ri(u,!1,U===r.length-1,b),h==="row-reverse"||h==="column-reverse")){var ke=F.a;F.a=F.b,F.b=ke}if(U>0){var we=z(U,P,q.element);te(we,u,U),F[an]=V.bind(F),we[ht]("mousedown",F[an]),we[ht]("touchstart",F[an]),c.insertBefore(we,q.element),F.gutter=we}return le(q.element,q.size,ri(u,U===0,U===r.length-1,b),U),U>0&&he.push(F),q});function Ne(N){var U=N.i===he.length,q=U?he[N.i-1]:he[N.i];R.call(q);var F=U?q.size-N.minSize-q[Gt]:N.minSize+q[vt];Ce.call(q,F)}l.forEach(function(N){var U=N.element[yl]()[o];U<N.minSize&&(S?Ne(N):N.minSize=U)});function ne(N){var U=I(N);U.forEach(function(q,F){if(F>0){var ke=he[F-1],we=l[ke.a],et=l[ke.b];we.size=U[F-1],et.size=q,le(we.element,we.size,ke[vt],we.i),le(et.element,et.size,ke[Gt],et.i)}})}function pe(N,U){he.forEach(function(q){if(U!==!0?q.parent.removeChild(q.gutter):(q.gutter[yt]("mousedown",q[an]),q.gutter[yt]("touchstart",q[an])),N!==!0){var F=ae(o,q.a.size,q[vt]);Object.keys(F).forEach(function(ke){l[q.a].element.style[ke]="",l[q.b].element.style[ke]=""})}})}return{setSizes:ne,getSizes:re,collapse:function(U){Ne(l[U])},destroy:pe,parent:c,pairs:he}},oi=DI;var De={init:"livecodes-init",getConfig:"livecodes-get-config",config:"livecodes-config",load:"livecodes-load",appLoaded:"livecodes-app-loaded",ready:"livecodes-ready",change:"livecodes-change",testResults:"livecodes-test-results",console:"livecodes-console",destroy:"livecodes-destroy",resizeEditor:"livecodes-resize-editor",apiResponse:"livecodes-api-response",i18n:"livecodes-i18n"};var uy=()=>{let e=[];return{addEventListener:(n,s,i,a)=>{n&&(n.addEventListener(s,i,a||!1),e.push({element:n,eventType:s,fn:i}))},removeEventListener:(n,s,i)=>{if(!n)return;n.removeEventListener(s,i);let a=e.find(l=>l.element===n&&l.eventType===s&&l.fn===i);a&&e.splice(e.indexOf(a))},removeEventListeners:()=>{e.forEach(n=>{n.element.removeEventListener(n.eventType,n.fn),e.splice(e.indexOf(n))})}}};var bt=()=>{let e=[];return{subscribe:s=>(e.push(s),{unsubscribe:()=>{e.splice(e.indexOf(s),1)}}),notify:s=>{e.forEach(i=>{i(s)})},hasSubscribers:()=>e.length>0,unsubscribeAll:()=>{e.length=0}}};var wl=(e="horizontal")=>{let t=!1,r,o=()=>{l(!1,!1),a(e),t=!1,r=oi(["#editors","#output"],{direction:e,minSize:[0,0],gutterSize:e==="vertical"?8:10,elementStyle:(m,h,v)=>(window.dispatchEvent(new Event(De.resizeEditor)),{"flex-basis":`calc(${h}% - ${v}px)`}),gutterStyle:(m,h)=>({"flex-basis":`${h}px`}),onDragStart(){n(!1)},onDragEnd(){n(!0)}});let c=document.querySelector(".gutter");if(c&&!c.querySelector("#handle")){let m=document.createElement("div");m.id="handle",c.appendChild(m)}n(!0)},n=d=>{let c=document.querySelector("#editors"),m=document.querySelector("#output");!m||!c||(d?(c.style.transition="flex-basis 0.5s",m.style.transition="flex-basis 0.5s"):(c.style.transition="none",m.style.transition="none"))},s=(d,c)=>{r||o();let m=e==="horizontal"&&window.innerWidth<800,h=c||m&&c!==!1?[100,0]:[50,50],v=c||m&&c!==!1?[0,100]:[50,50];d==="code"&&(r.getSizes()[0]<10||c)?r.setSizes(h):d==="output"&&(r.getSizes()[1]<10||c)?r.setSizes(v):d==="toggle"&&(r.getSizes()[1]<10||c)&&(r.getSizes()[0]<10?r.setSizes(h):r.setSizes(v))},i=()=>e,a=d=>{document.documentElement.classList.toggle("layout-vertical",e==="vertical"),d!==e&&(e=d,l(),o())},l=(d,c)=>{t||(r?.destroy(d,c),t=!0)};return o(),{show:s,getLayout:i,setLayout:a,destroy:l}};var my=(e,t)=>{let r=document.createElement("div");r.innerHTML=Qm;let o=r.firstChild,n=o.querySelectorAll("#templates-tabs li");return n.forEach(s=>{let i=s.querySelector("a");i&&e.addEventListener(i,"click",()=>{n.forEach(l=>l.classList.remove("active")),s.classList.add("active"),document.querySelectorAll("#templates-screens > div").forEach(l=>{l.classList.remove("active")}),o.querySelector("#"+i.dataset.target)?.classList.add("active"),i.dataset.target==="templates-user"&&t()})}),o},fy=(e,t,r)=>{let o=document.createElement("li"),n=document.createElement("a");return n.href="?template="+e.name,n.innerHTML=`
|
|
<img src="${r+e.thumbnail}" />
|
|
<div>${e.title}</div>
|
|
`,o.appendChild(n),t?.appendChild(o),n},bl=()=>`
|
|
<div class="modal-message no-data">
|
|
<div class="description alert">${window.deps.translateString("templates.noUserTemplates.heading","You have no saved templates.")}</div>
|
|
<div class="description help">
|
|
${window.deps.translateString("templates.noUserTemplates.desc","You can save a project as a template from <wbr />(App menu > Save as > Template).",{isHTML:!0})}
|
|
</div>
|
|
</div>
|
|
`;var cn={ar:"\u0627\u0644\u0639\u0631\u0628\u064A\u0629",de:"Deutsch",en:"English",es:"Espa\xF1ol",fr:"Fran\xE7ais",hi:"\u0939\u093F\u0902\u0926\u0940",it:"Italiano",ja:"\u65E5\u672C\u8A9E",pt:"Portugu\xEAs",ru:"\u0420\u0443\u0301\u0441\u0441\u043A\u0438\u0439",ur:"\u0627\u0631\u062F\u0648","zh-CN":"\u4E2D\u6587\uFF08\u7B80\u4F53\uFF09"};var gy=[{id:"normalize.css",name:"Normalize.css",url:ug},{id:"reset-css",name:"CSS reset",url:yg}];var B2=dr+"standalone.js",M={babel:dr+"plugins/babel.js",estree:dr+"plugins/estree.js",glimmer:dr+"plugins/glimmer.js",html:dr+"plugins/html.js",markdown:dr+"plugins/markdown.js",postcss:dr+"plugins/postcss.js",php:gg,pug:H+"prettier/parser-pug.js",java:H+"prettier/parser-java.js"};var hy={name:"art-template",title:"art",longTitle:"art-template",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:nf,factory:(e,t)=>(self.importScripts(t+"lang-art-template-compiler.f7f28bfde1988e977306171ed26474d0.js"),self.createArtTemplateCompiler())},extensions:["art","art-template"],editor:"markup",editorLanguage:"html"};var yy={name:"lightningcss",title:"Lightning CSS",isPostcssPlugin:!1,compiler:{url:H+"lightningcss/lightningcss.js",factory:(e,t)=>(self.importScripts(t+"processor-lightningcss-compiler.bfb68fd433e1548d10fee6992259f228.js"),self.createLightningcssCompiler())},editor:"style"};var vy={name:"autoprefixer",title:"Autoprefixer",isPostcssPlugin:!0,compiler:{url:H+"autoprefixer/autoprefixer.js",factory:e=>self.autoprefixer.autoprefixer({...$("autoprefixer",e)})},editor:"style"},wy={name:"cssnano",title:"cssnano",isPostcssPlugin:!0,compiler:{url:H+"cssnano/cssnano.js",factory:()=>{let e=self.cssnano.cssnanoPresetDefault().plugins,t=[];for(let r of e){let[o,n]=r;(typeof n>"u"||typeof n=="object"&&!n.exclude||typeof n=="boolean"&&n===!0)&&t.push(o(n))}return t}},editor:"style"},by={name:"postcssImportUrl",title:"Import Url",isPostcssPlugin:!0,compiler:{url:fg,factory:e=>self.postcssImportUrl({...$("postcssImportUrl",e)})},editor:"style"},Sy={name:"postcssPresetEnv",title:"Preset Env",isPostcssPlugin:!0,compiler:{url:H+"postcss-preset-env/postcss-preset-env.js",factory:e=>self.postcssPresetEnv.postcssPresetEnv({autoprefixer:!1,...$("postcssPresetEnv",e)})},editor:"style"},xy={name:"purgecss",title:"PurgeCSS",isPostcssPlugin:!0,needsHTML:!0,compiler:{url:H+"purgecss/purgecss.js",factory:(e,t,r)=>self.purgecss.purgecss({...$("purgecss",e),content:[{raw:`<template>${r.html}
|
|
<script>${e.script.content}<\/script></template>`,extension:"html"}]})},editor:"style"},Ey={name:"tokencss",title:"Token CSS",isPostcssPlugin:!0,compiler:{url:H+"tokencss/tokencss.js",factory:e=>{let t=$("tokencss",e);Object.keys(t).length===0&&(t.$schema="https://tokencss.com/schema@0.0.1",t.extends="@tokencss/core/preset");let r=(n,s)=>{let i=JSON.parse(JSON.stringify(n));return Object.keys(s).forEach(a=>{i[a]=typeof s[a]!="object"||Array.isArray(s[a])?s[a]:{...i[a],...s[a]}}),i},o=t.extends?.includes("@tokencss/core/preset")?r(self.tokencss.preset,t):t;return self.tokencss.tokencss({config:o})}},editor:"style"},Ly={name:"cssmodules",title:"CSS Modules",isPostcssPlugin:!0,needsHTML:!0,compiler:{url:H+"postcss-modules/postcss-modules.js",factory:(e,t,r)=>{let o=$("cssmodules",e);return self.postcssModules.postcssModules({localsConvention:"camelCase",...o,getJSON(n,s,i){let a=o.addClassesToHTML!==!1,l=o.removeOriginalClasses===!0;a&&(r.html=self.postcssModules.addClassesToHtml(r.html,s,l)),r.compileInfo={...r.compileInfo,cssModules:s,...a?{modifiedHTML:r.html}:{}}}})}},editor:"style"};var Ty={name:"postcss",title:"Processors:",isPostcssPlugin:!1,compiler:{url:H+"postcss/postcss.js",factory:(e,t)=>(self.importScripts(t+"processor-postcss-compiler.6af63e3efc0607b1cf7b03e82378926c.js"),self.createPostcssCompiler())},editor:"style",hidden:!0};var Cy={name:"tailwindcss",title:"Tailwind CSS",isPostcssPlugin:!1,needsHTML:!0,compiler:{url:H+"tailwindcss/tailwindcss.js",factory:(e,t)=>(self.importScripts(t+"processor-tailwindcss-compiler.27179ed1937d09b694c2257f2cb336cb.js"),self.createTailwindcssCompiler())},editor:"style"};var ky={name:"unocss",title:"UnoCSS",isPostcssPlugin:!1,needsHTML:!0,compiler:{url:H+"unocss/unocss.js",factory:(e,t)=>(self.importScripts(t+"processor-unocss-compiler.aff439fdf8caa3e77e917c16350607f8.js"),self.createUnocssCompiler())},editor:"style"};var My={name:"windicss",title:"Windi CSS",isPostcssPlugin:!1,needsHTML:!0,compiler:{url:H+"windicss/windicss.js",factory:(e,t)=>(self.importScripts(t+"processor-windicss-compiler.e48498d127508183342dcd73b19cfbc4.js"),self.createWindicssCompiler())},editor:"style"};var je=[Cy,My,ky,Ey,xy,by,vy,Sy,yy,wy,Ly,Ty];var X=(e="")=>{if(!e)return;let t=e?.toLowerCase();return ye.find(r=>r.name===t||r.title.toLowerCase()===t||r.extensions.map(o=>o.toLowerCase()).includes(t))?.name},Ur=e=>{let t=ye.find(r=>r.name===e);return t?.longTitle||t?.title||e.toUpperCase()},ce=(e="")=>ye.find(t=>t.name===X(e))?.editor,Le=(e="")=>ye.find(t=>t.name===X(e))?.extensions[0],dn=(e="")=>ye.find(t=>t.name===X(e)),Ue=(e="")=>{let r=dn(e)?.compiler;return typeof r=="string"&&(r=Ue(r)),r},Ke=e=>dn(e)?.editorLanguage||e,Re=(e,t)=>{let r=X(e);return r?!t.languages||["javascript","typescript"].includes(r)&&["javascript","typescript"].includes(Ke(r))?!0:t.languages?.map(X).filter(Boolean).includes(r):!1},St=(e,t)=>je.map(r=>r.name).includes(e)?t.languages?t.languages.includes(e):!0:!1,pn=(e,t)=>t.processors.includes(e),Iy=(e,t)=>{let r=ce(e);return r?je.filter(o=>o.editor===r).map(o=>o.name).filter(o=>St(o,t)).filter(o=>pn(o,t)).join("-"):""};var Sl=(e,t)=>{let r={...$(e,t)};return ce(e)==="markup"&&(r.template=t.customSettings.template),r};var jy={name:"asciidoc",title:"AsciiDoc",compiler:{url:sf,factory:()=>{let e=window.Asciidoctor();return async(t,{config:r})=>e.convert(t,{standalone:!0,attributes:{nofooter:!0},...$("asciidoc",r)})}},extensions:["adoc","asciidoc","asc"],editor:"markup"};var RI=H+"assemblyscript/assemblyscript.js",Uy={name:"assemblyscript",title:"AS",longTitle:"AssemblyScript",parser:{name:"babel-ts",pluginUrls:[M.babel]},compiler:{url:RI,factory:(e,t)=>(self.importScripts(t+"lang-assemblyscript-compiler.14e8b2e5f7646f2a3f66fe301f2b95f8.js"),self.createAssemblyscriptCompiler()),scripts:({baseUrl:e})=>[af,e+"lang-assemblyscript-script.bc1d8b506b4f8cae0a57028a76574d4b.js"],scriptType:"application/wasm-uint8",compiledCodeLanguage:"wat",types:{assemblyscript:{url:H+"types/assemblyscript.d.ts",declareAsModule:!1,autoload:!0}}},extensions:["as","ts"],editor:"script",editorLanguage:"typescript"};var _I=lf+"compiler.min.js",Ay={name:"astro",title:"Astro",parser:{name:"html",pluginUrls:[M.html,M.babel]},compiler:{url:_I,factory:(e,t)=>(self.importScripts(t+"lang-astro-compiler.9f88bb4e6574ee0d7d5cbf92d1203b5c.js"),self.createAstroCompiler())},extensions:["astro"],editor:"markup"};var Py={name:"babel",title:"Babel",parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:{url:cf,factory:()=>async(e,{config:t})=>{let r=$("babel",t),o=$("@babel/preset-env",t),n=$("@babel/preset-typescript",t),s=$("@babel/preset-react",t);return window.Babel.transform(e,{filename:"script.tsx",presets:[["env",{modules:!1,...o}],["typescript",n],["react",s]],...r}).code}},extensions:["es","babel"],editor:"script",editorLanguage:"typescript"};var Hy={name:"bbcode",title:"BBCode",compiler:{url:H+"bbob/bbob.js",factory:()=>async e=>self.BBob.bbobHTML(e,self.BBob.presetHTML5())},extensions:["bbcode","bb"],editor:"markup"};var qy={name:"blockly",title:"Blockly",compiler:{factory:()=>async(e,{options:t})=>t?.blockly?.js||""},extensions:["blockly.xml","xml"],editor:"script",editorLanguage:"xml"};var BI=H+"civet/civet.js",Ny={name:"civet",title:"Civet",compiler:{url:BI,factory:()=>async e=>window.civet.compile(e,{js:!0})},extensions:["civet"],editor:"script",editorLanguage:"coffeescript"};var Oy={name:"clio",title:"Clio",compiler:{url:Ga+"compile.js",factory:(e,t)=>(self.importScripts(t+"lang-clio-compiler.a832d7f2e7ce46c3517b100c4491fe54.js"),self.createClioCompiler()),scripts:[Ga+"exec.js"]},extensions:["clio"],editor:"script",editorLanguage:"coffeescript"};var tt=e=>typeof e=="string"?{code:e,info:{}}:e;var mo=async(e,t,r,o={},n=self)=>new Promise(s=>{if(!e||!t||!r)return s(tt(""));let i=async function(a){let l=a.data.payload;a.data.trigger==="compileInCompiler"&&l?.content===e&&l?.language===t&&(n.removeEventListener("message",i),s(tt(l.compiled)))};n.addEventListener("message",i),n.postMessage({type:"compileInCompiler",payload:{content:e,language:t,config:r,options:o}})});var xl=/(import\s+?(?:(?:(?:[\w*\s{},\$]*)\s+from\s+?)|))((?:".*?")|(?:'.*?'))([\s]*?(?:;|$|))/g,FI=/(import\s*?\(\s*?((?:".*?")|(?:'.*?'))\s*?\))/g,Nt=(e,t=!1)=>[...oo(e).matchAll(new RegExp(xl)),...oo(e).matchAll(new RegExp(FI))].map(r=>r[2].replace(/"/g,"").replace(/'/g,"")).map(r=>!t||!un(r)||!r.includes(":")?r:r.split(":")[1]),zI=e=>!e.startsWith("https://deno.bundlejs.com/")&&!e.startsWith("https://edge.bundlejs.com/")&&!e.startsWith("https://esm.sh/")&&!e.endsWith("#nobundle")&&(e.startsWith("https://deno.land/")||e.startsWith("https://github.com/")||e.startsWith("https://raw.githubusercontent.com/")||e.startsWith("https://gitlab.com/")||e.startsWith("https://bitbucket.org")||e.endsWith(".ts")||e.endsWith(".jsx")||e.endsWith(".tsx")),un=e=>!e.startsWith("https://")&&!e.startsWith("http://")&&!e.startsWith(".")&&!e.startsWith("/")&&!e.startsWith("data:")&&!e.startsWith("blob:"),WI=e=>(e.endsWith(".css")||e.endsWith(".scss")||e.endsWith(".sass")||e.endsWith(".less")||e.endsWith(".styl"))&&!e.startsWith("./style"),Dy=(e,t)=>Object.keys(t).find(r=>r===e||e.startsWith(r+"/")),fo=(e,t,{fallbackToCdn:r=!0,external:o}={})=>Nt(e).map(n=>{if(!zI(n)&&!un(n)||WI(n))return{};{let s={...t.imports,...t.customSettings?.imports},i=Dy(n,s);return i?{[i]:s[i]}:r?{[n]:be.getModuleUrl(n,{defaultCDN:t?.customSettings?.defaultCDN,external:o})}:{}}}).reduce((n,s)=>({...n,...s}),{}),mn=e=>Nt(e).length>0,VI=e=>new RegExp(/(^export\s)|([\s|;]export\s)/).test(Ba(e)),Ry=e=>new RegExp(/export\s*default\s/).test(e),_y=e=>new RegExp(/((?:import|export)\s+?(?:(?:(?:[\w*\s{},\$]*)\s+from\s+?)|))((?:"(?:\.|http|\/).*?")|(?:'(?:\.|http|\/).*?'))([\s]*?(?:;|$|))/).test(oo(e)),GI=e=>new RegExp(/(^await\s)|([\s|;]await\s)/).test(Ba(e)),By=e=>mn(e)||VI(e)||GI(e),$y=(e,t,{importMap:r,external:o}={})=>(r=r||fo(e,t,{external:o}),e.replace(new RegExp(xl),n=>{if(!r)return n;let s=n.replace(new RegExp(xl),"$2").replace(/"/g,"").replace(/'/g,""),i=Dy(s,r);return i?n.replace(i,r[i]):n})),El=e=>e.toLowerCase().startsWith("./script")||e.toLowerCase().startsWith("./component")||e.startsWith("./")&&(e.toLowerCase().endsWith(".js")||e.toLowerCase().endsWith(".ts")||e.toLowerCase().endsWith(".jsx")||e.toLowerCase().endsWith(".tsx")||e.toLowerCase().endsWith(".vue")||e.toLowerCase().endsWith(".svelte"));var JI=/(?:@import\s+?)((?:".*?")|(?:'.*?')|(?:url\('.*?'\))|(?:url\(".*?"\)))(.*)?;/g,Ll=e=>new RegExp(JI).test(e);var Fy=e=>{let t=oo(e);if(!/\b(require|module|exports)\b/.test(t))return e;let r=/(?:^|\s)require(?:\s*)\((?:\s*)('(.*?)'|"(.*?)")(?:\s*)\)/g,n=(l=>[...l.matchAll(new RegExp(r))].map(d=>d[1].replace(/"/g,"").replace(/'/g,"")))(t);if(n.length===0)return e;let s=n.map((l,d)=>[`import * as __requires_${d} from '${l}';`,`const __requires_${d}_default = __requires_${d}.default;`].join(`
|
|
`)).join(`
|
|
`),i=`const __requires_lookup = { ${n.map((l,d)=>`'${l}': __requires_${d}_default || __requires_${d}`).join(", ")} };`;return[s,i,"window.require = window.require || ((id) => {\n if (id in __requires_lookup) return __requires_lookup[id];\n throw new Error(`Cannot require modules dynamically (${id})`);\n});","const exports = {}; const module = { exports };",e,"export default module.exports;"].join(`
|
|
|
|
`)},Tl=(e,t,r={},o="css")=>{let n=Nt(e),s=o==="css"?[o]:["css",o];return[...s.map(a=>"./style."+a),...s.map(a=>"./styles."+a),...s.map(a=>"./style.module."+a),...s.map(a=>"./styles.module."+a)].map(a=>{if(!n.includes(a))return{};if(!a.includes(".module."))return{[a]:lr(`export default \`${Er(t)}\`;`)};let l=`export default ${Er(JSON.stringify(r))};
|
|
`+Object.keys(r).filter(d=>d===vm(d)).map(d=>`export const ${Er(d)} = "${Er(r[d])}";`).join(`
|
|
`);return{[a]:lr(l)}}).reduce((a,l)=>({...a,...l}),{})};var ni=(e,t,r)=>e.filter(o=>je.includes(o)||Re(o.name,t)).reduce((o,n)=>{if(n.compiler&&!o[n.name])if(typeof n.compiler=="string"){let s=e.find(i=>i.name===n.compiler)?.compiler;o[n.name]={...s,url:zy(s.url,r),aliasTo:n.compiler}}else o[n.name]={...n.compiler,url:zy(n.compiler.url,r)};return o},{}),zy=(e,t)=>e?eo(e)?t+e:e:"";var fn=(e=location.origin)=>!!(e&&(e.endsWith("livecodes.io")||e.endsWith("ethanmartin.site")||e.endsWith("livecodes.pages.dev")||e.endsWith("localpen.pages.dev")||e.startsWith("http://127.0.0.1")||e.startsWith("http://localhost")));var go=y(Pa()),Wy=go.compressToEncodedURIComponent,ho=(e,t=!0)=>{let r=(0,go.decompressFromEncodedURIComponent)(e);if(r){if(!t)return r;try{if(JSON.parse(r))return r}catch{}}return(0,go.decompressFromBase64)(e)};var Jt={getList:async()=>[],getAllData:async()=>[],getItem:async()=>null,addItem:async()=>"",updateItem:async()=>"",deleteItem:async()=>{},bulkInsert:async()=>{},restore:async()=>{},clear:async()=>{},subscribe:()=>({unsubscribe:()=>{}}),unsubscribeAll:()=>{}},Vy={getValue:()=>null,setValue:()=>{},clear:()=>{},subscribe:()=>({unsubscribe:()=>{}}),unsubscribeAll:()=>{}};var si,Gy="livecodes",Cl={},kl=()=>(Date.now()+""+Math.floor(Math.floor(Math.random()*Date.now()))).substring(0,24),KI=async e=>{si||(si=await Go(rg,"localforage"),si.config({name:Gy})),Cl[e]||(Cl[e]=si.createInstance({name:Gy,storeName:e}))},Kt=async(e,t)=>{if(t)return Jt;let r,o=bt(),n=w=>o.subscribe(w),s=()=>{o.unsubscribeAll()},i=()=>{o.hasSubscribers()&&d().then(w=>{o.notify(w)})},a=async()=>{await KI(e),r=Cl[e]},l=async()=>(await a(),r.keys()),d=async()=>{await a();let w=[];return await r.iterate(S=>{w.push(S)}),w.sort((S,u)=>u.lastModified&&S.lastModified?u.lastModified-S.lastModified:0)},c=async w=>(await a(),r.getItem(w)),m=async(w,S,u=!0)=>(await a(),await r.setItem(w,S),u&&i(),w),h=async(w,S=!0)=>{let u=kl();return await m(u,w,S),u};return{getList:l,getAllData:d,getItem:c,addItem:w=>h(w),updateItem:(w,S)=>m(w,S),deleteItem:async w=>{await a(),await r.removeItem(w),i()},bulkInsert:async w=>{for(let S of w)await h(S,!1);i()},restore:async w=>{for(let S of w)S.id?await m(S.id,S,!1):await h(S,!1);i()},clear:async()=>{await a(),await r.clear(),i()},subscribe:n,unsubscribeAll:s}};var ii,Jy=async()=>{ii=ii||await Kt("__livecodes_key__",!1)},ZI=e=>new TextEncoder().encode(e),YI=e=>new TextDecoder().decode(e),QI=async e=>{await Jy(),await ii.updateItem("__livecodes_key_id__",Wy(e))},XI=async()=>{await Jy();let e=await ii.getItem("__livecodes_key_id__");return e?ho(e):null},ej=async()=>{let e=await window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:2048,publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=await crypto.subtle.exportKey("jwk",e.publicKey),r=await crypto.subtle.exportKey("jwk",e.privateKey),o=JSON.stringify({public:t,private:r});return await QI(o),o},Ky=async e=>crypto.subtle.importKey("jwk",JSON.parse(await XI()||await ej())[e],{name:"RSA-OAEP",hash:"SHA-256"},!0,e==="public"?["encrypt"]:["decrypt"]),Zy=async e=>{let t=ZI(e),r=await Ky("public"),o=await window.crypto.subtle.encrypt({name:"RSA-OAEP"},r,t);return JSON.stringify(Array.from(new Uint8Array(o)))},Yy=async e=>{try{let t=await window.crypto.subtle.decrypt({name:"RSA-OAEP"},await Ky("private"),new Uint8Array(JSON.parse(e)));return YI(t)}catch{return null}};var Ml=async(e,t)=>{let r=await Kt(e,t),o=async()=>(await r.getAllData()).map(a=>({id:a.id,title:a.config?.title||"",description:a.config?.description||"",tags:a.config?.tags||[],languages:a.config?[a.config.markup.language,a.config.style.language,a.config.script.language]:[],lastModified:a.lastModified})).sort((a,l)=>l.lastModified-a.lastModified),n=(a,l)=>{let d={id:a,config:l,lastModified:Date.now()};return r.updateItem(a,d)},s=async a=>{let l=kl();return n(l,a)};return{...r,getList:o,addItem:s,updateItem:n,bulkInsert:async a=>{for(let l of a)await s(l)}}};var ai=(e,t)=>{if(t)return Vy;let r=bt(),o=d=>r.subscribe(d),n=()=>{r.unsubscribeAll()},s=()=>{r.notify(a())},i=d=>{window.localStorage.setItem(e,JSON.stringify(d)),s()},a=()=>{let d=window.localStorage.getItem(e);if(!d)return null;try{return JSON.parse(d)}catch{return null}};return{getValue:a,setValue:i,clear:()=>{i(null),s()},subscribe:o,unsubscribeAll:n}};var Qy=()=>ft({projects:null,templates:null,assets:null,snippets:null,recover:null,userConfig:null,userData:null,appData:null,sync:null}),Xy=async(e,t)=>{t||(e.projects=await Ml("__livecodes_data__",t),e.templates=await Ml("__livecodes_templates__",t),e.assets=await Kt("__livecodes_assets__",t),e.snippets=await Kt("__livecodes_snippets__",t),e.recover=ai("__livecodes_project_recover__",t),e.userConfig=ai("__livecodes_user_config__",t),e.userData=await Kt("__livecodes_user_data__",t),e.appData=ai("__livecodes_app_data__",t),e.sync=await Kt("__livecodes_sync_data__",t))};var tj={load:async()=>{},getUser:async()=>{},signIn:async()=>{},signOut:async()=>{},isLoggedIn:()=>!1},tv=e=>{if(e)return tj;let t,r,o,n,s,i,a,l,d,c;return{async load(){let m=await ly("./firebase.d9a307e8796f38fb9220b7a7d6fe327e.js");t=m.initializeApp,r=m.getApp,o=m.getAuth,n=m.signInWithPopup,s=m.signOut,i=m.GithubAuthProvider,a=m.firebaseConfig;try{l=r()}catch{l=t(a)}d=o(l),c=d.currentUser},async getUser(){d||await this.load();let m=await jl(c?.uid);return c?m?Promise.resolve(await Il(c)):void 0:new Promise(h=>{let v=d.onAuthStateChanged(async p=>{p?(c=p,v(),h(await Il(c))):h(void 0)})})},async signIn(m=["gist","repo"]){d||await this.load();let h=new i;m.forEach(f=>h.addScope(f));let v=await n(d,h),p=i.credentialFromResult(v)?.accessToken;if(p)return c=v.user,await rj(c.uid,p),await rv(c),Il(v.user)},async signOut(){d||await this.load(),await s(d),oj(c?.uid),c=null},isLoggedIn(){return c!=null}}},rj=async(e,t)=>{localStorage.setItem("token_"+e,await Zy(t))},jl=async e=>{if(!e)return null;let t=localStorage.getItem("token_"+e);return t?Yy(t):null},ev=(e,t)=>{localStorage.setItem("username_"+e,t)},oj=e=>{e&&(localStorage.removeItem("token_"+e),localStorage.removeItem("username_"+e))},Il=async e=>({uid:e.uid,displayName:e.displayName,username:await rv(e),email:e.email,photoURL:e.photoURL,token:await jl(e.uid)}),rv=async e=>{let t=e.uid,r=localStorage.getItem("username_"+t);if(r)return r;let o=e.reloadUserInfo?.screenName;if(o)return ev(t,o),o;let i=(await(await fetch("https://api.github.com/user",{headers:{Accept:"application/vnd.github.v3+json",Authorization:"token "+await jl(t)}})).json()).login;return ev(t,i),i};var nj="https://livecodes-sandbox.pages.dev";var Ul=nj,ov="v8",lt={getResultUrl:()=>`${Ul}/${ov}/`,getCompilerUrl:()=>`${Ul}/${ov}/compiler`,getOrigin:()=>new URL(Ul).origin};var nv="https://dpaste.com/",sj="https://dpaste.com/api/v2/",sv="https://api2.livecodes.io/share",iv={getProject:async e=>{try{let t=await fetch(nv+e+".txt");return t.ok?JSON.parse(await t.text()):{}}catch{return{}}},shareProject:async e=>{try{let t=await fetch(sj,{method:"POST",mode:"cors",headers:{"Content-Type":"application/x-www-form-urlencoded","User-Agent":"LiveCodes / https://livecodes.io/"},body:`content=${encodeURIComponent(JSON.stringify(e))}&title=${encodeURIComponent(e.title||"")}&syntax=json&expiry_days=365`});return t.ok?(await t.text()).replace(nv,""):""}catch{return""}}},ij={getProject:async e=>{if(e.length<11)return iv.getProject(e);if(!fn())return{};try{let t=await fetch(sv+"?id="+e);return t.ok?JSON.parse(await t.text()):{}}catch{return{}}},shareProject:async e=>{if(!fn())return"";try{let t=await fetch(sv,{method:"POST",mode:"cors",body:JSON.stringify(e)});return t.ok?t.text():""}catch{return""}}},Al=fn()?ij:iv;var Pl=e=>{if(!e.startsWith("https://"))return e;let t=["https://esm.sh/","https://cdn.skypack.dev/","https://cdn.jsdelivr.net/npm/","https://fastly.jsdelivr.net/npm/","https://gcore.jsdelivr.net/npm/","https://testingcf.jsdelivr.net/npm/","https://jsdelivr.b-cdn.net/npm/","https://esm.run/","https://esbuild.vercel.app/","https://bundle.run/","https://unpkg.com/","https://npmcdn.com/","https://deno.bundlejs.com/?file&q=","https://jspm.dev/"];for(let r of t)if(e.startsWith(r))return e.replace(r,"");return e},Hl=e=>e.includes(":")&&!e.startsWith("data:")&&!e.startsWith("http")?e.split(":")[1]:e;var av={getTypeUrls:async e=>{let t={};return await Promise.all(e.map(async r=>{let o=Hl(Pl(r));if(un(o))try{let n=await fetch("https://esm.sh/"+o,{method:"HEAD"});if(!n.ok)return;let s=n.headers.get("X-Typescript-Types");if(!s)return;t[r]=s}catch{}})),t},getTypesAsImports:e=>e.map((t,r)=>{let o=Hl(Pl(t));return un(o)?`import * as x${r} from '${t}';`:""}).join(`
|
|
`)};var lv=e=>new Promise(t=>{let r="compiler-frame";document.getElementById(r)?.remove();let n=document.createElement("iframe");n.name="compiler",n.id=r,n.style.width="0",n.style.height="0",n.style.visibility="hidden",n.style.position="absolute",n.setAttribute("sandbox","allow-same-origin allow-scripts"),n.src=e,document.body.appendChild(n),n.onload=()=>{t(n.contentWindow)}});var cv=async({config:e,baseUrl:t,eventsManager:r})=>{let o,n,s=lt.getOrigin(),i=3,a=async()=>new Promise(async f=>{o=ni([...ye,...je],e,t);let g=lt.getCompilerUrl()+"?appCDN="+Vt();n=await lv(g),r.addEventListener(window,"message",async S=>{S.origin===s&&S.source===n&&S.data.type==="init-success"&&f("done")});let w={type:"init",payload:e,baseUrl:t,scriptUrl:t+"compiler-utils.f13ac14f45040b76eb5fb14fed8360f9.js"};n.postMessage(w,s)}),l=f=>(g,{config:w,options:S})=>new Promise((u,b)=>{let E=L=>{let P=L.data;L.origin===s&&L.source===n&&P.from==="compiler"&&(P.type==="compiled"||P.type==="compile-failed")&&P.payload.language===f&&P.payload.content===g&&(window.removeEventListener("message",E),P.type==="compiled"?u(P.payload.compiled):P.type==="compile-failed"&&b(f+` compile failed.
|
|
`+P.payload.error))};window.addEventListener("message",E);let k={type:"compile",payload:{content:g,language:f,config:w,options:S}};n.postMessage(k,s)}),d=(f,g)=>Promise.allSettled(f.map(w=>new Promise(async(S,u)=>{["jsx","tsx"].includes(w)&&(w="typescript");let b=o[w];if(b&&!b.fn){r.addEventListener(window,"message",async k=>{k.origin===s&&k.source===n&&k.data.from==="compiler"&&k.data.type==="loaded"&&k.data.payload===w?(b.fn=l(w),S("done")):k.origin===s&&k.source===n&&k.data.from==="compiler"&&k.data.type==="load-failed"&&k.data.payload===w&&(i===0?u(`Failed to load compiler for: ${w}.`):(i-=1,await a(),await d(Array.from(new Set([...f,g.markup.language,g.style.language,g.script.language])),g),S("done")))});let E={type:"load",payload:{language:w,config:g}};n.postMessage(E,s)}else S("done")}))),c={},m=async(f,g,w,S)=>{["jsx","tsx"].includes(g)&&(g="typescript");let u=Iy(g,w),b=Vo(Sl(g,w));if(!S?.forceCompile&&c[g]?.content===f&&c[g]?.processors===u&&c[g]?.languageSettings===b&&c[g]?.compiled)return{code:c[g]?.compiled||"",info:JSON.parse(c[g]?.info||"{}")};o[g]&&!o[g].fn&&await d([g],w);let E=o[g]?.fn;if(typeof E!="function")return new Promise(D=>{g!=="html"&&g!=="css"&&g!=="javascript"&&console.error("Failed to load compiler for: "+g),D({code:"",info:{}})});let k=tt(await E(f,{config:w,language:g,baseUrl:t,options:S}))||"",L=tt(await h(k.code,{config:w,language:g,baseUrl:t,options:S}))||"",P={...k.info,...L.info};return c[g]={content:f,compiled:L.code,info:JSON.stringify(P),processors:u,languageSettings:Vo(Sl(g,w))},{code:L.code,info:P}},h=async(f,{config:g,language:w,baseUrl:S,options:u})=>{let b=f,E={},k=!1,L=ce(w)||"markup",P=St("tailwindcss",g)&&pn("tailwindcss",g);L==="style"&&Ll(b)&&!P&&(k=!0);for(let D of je)if(St(D.name,g)&&pn(D.name,g)&&D.editor===L||L==="style"&&D.name==="postcss")if(D.isPostcssPlugin)k=!0;else{if(D.name==="postcss"&&!k)continue;o[D.name]&&!o[D.name].fn&&await d([D.name],g);let z=o[D.name].fn||(async le=>le);if(typeof z!="function")return console.error("Failed to load processor: "+D.name),{code:b,info:E};let ae=await z(b,{config:g,language:w,baseUrl:S,options:u}),ee=tt(ae);b=ee.code,E={...E,...ee.info}}return{code:b,info:E}},v=()=>{Object.keys(c).forEach(f=>delete c[f])},p=({feature:f,payload:g})=>new Promise(w=>{let S=Ra(),u=E=>{let k=E.data;E.origin!==s||E.source!==n||k.from!=="compiler"||k.type!=="ts-features"||k.payload.id!==S||(window.removeEventListener("message",u),w(k.payload.data))};window.addEventListener("message",u);let b={type:"ts-features",payload:{id:S,feature:f,data:g}};n.postMessage(b,s)});return await a(),{load:d,compile:m,clearCache:v,typescriptFeatures:p,isFake:!1}};var ql=e=>{let t=e.config.mode;return t==="codeblock"||t==="editor"?aj():cv(e)};async function aj(){return{load:(e,t)=>Promise.resolve(["do nothing"]),compile:(e,t,r)=>Promise.resolve(tt(e)),clearCache:()=>{},typescriptFeatures:async()=>{},isFake:!0}}var Ar=()=>{let e=mg;return self.importScripts(e),async t=>({formatted:window.parinfer.parenMode(t).text,cursorOffset:0})},dv={name:"commonlisp",title:"Lisp",longTitle:"Common Lisp",formatter:{factory:Ar},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[Xf,e+"lang-commonlisp-script.85aff84d1f43955ac9a6d44a09319e4a.js"],scriptType:"text/commonlisp",compiledCodeLanguage:"commonlisp"},extensions:["lisp","common-lisp"],editor:"script",editorLanguage:"scheme"};var pv={name:"clojurescript",title:"CLJS (cherry)",longTitle:"ClojureScript (cherry)",formatter:{factory:Ar},compiler:{url:Es+"lib/cherry.umd.js",factory:()=>async(e,{config:t,options:r})=>{let o=self.CherryCljs.compileString(e);return e.includes("#jsx")?(await mo(o,"jsx",t,r)).code:o},imports:{"cherry-cljs":Es+"index.js","cherry-cljs/cljs.core.js":Es+"cljs.core.js","cherry-cljs/lib/clojure.string.js":"lib/clojure.string.js","cherry-cljs/lib/clojure.set.js":"lib/clojure.set.js","cherry-cljs/lib/clojure.walk.js":"lib/clojure.walk.js","squint-cljs":io+"index.js","squint-cljs/core.js":io+"core.js","squint-cljs/string.js":io+"string.js","squint-cljs/src/squint/string.js":io+"src/squint/string.js","squint-cljs/src/squint/set.js":io+"src/squint/set.js"}},extensions:["cljs","clj","cljc","edn","clojure"],editor:"script",editorLanguage:"clojure"};var uv={name:"coffeescript",title:"Coffee",longTitle:"CoffeeScript",compiler:{url:mf,factory:()=>async(e,{config:t})=>window.CoffeeScript.compile(e,{bare:!0,...$("coffeescript",t)})},extensions:["coffee"],editor:"script"};var lj=H+"jscpp/JSCPP.es5.min.js",mv={name:"cpp",title:"C++",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[lj,e+"lang-cpp-script.1e5263583356866f0f64127eb91f2615.js"],scriptType:"text/cpp",compiledCodeLanguage:"cpp"},extensions:["cpp","c","C","cp","cxx","c++","cppm","ixx","ii","hpp","h"],editor:"script"};var fv={name:"cpp-wasm",title:"C++ (Wasm)",longTitle:"C/C++ (Wasm)",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-cpp-wasm-script.4bdb90c1687ad5624f153fb7f0cfc644.js"],scriptType:"text/cpp",compiledCodeLanguage:"cpp",liveReload:!0},extensions:["wasm.cpp","cppwasm","cwasm","clang.cpp","clang","cpp","c","C","cp","cxx","c++","cppm","ixx","ii","hpp","h"],editor:"script",editorLanguage:"cpp",largeDownload:!0};var gv={name:"csharp-wasm",title:"C# (Wasm)",parser:{name:"java",pluginUrls:[M.java]},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-csharp-wasm-script.868efdb8e970b8f22607eed67c7bc790.js"],scriptType:"text/csharp-wasm",compiledCodeLanguage:"csharp-wasm",liveReload:!0},extensions:["cs","csharp","wasm.cs","cs-wasm"],editor:"script",editorLanguage:"csharp",largeDownload:!0};var hv={name:"css",title:"CSS",info:!1,parser:{name:"css",pluginUrls:[M.postcss]},compiler:{factory:()=>async e=>e},extensions:["css"],editor:"style"};var cj=async(e,{baseUrl:t,config:r})=>{let{diagramsCompiler:o}=await import(t+"lang-diagrams-compiler-esm.aa9e8f85aaeda2c0c80b0f00a3ef5ce4.js");return o(e,{config:r})},yv={name:"diagrams",title:"Diagrams",parser:{name:"html",pluginUrls:[M.html]},compiler:{factory:()=>async e=>e||"",runOutsideWorker:cj},extensions:["diagrams","diagram","graph","plt"],editor:"markup",editorLanguage:"html"};var vv={name:"dot",title:"doT",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:ff,factory:(e,t)=>(self.importScripts(t+"lang-dot-compiler.787b3a4d145ce986b7bd6479773a624f.js"),self.createDotCompiler())},extensions:["dot"],editor:"markup",editorLanguage:"html"};var wv={name:"ejs",title:"EJS",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:gf,factory:(e,t)=>(self.importScripts(t+"lang-ejs-compiler.76c23bffb3766c76e7a8c72b445ed620.js"),self.createEjsCompiler())},extensions:["ejs"],editor:"markup",editorLanguage:"html"};var bv={name:"eta",title:"Eta",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:yf,factory:(e,t)=>(self.importScripts(t+"lang-eta-compiler.784e346037787c2e491855cecb47cf18.js"),self.createEtaCompiler())},extensions:["eta"],editor:"markup",editorLanguage:"html"};var Sv={name:"fennel",title:"Fennel",formatter:{factory:Ar},compiler:{url:cr,factory:(e,t)=>(self.importScripts(t+"lang-fennel-compiler.d1e50e33c517a60ab2ed6c8437e285a4.js"),self.createFennelCompiler()),scripts:[cr],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["fnl"],editor:"script",editorLanguage:"scheme"};var xv={name:"flow",title:"Flow",parser:{name:"babel-flow",pluginUrls:[M.babel,M.html]},compiler:{url:H+"flow-remove-types/flow-remove-types.js",factory:()=>async(e,{config:t})=>window.flowRemoveTypes.transpile(e,{all:!0,...$("flow",t)}).toString()},extensions:["flow"],editor:"script",editorLanguage:"typescript"};var Ev={name:"gleam",title:"Gleam",compiler:{factory:(e,t)=>(self.importScripts(t+"lang-gleam-compiler.774c0222f0fd74f6839751f12b61eb2f.js"),self.createGleamCompiler()),loadAsExternalModule:!0,inlineModule:`(async() => {
|
|
const main = (await import('./script')).main;
|
|
if (typeof main === "function") main();
|
|
})();
|
|
`},extensions:["gleam"],editor:"script",editorLanguage:"swift"};var Lv={name:"go",title:"Go",formatter:{factory:()=>(importScripts(so+"go2js-format.js"),async e=>{if(!e)return{formatted:"",cursorOffset:0};let[t,r]=globalThis.go2jsFormat(e);return r?(console.error(r),{formatted:e,cursorOffset:0}):{formatted:t,cursorOffset:0}})},compiler:{url:so+"go2js-compile.js",factory:()=>e=>new Promise(t=>{if(!e){t("");return}let r=so.endsWith("/")?so.slice(0,-1):so;globalThis.go2jsCompile(e,r,(o,n)=>{o?(console.error(o),t("")):t(n)})})},extensions:["go","golang"],editor:"script"};var Tv={name:"haml",title:"Haml",compiler:{url:H+"clientside-haml-js/haml.js",factory:(e,t)=>(self.importScripts(t+"lang-haml-compiler.01bd0f7511970c9c19a93fa9b7ef2e93.js"),self.createHamlCompiler())},extensions:["haml"],editor:"markup"};var dj=Ja+"handlebars.min.js",u8=Ja+"handlebars.runtime.min.js",Cv={name:"handlebars",title:"Handlebars",parser:{name:"glimmer",pluginUrls:[M.glimmer]},compiler:{url:dj,factory:(e,t)=>(self.importScripts(t+"lang-handlebars-compiler.379609fba0d45706c82e516e1c8469c1.js"),self.createHandlebarsCompiler())},extensions:["hbs","handlebars"],editor:"markup",editorLanguage:"html"};var kv={name:"html",title:"HTML",info:!1,parser:{name:"html",pluginUrls:[M.html]},compiler:{factory:()=>async e=>e},extensions:["html","htm"],editor:"markup"};var Mv={name:"imba",title:"Imba",compiler:{url:Ka+"compiler.js",factory:(e,t)=>(self.importScripts(t+"lang-imba-compiler.c5c7b69434893c97f82c4b3e8be7af1e.js"),self.createImbaCompiler()),imports:{imba:Ka+"imba.mjs"}},extensions:["imba"],editor:"script"};var Iv={name:"java",title:"Java",parser:{name:"java",pluginUrls:[M.java]},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-java-script.82635c292b0ee9bf858442862c4d22fe.js"],scriptType:"text/java",compiledCodeLanguage:"java",liveReload:!0},extensions:["java"],editor:"script",largeDownload:!0};var jv={name:"javascript",title:"JS",longTitle:"JavaScript",info:!1,parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:{factory:()=>async e=>e},extensions:["js"],editor:"script"};var Uv=`${H}jinja/jinja.js`,Av={name:"jinja",title:"Jinja",formatter:{factory:()=>(self.importScripts(Uv),async(e,t,r)=>({formatted:new self.Jinja.Template(e).format({indent:r?.tabSize||2}),cursorOffset:t}))},compiler:{url:Uv,factory:(e,t)=>(self.importScripts(t+"lang-jinja-compiler.7460c4e443fb6f1e1e8586f1b9320a36.js"),self.createJinjaCompiler())},extensions:["jinja"],editor:"markup",editorLanguage:"html"};var Pv={name:"jsx",title:"JSX",parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:"typescript",extensions:["jsx"],editor:"script",editorLanguage:"javascript"};var Hv={name:"tsx",title:"TSX",parser:{name:"babel-ts",pluginUrls:[M.babel,M.html]},compiler:"typescript",extensions:["tsx"],editor:"script",editorLanguage:"typescript"};var qv={name:"julia",title:"Julia",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-julia-script.145b3c3d3e7c0cf2debd9fc6c627b282.js"],liveReload:!0,scriptType:"text/julia",compiledCodeLanguage:"julia"},extensions:["jl"],editor:"script",largeDownload:!0};var Nv={name:"less",title:"Less",parser:{name:"less",pluginUrls:[M.postcss]},compiler:{url:H+"less/less.js",factory:()=>async(e,{config:t})=>(await window.less.render(e,{...$("less",t)})).css},extensions:["less"],editor:"style"};var Ov={name:"liquid",title:"Liquid",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:tg,factory:(e,t)=>(self.importScripts(t+"lang-liquid-compiler.393ead92b46cb0179f641adb899644b0.js"),self.createLiquidCompiler())},extensions:["liquid","liquidjs"],editor:"markup",editorLanguage:"html"};var Dv={name:"livescript",title:"LiveScript",compiler:{url:H+"livescript/livescript-min.js",factory:()=>async(e,{config:t})=>window.require("livescript").compile(e,{bare:!0,...$("livescript",t)}),scripts:[H+"livescript/prelude-browser-min.js"]},extensions:["ls"],editor:"script"};var pj=H+"lua-fmt/lua-fmt.js",gn={factory:()=>(self.importScripts(pj),async(e,t)=>({formatted:self.luaFmt.formatText(e),cursorOffset:t}))},Rv={name:"lua",title:"Lua",formatter:gn,compiler:{factory:()=>async e=>e,scripts:[cr],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["lua"],editor:"script"};var _v={name:"lua-wasm",title:"Lua (Wasm)",formatter:gn,compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[Ug,e+"lang-lua-wasm-script.2a146a5647d5e8031a46a4f407c87fe0.js"],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["wasm.lua","luawasm"],editor:"script",editorLanguage:"lua"};var Bv={name:"malina",title:"Malina.js",parser:{name:"html",pluginUrls:[M.html,M.babel]},compiler:{factory:(e,t)=>(self.importScripts(t+"lang-malina-compiler.085b107b0dbd2644d73592b4c7c283ad.js"),self.createMalinaCompiler()),imports:{"malinajs/runtime.js":`${ag}runtime.js`}},extensions:["xht"],editor:"script"};var $v={name:"markdown",title:"Markdown",parser:{name:"markdown",pluginUrls:[M.markdown,M.html]},compiler:{url:lg,factory:()=>async(e,{config:t})=>window.marked.parse(e,{...$("markdown",t)})},extensions:["md","markdown","mdown","mkdn"],editor:"markup"};var uj=async(e,{config:t,worker:r})=>new Promise(async o=>{if(!e)return o("");let[n,{default:s}]=await Promise.all([import(H+"mdx/mdx.js"),import(H+"remark-gfm/remark-gfm.js")]),i=(await n.compile(e,{remarkPlugins:[s],...$("mdx",t)})).value,l=(m=>m.replace(/, {[^}]*} = _components/g,"").replace(/const {[^:]*} = props.components[^;]*;/g,""))(i),d=`import React from "react";
|
|
import { createRoot } from "react-dom/client";
|
|
${Er(l,!1)}
|
|
createRoot(document.querySelector('#__livecodes_mdx_root__')).render(<MDXContent />,);
|
|
`,c=(await mo(d,"jsx",t,{},r)).code;o(`<div id="__livecodes_mdx_root__"></div><script type="module">${c}<\/script>`)}),Fv={name:"mdx",title:"MDX",parser:{name:"markdown",pluginUrls:[M.markdown,M.html]},compiler:{factory:()=>async e=>e,runOutsideWorker:uj,compiledCodeLanguage:"javascript"},extensions:["mdx"],editor:"markup",editorLanguage:"markdown"};var zv={name:"mjml",title:"MJML",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:cg,factory:()=>async(e,{config:t})=>{if(!e.trim())return"";let{html:r,errors:o}=self.mjml(e,$("mjml",t));return o?.forEach(n=>{console.warn(n.formattedMessage)}),r}},extensions:["mjml"],editor:"markup",editorLanguage:"xml"};var Wv={name:"mustache",title:"Mustache",parser:{name:"glimmer",pluginUrls:[M.glimmer]},compiler:{url:dg,factory:(e,t)=>(self.importScripts(t+"lang-mustache-compiler.a424c09f7c71713de83052878738af3a.js"),self.createMustacheCompiler())},extensions:["mustache"],editor:"markup",editorLanguage:"html"};var mj=Za+"nunjucks.min.js",JF=Za+"nunjucks-slim.min.js",Vv={name:"nunjucks",title:"Nunjucks",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:mj,factory:(e,t)=>(self.importScripts(t+"lang-nunjucks-compiler.21cb34f6735421a4d66b5faa1204e975.js"),self.createNunjucksCompiler())},extensions:["njk","nunjucks"],editor:"markup",editorLanguage:"html"};var Gv={name:"ocaml",title:"OCaml",compiler:"rescript",extensions:["ml","mli"],editor:"script",editorLanguage:"javascript"};var Jv={name:"perl",title:"Perl",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[H+"perlito/perlito5.min.js",e+"lang-perl-script.d52ac95fd51fa6f4617c22ec2574a87d.js"],scriptType:"text/perl"},extensions:["pl","pm"],editor:"script"};var Kv={name:"php",title:"PHP",parser:{name:"php",pluginUrls:[M.php]},compiler:{factory:()=>async e=>(e=e.trim(),e.startsWith("<?php")&&(e=e.replace("<?php","/* <?php */"),e.endsWith("?>")&&(e=e.replace("?>","/* ?> */"))),e),scripts:[Cg],deferScripts:!0,scriptType:"text/x-uniter-php",compiledCodeLanguage:"php"},extensions:["php"],editor:"script"};var Zv={name:"php-wasm",title:"PHP (Wasm)",parser:{name:"php",pluginUrls:[M.php]},compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[H+"php-wasm/php-wasm.js",e+"lang-php-wasm-script.94b7508d299d33857fb195f7a1adb898.js"],scriptType:"text/php-wasm",compiledCodeLanguage:"php"},extensions:["wasm.php","phpwasm"],editor:"script",editorLanguage:"php"};var fj=async(e,{baseUrl:t,config:r})=>{let{pgSqlCompiler:o}=await import(t+"lang-postgresql-compiler-esm.6545a5cef6703b1764ac56bee22b14d8.js");return o(e,{baseUrl:t,config:r})},Yv={name:"postgresql",title:"PostgreSQL",formatter:{factory:()=>(importScripts(Ls),async e=>({formatted:await self.sqlFormatter.format(e,{linesBetweenQueries:2}),cursorOffset:0}))},compiler:{factory:()=>async e=>e,runOutsideWorker:fj,scripts:({baseUrl:e})=>[e+"lang-sql-script.0fda13b68543df41c3693dcb15145df0.js"],scriptType:"application/json",compiledCodeLanguage:"json"},extensions:["pg.sql","pgsql","pgsql.sql","pgsql","pg","pglite","pglite.sql","postgresql","postgres","postgre.sql","postgresql.sql"],editor:"script",editorLanguage:"sql"};var Qv={name:"prolog",title:"Prolog",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[gt+"core.js",gt+"charsio.js",gt+"dom.js",gt+"format.js",gt+"js.js",gt+"lists.js",gt+"os.js",gt+"promises.js",gt+"random.js",gt+"statistics.js",e+"lang-prolog-script.b3fee5e86ac565f479d689f252f2b4d4.js"],scriptType:"text/prolog",compiledCodeLanguage:"prolog"},extensions:["prolog.pl","prolog"],editor:"script"};var Xv={name:"pug",title:"Pug",parser:{name:"pug",pluginUrls:[M.pug]},compiler:{url:H+"pug/pug.min.js",factory:(e,t)=>(self.importScripts(t+"lang-pug-compiler.61645362532461bc77195784b673d3fd.js"),self.createPugCompiler())},extensions:["pug","jade"],editor:"markup"};var gj=Va+"brython.min.js",hj=Va+"brython_stdlib.js",ew={name:"python",title:"Python",compiler:{factory:()=>async e=>e,scripts:({compiled:e,config:t})=>{let{autoloadStdlib:r}=$("python",t),o=/^(?:from[ ]+(\S+)[ ]+)?import[ ]+(\S+)(?:[ ]+as[ ]+\S+)?[ ]*$/gm,n=r!==!1&&e.match(o)?[hj]:[];return[gj,...n]},scriptType:"text/python",compiledCodeLanguage:"python"},extensions:["py"],editor:"script"};var tw={name:"python-wasm",title:"Py (Wasm)",longTitle:"Python (Wasm)",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-python-wasm-script.244b165fea07788db6e85b872a834a24.js"],liveReload:!0,scriptType:"text/python",compiledCodeLanguage:"python"},extensions:["wasm.py","py3","pyodide","py-wasm","pythonwasm","pywasm"],editor:"script",editorLanguage:"python",largeDownload:!0};var rw={name:"r",title:"R",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[e+"lang-r-script-esm.b65480d355a294472ad00aef7c3f1ecf.js"],inlineScript:`
|
|
livecodes.r = livecodes.r || {config: {}};
|
|
// reset config before next load
|
|
livecodes.r.config = {};
|
|
livecodes.r.evaluated = new Promise((resolve) => {
|
|
addEventListener('load', async () => {
|
|
await livecodes.r.loaded;
|
|
if (livecodes.r.config?.autoEvaluate !== false) {
|
|
await livecodes.r.run();
|
|
resolve();
|
|
}
|
|
});
|
|
});
|
|
`,liveReload:!0,scriptType:"text/r",compiledCodeLanguage:"r"},extensions:["r","rlang","rstats","r-wasm"],editor:"script",largeDownload:!0};var ow={name:"react",title:"React",parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:{dependencies:["babel"],url:H+"babel-plugin-react-compiler/babel-plugin-react-compiler.js",factory:()=>async(e,{config:t,language:r})=>{let o=$("babel",t),n=$("@babel/preset-env",t),s=$("@babel/preset-typescript",t),i=$("@babel/preset-react",t),a=$("babel-plugin-react-compiler",t);return window.Babel.transform(e,{filename:"script.tsx",presets:[["env",{modules:!1,...n}],...r==="react-tsx"?["typescript",s]:[],["react",{runtime:"automatic",...i}]],plugins:[[window.reactCompiler.reactCompiler,a]],...o}).code}},extensions:["react.jsx","react-jsx"],editor:"script",editorLanguage:"javascript"};var nw={name:"react-tsx",title:"React (TSX)",parser:{name:"babel-ts",pluginUrls:[M.babel,M.html]},compiler:"react",extensions:["react.tsx"],editor:"script",editorLanguage:"typescript"};var Nl=(e,t)=>{let r={...$("typescript",t),...$(t.script.language,t)};return!!(r.jsx||r.jsxFactory||new RegExp(/\/\*\*[\s\*]*@jsx\s/g).test(e))},Ol={target:"es2020",jsx:"react",allowUmdGlobalAccess:!0,esModuleInterop:!0},sw={name:"typescript",title:"TS",longTitle:"TypeScript",parser:{name:"babel-ts",pluginUrls:[M.babel,M.html]},compiler:{url:Tg,factory:()=>async(e,{config:t})=>window.ts.transpile(e,{...Ol,...["jsx","tsx"].includes(t.script.language)&&!Nl(e,t)?{jsx:"react-jsx"}:{},...$("typescript",t),...$(t.script.language,t)})},extensions:["ts","typescript"],editor:"script"};var iw=H+"react-native-web/react-native-web.js",aw={name:"react-native",title:"RN",longTitle:"React Native",parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:{dependencies:["typescript"],factory:()=>async(e,{config:t,language:r})=>window.ts.transpile(e,{...Ol,jsx:"react-jsx",...$("typescript",t),...$(r,t)}),imports:{react:iw,"react-native":iw}},extensions:["react-native.jsx"],editor:"script",editorLanguage:"javascript"};var lw={name:"react-native-tsx",title:"RN (TSX)",longTitle:"React Native (TSX)",parser:{name:"babel-ts",pluginUrls:[M.babel,M.html]},compiler:"react-native",extensions:["react-native.tsx"],editor:"script",editorLanguage:"typescript"};var yj=async(e,{baseUrl:t,language:r})=>{let{rescriptCompiler:o}=await import(t+"lang-rescript-compiler-esm.b23bcabef7b65641eb53cfa5b118f03e.js");return o(e,{baseUrl:t,language:r})},Dl=(e,t)=>(importScripts(e+"lang-rescript-formatter.ddbe9ab24da560d072e9e8b2949ea790.js"),self.createRescriptFormatter(e,t)),cw={name:"rescript",title:"ReScript",formatter:{factory:Dl},compiler:{factory:()=>async e=>e,runOutsideWorker:yj,scriptType:"module"},extensions:["res","resi"],editor:"script",editorLanguage:"javascript"};var dw={name:"reason",title:"Reason",formatter:{factory:Dl},compiler:"rescript",extensions:["re","rei"],editor:"script",editorLanguage:"javascript"};var pw={name:"richtext",title:"Rich Text",longTitle:"Rich Text Editor",compiler:{factory:()=>async(e,{config:t})=>t.markup.content||"",styles:["quill.8e9d74c74d2c8aaa5d849678c215cf7e.css"]},extensions:["rte","rte.html","rich"],editor:"markup",editorLanguage:"html"};var vj=Ya+"riot+compiler.min.js",wj=Ya+"riot.min.js",uw={name:"riot",title:"Riot.js",parser:{name:"html",pluginUrls:[M.html,M.babel]},compiler:{url:vj,factory:(e,t)=>(self.importScripts(t+"lang-riot-compiler.9d54207b54bf50b92d2311730843e342.js"),self.createRiotCompiler()),scripts:[wj],scriptType:"module"},extensions:["riot","riotjs"],editor:"script"};var bj=(e,t={})=>Array.from(new Set([...e.matchAll(new RegExp(/^\s*self\.\$require\("(\S+)"\);/gm))].map(r=>r[1]).map(r=>r.split("/")[0]).filter(r=>t.hasOwnProperty(r)||r!=="opal").map(r=>t[r]||`${Ko+r}.min.js`))),mw={name:"ruby",title:"Ruby",compiler:{url:Ko+"opal.min.js",factory:()=>(importScripts(Ko+"opal-parser.min.js"),self.Opal.config.unsupported_features_severity="ignore",self.Opal.load("opal-parser"),async(e,{config:t})=>{let{autoloadStdlib:r,requireMap:o,...n}=$("ruby",t),s=e.includes("$0")?`$0 = __FILE__
|
|
`:"";return self.Opal.compile(s+e,n)}),scripts:({compiled:e,config:t})=>{let{autoloadStdlib:r,requireMap:o}=$("ruby",t),n=bj(e,o),s=r!==!1?n:[];return[Ko+"opal.min.js",...s]}},extensions:["rb"],editor:"script"};var fw={name:"ruby-wasm",title:"Ruby (Wasm)",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[vg,e+"lang-ruby-wasm-script.a7f7c94266fa081bf59d3f75b666e99f.js"],liveReload:!0,scriptType:"text/ruby-wasm",compiledCodeLanguage:"ruby"},extensions:["wasm.rb","rubywasm"],editor:"script",editorLanguage:"ruby",largeDownload:!0};var gw={name:"scheme",title:"Scheme",formatter:{factory:Ar},compiler:{factory:()=>async e=>e,scripts:[df],scriptType:"text/biwascheme",compiledCodeLanguage:"scheme"},extensions:["scm"],editor:"script"};var hw={name:"sass",title:"Sass",compiler:"scss",extensions:["sass"],editor:"style"};var yw={name:"scss",title:"SCSS",parser:{name:"scss",pluginUrls:[M.postcss]},compiler:{url:H+"sass/sass.js",factory:(e,t)=>(self.importScripts(t+"lang-scss-compiler.142208576c5da932631999efaf07ffaa.js"),self.createScssCompiler())},extensions:["scss"],editor:"style"};var vw={name:"solid",title:"Solid",parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:{dependencies:["babel"],url:H+"babel-preset-solid/babel-preset-solid.js",factory:(e,t)=>(self.importScripts(t+"lang-solid-compiler.6ade5d553f3b537b0bbb98d536f2c513.js"),self.createSolidCompiler())},extensions:["solid.jsx"],editor:"script",editorLanguage:"javascript"};var ww={name:"solid.tsx",title:"Solid (TS)",parser:{name:"babel-ts",pluginUrls:[M.babel,M.html]},compiler:"solid",extensions:["solid.tsx"],editor:"script",editorLanguage:"typescript"};var Sj="application/json",bw={name:"sql",title:"SQL",formatter:{factory:()=>(importScripts(Ls),async e=>({formatted:await self.sqlFormatter.format(e,{linesBetweenQueries:2}),cursorOffset:0}))},compiler:{url:Sg+"sql-wasm.js",factory:(e,t)=>(self.importScripts(t+"lang-sql-compiler.be3194e4332711421f17ac09851f498d.js"),self.createSqlCompiler()),scripts:({baseUrl:e})=>[e+"lang-sql-script.0fda13b68543df41c3693dcb15145df0.js"],scriptType:Sj,compiledCodeLanguage:"json"},extensions:["sql","sqlite","sqlite3"],editor:"script"};var Sw={name:"stencil",title:"Stencil",parser:{name:"babel-ts",pluginUrls:[M.babel,M.html]},compiler:{url:xg,factory:()=>async(e,{config:t})=>(await window.stencil.transpile(e,{sourceMap:!1,target:"es2019",...$("stencil",t)})).code,types:{"@stencil/core":{url:H+"types/stencil-core.d.ts",declareAsModule:!1}}},extensions:["stencil.tsx"],editor:"script",editorLanguage:"typescript"};var xw={name:"stylis",title:"Stylis",compiler:{url:Eg,factory:()=>async e=>{let{compile:t,serialize:r,stringify:o,middleware:n,prefixer:s}=window.stylis;return r(t(e),n([s,o]))}},extensions:["stylis"],editor:"style",editorLanguage:"scss"};var Ew={name:"stylus",title:"Stylus",compiler:{url:H+"stylus/stylus.min.js",factory:()=>async e=>window.stylus.render(e)},extensions:["styl"],editor:"style"};var Lw={name:"sucrase",title:"Sucrase",parser:{name:"babel",pluginUrls:[M.babel,M.html]},compiler:{url:H+"sucrase/sucrase.js",factory:()=>async(e,{config:t})=>window.sucrase.transform(e,{transforms:["jsx","typescript"],...$("sucrase",t)}).code},extensions:["sucrase"],editor:"script",editorLanguage:"typescript"};var Rl={name:"svelte",title:"Svelte",parser:{name:"html",pluginUrls:[M.html,M.babel]},compiler:{url:Ee+"compiler/index.js",factory:(e,t)=>(self.importScripts(t+"lang-svelte-compiler.bd6bc09e625070e77845826550049802.js"),self.createSvelteCompiler()),imports:{svelte:Ee+"src/index-client.js","svelte/animate":Ee+"src/animate/index.js","svelte/easing":Ee+"src/easing/index.js","svelte/internal":Ee+"src/internal/index.js","svelte/internal/client":Ee+"src/internal/client/index.js","svelte/internal/disclose-version":Ee+"src/internal/disclose-version.js","svelte/internal/flags/legacy":Ee+"src/internal/flags/legacy.js","svelte/internal/server":Ee+"src/internal/server/index.js","svelte/legacy":Ee+"src/legacy/legacy-client.js","svelte/motion":Ee+"src/motion/index.js","svelte/reactivity":Ee+"src/reactivity/index-client.js","svelte/reactivity/window":Ee+"src/reactivity/window/index.js","svelte/server":Ee+"src/server/index.js","svelte/store":Ee+"src/store/index-client.js","svelte/transition":Ee+"src/transition/index.js","svelte/events":Ee+"src/events/index.js","esm-env":"https://esm.sh/esm-env"},inlineScript:'globalThis.process = { env: { NODE_ENV: "production" } };'},extensions:["svelte"],editor:"script"},Tw={...Rl,name:"svelte-app",compiler:"svelte",extensions:["app.svelte"],editor:"markup",editorLanguage:"html"};var Cw={name:"tcl",title:"Tcl",compiler:{factory:()=>async e=>e,scripts:({baseUrl:e})=>[hg,e+"lang-tcl-script.13e0dc2896459f7fde59003e695128f1.js"],scriptType:"text/tcl",compiledCodeLanguage:"tcl"},extensions:["tcl"],editor:"script"};var kw={name:"teal",title:"Teal",formatter:gn,compiler:{url:cr,factory:(e,t)=>(self.importScripts(t+"lang-teal-compiler.5e899632e64aeb99d08d3e86f87130cb.js"),self.createTealCompiler()),scripts:[cr],scriptType:"application/lua",compiledCodeLanguage:"lua"},extensions:["tl"],editor:"script",editorLanguage:"lua"};var Mw={name:"twig",title:"Twig",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:Lg,factory:(e,t)=>(self.importScripts(t+"lang-twig-compiler.ed89f9f78311b48e27359c1852c0d9b9.js"),self.createTwigCompiler())},extensions:["twig"],editor:"markup",editorLanguage:"html"};var Iw={name:"vento",title:"Vento",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:H+"vento/vento.js",factory:(e,t)=>(self.importScripts(t+"lang-vento-compiler.358ef2bdf9c0cab04c4b962547117894.js"),self.createVentoCompiler())},extensions:["vto","vento"],editor:"markup",editorLanguage:"html"};var xj=H+"vue-compiler-sfc/vue-compiler-sfc.js",_l={name:"vue",title:"Vue",longTitle:"Vue SFC",parser:{name:"html",pluginUrls:[M.html]},compiler:{url:xj,factory:(e,t)=>(self.importScripts(t+"lang-vue-compiler.10db6514ea61490fdce7177648648ea2.js"),self.createVueCompiler()),imports:{vue:kg,"livecodes/vue":Mg}},extensions:["vue","vue3"],editor:"script",editorLanguage:"html"},jw={..._l,name:"vue-app",compiler:"vue",extensions:["app.vue"],editor:"markup",editorLanguage:"html"};var Ej=Ig+"vue2-sfc-loader.js",Uw={name:"vue2",title:"Vue 2",longTitle:"Vue 2 SFC",parser:{name:"html",pluginUrls:[M.html]},compiler:{factory:(e,t)=>(self.importScripts(t+"lang-vue2-compiler.03a850afad3748391a66cd225019f490.js"),self.createVue2Compiler()),scripts:[Qa,Ej],imports:{vue:Qa+"/dist/vue.runtime.esm-browser.prod.js"}},extensions:["vue2"],editor:"script",editorLanguage:"html"};var Lj=H+"wast-refmt/wast-refmt.js",Tj="application/wasm-uint8",Aw={name:"wat",title:"WAT",longTitle:"WebAssembly Text",formatter:{factory:()=>(importScripts(Lj),async e=>{let t=e;try{t=self.wastRefmt.format(e)}catch(r){console.warn("failed parsing WAT",r)}return{formatted:t,cursorOffset:0}})},compiler:{url:jg,factory:(e,t)=>(self.importScripts(t+"lang-wat-compiler.9028f4a79f4c0eee08624aa3dc049fe5.js"),self.createWatCompiler()),scripts:({baseUrl:e})=>[e+"lang-wat-script.22a1f4a3b7bce7bfb16db8c2f422372f.js"],scriptType:Tj,compiledCodeLanguage:"Binary"},extensions:["wat","wast","webassembly","wasm"],editor:"script"};var ye=[kv,$v,Fv,Ay,Xv,jy,Tv,Wv,Cv,wv,bv,Vv,Ov,vv,Mw,Iw,hy,Av,Hy,zv,yv,pw,hv,yw,hw,Nv,Ew,xw,jv,sw,xv,Py,Lw,Pv,Hv,ow,nw,aw,lw,_l,Uw,jw,Rl,Tw,Sw,vw,ww,uw,Bv,uv,Dv,Ny,Oy,Mv,cw,dw,Gv,ew,tw,rw,mw,fw,Lv,Kv,Zv,mv,fv,Iv,gv,Jv,Rv,_v,kw,Sv,qv,gw,dv,pv,Ev,Cw,Uy,Aw,bw,Yv,Qv,qy];var Bl=({deps:e})=>{let{getConfig:t,loadStarterTemplate:r,changeEditorSettings:o,changeLayout:n}=e,s=t(),i=u=>s.appLanguage&&s.appLanguage!=="en"?u:void 0,a=[{id:"Show",title:window.deps.translateString("commandMenu.show.title","Show \u2026"),content:i("Show \u2026"),mdIcon:"visibility",children:[{id:"Next Editor",title:window.deps.translateString("commandMenu.show.next","Show Next Editor"),content:i("Show Next Editor"),hotkey:"ctrl+alt+ArrowRight",mdIcon:"skip_next",handler:()=>{document.dispatchEvent(new KeyboardEvent("keydown",{ctrlKey:!0,altKey:!0,key:"ArrowRight",code:"ArrowRight"}))}},{id:"Previous Editor",title:window.deps.translateString("commandMenu.show.previous","Show Previous Editor"),content:i("Show Previous Editor"),hotkey:"ctrl+alt+ArrowLeft",mdIcon:"skip_previous",handler:()=>{document.dispatchEvent(new KeyboardEvent("keydown",{ctrlKey:!0,altKey:!0,key:"ArrowLeft",code:"ArrowLeft"}))}},{id:"Markup Editor",title:window.deps.translateString("commandMenu.show.markup","Show Markup Editor"),content:i("Show Markup Editor"),hotkey:"ctrl+alt+1",mdIcon:"html",handler:()=>{Jg()?.click()}},{id:"Style Editor",title:window.deps.translateString("commandMenu.show.style","Show Style Editor"),content:i("Show Style Editor"),hotkey:"ctrl+alt+2",mdIcon:"css",handler:()=>{Kg()?.click()}},{id:"Script Editor",title:window.deps.translateString("commandMenu.show.script","Show Script Editor"),content:i("Show Script Editor"),hotkey:"ctrl+alt+3",mdIcon:"javascript",handler:()=>{Zg()?.click()}},{id:"Toggle Result",title:window.deps.translateString("commandMenu.show.result","Toggle Result"),content:i("Toggle Result"),hotkey:"ctrl+alt+R",icon:ct.split_scene,handler:()=>{kr()?.click()}},{id:"Toggle Console",title:window.deps.translateString("commandMenu.show.console","Toggle Console"),content:i("Toggle Console"),hotkey:"ctrl+alt+C",mdIcon:"terminal",handler:()=>{Mr()?.dispatchEvent(new Event("touchstart"))}},{id:"Maximize Console",title:window.deps.translateString("commandMenu.show.maximizeConsole","Maximize Console"),content:i("Maximize Console"),hotkey:"ctrl+alt+C+F",mdIcon:"terminal",handler:()=>{Mr()?.dispatchEvent(new Event("dblclick"))}},{id:"Toggle Compiled Code",title:window.deps.translateString("commandMenu.show.compiled","Toggle Compiled Code"),content:i("Toggle Compiled Code"),icon:ct.code_blocks,handler:()=>{nl()?.dispatchEvent(new Event("touchstart"))}},{id:"Maximize Compiled Code",title:window.deps.translateString("commandMenu.show.maximizeCompiled","Maximize Compiled Code"),content:i("Maximize Compiled Code"),icon:ct.code_blocks,handler:()=>{nl()?.dispatchEvent(new Event("dblclick"))}},{id:"Toggle Tests",title:window.deps.translateString("commandMenu.show.tests","Toggle Tests"),content:i("Toggle Tests"),icon:ct.labs,handler:()=>{sl()?.dispatchEvent(new Event("touchstart"))}},{id:"Maximize Tests",title:window.deps.translateString("commandMenu.show.maximizeTests","Maximize Tests"),content:i("Maximize Tests"),icon:ct.labs,handler:()=>{sl()?.dispatchEvent(new Event("dblclick"))}},{id:"Toggle Result Zoom",title:window.deps.translateString("commandMenu.show.zoom","Toggle Result Zoom"),content:i("Toggle Result Zoom"),hotkey:"ctrl+alt+z",mdIcon:"zoom_in",handler:()=>(Ps()?.click(),{keepOpen:!0})},{id:"Toggle Full Screen",title:window.deps.translateString("commandMenu.show.fullscreen","Toggle Full Screen"),content:i("Toggle Full Screen"),hotkey:"f11",mdIcon:"zoom_out_map",handler:()=>{Us()?.click()}},{id:"Toggle Focus Mode",title:window.deps.translateString("commandMenu.show.focusMode","Toggle Focus Mode"),content:i("Toggle Focus Mode"),hotkey:"ctrl+alt+F",mdIcon:"crop_free",handler:()=>{lo()?.click()}}]},{id:"Select Language",title:window.deps.translateString("commandMenu.selectLanguage","Select Language"),content:i("Select Language"),mdIcon:"code",children:ye.filter(u=>Re(u.name,t())).sort((u,b)=>u.title.localeCompare(b.title)).map(u=>({id:"Language: "+u.title,title:u.longTitle??u.title,keywords:[u.name,u.title,u.longTitle,...u.extensions].join(", "),handler:async()=>{document.querySelector('a[data-editor][data-lang="'+u.name+'"]')?.dispatchEvent(new Event("mousedown"))}}))},{id:"Processors",title:window.deps.translateString("commandMenu.processors","Processors"),content:i("Processors"),icon:ct.manufacturing,children:je.filter(u=>!u.hidden&&St(u.name,t())).map(u=>({id:"Processor: "+u.title,title:window.deps.translateString("commandMenu.toggle","Toggle: ")+(u.longTitle??u.title),content:i("Toggle: "+(u.longTitle??u.title)),keywords:[u.name,u.title,u.longTitle,u.isPostcssPlugin?"postcss":""].join(" "),handler:async()=>{document.querySelector('.processor-item input[data-processor="'+u.name+'"]')?.dispatchEvent(new Event("mousedown",{bubbles:!0}))}}))},{id:"Starter Templates",title:window.deps.translateString("commandMenu.starterTemplates","Starter Templates"),content:i("Starter Templates"),mdIcon:"library_books",children:Lm()("blank","javascript","typescript","react","react-native","vue2","vue","angular","preact","svelte","solid","lit","stencil","mdx","astro","riot","malina","jquery","backbone","knockout","jest","jest-react","bootstrap","tailwindcss","shadcn-ui","daisyui","d3","phaser","coffeescript","livescript","civet","clio","imba","rescript","reason","ocaml","python","pyodide","python-wasm","r","ruby","ruby-wasm","go","php","php-wasm","cpp","clang","cpp-wasm","java","csharp-wasm","perl","lua","lua-wasm","teal","fennel","julia","scheme","commonlisp","clojurescript","gleam","tcl","markdown","assemblyscript","wat","sql","postgresql","prolog","blockly","diagrams").map(u=>({id:"Starter template: "+u,title:window.deps.translateString("commandMenu.template","Template")+": "+u,content:i("Template: "+u),handler:async()=>{await r(u)}}))},{id:"Run",title:window.deps.translateString("commandMenu.run","Run"),content:i("Run"),hotkey:"shift+Enter",mdIcon:"play_arrow",handler:()=>{ao()?.click()}},{id:"Share",title:window.deps.translateString("menu.share","Share \u2026"),content:i("Share"),hotkey:"ctrl+alt+S",mdIcon:"share",handler:()=>{rn()?.click()}},{id:"New",title:window.deps.translateString("menu.new","New \u2026"),content:i("New"),hotkey:"ctrl+alt+N",mdIcon:"note_add",handler:()=>{Qo()?.click()}},{id:"Open",title:window.deps.translateString("menu.open","Open \u2026"),content:i("Open"),hotkey:"ctrl+O",mdIcon:"file_open",handler:()=>{Xo()?.click()}},{id:"Save",title:window.deps.translateString("menu.save","Save"),content:i("Save"),hotkey:"ctrl+S",mdIcon:"save",handler:()=>{en()?.click()}},{id:"Save As",title:window.deps.translateString("menu.saveAs.heading","Save as \u2026"),content:i("Save as"),mdIcon:"save_as",children:[{id:"Save as a fork",title:window.deps.translateString("commandMenu.saveAsFork","Save as a Fork (New Project)"),content:i("Save as a Fork (New Project)"),hotkey:"ctrl+shift+S",mdIcon:"save_as",handler:()=>{tn()?.click()}},{id:"Save as a template",title:window.deps.translateString("commandMenu.saveAsTemplate","Save as a Template"),content:i("Save as a template"),mdIcon:"library_add",handler:async()=>{Bs()?.click()}}]},{id:"Import",title:window.deps.translateString("menu.import","Import \u2026"),content:i("Import"),hotkey:"ctrl+alt+I",mdIcon:"upload",handler:()=>{on()?.click()}},{id:"Export",title:window.deps.translateString("menu.export.heading","Export"),content:i("Export"),mdIcon:"download",children:[{id:"Export as JSON",title:window.deps.translateString("menu.export.json","Export Project (JSON)"),content:i("Export Project (JSON)"),mdIcon:"data_object",handler:()=>{qs()?.click()}},{id:"Export as HTML",title:window.deps.translateString("menu.export.result","Export Result (HTML)"),content:i("Export Result (HTML)"),mdIcon:"html",handler:()=>{Ns()?.click()}},{id:"Export as ZIP",title:window.deps.translateString("menu.export.src","Export Source (ZIP)"),content:i("Export Source (ZIP)"),mdIcon:"archive",handler:()=>{Os()?.click()}},{id:"Export to GitHub Gist",title:window.deps.translateString("menu.export.gist","Export to GitHub Gist"),content:i("Export to GitHub Gist"),mdIcon:"north_east",handler:()=>{Ds()?.click()}},{id:"Export to Codepen",title:window.deps.translateString("menu.export.codepen","Edit in CodePen"),content:i("Export to CodePen"),mdIcon:"north_east",handler:()=>{Rs()?.click()}},{id:"Export to Fiddle",title:window.deps.translateString("menu.export.jsfiddle","Edit in JSFiddle"),content:i("Export to JSFiddle"),mdIcon:"north_east",handler:()=>{_s()?.click()}}]},{id:"Deploy",title:window.deps.translateString("menu.deploy","Deploy \u2026"),content:i("Deploy"),mdIcon:"rocket_launch",handler:()=>{Vs()?.click()}},{id:"Broadcast",title:window.deps.translateString("menu.broadcast","Broadcast \u2026"),content:i("Broadcast"),mdIcon:"cell_tower",handler:()=>{Gs()?.click()}},{id:"Embed",title:window.deps.translateString("menu.embed","Embed \u2026"),content:i("Embed"),mdIcon:"aspect_ratio",handler:()=>{zs()?.click()}},{id:"Project Info",title:window.deps.translateString("menu.project","Project Info \u2026"),content:i("Project Info"),mdIcon:"info",handler:()=>{Qs()?.click()}},{id:"Custom Settings",title:window.deps.translateString("menu.customSettings","Custom Settings \u2026"),content:i("Custom Settings"),mdIcon:"data_object",handler:()=>{Fs()?.click()}},{id:"External Resources",title:window.deps.translateString("menu.resources","External Resources \u2026"),content:i("External Resources"),mdIcon:"file_present",handler:()=>{$s()?.click()}},{id:"Assets",title:window.deps.translateString("menu.assets","Assets \u2026"),content:i("Assets"),mdIcon:"perm_media",handler:()=>{Xs()?.click()}},{id:"Code Snippets",title:window.deps.translateString("menu.snippets","Code Snippets \u2026"),content:i("Code Snippets"),mdIcon:"text_snippet",handler:()=>{ei()?.click()}},{id:"Backup / Restore",title:window.deps.translateString("menu.backup","Backup / Restore \u2026"),content:i("Backup / Restore"),icon:ct.deployed_code_update,handler:()=>{nn()?.click()}},{id:"Sync",title:window.deps.translateString("commandMenu.sync","Sync (beta) \u2026"),content:i("Sync"),mdIcon:"sync",handler:()=>{nn()?.click()}},{id:"Welcome Screen",title:window.deps.translateString("menu.welcome.heading","Welcome \u2026"),content:i("Welcome"),mdIcon:"dashboard",handler:()=>{Js()?.click()}},{id:"Settings",title:window.deps.translateString("menu.appSettings.heading","Settings"),content:i("Settings"),mdIcon:"settings",children:[{id:"Editor Settings",title:window.deps.translateString("menu.editorSettings","Editor Settings \u2026"),content:i("Editor Settings"),mdIcon:"settings",handler:()=>{Ws()?.click()}},{id:"Enable AI Code Assistant",title:window.deps.translateString("commandMenu.enableAI","Enable AI Code Assistant"),content:i("Enable AI Code Assistant"),mdIcon:"toggle_on",handler:()=>{o({enableAI:!0})}},{id:"Disable AI Code Assistant",title:window.deps.translateString("commandMenu.disableAI","Disable AI Code Assistant"),content:i("Disable AI Code Assistant"),mdIcon:"toggle_off",handler:()=>{o({enableAI:!1})}},{id:"Enable Auto Update",title:window.deps.translateString("commandMenu.enableAutoUpdate","Enable Auto Update"),content:i("Enable Auto Update"),keywords:"autoupdate",mdIcon:"update",handler:()=>{h("autoupdate",!0)}},{id:"Disable Auto Update",title:window.deps.translateString("commandMenu.disableAutoUpdate","Disable Auto Update"),content:i("Disable Auto Update"),keywords:"autoupdate",mdIcon:"update_disabled",handler:()=>{h("autoupdate",!1)}},{id:"Enable Auto Save",title:window.deps.translateString("commandMenu.enableAutoSave","Enable Auto Save"),content:i("Enable Auto Save"),keywords:"toggle_on",mdIcon:"label",handler:()=>{h("autosave",!0)}},{id:"Disable Auto Save",title:window.deps.translateString("commandMenu.disableAutoSave","Disable Auto Save"),content:i("Disable Auto Save"),keywords:"autosave",mdIcon:"label_off",handler:()=>{h("autosave",!1)}},{id:"Enable Format On-Save",title:window.deps.translateString("commandMenu.enableFormatOnSave","Enable Format On-Save"),content:i("Enable Format On-Save"),keywords:"onsave",mdIcon:"format_align_left",handler:()=>{h("formatOnsave",!0)}},{id:"Disable Format On-Save",title:window.deps.translateString("commandMenu.disableFormatOnSave","Disable Format On-Save"),content:i("Disable Format On-Save"),keywords:"onsave",mdIcon:"filter_list_off",handler:()=>{h("formatOnsave",!1)}},{id:"Enable Recover Unsaved",title:window.deps.translateString("commandMenu.enableRecoverUnsaved","Enable Recover Unsaved"),content:i("Enable Recover Unsaved"),mdIcon:"update",handler:()=>{h("recoverUnsaved",!0)}},{id:"Disable Recover Unsaved",title:window.deps.translateString("commandMenu.disableRecoverUnsaved","Disable Recover Unsaved"),content:i("Disable Recover Unsaved"),mdIcon:"update_disabled",handler:()=>{h("recoverUnsaved",!1)}},{id:"Enable Vim Mode",title:window.deps.translateString("commandMenu.enableVim","Enable Vim Mode"),content:i("Enable Vim Mode"),mdIcon:"edit",handler:()=>{o({editorMode:"vim"})}},{id:"Disable Vim Mode",title:window.deps.translateString("commandMenu.disableVim","Disable Vim Mode"),content:i("Disable Vim Mode"),mdIcon:"edit_off",handler:()=>{o({editorMode:void 0})}},{id:"Enable Emacs Mode",title:window.deps.translateString("commandMenu.enableEmacs","Enable Emacs Mode"),content:i("Enable Emacs Mode"),mdIcon:"edit",handler:()=>{o({editorMode:"emacs"})}},{id:"Disable Emacs Mode",title:window.deps.translateString("commandMenu.disableEmacs","Disable Emacs Mode"),content:i("Disable Emacs Mode"),mdIcon:"edit_off",handler:()=>{o({editorMode:void 0})}},{id:"Responsive Layout",title:window.deps.translateString("commandMenu.responsiveLayout","Responsive Layout"),content:i("Responsive Layout"),icon:ct.responsive_layout,handler:()=>{n("responsive")}},{id:"Vertical Layout",title:window.deps.translateString("commandMenu.verticalLayout","Vertical Layout"),content:i("Vertical Layout"),mdIcon:"stay_current_portrait",handler:()=>{n("vertical")}},{id:"Horizontal Layout",title:window.deps.translateString("commandMenu.horizontalLayout","Horizontal Layout"),content:i("Horizontal Layout"),mdIcon:"stay_current_landscape",handler:()=>{n("horizontal")}}]},{id:"Format Code",title:window.deps.translateString("commandMenu.formatCode","Format Code"),content:i("Format Code"),hotkey:"shift+alt+f",mdIcon:"format_align_left",handler:()=>{Cr()?.click()}},{id:"Copy Code",title:window.deps.translateString("commandMenu.copy","Copy Code"),content:i("Copy Code"),mdIcon:"content_copy",handler:()=>{Ms()?.click()}},{id:"Copy Code as Data URL",title:window.deps.translateString("commandMenu.copyAsDataUrl","Copy Code as Data URL"),content:i("Copy Code as Data URL"),keywords:"base64",mdIcon:"dataset_linked",handler:()=>{Is()?.click()}},{id:"Code to Image",title:window.deps.translateString("app.codeToImage.hint","Code to Image"),content:i("Code to Image"),keywords:"picture screenshot",mdIcon:"camera",handler:()=>{js()?.click()}},{id:"Run Tests",title:window.deps.translateString("commandMenu.show.runTests","Run Tests"),content:i("Run Tests"),hotkey:"ctrl+alt+T",icon:ct.labs,handler:async()=>{sn()?.click()}},{id:"Show result in new window",title:window.deps.translateString("core.result.hint","Show result in new window"),content:i("Show result in new window"),keywords:"popup",mdIcon:"open_in_new",handler:()=>{ah()?.click()}},{id:"Focus Editor",title:window.deps.translateString("commandMenu.focus.editor","Focus Editor"),content:i("Focus Editor"),hotkey:"ctrl+alt+e",mdIcon:"filter_center_focus",handler:()=>{document.dispatchEvent(new KeyboardEvent("keydown",{key:"E",code:"KeyE",ctrlKey:!0,altKey:!0}))}},{id:"Move Focus out of Editor",title:window.deps.translateString("commandMenu.focus.outOfEditor","Move Focus out of Editor"),content:i("Move Focus out of Editor"),hotkey:"esc+esc",icon:ct.reset_focus,handler:()=>{document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",code:"Escape"})),document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",code:"Escape"}))}},{id:"Move Focus to Home",title:window.deps.translateString("commandMenu.focus.home","Move Focus to Home"),content:i("Move Focus to Home"),hotkey:"esc+esc+esc",icon:ct.pip_exit,handler:()=>{document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",code:"Escape"})),document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",code:"Escape"})),document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape",code:"Escape"}))}},{id:"Change UI Language",title:window.deps.translateString("commandMenu.changeUILanguage","Change UI Language"),content:i("Change UI Language"),mdIcon:"language",children:Object.entries(cn).map(([u,b])=>({id:"UI Language: "+u,title:b,keywords:u,matcher:(E,{searchString:k})=>u.includes(k.toLowerCase())||b.includes(k),handler:async()=>{document.querySelector('#app-menu-i18n a[data-lang="'+u+'"]')?.click()}}))},{id:"Change Theme",title:window.deps.translateString("commandMenu.changeTheme.title","Change Theme"),content:i("Change Theme"),mdIcon:"palette",children:[{id:"Light Theme",title:window.deps.translateString("commandMenu.changeTheme.light","Change to Light Theme"),content:i("Change to Light Theme"),mdIcon:"light_mode",handler:()=>(Yo()?.click(),{keepOpen:!0})},{id:"Dark Theme",title:window.deps.translateString("commandMenu.changeTheme.dark","Change to Dark Theme"),content:i("Change to Dark Theme"),mdIcon:"dark_mode",handler:()=>(Zo()?.click(),{keepOpen:!0})},{id:"Set Theme Color",title:window.deps.translateString("commandMenu.theme.color","Set Theme Color"),content:i("Set Theme Color"),mdIcon:"palette",handler:()=>{Ph()?.click()}},{id:"Set Default Theme Color",title:window.deps.translateString("commandMenu.theme.defaultColor","Set Default Theme Color"),content:i("Set Default Theme Color"),mdIcon:"palette",handler:()=>{Ah()?.querySelector("input")?.click()}},{id:"editor theme",title:window.deps.translateString("editorSettings.editorTheme","Editor Theme"),content:i("Editor Theme"),mdIcon:"palette",handler:()=>{e.showScreen("editor-settings",{scrollToSelector:':has(+ label[data-name^="editorTheme"])'})}}]},{id:"Documentation",title:window.deps.translateString("menu.docs","Documentation"),content:i("Documentation"),mdIcon:"menu_book",children:[{id:"Documentation Home",title:window.deps.translateString("menu.docs","Documentation"),content:i("Documentation"),mdIcon:"menu_book",handler:()=>(qt()?.querySelector('a[data-i18n="menu.docs"]')?.click(),{keepOpen:!0})},{id:"Getting Started",title:window.deps.translateString("menu.getstart","Getting Started"),content:i("Getting Started"),mdIcon:"start",handler:()=>(qt()?.querySelector('a[data-i18n="menu.getstart"]')?.click(),{keepOpen:!0})},{id:"Features",title:window.deps.translateString("menu.features","Features"),content:i("Features"),mdIcon:"widgets",handler:()=>(qt()?.querySelector('a[data-i18n="menu.features"]')?.click(),{keepOpen:!0})},{id:"Configuration",title:window.deps.translateString("menu.config","Configuration"),content:i("Configuration"),mdIcon:"tune",handler:()=>(qt()?.querySelector('a[data-i18n="menu.config"]')?.click(),{keepOpen:!0})},{id:"SDK",title:window.deps.translateString("menu.sdk","SDK"),content:i("SDK"),icon:ct.deployed_code,handler:()=>(qt()?.querySelector('a[data-i18n="menu.sdk"]')?.click(),{keepOpen:!0})},{id:"LiveCodes Blog",title:window.deps.translateString("menu.blog","LiveCodes Blog"),content:i("LiveCodes Blog"),mdIcon:"newspaper",handler:()=>(qt()?.querySelector('a[data-i18n="menu.blog"]')?.click(),{keepOpen:!0})}]},{id:"Contribute",title:window.deps.translateString("commandMenu.contribute","Contribute"),content:i("Contribute"),mdIcon:"construction",children:[{id:"Source code on GitHub",title:window.deps.translateString("menu.source","Source code on GitHub"),content:i("Source code on GitHub"),mdIcon:"star",handler:()=>(qt()?.querySelector('a[data-i18n="menu.source"]')?.click(),{keepOpen:!0})},{id:"Report an issue",title:window.deps.translateString("menu.report","Report an issue"),content:i("Report an issue"),mdIcon:"bug_report",handler:()=>(qt()?.querySelector('a[data-i18n="menu.report"]')?.click(),{keepOpen:!0})},{id:"License",title:window.deps.translateString("menu.license","License"),content:i("License"),mdIcon:"receipt_long",handler:()=>(qt()?.querySelector('a[data-i18n="menu.license"]')?.click(),{keepOpen:!0})},{id:"Sponsor",title:window.deps.translateString("about.sponsor.text","Sponsor"),content:i("Sponsor"),mdIcon:"handshake",handler:()=>(window.open(Ht.DOCS_BASE_URL+"sponsor","_blank"),{keepOpen:!0})}]}],l={id:"Login",title:window.deps.translateString("commandMenu.login","Login"),content:i("Login"),mdIcon:"login",handler:()=>{Ir()?.click()}},d={id:"Logout",title:window.deps.translateString("commandMenu.logout","Logout"),content:i("Logout"),mdIcon:"logout",handler:()=>{jr()?.click()}},c={id:"Keyboard",title:window.deps.translateString("commandMenu.keyboardShortcuts","Keyboard Shortcuts"),content:i("Keyboard Shortcuts"),mdIcon:"keyboard",handler:()=>{Ys()?.click()}},m={id:"About",title:window.deps.translateString("menu.about","About ..."),content:i("About"),mdIcon:"contact_support",handler:()=>{Ks()?.click()}},h=(u,b)=>{let E=[...Hs()].find(k=>k.dataset.config===u);E&&(E.checked=b,E.dispatchEvent(new Event("change")))},v=u=>!!u?.every(b=>typeof b!="string"),p=(u,b)=>u.map(E=>({...b(E),children:v(E.children)?p(E.children,b):E.children})),f=u=>({...u,title:u.children?.length?u.title.endsWith(" \u2026")||u.title.endsWith(" ...")?u.title:u.title+" \u2026":u.title.replace(" \u2026","").replace(" ...",""),hotkey:Lr()?u.hotkey?.replace(/ctrl/g,"\u2318"):u.hotkey}),g=u=>u.flatMap(b=>[b,...v(b.children)?g(b.children):[]]),w=u=>g(u).filter(b=>b.hotkey!=null),S=[{id:"Command Menu",title:window.deps.translateString("commandMenu.title","Command Menu"),content:i("Command Menu"),hotkey:"ctrl+k",mdIcon:"home",handler:()=>{Zs()?.click()}},...w(a),{id:"Toggle Tab Focus Mode",title:window.deps.translateString("commandMenu.focus.toggleTabFocusMode","Toggle Tab Focus Mode"),content:i("Toggle Tab Focus Mode"),hotkey:"ctrl+m",mdIcon:"cancel",handler:()=>{window.dispatchEvent(new KeyboardEvent("keydown",{key:"M",code:"KeyM",ctrlKey:!0}))}},{id:"Close Modal/Menu",title:window.deps.translateString("commandMenu.closeModalMenu","Close Modal/Menu"),content:i("Close Modal/Menu"),hotkey:"esc",mdIcon:"cancel",handler:()=>{window.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape"}))}}];return{actions:p([...a,c,m],f),keyboardShortcuts:p(S,f).map(u=>({title:u.title,hotkey:u.hotkey||""})),loginAction:l,logoutAction:d}},ct={split_scene:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h200v80H160v480h200v80H160Zm280 80v-800h80v80h280q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H520v80h-80Zm80-160h280v-480H520v480Zm-360 0v-480 480Zm640 0v-480 480Z"/></svg>',code_blocks:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="m384-336 56-57-87-87 87-87-56-57-144 144 144 144Zm192 0 144-144-144-144-56 57 87 87-87 87 56 57ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm0-80h560v-560H200v560Zm0-560v560-560Z"/></svg>',labs:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="M480-80q-83 0-141.5-58.5T280-280v-360q-33 0-56.5-23.5T200-720v-80q0-33 23.5-56.5T280-880h400q33 0 56.5 23.5T760-800v80q0 33-23.5 56.5T680-640v360q0 83-58.5 141.5T480-80ZM280-720h400v-80H280v80Zm200 560q50 0 85-35t35-85H480v-80h120v-80H480v-80h120v-120H360v360q0 50 35 85t85 35ZM280-720v-80 80Z"/></svg>',deployed_code_update:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="m720-80 120-120-28-28-72 72v-164h-40v164l-72-72-28 28L720-80ZM480-800 243-663l237 137 237-137-237-137ZM120-321v-318q0-22 10.5-40t29.5-29l280-161q10-5 19.5-8t20.5-3q11 0 21 3t19 8l280 161q19 11 29.5 29t10.5 40v159h-80v-116L479-434 200-596v274l240 139v92L160-252q-19-11-29.5-29T120-321ZM720 0q-83 0-141.5-58.5T520-200q0-83 58.5-141.5T720-400q83 0 141.5 58.5T920-200q0 83-58.5 141.5T720 0ZM480-491Z"/></svg>',reset_focus:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="M480-320v-100q0-25 17.5-42.5T540-480h100v60H540v100h-60Zm60 240q-25 0-42.5-17.5T480-140v-100h60v100h100v60H540Zm280-240v-100H720v-60h100q25 0 42.5 17.5T880-420v100h-60ZM720-80v-60h100v-100h60v100q0 25-17.5 42.5T820-80H720Zm111-480h-83q-26-88-99-144t-169-56q-117 0-198.5 81.5T200-480q0 72 32.5 132t87.5 98v-110h80v240H160v-80h94q-62-50-98-122.5T120-480q0-75 28.5-140.5t77-114q48.5-48.5 114-77T480-840q129 0 226.5 79.5T831-560Z"/></svg>',pip_exit:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="M160-160q-33 0-56.5-23.5T80-240v-280h80v280h640v-480H440v-80h360q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm523-140 57-57-124-123h104v-80H480v240h80v-103l123 123ZM80-600v-200h280v200H80Zm400 120Z"/></svg>',responsive_layout:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="M120-120v-520h200v-200h520v720H120Zm520-80h120v-560H400v120h240v440Zm-240 0h160v-360H400v360Zm-200 0h120v-360H200v360Zm440-440v80-80Zm-320 80Zm240 0Zm80-80Z"/></svg>',deployed_code:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="M440-183v-274L200-596v274l240 139Zm80 0 240-139v-274L520-457v274Zm-40-343 237-137-237-137-237 137 237 137ZM160-252q-19-11-29.5-29T120-321v-318q0-22 10.5-40t29.5-29l280-161q19-11 40-11t40 11l280 161q19 11 29.5 29t10.5 40v318q0 22-10.5 40T800-252L520-91q-19 11-40 11t-40-11L160-252Zm320-228Z"/></svg>',manufacturing:'<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor"><path d="m234-480-12-60q-12-5-22.5-10.5T178-564l-58 18-40-68 46-40q-2-13-2-26t2-26l-46-40 40-68 58 18q11-8 21.5-13.5T222-820l12-60h80l12 60q12 5 22.5 10.5T370-796l58-18 40 68-46 40q2 13 2 26t-2 26l46 40-40 68-58-18q-11 8-21.5 13.5T326-540l-12 60h-80Zm40-120q33 0 56.5-23.5T354-680q0-33-23.5-56.5T274-760q-33 0-56.5 23.5T194-680q0 33 23.5 56.5T274-600ZM592-40l-18-84q-17-6-31.5-14.5T514-158l-80 26-56-96 64-56q-2-18-2-36t2-36l-64-56 56-96 80 26q14-11 28.5-19.5T574-516l18-84h112l18 84q17 6 31.5 14.5T782-482l80-26 56 96-64 56q2 18 2 36t-2 36l64 56-56 96-80-26q-14 11-28.5 19.5T722-124l-18 84H592Zm56-160q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Z"/></svg>'};var Pw=(e,t,r,o,n,s,i)=>{let a=["markup","style","script"],l=document.createElement("ul");document.querySelector("#select-editor")?.appendChild(l);let d=a.length;a.forEach(c=>{let m=document.createElement("a");m.href="#",m.id=c+"-selector",m.classList.add("editor-title","noselect"),m.dataset.editor=c,m.innerHTML=`
|
|
<span></span>
|
|
<a
|
|
href="javascript:void(0)"
|
|
onclick="event.stopPropagation();"
|
|
class="language-menu-button"
|
|
title="${window.deps.translateString("core.changeLanguage.hint","Change Language")}"
|
|
>
|
|
<i class="icon-arrow-down"></i>
|
|
</a>
|
|
`,l.appendChild(m);let h=document.createElement("div");h.classList.add("menu-scroller"),h.classList.add("menu-scroller-"+c),i(h,m.querySelector(".language-menu-button")),m.appendChild(h);let v=document.createElement("ul");v.classList.add("dropdown-menu"),v.classList.add("dropdown-menu-"+c),h.appendChild(v);let p=[...ye].filter(w=>w.editor===c).filter(w=>Re(w.name,e));if(p.length===0)m.classList.add("hidden"),d-=1;else if(p.length===1){let w=m.querySelector(".language-menu-button");w&&(w.style.display="none")}let g=je.filter(w=>w.editor===c&&St(w.name,e)).length>0?{name:c+"-processors",title:"Processors:",longTitle:"Processors:",editor:c}:void 0;g&&p.push(g),p.forEach(w=>{let S=document.createElement("li");S.classList.add("language-item"),v.appendChild(S);let u=document.createElement("a");if(u.href="#",u.dataset.editor=c,u.dataset.lang=w.name,u.title=w.longTitle||w.title,u.innerHTML=w.longTitle||w.title,"extensions"in w||u.classList.add("subtitle"),w.name==="style-processors"&&S.classList.add("column-break"),S.appendChild(u),w.info!==!1){let b=document.createElement("span");b.classList.add("tooltip"),b.title=window.deps.translateString("generic.clickForInfo","Click for info..."),b.innerHTML=kj,r.addEventListener(b,"mousedown",async()=>{let E=document.createElement("div");E.classList.add("language-info"),E.innerHTML=await Cj(w.name,t),o(E);let k=E.querySelector("a[data-template]"),L=k?.dataset.template;k&&L&&r.addEventListener(k,"click",async z=>{z.preventDefault(),n(L)},!1);let P=E.querySelector("a[data-code]"),D=P?.dataset.code;P&&D&&r.addEventListener(P,"click",async z=>{z.preventDefault(),s({importUrl:D})},!1)},!1),S.appendChild(b)}})}),d<3&&document.querySelectorAll(".editor-title").forEach(c=>{c.classList.add("half-width")})},Hw=e=>{let t=document.createElement("li");return t.classList.add("language-item","processor-item"),t.innerHTML=`
|
|
<a href="#">
|
|
<label class="switch">
|
|
<span>${e.title}</span>
|
|
<div>
|
|
<input id="${e.name}" type="checkbox" data-processor="${e.name}" tabindex="-1" />
|
|
<span class="slider round"></span>
|
|
</div>
|
|
</label>
|
|
</a>
|
|
`,t},Cj=async(e,t)=>{let r=await import(t+"language-info.d57a84ae272e6426713dec9d8570a976.js").then(i=>i.languageInfo);return new DOMParser().parseFromString(r,"text/html").querySelector(`[data-lang="${e}"]`)?.innerHTML||""},kj='<i class="icon-info"></i>';function Mj(e,t,r){if(r)return t?t(e()):e();try{var o=Promise.resolve(e());return t?o.then(t):o}catch(n){return Promise.reject(n)}}function Ij(e){var t=e();if(t&&t.then)return t.then(jj)}function jj(){}function Uj(e,t,r){return r?t?t(e):e:((!e||!e.then)&&(e=Promise.resolve(e)),t?e.then(t):e)}var yo={left:[],center:[],right:[]},$l={left:!0,center:!0,right:!0},Aj={light:{backgroundColor:"#fff",textColor:"#000",actionColor:"#008000"},dark:{}},Ot=function(t,r){var o=this;r===void 0&&(r={});var n=r.timeout;n===void 0&&(n=0);var s=r.actions;s===void 0&&(s=[{text:"dismiss",callback:function(){return o.destroy()}}]);var i=r.position;i===void 0&&(i="center");var a=r.theme;a===void 0&&(a="dark");var l=r.maxStack;l===void 0&&(l=3),this.message=t,this.options={timeout:n,actions:s,position:i,maxStack:l,theme:typeof a=="string"?Aj[a]:a},this.wrapper=this.getWrapper(this.options.position),this.insert(),yo[this.options.position].push(this),this.stack()},qw={theme:{configurable:!0}};qw.theme.get=function(){return this.options.theme};Ot.prototype.getWrapper=function(t){var r=document.querySelector(".snackbars-"+t);return r||(r=document.createElement("div"),r.className="snackbars snackbars-"+t,document.body.appendChild(r)),r};Ot.prototype.insert=function(){var t=this,r=document.createElement("div");r.className="snackbar",r.setAttribute("aria-live","assertive"),r.setAttribute("aria-atomic","true"),r.setAttribute("aria-hidden","false");var o=this.theme,n=o.backgroundColor,s=o.textColor,i=o.boxShadow,a=o.actionColor,l=document.createElement("div");l.className="snackbar--container",n&&(l.style.backgroundColor=n),s&&(l.style.color=s),i&&(l.style.boxShadow=i),r.appendChild(l);var d=document.createElement("div");if(d.className="snackbar--text",typeof this.message=="string"?d.textContent=this.message:d.appendChild(this.message),l.appendChild(d),this.options.actions)for(var c=function(){var v=h[m],p=v.style,f=v.text,g=v.callback,w=document.createElement("button");w.className="snackbar--button",w.innerHTML=f,a&&(w.style.color=a),p&&Object.keys(p).forEach(function(S){w.style[S]=p[S]}),w.addEventListener("click",function(){t.stopTimer(),g?g(w,t):t.destroy()}),l.appendChild(w)},m=0,h=t.options.actions;m<h.length;m+=1)c();this.startTimer(),r.addEventListener("mouseenter",function(){t.expand()}),r.addEventListener("mouseleave",function(){t.stack()}),this.el=r,this.wrapper.appendChild(r)};Ot.prototype.stack=function(){var t=this;$l[this.options.position]=!0;var r=yo[this.options.position],o=r.length-1;r.forEach(function(n,s){n.startTimer();var i=n.el;if(i){i.style.transform="translate3d(0, -"+(o-s)*15+"px, -"+(o-s)+"px) scale("+(1-.05*(o-s))+")";var a=o-s>=t.options.maxStack;t.toggleVisibility(i,a)}})};Ot.prototype.expand=function(){var t=this;$l[this.options.position]=!1;var r=yo[this.options.position],o=r.length-1;r.forEach(function(n,s){n.stopTimer();var i=n.el;if(i){i.style.transform="translate3d(0, -"+(o-s)*i.clientHeight+"px, 0) scale(1)";var a=o-s>=t.options.maxStack;t.toggleVisibility(i,a)}})};Ot.prototype.toggleVisibility=function(t,r){r?(this.visibilityTimeoutId=window.setTimeout(function(){t.style.visibility="hidden"},300),t.style.opacity="0"):(this.visibilityTimeoutId&&(clearTimeout(this.visibilityTimeoutId),this.visibilityTimeoutId=void 0),t.style.opacity="1",t.style.visibility="visible")};Ot.prototype.destroy=function(){var t=this;return Mj(function(){var r=t.el,o=t.wrapper;return Ij(function(){if(r)return r.setAttribute("aria-hidden","true"),Uj(new Promise(function(n){var s=Pj(r);s?r.addEventListener(s,function(){return n()}):n()}),function(){o.removeChild(r);for(var n=yo[t.options.position],s=void 0,i=0;i<n.length;i++)if(n[i].el===r){s=i;break}s!==void 0&&n.splice(s,1),$l[t.options.position]?t.stack():t.expand()})})})};Ot.prototype.startTimer=function(){var t=this;this.options.timeout&&!this.timeoutId&&(this.timeoutId=self.setTimeout(function(){return t.destroy()},this.options.timeout))};Ot.prototype.stopTimer=function(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=void 0)};Object.defineProperties(Ot.prototype,qw);function Pj(e){for(var t={animation:"animationend",OAnimation:"oAnimationEnd",MozAnimation:"Animationend",WebkitAnimation:"webkitAnimationEnd"},r=0,o=Object.keys(t);r<o.length;r+=1){var n=o[r];if(e.style[n]!==void 0)return t[n]}}function Nw(e,t){return new Ot(e,t)}function Ow(){var e=[];return Object.keys(yo).map(function(t){return yo[t]}).forEach(function(t){return e.push.apply(e,t)}),Promise.all(e.map(function(t){return t.destroy()}))}var Z={title:"Untitled Project",description:"",head:`<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />`,htmlAttrs:'lang="en" class=""',tags:[],autoupdate:!0,autosave:!1,autotest:!1,delay:1500,formatOnsave:!1,view:"split",mode:"full",theme:"dark",themeColor:void 0,layout:"responsive",editorTheme:void 0,appLanguage:void 0,recoverUnsaved:!0,showSpacing:!1,welcome:!0,readonly:!1,allowLangChange:!0,activeEditor:void 0,languages:void 0,markup:{language:"html",content:""},style:{language:"css",content:""},script:{language:"javascript",content:""},stylesheets:[],scripts:[],cssPreset:"",imports:{},types:{},tests:{language:"typescript",content:""},tools:{enabled:"all",active:"",status:""},zoom:1,processors:[],customSettings:{},editor:void 0,fontFamily:void 0,fontSize:void 0,useTabs:!1,tabSize:2,lineNumbers:!0,wordWrap:!1,closeBrackets:!0,foldRegions:!1,semicolons:!0,singleQuote:!1,trailingComma:!0,emmet:!0,enableAI:!1,editorMode:void 0,version:"46"};var vo=e=>{if(!e)return{...Z};let t=Pr(e),r={...Z,...t,...t.mode==="result"&&t.tools==null?{tools:{enabled:[],active:"",status:"none"}}:{}},o=Fl(),{version:n,...s}=Pr(qj(r,o));r={...r,...s};let i=r.activeEditor||"markup";return r=Hj({...r,activeEditor:i}),r},Hj=e=>({...e,markup:{...e.markup,language:X(e.markup.language)||Z.markup.language},style:{...e.style,language:X(e.style.language)||Z.style.language},script:{...e.script,language:X(e.script.language)||Z.script.language},...e.tests?.language?{tests:{...e.tests,language:X(e.tests.language)||Z.tests?.language||"typescript"}}:{},...e.languages?{languages:Pt(e.languages.map(t=>X(t)).filter(Boolean))}:{}}),Fl=(e=parent.location.search,t=parent.location.hash)=>{let r=Object.fromEntries(new URLSearchParams(e));t&&(t=t.replace("#","?"),r={...r,...Object.fromEntries(new URLSearchParams(t))});let o={};return Object.keys(r).forEach(n=>{try{let s=r[n];n==="params"?(o=JSON.parse(ho(s)||"{}"),(!o||typeof o!="object")&&(o={})):r[n]=decodeURIComponent(s)}catch{}r={...o,...r},r[n]===""&&(r[n]=!0),r[n]==="true"&&(r[n]=!0),r[n]==="false"&&(r[n]=!1)}),r.x??(r.x=r.import),r},qj=(e,t)=>{let r=[...Object.keys(Z)].filter(m=>m!=="version").reduce((m,h)=>({...m,[h]:t[h]}),{});Object.keys(t).forEach(m=>{let h=X(m);if(!h)return;let v=ce(h);if(v&&!r[v]){let p=t[m],f=typeof p=="string"?ym(p):"";r[v]={language:h,content:f},r.activeEditor||(r.activeEditor=v)}});let o=X(t.language||t.lang),n=ce(o);n&&(r[n]?.language===o?r.activeEditor=n:!r[n]?.content&&e[n]?.language===o?(r[n]={...e[n]},r.activeEditor=n):e[n]?.content||(r[n]={language:o,content:""},r.activeEditor=n));let s=["markup","style","script"],i=t.activeEditor,a=t.active;r.activeEditor=s.includes(i)?i:i in s?s[i]:s.includes(a)?a:a in s?s[a]:r.activeEditor,typeof t.languages=="string"&&(r.languages=t.languages.split(",").map(m=>m.trim()).map(X).filter(Boolean)),typeof t.processors=="string"&&(r.processors=t.processors.split(",").map(m=>m.trim()).filter(Boolean)),typeof t.tags=="string"&&(r.tags=t.tags.split(",").map(m=>m.trim()).filter(Boolean)),typeof t.stylesheets=="string"&&(r.stylesheets=t.stylesheets.split(",").map(m=>m.trim()).filter(Boolean)),typeof t.scripts=="string"&&(r.scripts=t.scripts.split(",").map(m=>m.trim()).filter(Boolean));let l=["console","compiled","tests"],d=!t.tools&&l.map(m=>t[m]).filter(Boolean).length===0;if(t.tools==="none"||t.tools===!1||t.mode==="editor"||t.mode==="codeblock"||t.mode==="result"&&d)r.tools={enabled:[],active:"",status:"none"};else if(!d){r.tools=ft(Z.tools);let m,[h,v]=t.tools?.split("|")||["",""],p=h.split(",").map(g=>g.trim()).filter(g=>l.includes(g));p.length>0&&(r.tools.enabled=p,r.tools.active=p[0]),Object.keys(t).filter(g=>l.includes(g)).forEach(g=>{r.tools&&(t[g]===!0&&(t[g]="open"),t[g]===!1&&(t[g]="none"),!m&&["open","full","closed"].includes(t[g])&&(r.tools.enabled&&r.tools.enabled!=="all"&&!r.tools.enabled.includes(g)&&r.tools.enabled.push(g),r.tools.active=g,r.tools.status=t[g],m=r.tools.status),t[g]==="none"&&(r.tools.enabled==="all"&&(r.tools.enabled=[...l]),r.tools.enabled=r.tools.enabled?.filter(w=>w!==g)||[],r.tools.active===g&&(r.tools.active=r.tools.enabled?.[0]||"")))}),["open","full","closed"].includes(t.tools)?r.tools.status=t.tools:["open","full","closed"].includes(v)?r.tools.status=v:!r.tools?.status&&["editor","codeblock","result"].includes(r.mode||"")?r.tools={enabled:[],active:"",status:"none"}:r.tools.status||(r.tools.status="closed")}return t.lite&&(r.mode="lite"),r};var Nj=[{to:"18",upgrade:(e,t)=>{let r=Hr(e),o=r.customSettings?.head;typeof o=="string"&&(r.head=o,delete r.customSettings?.head);let n=r.customSettings?.htmlClasses;return typeof n=="string"&&(typeof r.htmlAttrs=="string"?r.htmlAttrs=`class="${n}" ${r.htmlAttrs}`:r.htmlAttrs={...r.htmlAttrs,class:n},delete r.customSettings?.htmlClasses),{...r,version:t}}},{to:"0.6.0",upgrade:(e,t)=>{let r=Hr(e);return r.processors&&"postcss"in r.processors&&(r.processors=Object.keys(r.processors.postcss).filter(o=>r.processors.postcss[o])),{...r,version:t}}},{to:"0.5.0",upgrade:(e,t)=>{let r=Hr(e);return"editor"in r&&r.editor==="prism"&&(r.editor="codejar"),"compiled"in r&&(r.tools=r.tools||Hr(Z.tools),r.tools.active="compiled",r.tools.status=r.compiled,delete r.compiled),"console"in r&&(r.tools=r.tools||Hr(Z.tools),r.tools.active="console",r.tools.status=r.console,delete r.console),r.script?.language==="graph"&&(r.script.language="diagrams"),r.languages?.includes("graph")&&(r.languages=r.languages.map(o=>o==="graph"?"diagrams":o)),"enableRestore"in r&&(r.recoverUnsaved=r.enableRestore,delete r.enableRestore),{...r,version:t}}},{to:"0.4.0",upgrade:(e,t)=>{let r=Hr(e);if(r=Dw(r,"update_delay","delay"),r=Dw(r,"allow_lang_change","allowLangChange"),"autoprefixer"in r&&(r.processors=Hr(Z.processors),r.processors.postcss=r.processors.postcss||{},r.processors.postcss.autoprefixer=r.autoprefixer,delete r.autoprefixer),"baseUrl"in r&&delete r.baseUrl,"cssPreset"in r&&r.cssPreset===null&&(r.cssPreset=""),"editor"in r&&typeof r.editor!="string"&&(r.editor=void 0),"language"in r&&(r.activeEditor=ce(r.language),delete r.language),"modules"in r){let o={...r.modules.reduce((s,i)=>({...s,...i.url?{[i.name]:i.url}:{}}),{})};Object.keys(o).length>0&&(r.imports=o);let n={...r.modules.reduce((s,i)=>({...s,...i.typesUrl?{[i.name]:i.typesUrl}:{}}),{})};Object.keys(n).length>0&&(r.types=n),delete r.modules}return{...r,version:t}}}],Rw=e=>{let t=Oj(e.version)?e.version:"0.0.0",r=Z.version;return zl({version:r,comparedTo:t})?(console.warn(`Unsupported config version '${t}'. Current LiveCodes version is '${r}'`),e):t===r?e:{...Nj.sort((o,n)=>zl({version:o.to,comparedTo:n.to})?-1:1).reduce((o,n)=>zl({version:o.version,comparedTo:n.to})?n.upgrade(o,n.to):o,e),version:r}},Oj=e=>{if(typeof e!="string")return!1;let t=e.split(".");return!(t.length!==3||t.map(r=>Number(r)).filter(isNaN).length!==0)},zl=({version:e,comparedTo:t})=>{if(!e)return!0;let r=e.split(".").map(n=>Number(n)),o=t.split(".").map(n=>Number(n));for(let n in r)if(r[n]<o[n])return!0;return!1},Hr=e=>JSON.parse(JSON.stringify(e)),Dw=(e,t,r)=>{let{[t]:o,...n}={...e,...t in e?{[r]:e[t]}:{}};return n};var _w=e=>{let t=(u,b,E)=>b==="array"?Array.isArray(u)?E?u.filter(k=>t(k,E)).length>0:!0:!1:b==="object"?u&&typeof u===b:b==="number"&&!isNaN(Number(u))?!0:typeof u===b,r=(u,b)=>b!=null&&u.includes(b),o=["split","editor","result"],n=["full","focus","lite","simple","editor","codeblock","result"],s=["light","dark"],i=["responsive","horizontal","vertical"],a=["vim","emacs"],l=["console","compiled","tests"],d=["","full","closed","open","none"],c=["monaco","codemirror","codejar","auto"],m=["markup","style","script"],h=[1,.5,.25],v=u=>t(u,"object")&&(t(u.language,"string")||t(u.title,"string")||t(u.content,"string")||t(u.contentUrl,"string")||t(u.hiddenContent,"string")||t(u.hiddenContentUrl,"string")||t(u.foldedLines,"array","object")||t(u.order,"number")||t(u.selector,"string")),p=u=>t(u,"object")&&(t(u.from,"number")||t(u.to,"number")),f=(u,b)=>b!=="markup"?u:u==="svelte"?"svelte-app":u==="vue"?"vue-app":u,g=(u,b)=>({language:f(ce(f(u.language,b))===b?X(u.language)||Z[b].language:Z[b].language,b),...t(u.title,"string")?{title:u.title}:{},...t(u.content,"string")?{content:u.content}:{},...t(u.contentUrl,"string")?{contentUrl:u.contentUrl}:{},...t(u.hideTitle,"boolean")?{hideTitle:u.hideTitle}:{},...t(u.hiddenContent,"string")?{hiddenContent:u.hiddenContent}:{},...t(u.hiddenContentUrl,"string")?{hiddenContentUrl:u.hiddenContentUrl}:{},...t(u.foldedLines,"array","object")&&u.foldedLines?.every(p)?{foldedLines:u.foldedLines}:{},...t(u.order,"number")?{order:u.order}:{},...t(u.selector,"string")?{selector:u.selector}:{},...t(u.position,"object")?{position:u.position}:{}}),w=u=>({...u&&t(u.language,"string")?{language:u.language}:{},...u&&t(u.content,"string")?{content:u.content}:{},...u&&t(u.contentUrl,"string")?{contentUrl:u.contentUrl}:{},...u&&t(u.hiddenContent,"string")?{hiddenContent:u.hiddenContent}:{},...u&&t(u.hiddenContentUrl,"string")?{hiddenContentUrl:u.hiddenContentUrl}:{},...u&&t(u.selector,"string")?{selector:u.selector}:{},...u&&t(u.position,"object")?{position:u.position}:{}}),S=u=>({...Z.tools,...u&&Array.isArray(u.enabled)?{enabled:u.enabled.filter(b=>l.includes(b))}:{...u&&u.enabled==null&&u.status==="none"?{enabled:[]}:{enabled:Z.tools.enabled}},...u&&u.active!=null&&r(l,u.active)&&(typeof u.enabled=="string"||u.enabled==null||Array.isArray(u.enabled)&&r(u.enabled,u.active))?{active:u.active}:{active:Z.tools.active},...u&&u.status!=null&&r(d,u.status)?{status:u.status}:{status:Z.tools.status}});return{...t(e.title,"string")?{title:e.title}:{},...t(e.description,"string")?{description:e.description}:{},...t(e.head,"string")?{head:e.head}:{},...t(e.htmlAttrs,"string")||t(e.htmlAttrs,"object")?{htmlAttrs:e.htmlAttrs}:{},...t(e.tags,"array","string")?{tags:Pt(e.tags)}:{},...t(e.autoupdate,"boolean")?{autoupdate:e.autoupdate}:{},...t(e.autosave,"boolean")?{autosave:e.autosave}:{},...t(e.autotest,"boolean")?{autotest:e.autotest}:{},...t(e.delay,"number")?{delay:Number(e.delay)}:{},...t(e.formatOnsave,"boolean")?{formatOnsave:e.formatOnsave}:{},...r(o,e.view)?{view:e.view}:{},...r(n,e.mode)?{mode:e.mode}:{},...r(s,e.theme)?{theme:e.theme}:{},...t(e.themeColor,"string")?{themeColor:e.themeColor}:{},...r(i,e.layout)?{layout:e.layout}:{},...t(e.editorTheme,"array","string")||t(e.editorTheme,"string")?{editorTheme:e.editorTheme}:{},...t(e.appLanguage,"string")?{appLanguage:e.appLanguage}:{},...t(e.recoverUnsaved,"boolean")?{recoverUnsaved:e.recoverUnsaved}:{},...t(e.welcome,"boolean")?{welcome:e.welcome}:{},...t(e.showSpacing,"boolean")?{showSpacing:e.showSpacing}:{},...t(e.readonly,"boolean")?{readonly:e.readonly}:{},...t(e.allowLangChange,"boolean")?{allowLangChange:e.allowLangChange}:{},...r(m,e.activeEditor)?{activeEditor:e.activeEditor}:{},...t(e.languages,"array","string")?{languages:Pt(e.languages)}:{},...v(e.markup)?{markup:g(e.markup,"markup")}:{},...v(e.style)?{style:g(e.style,"style")}:{},...v(e.script)?{script:g(e.script,"script")}:{},...t(e.tools,"object")?{tools:S(e.tools)}:{},...t(e.tests,"object")?{tests:w(e.tests)}:{},...r(h,Number(e.zoom))?{zoom:Number(e.zoom)}:{},...t(e.stylesheets,"array","string")?{stylesheets:Pt(e.stylesheets)}:{},...t(e.scripts,"array","string")?{scripts:Pt(e.scripts)}:{},...t(e.cssPreset,"string")?{cssPreset:e.cssPreset}:{},...t(e.processors,"array","string")?{processors:Pt(e.processors)}:{},...t(e.customSettings,"object")?{customSettings:e.customSettings}:{},...r(c,e.editor)?{editor:e.editor}:{},...t(e.fontFamily,"string")?{fontFamily:e.fontFamily}:{},...t(e.fontSize,"number")?{fontSize:Number(e.fontSize)}:{},...t(e.useTabs,"boolean")?{useTabs:e.useTabs}:{},...t(e.tabSize,"number")?{tabSize:Number(e.tabSize)}:{},...t(e.lineNumbers,"boolean")||e.lineNumbers==="relative"?{lineNumbers:e.lineNumbers}:{},...t(e.wordWrap,"boolean")?{wordWrap:e.wordWrap}:{},...t(e.closeBrackets,"boolean")?{closeBrackets:e.closeBrackets}:{},...t(e.foldRegions,"boolean")?{foldRegions:e.foldRegions}:{},...t(e.semicolons,"boolean")?{semicolons:e.semicolons}:{},...t(e.singleQuote,"boolean")?{singleQuote:e.singleQuote}:{},...t(e.trailingComma,"boolean")?{trailingComma:e.trailingComma}:{},...t(e.emmet,"boolean")?{emmet:e.emmet}:{},...t(e.enableAI,"boolean")?{enableAI:e.enableAI}:{},...r(a,e.editorMode)?{editorMode:e.editorMode}:{},...t(e.imports,"object")?{imports:e.imports}:{},...t(e.types,"object")?{types:e.types}:{},...t(e.version,"string")?{version:e.version}:{}}};var Bw=Z,x=()=>ft(Bw),se=e=>{Bw=ft(e)},Te=e=>ft({title:e.title,description:e.description,head:e.head,htmlAttrs:e.htmlAttrs,tags:e.tags,activeEditor:e.activeEditor,languages:e.languages,markup:e.markup,style:e.style,script:e.script,stylesheets:e.stylesheets,scripts:e.scripts,cssPreset:e.cssPreset,processors:e.processors,customSettings:e.customSettings,imports:e.imports,types:e.types,tests:e.tests,version:e.version});var wo=e=>ft({autoupdate:e.autoupdate,autosave:e.autosave,autotest:e.autotest,appLanguage:e.appLanguage,delay:e.delay,formatOnsave:e.formatOnsave,layout:e.layout,recoverUnsaved:e.recoverUnsaved,welcome:e.welcome,showSpacing:e.showSpacing,..._e(e),...Dt(e)}),_e=e=>ft({editor:e.editor??(e.readonly===!0?"codejar":void 0),theme:e.theme,themeColor:e.themeColor,editorTheme:e.editorTheme,fontFamily:e.fontFamily,fontSize:e.fontSize,useTabs:e.useTabs,tabSize:e.tabSize,lineNumbers:e.lineNumbers,wordWrap:e.wordWrap,closeBrackets:e.closeBrackets,foldRegions:e.foldRegions,emmet:e.emmet,enableAI:e.enableAI,editorMode:e.editorMode}),Dt=e=>ft({useTabs:e.useTabs,tabSize:e.tabSize,semicolons:e.semicolons,singleQuote:e.singleQuote,trailingComma:e.trailingComma}),Pr=e=>_w(Rw(e));var $w={minWidth:"2em",padding:"3px"},Fw={textColor:"#eee",actionColor:"#eee",backgroundColor:"#2A2A2A"},zw={textColor:"#343A40",actionColor:"#343A40",backgroundColor:"#fff"},Ww={textColor:"#055160",actionColor:"#055160",backgroundColor:"#CFF4FC"},Vw={textColor:"#0F5132",actionColor:"#0F5132",backgroundColor:"#D1E7DD"},Gw={textColor:"#664D16",actionColor:"#664D16",backgroundColor:"#FFF3CD"},Jw={textColor:"#842040",actionColor:"#842040",backgroundColor:"#F8D7DA"},bo={text:'<span title="Dismiss">\u2716</span>',style:$w,callback(e,t){t.destroy()}},Kw={text:'<span title="Confirm">\u2713</span>',style:$w,callback(e,t){t.destroy()}};var Wl=()=>document.querySelectorAll(".snackbar").length>0,Zw=()=>{let t=()=>document.querySelector("dialog#modal")?.open?"left":"center",r=(l,d)=>{let c=t();return Nw(l,{position:c,...d})},o=(l,d=!0)=>{r(l,{theme:Ww,actions:d?[bo]:[],timeout:2e3})},n=(l,d=!0)=>{r("\u2713 "+l,{theme:Vw,actions:d?[bo]:[],timeout:2e3})},s=(l,d=!0)=>{r(l,{position:t(),theme:Gw,actions:d?[bo]:[],timeout:2e3})},i=(l,d=!0)=>{r("\u2716 "+l,{position:t(),theme:Jw,actions:d?[bo]:[],timeout:2e3})},a=(l,d,c)=>{let m={...Kw,callback(v,p){d(),p.destroy()}},h={...bo,callback(v,p){c?.(),p.destroy()}};r(l,{theme:x().theme==="dark"?Fw:zw,actions:[m,h]}),document.querySelector(".snackbar--button")?.focus()};return addEventListener("keydown",l=>{l.key==="Escape"&&Wl()&&(l.preventDefault(),Ow())}),{info:o,success:n,warning:s,error:i,confirm:a}};var Yw=({container:e=document,single:t,open:r})=>{let o=s=>{let i=s.nextElementSibling;!i||!(i instanceof HTMLElement)||!i.classList.contains("panel")||(s.classList.contains("active")?i.style.maxHeight=i.scrollHeight+"px":i.style.maxHeight="")};e.querySelectorAll(".accordion").forEach(s=>{let i=s.querySelectorAll(".title"),a=!1;i.forEach(l=>{l.classList.contains("active")&&(o(l),a=!0),l.addEventListener("click",d=>{d.preventDefault(),l.classList.toggle("active"),o(l),(t??s.classList.contains("single"))&&l.classList.contains("active")&&i.forEach(c=>{c!==l&&(c.classList.remove("active"),o(c))})})}),r&&!a&&(i[0].classList.add("active"),o(i[0]))})};var Qw=e=>{let t=document.querySelector("#overlay"),r=document.querySelector("#modal-container"),o=document.querySelector("#modal"),n,s=()=>{},i=(c,{size:m="large",closeButton:h=!1,isAsync:v=!1,onClose:p=()=>{},scrollToSelector:f="",autoFocus:g=!e.isEmbed}={})=>{if(o.className=m,r.innerHTML="",r.appendChild(c),e.translate(o),s=p,document.querySelectorAll(".menu-scroller").forEach(u=>{u.classList.add("hidden")}),Yw({container:c,open:!0}),h){let u=document.createElement("div");u.className="close-container";let b=document.createElement("button");b.classList.add("button"),b.innerHTML=window.deps.translateString("generic.close","Close"),b.onclick=a,u.appendChild(b),r.appendChild(u)}let w=document.createElement("button");w.classList.add("close-button");let S='<span class="icon-close"></span>';w.innerHTML=S,w.title="Esc",w.onclick=a,r.appendChild(w),t.style.display="flex",o.open||o.showModal(),t.classList.remove("hidden"),setTimeout(()=>{if(f){let u=c.querySelector(f);r.style.scrollBehavior="smooth",u&&(u.scrollIntoView(),u.focus())}else g&&o.focus()},500),n=!0,document.removeEventListener("click",l),document.removeEventListener("keydown",d),document.addEventListener("click",l,!1),document.addEventListener("keydown",d,!1),v&&c.click()},a=()=>{typeof s=="function"&&s(),document.removeEventListener("click",l),document.removeEventListener("keydown",d),t.classList.add("hidden"),r.innerHTML="",o.className="",o.close(),setTimeout(()=>{t.style.display="none",n=!1},400),e.onClose()};function l(c){let m=o.querySelector(".snackbars-left");!r?.contains(c.target)&&!m?.contains(c.target)&&!n&&a(),requestAnimationFrame(()=>{n=!1})}let d=c=>{if(c.key==="Escape"&&(c.preventDefault(),Wl()||a()),c.key==="Enter"||c.key==="Space"){let m=document.activeElement;(!Cm(m)||m.dataset.clickonenter==="true")&&(c.preventDefault(),m?.click?.())}};return{show:i,close:a}};var Xw=[{name:"blue",themeColor:"hsl(214, 40%, 50%)"},{name:"cyan",themeColor:"hsl(192, 40%, 50%)"},{name:"green",themeColor:"hsl(142, 40%, 50%)"},{name:"amber",themeColor:"hsl(38, 40%, 50%)"},{name:"red",themeColor:"hsl(0, 40%, 50%)"},{name:"violet",themeColor:"hsl(262, 40%, 50%)"},{name:"slate",themeColor:"hsl(220, 20%, 50%)"},{name:"custom",themeColor:void 0}];var hn=Te(Z),eb={...hn,markup:{...hn.markup,compiled:"",modified:""},style:{...hn.style,compiled:"",modified:""},script:{...hn.script,compiled:"",modified:""},tests:{language:"javascript",...hn.tests,compiled:""},result:"",styleOnlyUpdate:!1},ue=eb,oe=()=>({...ue}),li=(e=eb)=>{ue={...e,markup:{modified:e.markup.compiled===ue.markup.compiled?ue.markup.modified:"",...e.markup},style:{modified:e.style.compiled===ue.style.compiled?ue.style.modified:"",...e.style},script:{modified:e.script.compiled===ue.script.compiled?ue.script.modified:"",...e.script},tests:{language:"javascript",compiled:"",...e.tests},result:e.result||""}},yn=(e,t,r)=>{ue[e].language===t&&(ue[e].modified=r)},So=()=>({markup:{language:ue.markup.language,content:ue.markup.content||"",compiled:ue.markup.modified||ue.markup.compiled||""},style:{language:ue.style.language,content:ue.style.content||"",compiled:ue.style.modified||ue.style.compiled||""},script:{language:ue.script.language,content:ue.script.content||"",compiled:ue.script.modified||ue.script.compiled||""},result:ue.result||""});var vn=(e,t)=>{let r={...e};return t.forEach(o=>delete r[o]),r},wn=(e,t)=>{let r=["activeEditor","title","description","tests"],o=["compiled","modified"],n={...vn(e,["result","styleOnlyUpdate",...r]),markup:vn(e.markup,o),style:vn(e.style,o),script:vn(e.script,o)},s=vn(t,r);return JSON.stringify(n)===JSON.stringify(s)};var tb=e=>{let t=e.value,r=e.language;return{getValue:()=>t,setValue:(o="")=>{t=o},getLanguage:()=>r,setLanguage:(o,n)=>{r=o,n&&(t=n)},getEditorId:()=>ce(r)||"markup",focus:()=>{},getPosition:()=>({lineNumber:1,column:1}),setPosition:()=>{},onContentChanged:()=>{},addKeyBinding:()=>{},keyCodes:{CtrlEnter:"",ShiftEnter:"",Enter:"",UpArrow:"",DownArrow:"",ShiftAltF:""},changeSettings:()=>{},registerFormatter:()=>{},format:async()=>{},isReadonly:!0,setTheme:()=>{},undo:()=>{},redo:()=>{},destroy:()=>{},isFake:!0}};var Vl=[{id:"anonymous-pro",name:"Anonymous Pro",url:vf},{id:"astigmata",name:"Astigmata",url:wf},{id:"cascadia-code",name:"Cascadia Code",url:bf},{id:"comic-mono",name:"Code New Roman",url:Sf},{id:"comic-mono",name:"Comic Mono",url:xf},{id:"courier-prime",name:"Courier Prime",url:Ef},{id:"dec-terminal-modern",name:"DEC Terminal Modern",url:Lf},{id:"dejavu-mono",name:"DejaVu Mono",url:Tf},{id:"fantasque-sans-mono",name:"TypoPRO Fantasque Sans Mono",label:"Fantasque Sans Mono",url:Cf},{id:"fira-code",name:"Fira Code",url:kf},{id:"fixedsys",name:"Fixedsys 62",label:"Fixedsys",url:Mf},{id:"hack",name:"Hack",url:If},{id:"hermit",name:"Hermit",url:jf},{id:"ibm-plex-mono",name:"IBM Plex Mono",url:Uf},{id:"inconsolata",name:"Inconsolata",url:Af},{id:"iosevka",name:"Iosevka",url:Hf},{id:"jetbrains-mono",name:"JetBrains Mono",url:qf},{id:"menlo",name:"Menlo",url:Of},{id:"monaspace-argon",name:"Monaspace Argon",url:no+"argon.css"},{id:"monaspace-krypton",name:"Monaspace Krypton",url:no+"krypton.css"},{id:"monaspace-neon",name:"Monaspace Neon",url:no+"neon.css"},{id:"monaspace-radon",name:"Monaspace Radon",url:no+"radon.css"},{id:"monaspace-xenon",name:"Monaspace Xenon",url:no+"xenon.css"},{id:"monofur",name:"Monofur",url:Df},{id:"monoid",name:"TypoPRO Monoid",label:"Monoid",url:Rf},{id:"noto-sans-mono",name:"Noto Sans Mono",url:_f},{id:"nova-mono",name:"Nova Mono",url:Bf},{id:"opendyslexic",name:"OpenDyslexic",url:$f},{id:"profontwindows",name:"ProFontWindows",label:"ProFont",url:Ff},{id:"roboto-mono",name:"Roboto Mono",url:zf},{id:"sf-mono",name:"SF Mono",url:Wf},{id:"source-code-pro",name:"Source Code Pro",url:Vf},{id:"space-mono",name:"Space Mono",url:Gf},{id:"sudo-var",name:"Sudo Var",url:Jf},{id:"ubuntu-mono",name:"Ubuntu Mono",url:Kf},{id:"victor-mono",name:"Victor Mono",url:Zf}],xt=e=>{let t='Consolas, "Roboto Mono", "Ubuntu Mono", ui-monospace, monospace';if(!e)return t;let r=Vl.find(o=>[o.id,o.name,o.label].includes(e))?.name;return r?`"${r}", ${t}`:t};var Dj=e=>e==="codemirror"?"codemirror.0c9c84124f5b0a4a82ccbc67c05153d0.js":e==="codejar"?"codejar.ee8800a5455f61c438c70cd968d9d101.js":"monaco.aa187e6c9e3cf85982c29f19ca63e5ac.js",Rj=async(e,t)=>{let{baseUrl:r}=t,o=Dj(e),n=r+o,s=window[n];s||(s=await import(n),window[n]=s);let i=s.createEditor;return await i(t)},_j=e=>{let{editor:t,mode:r,editorId:o,activeEditor:n,isLite:s,isHeadless:i}=e,a=ar()?"codemirror":"monaco";return(i||r==="result"&&o!=="console"&&o!=="compiled"||r==="simple"&&o!==n?"fake":["codemirror","monaco","codejar"].includes(t||"")?t:t==="auto"?a:r==="simple"&&o===n?"codemirror":r==="codeblock"||s?"codejar":a)||"monaco"},Bj=e=>{let t={...e,readOnly:!0},r={...e,readOnly:!0},o={...e,lineNumbers:!1},n={...e,lineNumbers:!1,readOnly:!0},s=e.editorId;return s==="console"?o:s==="compiled"?r:s==="embed"?n:e.mode==="codeblock"?t:e},rb=[],ob=e=>{if(!e||rb.includes(e))return;let t=Vl.find(r=>[r.id,r.name,r.label].includes(e));t&&(Wt(t.url,"font-"+t.id),rb.push(e))},Ze=async e=>{if(!e)throw new Error;let t=Bj(e),r=_j(t);if(r==="fake")return tb(t);t.fontFamily&&ob(t.fontFamily);let o=await Rj(r,t),n=o.changeSettings;return o.changeSettings=s=>(s.fontFamily&&ob(s.fontFamily),n(s)),o};var nb=e=>{e.data.type==="customEditorCommand"&&(e.data.payload==="fork"&&window.dispatchEvent(new KeyboardEvent("keydown",{keyCode:83,shiftKey:!0,ctrlKey:!navigator.platform.match("Mac"),metaKey:!!navigator.platform.match("Mac")})),e.data.payload==="save"&&window.dispatchEvent(new KeyboardEvent("keydown",{keyCode:83,ctrlKey:!navigator.platform.match("Mac"),metaKey:!!navigator.platform.match("Mac")})))},ci=(e,t)=>{e?t.addEventListener(window,"message",nb):t.removeEventListener(window,"message",nb)};var sb=({baseUrl:e,eventsManager:t})=>{let r,o=async()=>{if(r)return;let n=document.querySelector("#script"),s=document.createElement("div");s.id="blockly",s.classList.add("custom-editor"),s.innerHTML='<span class="loading-custom-editor">Loading blockly editor...</span>',n.appendChild(s),r=await import(e+"blockly.615334f5bce41c22074ff56658032fe6.js")};return{language:"blockly",show:async(n,s)=>{!r&&n&&await o();let i=document.querySelector("#blockly");if(!n||s.editors.script.getLanguage()!=="blockly"){i&&(i.style.display="none");return}i&&(i.style.display="unset"),await r.showBlockly(s),ci(n,t)},getContent:async n=>(await o(),r.getBlocklyContent(n)),setTheme:n=>{r?.setBlocklyTheme(n)}}};var ib=({baseUrl:e,eventsManager:t})=>{let r,o=async()=>{if(r)return;let n=document.querySelector("#markup"),s=document.createElement("div");s.id="quillEditor",s.classList.add("custom-editor"),s.innerHTML='<span class="loading-custom-editor">Loading rich text editor...</span>',n.appendChild(s),r=await import(e+"quill.87b01df2d04d665b3db9a032af4a2dce.js")};return{language:"richtext",show:async(n,s)=>{!r&&n&&await o();let i=document.querySelector("#quillEditor");if(!n||s.editors.markup.getLanguage()!=="richtext"){i&&(i.style.display="none");return}i&&(i.style.display="unset"),await r.showQuillEditor(s),ci(n,t)},getContent:async n=>(await o(),r.getQuillEditorContent(n)),setTheme:n=>{r?.setQuillEditorTheme(n)}}};var ab=e=>({blockly:sb(e),richtext:ib(e)});var lb=["jsx","tsx","react","react-tsx","sucrase","babel","flow","solid","solid.tsx","stencil","react-native","react-native-tsx","vue"];var cb=e=>{let t=e.title,r="json",o="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e,null,2));_a(t,r,o)};var Gl=e=>{let t,r=()=>{if(t)return;t=new Worker(e+"format.worker.983d3175d1ade1701a7a118e9cfddf4c.js?appCDN="+Vt());let i={type:"init",baseUrl:e};t.postMessage(i)};return{load:async i=>new Promise((a,l)=>{r();let d=m=>{let h=m.data;(h.type==="loaded"||h.type==="load-failed")&&h.payload===i&&(t?.removeEventListener("message",d),h.type==="loaded"?a("loaded formatter for: "+i.join(", ")):h.type==="load-failed"&&l("failed loading formatter for: "+i.join(", ")))};t?.addEventListener("message",d);let c={type:"load",payload:i};t?.postMessage(c)}),getFormatFn:async i=>(l,d,c={})=>new Promise((m,h)=>{r();let v=f=>{let g=f.data;(g.type==="formatted"||g.type==="format-failed")&&g.payload.language===i&&g.payload.value===l&&g.payload.cursorOffset===d&&(t?.removeEventListener("message",v),g.type==="formatted"?m({formatted:g.payload.formatted,cursorOffset:g.payload.formattedCursorOffset}):g.type==="format-failed"&&h({language:i,formatted:l,cursorOffset:d}))};t?.addEventListener("message",v);let p={type:"format",payload:{language:i,value:l,cursorOffset:d,formatterConfig:c}};t?.postMessage(p)}),destroy:()=>{t?.terminate()}}};var db=(e,t,r)=>{let{readonly:o,mode:n}=e;return o||n==="codeblock"||n==="result"?pb():r?$j(t):Gl(t)},$j=e=>{let t=pb(),r=t,o={load:s=>(n(),r.load(s)),getFormatFn:s=>(n(),r.getFormatFn(s)),destroy:()=>{o.load=t.load,o.getFormatFn=t.getFormatFn}},n=function(){r=Gl(e),o.load=r.load,o.getFormatFn=r.getFormatFn,o.destroy=r.destroy};return o};function pb(){return{load:e=>Promise.resolve("do nothing"),getFormatFn:e=>Promise.resolve((t,r)=>Promise.resolve({formatted:t,cursorOffset:r})),destroy:()=>{}}}var ub=e=>{try{return e.startsWith("https://")?new URL(e):new URL("https://"+e)}catch{return}},mb={github:/^(?:(?:http|https):\/\/)?github\.com\/(?:.*)/g,githubGist:/^(?:(?:http|https):\/\/)?gist\.github\.com(?:\/\S*)?\/(\w+)/g,gitlab:/^(?:(?:http|https):\/\/)?gitlab\.com\/(?:.*)/g,codepen:/^(?:(?:http|https):\/\/)?codepen\.io\/(\w+)\/pen\/(\w+)/g,jsbin:/^(?:(?:(?:http|https):\/\/)?(?:\w+.)?)?jsbin\.com\/((\w)+(\/\d+)?)(?:.*)/g,typescriptPlayground:/^(?:(?:http|https):\/\/)?(?:www\.)?typescriptlang\.org\/play(?:.*)/g,vuePlayground:/^(?:(?:http|https):\/\/)?play\.vuejs\.org(?:.*)/g,sveltePlayground:/^(?:(?:http|https):\/\/)?svelte\.dev\/repl\/(?:.*)/g},fb=e=>e.startsWith("code/");var Fj=(e,t=new RegExp(mb.github))=>{if(t.test(e))try{let r=ub(e);return r?r.pathname.split("/")[3]==="blob":void 0}catch{return}},gb=e=>zj(e)||Fj(e),zj=(e,t=new RegExp(mb.github))=>{if(t.test(e))try{let r=ub(e);if(!r)return;let o=r.pathname;r.pathname.endsWith("/")&&(o=r.pathname.slice(0,-1));let n=o.split("/");return n[3]==="tree"||n.length===3}catch{return}};var Jl=e=>{if(!fb(e))return{};let t=e.slice(5),r;try{r=JSON.parse(ho(t)||"{}")}catch{r={}}return r};var hb=async(e,t)=>new Promise(async(r,o)=>{(await Go(eg,"JSZip")).loadAsync(e).then(async s=>{let i=s.file(/livecodes\.json/);if(i.length>0){i[0].async("string").then(m=>{r(JSON.parse(m))}).catch(o);return}let a=s.file(/((^src\/)|(\/src\/))/),l=s.file(/.*/),d=l.filter(m=>!m.name.includes("/")),c=a.length>0?a:d.length>0?d:l;if(c.length>0){let m=await Promise.all(c.map(async h=>({filename:h.name,content:await h.async("string")})));r(t(m,{}));return}r({})}).catch(o)});var yb=async(e,t,r)=>{let o=i=>new Promise((a,l)=>{let d=[];for(let c of i){if(c.size>104857600){l("Error: Exceeded size 100 MB");return}let h=new FileReader;r.addEventListener(h,"load",v=>{let p=v.target?.result||"";d.push({filename:c.name,content:p}),d.length===i.length&&a(t(d,{}))}),r.addEventListener(h,"error",()=>{l("Error: Failed to read file")}),h.readAsText(c)}}),n=i=>hb(i[0],t);return e?.length?(e?.length===1&&e[0].name.endsWith(".zip")?n:o)(e):{}};var Kl=(e,t)=>{if(e.length===0)return{};let r=e.find(p=>p.filename.toLowerCase()==="livecodes.json"||e.length===1&&p.filename.toLowerCase().endsWith(".json"));if(r)try{return JSON.parse(r.content)}catch{}let o=t.files;if(o)return o.split(",").map(p=>p.trim()).reduce((p,f)=>{let g=f.split(".")[f.split(".").length-1],w=X(g);if(!w)return p;let S=e.find(b=>b.filename===f);if(!S)return p;let u=ce(w);return!u||p[u]?p:{...p,activeEditor:p.activeEditor||u,[u]:{language:w,content:S.content}}},{});let n=e.map(p=>({...p,filename:p.filename.toLowerCase()})).filter(p=>!p.filename.endsWith(".json")).map(p=>{let f=p.filename.split(".")[p.filename.split(".").length-1],g=p.language||X(f)||"html",w=p.editorId||ce(g)||"markup";return{...p,language:g,editorId:w}}).sort((p,f)=>{if(p.editorId===f.editorId&&p.editorId==="markup"){if(p.filename.startsWith("index."))return-1;if(f.filename.startsWith("index."))return 1;if(p.filename.startsWith("default."))return-1;if(f.filename.startsWith("default."))return 1}if(p.editorId===f.editorId&&p.editorId==="style"){if(p.filename.startsWith("style."))return-1;if(f.filename.startsWith("style."))return 1;if(p.filename.startsWith("styles."))return-1;if(f.filename.startsWith("styles."))return 1}if(p.editorId===f.editorId&&p.editorId==="script"){if(p.filename.startsWith("script."))return-1;if(f.filename.startsWith("script."))return 1;if(p.filename.startsWith("app."))return-1;if(f.filename.startsWith("app."))return 1;if(p.filename.startsWith("main."))return-1;if(f.filename.startsWith("main."))return 1;if(p.filename.startsWith("index."))return-1;if(f.filename.startsWith("index."))return 1}if(p.editorId===f.editorId&&p.editorId==="markup"){if(p.filename.startsWith("readme"))return 1;if(f.filename.startsWith("readme"))return-1}if(!p.filename.includes("."))return 1;if(!f.filename.includes("."))return-1;if(p.language===f.language)return p.filename.localeCompare(f.filename);if(p.editorId===f.editorId&&p.editorId==="markup"){if(p.filename.endsWith(".md"))return 1;if(f.filename.endsWith(".md"))return-1;if(p.filename.endsWith(".markdown"))return 1;if(f.filename.endsWith(".markdown"))return-1}return ye.findIndex(g=>g.name===p.language)-ye.findIndex(g=>g.name===f.language)}).reduce((p,f)=>f.filename.match(new RegExp(".(test|spec)\\.[jt]sx?"))?p.tests?.content?p:{...p,tests:{language:f.language,content:f.content}}:!f.editorId||p[f.editorId]?p:{...p,[f.editorId]:{language:f.language,content:f.content}},{}),s=[],i=e.find(p=>p.filename==="styles");if(i?.content)try{let p=[];new DOMParser().parseFromString(i.content,"text/html").querySelectorAll('link[rel="stylesheet"]').forEach(w=>{p.push(w.href)}),p.length===0&&i.content.trim().split(`
|
|
`).forEach(w=>{p.push(w)}),p.forEach(w=>{try{s.push(new URL(w).href)}catch{}})}catch{}let a=[],l=e.find(p=>p.filename==="scripts");if(l?.content)try{let p=[];new DOMParser().parseFromString(l.content,"text/html").querySelectorAll("script").forEach(w=>{p.push(w.src)}),p.length===0&&l.content.trim().split(`
|
|
`).forEach(w=>{p.push(w)}),p.forEach(w=>{try{a.push(new URL(w).href)}catch{}})}catch{}let d=n.markup?.content?.trim(),c=d?.split(`
|
|
`).length||0,m=n.script?.content?.trim(),h=m?.split(`
|
|
`).length||0,v=m&&(!d||h>c||h>10)?"script":void 0;return{...v?{activeEditor:v}:{},...n,stylesheets:s,scripts:a}};var qr=`
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
import { createRoot } from "react-dom/client";
|
|
import App from "./script";
|
|
(() => {
|
|
if (typeof App !== "function") return;
|
|
const root = createRoot(document.querySelector("#livecodes-app") || document.body.appendChild(document.createElement("div")));
|
|
root.render(_jsx(App, {}));
|
|
})();
|
|
`;var di=`
|
|
import { AppRegistry } from "react-native";
|
|
import App from "./script";
|
|
(() => {
|
|
if (typeof App !== "function") return;
|
|
const rootTag = document.querySelector("#livecodes-app") || document.body.appendChild(document.createElement("div"));
|
|
AppRegistry.registerComponent("App", () => App);
|
|
AppRegistry.runApplication("App", { rootTag });
|
|
})();
|
|
`;var Zl=`
|
|
import { render, createComponent } from "solid-js/web";
|
|
import App from "./script";
|
|
(() => {
|
|
if (typeof App !== "function") return;
|
|
const root = document.querySelector("#livecodes-app") || document.body.appendChild(document.createElement("div"));
|
|
render(() => createComponent(App, {}), root);
|
|
})();
|
|
`;var vb={react:"https://esm.sh/react?dev","react/jsx-runtime":"https://esm.sh/react/jsx-runtime?dev","react-dom":"https://esm.sh/react-dom?dev","react-dom/client":"https://esm.sh/react-dom/client?dev","react-dom/test-utils":"https://esm.sh/react-dom/test-utils?dev","@testing-library/dom":H+"@testing-library/dom.js","@testing-library/jest-dom":H+"@testing-library/jest-dom.js","@testing-library/react":H+"@testing-library/react.js","@testing-library/react/pure":H+"@testing-library/react-pure.js","@testing-library/user-event":H+"@testing-library/user-event.js",chai:uf};var wb=async({code:e,config:t,forExport:r,template:o,baseUrl:n,singleFile:s,runTests:i,compileInfo:a})=>{let l=to(n),c=new DOMParser().parseFromString(o,"text/html");if(r){c.querySelector("script")?.remove();let I=c.createElement("script");I.innerHTML="window.livecodes = window.livecodes || {};",c.head.appendChild(I)}else{let I=c.createElement("script");I.src=l+"result-utils.197d5e4c4688c1c73b8fa753613c656d.js",I.dataset.env="development",c.head.appendChild(I)}let m=(I,j)=>{let V=c.createElement("meta");V.name=I,V.content=j,c.head.appendChild(V)};if(t.title&&(c.title=t.title,m("title",t.title)),t.description&&m("description",t.description),t.htmlAttrs&&wm(c.documentElement,t.htmlAttrs),t.head&&(c.head.innerHTML+=t.head),t.cssPreset){let I=gy.find(j=>j.id===t.cssPreset)?.url;if(I){let j=c.createElement("link");j.rel="stylesheet",j.id="__livecodes__css-preset",j.href=to(I,l),c.head.appendChild(j)}}t.stylesheets.forEach(I=>{let j=c.createElement("link");j.rel="stylesheet",j.href=I,c.head.appendChild(j)});let h=e.markup.compiled;c.body.innerHTML+=h;let v={},p=c.querySelector('script[type="importmap"]');if(p){try{v=JSON.parse(p.innerHTML.trim())}catch{}p.remove()}let f={...t.imports,...t.customSettings.imports,...v.imports},g=Nt(e.script.compiled).filter(I=>I.startsWith("data:text/css")||I.endsWith(".css")&&(Object.keys(f).includes(I)||!I.startsWith(".")));if(g.forEach(I=>{let j=f[I]||be.getUrl(I),V=c.createElement("link");V.rel="stylesheet",V.href=j,c.head.appendChild(V),Object.keys(f).includes(I)&&(f[I]="data:text/javascript;charset=UTF-8;base64,")}),s){let I=e.style.compiled,j=c.createElement("style");j.id="__livecodes_styles__",j.innerHTML=I,c.head.appendChild(j)}else{let I=c.createElement("link");I.rel="stylesheet",I.href="./style.css",c.head.appendChild(I)}c.querySelectorAll('script[type="script-for-styles"]').forEach(I=>I.remove()),e.script.language==="blockly"&&c.querySelectorAll('script[type="blockly/script"], script[data-type="blockly/script"], xml[type="blockly/xml"], xml[data-type="blockly/xml"]').forEach(j=>j.remove());let S=["markup","style","script"].map(I=>({language:e[I].language,compiled:e[I].compiled})),u=i&&e.tests?.compiled||"",b=Ue(e.script.language),E=Nt(h).filter(El),k=i&&!r?Nt(u).filter(El):[],L=!!(E.length>0||b?.loadAsExternalModule||k.length>0),P={jsx:qr,tsx:qr,react:qr,"react-tsx":qr,"react-native":di,"react-native-tsx":di,solid:Zl,"solid.tsx":Zl},D=P[e.script.language]||"",z=D===qr||D===di?`import React from "react";
|
|
`:"",ae=Object.keys(P).includes(e.script.language)&&!t.customSettings[e.script.language]?.disableAutoRender&&Ry(e.script.compiled)&&!Nl(e.script.content||"",t)&&!L,ee=Nt(e.script.compiled).find(I=>I==="preact"),le={};for(let{language:I,compiled:j}of S){let V=Ue(I);if(!V)continue;if((typeof V.styles=="function"?V.styles({compiled:j,baseUrl:l,config:t}):V.styles||[]).forEach(ne=>{let pe=c.createElement("link");pe.rel="stylesheet",pe.href=eo(ne)?l+ne:ne,c.head.appendChild(pe)}),(typeof V.scripts=="function"?V.scripts({compiled:j,baseUrl:l,config:t}):V.scripts||[]).forEach(ne=>{let pe=c.createElement("script");pe.src=eo(ne)?l+ne:ne,V.deferScripts&&(pe.defer=!0),ne.includes("-script-esm.")&&(pe.type="module"),c.head.appendChild(pe)}),V.inlineScript){typeof V.inlineScript=="function"&&(V.inlineScript=await V.inlineScript({baseUrl:n}));let ne=document.createElement("script");ne.innerHTML=V.inlineScript,c.head.appendChild(ne)}V.imports&&(le={...le,...Wo(V.imports,ne=>to(ne,n))})}let te=Le(e.style.language),re=ee?"preact":D===qr?"react,react-dom":[t.markup.language,t.script.language].find(I=>I.startsWith("vue"))?"vue":void 0,ge=t.customSettings.mapImports===!1?{}:{...mn(e.script.compiled)?fo(e.script.compiled,t,{external:re}):{},...mn(e.markup.compiled)?fo(e.markup.compiled,t,{external:re}):{},...ae?fo(z+D,t):{},...i&&!r&&mn(u)?fo(u,t,{external:re}):{},...g.reduce((I,j)=>({...I,[j]:lr("")}),{}),...Tl(e.script.compiled,e.style.compiled,a.cssModules,te),...Tl(e.markup.compiled,e.style.compiled,a.cssModules,te),...a.imports},Ce=Array.from(new Set(["./script",...E,...k])),Xe=L||ae?Ce.reduce((I,j)=>({...I,[j]:lr($y(e.script.compiled,t,{importMap:ro(ge,(V,he)=>he.startsWith("./")),external:re}))}),{}):{};Object.keys(ge).filter(I=>Object.keys(f).find(j=>j.endsWith("/")&&I.startsWith(j))).forEach(I=>{delete ge[I]});let R=(()=>{if(!re)return{};if(ee){let V=be.getModuleUrl("preact");return{preact:V,"preact/":V+"/"}}let I=be.getModuleUrl("react"),j=be.getModuleUrl("react-dom");return{react:I,"react/":I+"/","react-dom":j,"react-dom/":j+"/"}})(),K={...v,imports:{...ge,...Xe,...R,...le,...i?vb:{},...f}};if(Object.keys(K).length>0){let I=c.createElement("script");I.src=be.getUrl(hf,Vt()),I.async=!0,c.head.appendChild(I);let j=c.createElement("script");j.type="importmap",j.innerHTML=JSON.stringify(K,null,2),c.head.appendChild(j)}if(t.scripts.forEach(I=>{let j=c.createElement("script");j.src=I,c.head.appendChild(j)}),b?.inlineModule){typeof b.inlineModule=="function"&&(b.inlineModule=await b.inlineModule({baseUrl:n}));let I=document.createElement("script");I.innerHTML=b.inlineModule,I.type="module",c.head.appendChild(I)}if(!L&&!ae){let I=e.script.compiled,j=c.createElement("script");s?j.innerHTML=Na(I):j.src="./script.js",c.body.appendChild(j);let V=Ue(e.script.language)?.scriptType;V?j.type=V:t.customSettings.scriptType!=null?t.customSettings.scriptType&&(j.type=t.customSettings.scriptType):By(I)&&(j.type="module")}if(ae){let I=c.createElement("script");I.type="module",I.innerHTML=D,c.body.appendChild(I)}if(t.showSpacing&&!r){let I=c.createElement("script");I.src=bg,I.dataset.env="development",c.body.appendChild(I)}if(i&&!r){let I=c.createElement("script");I.src=pf,I.dataset.env="development",c.body.appendChild(I);let j=c.createElement("script");j.type="module",j.dataset.env="development",j.innerHTML=`
|
|
const {afterAll, afterEach, beforeAll, beforeEach, describe, fdescribe, xdescribe, it, test, fit, xtest, xit, expect, jest} = window.browserJest;
|
|
${Na(u)}
|
|
|
|
window.browserJest.run().then(results => {
|
|
parent.postMessage({type: 'testResults', payload: {results: results.testResults }}, '*');
|
|
}).catch((error) => {
|
|
parent.postMessage({type: 'testResults', payload: {error: error.message || String(error)}}, '*');
|
|
});
|
|
`,c.body.appendChild(j)}return`<!DOCTYPE html>
|
|
`+c.documentElement.outerHTML},bb=e=>{let t=new DOMParser().parseFromString(e,"text/html");return t.querySelectorAll('[data-env="development"]').forEach(o=>{o.remove()}),t.documentElement.outerHTML};var Wj={esm:"livecodes.js",umd:"livecodes.umd.js",react:"react.js",vue:"vue.js",types:"index.d.ts"},pi={getAppUrl:()=>"https://v46.livecodes.io/",getSDKUrl:(e="esm")=>be.getUrl(`livecodes@0.11.1/${Wj[e]}`)};var Rt=(e,t)=>{let r=o=>o.replace(/{{ __livecodes_baseUrl__ }}/g,to(t)).replace(/{{ __CDN_URL__ }}/g,be.getUrl("~").replace("~",""));return typeof e=="string"?r(e):{...e,url:r(e.url)}},Vj=async e=>(await import(e+"templates.947d6a84f1eee751e5f0708b0047ab19.js")).starterTemplates,Yl=async(e,t)=>(await Vj(t)).filter(r=>{let o=e.languages?.map(X).filter(Boolean);if(!o||r.name==="blank")return!0;let n=[r.markup?.language,r.style?.language,r.script?.language];for(let s of n){let i=X(s);if(!i||!o.includes(i))return!1}return!0}).map(r=>({...r,markup:{...r.markup,language:r.markup?.language||"html",content:Rt(r.markup?.content||"",t),...r.markup?.contentUrl?{contentUrl:Rt(r.markup?.contentUrl||"",t)}:{}},style:{...r.style,language:r.style?.language||"css",content:Rt(r.style?.content||"",t),...r.style?.contentUrl?{contentUrl:Rt(r.style?.contentUrl||"",t)}:{}},script:{...r.script,language:r.script?.language||"javascript",content:Rt(r.script?.content||"",t),...r.script?.contentUrl?{contentUrl:Rt(r.script?.contentUrl||"",t)}:{}},imports:Wo(r.imports||{},o=>Rt(o||"",t)),types:Wo(r.types||{},o=>Rt(o||"",t)),stylesheets:r.stylesheets?.map(o=>Rt(o||"",t)),scripts:r.scripts?.map(o=>Rt(o||"",t))})),Sb=async(e,t,r)=>(await Yl(t,r)).filter(o=>o.name.toLowerCase()===e.toLowerCase()||o.aliases?.map(n=>n.toLowerCase()).includes(e.toLowerCase()))[0];var xb=(e,t,r,o,n,s)=>{let i,a,l,d=()=>{if(i)return;let f=co(),g=document.createElement("div");g.id="compiled-code-container",f.appendChild(g),i=document.createElement("div"),i.id="compiled-code",g.appendChild(i);let w=As();w&&(l=document.createElement("div"),l.id="compiled-code-language-label",l.style.display="none",w.prepend(l))},c=(f=!1)=>{if(a&&!f)return a;let g={baseUrl:t,container:i,language:"javascript",value:"",readonly:!0,mode:e.mode,editorId:"compiled",isEmbed:n,isLite:!1,isHeadless:!1,mapLanguage:Ke,getLanguageExtension:Le,getFormatterConfig:()=>({}),getFontFamily:xt,..._e(e)};return Ze(g)},m=(f,g)=>{if(f==="javascript"&&window.monaco&&a.monaco){a?.setValue(g+`
|
|
export {}`);let w=a.monaco,S=w.getModel()?.getLineCount()||1;w.setHiddenAreas([]),w.setHiddenAreas([new window.monaco.Range(S+1,0,S+2,0)])}},h=(f,g,w)=>{if(a&&(a.getLanguage()!==f?a.setLanguage(f,g):a.setValue(g),m(f,g),l)){let S=ye.find(b=>b.name===w),u=S?.longTitle||S?.title||w||"";l.innerHTML=u}},v=async()=>{d(),a=await c()},p=async f=>{if(e=f,!i){await v();return}a?.destroy(),a=await c(!0)};return{name:"compiled",title:window.deps.translateString("toolspane.compiled.title","Compiled"),load:v,onActivate:()=>{l&&(l.style.display="unset")},onDeactivate:()=>{l&&(l.style.display="none")},getEditor:()=>a,update:h,reloadEditor:p}};var kx=y(Eo()),Mx=y(Ye()),Ix=y(Pe()),jx=y(Lt()),Ux=y(fc()),gd=y(Q()),Ax=y(hc()),Px=y(gi()),Hx=y(To());var xS=y(Co());function xn(e){return e.constructor&&e.constructor.name?e.constructor.name:(0,xS.default)({}.toString.call(e).replace(/(\[object )|]/g,""))}var yx=y(dt()),vx=y(nt()),bx=y(_t()),md=y(Ln()),ZU=y(rt()),Sx=y(Pe()),YU=y(er()),xx=y(Tn()),QU=y(Cn()),XU=y(Or());function Ex(e,t){try{e.exports=t,e.exports.default=t}catch{}}function Ti(e){let t=`luna-${e}-`;function r(o){return(0,yx.default)((0,vx.default)(o).split(/\s+/),n=>(0,Sx.default)(n,t)?n:n.replace(/[\w-]+/,s=>`${t}${s}`)).join(" ")}return function(o){if(/<[^>]*>/g.test(o))try{let n=md.default.parse(o);return Lx(n,s=>{s.attrs&&s.attrs.class&&(s.attrs.class=r(s.attrs.class))}),md.default.stringify(n)}catch{return r(o)}return r(o)}}function Lx(e,t){for(let r=0,o=e.length;r<o;r++){let n=e[r];t(n),n.content&&Lx(n.content,t)}}var lG="ontouchstart"in bx.default;function Tx(){let e=(0,xx.default)();return e==="os x"?"mac":e}function Ci(e){let t=window.getSelection();if(!t||t.type!=="Range"||t.toString()==="")return!1;let{anchorNode:r,focusNode:o}=t;return t.containsNode(e,!0)||r&&e.contains(r)||o&&e.contains(o)}var ko=Ti("console");function Mo(e,{topObj:t,level:r=0,getterVal:o=!1,unenumerable:n=!0}={}){let s="",i="",l=[],d=[],c="",h;t=t||e;let v={getterVal:o,unenumerable:n,level:r+1},p=r===0,f=`<span class="${ko("key")}">`,g=`<span class="${ko("number")}">`,w=`<span class="${ko("null")}">`,S=`<span class="${ko("string")}">`,u=`<span class="${ko("boolean")}">`,b=`<span class="${ko("special")}">`,E=j=>(0,kx.default)(j).replace(/\\n/g,"\u21B5").replace(/\\f|\\r|\\t/g,"").replace(/\\/g,""),k="</span>",L=j=>f+E(j)+k,P=j=>g+j+k,D=j=>S+j+k,z=j=>u+j+k,ae=j=>w+j+k;function ee(j){return j=(0,Mx.default)(j),(0,Ix.default)(eA,j)||(0,jx.default)(j,"Array[")?b+E(j)+k:(j.length>100&&(j=(0,Hx.default)(j,100,{separator:" ",ellipsis:"\u2026"})),S+E(`"${j}"`)+k)}function le(j){if(h>5){c=", \u2026";return}let V=L(fd(j));if(!o){let he=Object.getOwnPropertyDescriptor(e,j);if(he&&he.get){l.push(`${V}: ${ee("(...)")}`),h++;return}}l.push(`${V}: ${Mo(t[j],v)}`),h++}try{i={}.toString.call(e)}catch{i="[object Object]"}let te=i=="[object String]",re=i=="[object Array]",ge=i=="[object Object]",Ce=i=="[object Number]",Xe=i=="[object RegExp]",R=i=="[object Symbol]",K=i=="[object Function]",I=i=="[object Boolean]";if(te)s=ee(fd(e));else if(Xe)s=D(fd(e.toString()));else if(K)s=ee("\u0192");else if(re)if(p){s="[";let j=e.length,V="";j>100&&(j=100,V=", \u2026");for(let he=0;he<j;he++)l.push(`${Mo(e[he],v)}`);s+=l.join(", ")+V+"]"}else s=`Array(${e.length})`;else if(ge)Cx(e)&&(e=Object.getPrototypeOf(e)),d=n?Object.getOwnPropertyNames(e):Object.keys(e),p?(h=1,s="{",(0,gd.default)(d,le),s+=l.join(", ")+c+"}"):(s=xn(e),s==="Object"&&(s="{\u2026}"));else if(Ce)s=e+"",(0,Ax.default)(s,"Infinity")||s==="NaN"?s=`"${s}"`:s=P(s);else if(I)s=z(e?"true":"false");else if(e===null)s=ae("null");else if(R)s=ee("Symbol");else if(e===void 0)s=ee("undefined");else try{Cx(e)&&(e=Object.getPrototypeOf(e)),p?(h=1,s="{",d=n?Object.getOwnPropertyNames(e):Object.keys(e),(0,gd.default)(d,le),s+=l.join(", ")+c+"}"):(s=xn(e),s==="Object"&&(s="{\u2026}"))}catch{s=ee(e)}return s}var eA=["(...)","undefined","Symbol","Object","\u0192"];function Cx(e){let t=(0,Px.default)(Object.getOwnPropertyNames(e)),r=Object.getPrototypeOf(e);return t&&r&&r!==Object.prototype}function fd(e){return(0,Ux.default)(e).replace(/\\'/g,"'").replace(/\t/g,"\\t")}var FL=y(yi()),zL=y(rt()),WL=y(ki()),VL=y(Qt()),vp=y($e()),GL=y(ot()),JL=y(Co()),wp=y(Ae()),Ji=y(Q()),KL=y(wd()),ZL=y(Sd()),YL=y(Mi()),QL=y(Bt()),XL=y(op()),eT=y(To()),tT=y(ie()),bp=y(Sn()),Sp=y(Lo()),rT=y(sp()),xp=y(Ye()),oT=y(Ei()),nT=y(Bi());var VE=y(pt()),jn=class{constructor(){this.id=0,this.visited=[]}set(t,r){let{visited:o,id:n}=this,s={id:n,val:t};return(0,VE.default)(s,r),o.push(s),this.id++,n}get(t){let{visited:r}=this;for(let o=0,n=r.length;o<n;o++){let s=r[o];if(t===s.val)return s}return!1}};var GE=y(Ye()),JE=y(nt()),KE=y(Eo()),Ct=e=>(0,KE.default)((0,GE.default)(e)).replace(/\n/g,"\u21B5").replace(/\f|\r|\t/g,"");function $i(e){return e.length>500&&(e=e.slice(0,500)+"..."),"\u0192 "+(0,JE.default)(OP(e).replace("function",""))}var NP=/function(.*?)\((.*?)\)/;function OP(e){let t=e.match(NP);return t?t[0]:e}var jL=y(Bt()),UL=y(Lt()),Gi=y($e()),yp=y(Fi()),AL=y(Co()),PL=y(er()),HL=y(sp()),Uo=y(Q()),qL=y(Ed()),NL=y(rt()),OL=y(ki()),hp=y(ie()),DL=y(To()),RL=y(Ae()),_L=y(Qt()),BL=y(Bi());var LL=y(tr()),TL=y(Bt());var cL=y(dt()),dL=y(nt()),pL=y(_t()),up=y(Ln()),ZP=y(rt()),uL=y(Pe()),YP=y(er()),mL=y(Tn()),QP=y(Cn()),XP=y(Or());function fL(e,t){try{e.exports=t,e.exports.default=t}catch{}}function gL(e){let t=`luna-${e}-`;function r(o){return(0,cL.default)((0,dL.default)(o).split(/\s+/),n=>(0,uL.default)(n,t)?n:n.replace(/[\w-]+/,s=>`${t}${s}`)).join(" ")}return function(o){if(/<[^>]*>/g.test(o))try{let n=up.default.parse(o);return hL(n,s=>{s.attrs&&s.attrs.class&&(s.attrs.class=r(s.attrs.class))}),up.default.stringify(n)}catch{return r(o)}return r(o)}}function hL(e,t){for(let r=0,o=e.length;r<o;r++){let n=e[r];t(n),n.content&&hL(n.content,t)}}var hG="ontouchstart"in pL.default;function yL(){let e=(0,mL.default)();return e==="os x"?"mac":e}function vL(e){let t=window.getSelection();if(!t||t.type!=="Range"||t.toString()==="")return!1;let{anchorNode:r,focusNode:o}=t;return t.containsNode(e,!0)||r&&e.contains(r)||o&&e.contains(o)}var An=y(Q()),CL=y(pt()),kL=y(Yt()),ML=y(Io()),Vi=y(Un()),IL=y(Lt()),_r=class extends LL.default{constructor(t,{compName:r},{theme:o="light"}={}){super(),this.subComponents=[],this.theme="",this.onThemeChange=n=>{this.options.theme==="auto"&&this.setTheme(n)},this.compName=r,this.c=gL(r),this.options={},this.container=t,this.$container=(0,TL.default)(t),this.$container.addClass([`luna-${r}`,this.c(`platform-${yL()}`)]),this.on("changeOption",(n,s)=>{if(n==="theme"&&s){let i=s;s==="auto"&&(i=Vi.default.get()),this.setTheme(i),(0,An.default)(this.subComponents,a=>a.setOption("theme",s))}}),Vi.default.on("change",this.onThemeChange),this.setOption("theme",o)}destroy(){this.destroySubComponents();let{$container:t}=this,r=t.attr("class");(0,An.default)(r.split(/\s+/),o=>{(0,IL.default)(o,`luna-${this.compName}`)&&t.rmClass(o)}),t.html(""),this.emit("destroy"),this.removeAllListeners(),Vi.default.off("change",this.onThemeChange)}setOption(t,r){let o=this.options,n={};typeof t=="string"?n[t]=r:n=t,(0,An.default)(n,(s,i)=>{let a=o[i];o[i]=s,s!==a&&this.emit("changeOption",i,s,a)})}getOption(t){return this.options[t]}addSubComponent(t){t.setOption("theme",this.options.theme),this.subComponents.push(t)}removeSubComponent(t){(0,ML.default)(this.subComponents,r=>r===t)}destroySubComponents(){(0,An.default)(this.subComponents,t=>t.destroy()),this.subComponents=[]}initOptions(t,r={}){(0,kL.default)(t,r),(0,CL.default)(this.options,t)}find(t){return this.$container.find(this.c(t))}setTheme(t){let{c:r,$container:o}=this;this.theme&&o.rmClass(r(`theme-${this.theme}`)),o.addClass(r(`theme-${t}`)),this.theme=t}};var Br=class extends _r{constructor(t){super(t,{compName:"object-viewer"}),this.onItemClick=r=>{let{map:o,c:n}=this,s=(0,jL.default)(r.curTarget),i=s.data("object-id"),a=s.find("span").eq(0);if(s.data("first-level")||(i&&(s.find("ul").html(this.objToHtml(o[i],!1)),s.rmAttr("data-object-id")),r.stopImmediatePropagation(),!a.hasClass(n("expanded"))))return;let l=s.find("ul").eq(0);a.hasClass(n("collapsed"))?(a.rmClass(n("collapsed")),l.show()):(a.addClass(n("collapsed")),l.hide()),this.emit("change")},this.bindEvent()}set(t){(0,hp.default)(t)&&(t=JSON.parse(t)),this.data={id:(0,yp.default)("json"),enumerable:{0:t}},this.map={},$L(this.map,this.data),this.render()}destroy(){super.destroy(),this.$container.off("click","li",this.onItemClick)}objToHtml(t,r){let o="";return(0,Uo.default)(["enumerable","unenumerable","symbol"],n=>{if(!t[n])return;let s=(0,RL.default)(t[n]);(0,BL.default)(s);for(let i=0,a=s.length;i<a;i++){let l=s[i];o+=this.createEl(l,t[n][l],n,r)}}),t.proto&&(o===""?o=this.objToHtml(t.proto):o+=this.createEl("[[Prototype]]",t.proto,"proto")),o}createEl(t,r,o,n=!1){let{c:s}=this,i=typeof r;if(r===null)return`<li>${a(t)}<span class="${s("null")}">null</span></li>`;if((0,NL.default)(r)||(0,OL.default)(r))return`<li>${a(t)}<span class="${s(i)}">${Ct(r)}</span></li>`;if(r.type==="RegExp"&&(i="regexp"),r.type==="Number"&&(i="number"),r.type==="Number"||r.type==="RegExp")return`<li>${a(t)}<span class="${s(i)}">${Ct(r.value)}</span></li>`;if(r.type==="Undefined"||r.type==="Symbol")return`<li>${a(t)}<span class="${s("special")}">${(0,_L.default)(r.type)}</span></li>`;if(r==="(...)")return`<li>${a(t)}<span class="${s("special")}">${r}</span></li>`;if((0,Gi.default)(r)){let l=r.id,d=r.reference,c=sH(r)||(0,AL.default)(i),m=n?"":`<span class="${s("expanded collapsed")}"><span class="${s("icon icon-caret-right")}"></span><span class="${s("icon icon-caret-down")}"></span></span>`,h=`<li ${n?'data-first-level="true"':""} ${'data-object-id="'+(d||l)+'"'}>${m}${a(t)}<span class="${s("open")}">${n?"":c}</span><ul class="${s(i)}" ${n?"":'style="display:none"'}>`;return n&&(h+=this.objToHtml(this.map[l])),h+`</ul><span class="${s("close")}"></span></li>`}function a(l){if(n||(0,Gi.default)(r)&&r.jsonSplitArr)return"";let d=s("key");return o==="unenumerable"||o==="symbol"?d=s("key-lighter"):o==="proto"&&(d=s("key-special")),`<span class="${d}">${Ct(l)}</span>: `}return(0,hp.default)(r)&&r.length>1e4&&(r=(0,DL.default)(r,50,{separator:" ",ellipsis:"\u2026"})),`<li>${a(t)}<span class="${s(typeof r)}">"${Ct(r)}"</span></li>`}render(){let t=this.map[this.data.id];this.$container.html(this.objToHtml(t,!0))}bindEvent(){this.$container.on("click","li",this.onItemClick)}};function $L(e,t){let r=t.id;if(!r&&r!==0)return;if(t.type&&(0,UL.default)(t.type,"Array")&&t.enumerable){let s=nH(t,r,t.type);s.length>100&&(t=oH(s))}e[r]=t;let n=[];(0,Uo.default)(["enumerable","unenumerable","symbol"],s=>{if(t[s])for(let i in t[s])n.push(t[s][i])}),t.proto&&n.push(t.proto);for(let s=0,i=n.length;s<i;s++){let a=n[s];(0,Gi.default)(a)&&$L(e,a)}}function oH(e){let t=0,r={};(0,Uo.default)((0,HL.default)(e,100),n=>{let s={},i=t;s.type="["+i,s.enumerable={},(0,Uo.default)(n,l=>{s.enumerable[t]=l,t+=1});let a=t-1;s.type+=(a-i>0?" \u2026 "+a:"")+"]",s.id=(0,yp.default)("json"),s.jsonSplitArr=!0,r[t]=s});let o={};return o.enumerable=r,o.id=e.id,o.type=e.type,e.unenumerable&&(o.unenumerable=e.unenumerable),e.symbol&&(o.symbol=e.symbol),e.proto&&(o.proto=e.proto),o}function nH(e,t,r){let o=[],n={};return(0,Uo.default)(e.enumerable,(s,i)=>{let a=(0,PL.default)(i);(0,qL.default)(a)?n[i]=s:o[a]=s}),o.enumerable=n,o.type=r,o.id=t,e.unenumerable&&(o.unenumerable=e.unenumerable),e.symbol&&(o.symbol=e.symbol),e.proto&&(o.proto=e.proto),o}function sH(e){let{type:t,value:r}=e;if(t)return t==="Function"?$i(r):t==="Array"&&e.unenumerable?`Array(${e.unenumerable.length})`:e.type}var $r=class extends _r{constructor(t,r={}){super(t,{compName:"object-viewer"}),this.onItemClick=o=>{let{map:n,c:s}=this;if(vL(o.curTarget))return;let i=(0,QL.default)(o.curTarget),a=i.data("object-id"),l=i.find("span").eq(0);if(i.data("first-level")||(a&&(i.find("ul").html(this.objToHtml(n[a],!1)),i.rmAttr("data-object-id")),o.stopImmediatePropagation(),!l.hasClass(s("expanded"))))return;let d=i.find("ul").eq(0);l.hasClass(s("collapsed"))?(l.rmClass(s("collapsed")),d.show()):(l.addClass(s("collapsed")),d.hide()),this.emit("change")},this.initOptions(r,{prototype:!0,unenumerable:!1,accessGetter:!1}),this.bindEvent(),this.options.object&&this.set(this.options.object)}set(t){this.data=[t],this.visitor=new jn,this.map={},this.render()}destroy(){super.destroy(),this.$container.off("click","li",this.onItemClick)}objToHtml(t,r){let{visitor:o}=this,n=t,s=!1,i=o.get(t);i&&i.self&&(n=i.self);let a="",l=["enumerable"],d=(0,wp.default)(t),c=[],m=[],h=[],v={};if(this.options.unenumerable&&!r&&(l.push("unenumerable"),l.push("symbol"),c=(0,XL.default)((0,bp.default)(t,{prototype:!1,unenumerable:!0}),d),m=(0,Sp.default)((0,bp.default)(t,{prototype:!1,symbol:!0}),p=>typeof p=="symbol")),(0,GL.default)(t)&&t.length>100){l.unshift("virtual"),s=!0;let p=0,f={};(0,Ji.default)((0,rT.default)(t,100),g=>{let w=Object.create(null),S=p,u="["+S;(0,Ji.default)(g,E=>{w[p]=E,f[p]=!0,p++});let b=p-1;u+=(b-S>0?" \u2026 "+b:"")+"]",v[u]=w}),h=(0,wp.default)(v),d=(0,Sp.default)(d,g=>!f[g])}if((0,Ji.default)(l,p=>{let f=[];p==="symbol"?f=m:p==="unenumerable"?f=c:p==="virtual"?f=h:f=d,s||(0,nT.default)(f);for(let g=0,w=f.length;g<w;g++){let S=(0,xp.default)(f[g]),u="",b=Object.getOwnPropertyDescriptor(t,S),E=b&&b.get,k=b&&b.set;if(E&&!this.options.accessGetter)u="(...)";else try{p==="virtual"?u=v[S]:u=n[S],(0,ZL.default)(u)&&u.catch(oT.default)}catch(L){L instanceof Error?u=L.message:u=(0,xp.default)(L)}a+=this.createEl(S,t,u,p,r),E&&(a+=this.createEl(`get ${S}`,t,b.get,p,r)),k&&(a+=this.createEl(`set ${S}`,t,b.set,p,r))}}),this.options.prototype){let p=(0,FL.default)(t);if(!r&&p)if(a===""){let f=o.set(p,{self:t});this.map[f]=p,a=this.objToHtml(p)}else a+=this.createEl("[[Prototype]]",n||t,p,"proto")}return a}createEl(t,r,o,n,s=!1){let{visitor:i,c:a}=this,l=typeof o,d=(0,YL.default)(o,!1);if(n==="virtual"&&(d=t),o===null)return`<li>${c(t)}<span class="${a("null")}">null</span></li>`;if((0,zL.default)(o)||(0,WL.default)(o))return`<li>${c(t)}<span class="${a(l)}">${Ct(o)}</span></li>`;if(d==="RegExp"&&(l="regexp"),d==="Number"&&(l="number"),d==="Undefined"||d==="Symbol")return`<li>${c(t)}<span class="${a("special")}">${(0,VL.default)(d)}</span></li>`;if(o==="(...)")return`<li>${c(t)}<span class="${a("special")}">${o}</span></li>`;if((0,vp.default)(o)){let m=i.get(o),h;if(m)h=m.id;else{let g={};n==="proto"&&(g.self=r),h=i.set(o,g),this.map[h]=o}let v="Object";l==="regexp"?v=`<span class="${a(l)}">${Ct(o)}`:v=Ct(iH(o,d)||(0,JL.default)(l));let p=s?"":`<span class="${a("expanded collapsed")}"><span class="${a("icon icon-caret-right")}"></span><span class="${a("icon icon-caret-down")}"></span></span>`,f=`<li ${s?'data-first-level="true"':""} ${'data-object-id="'+h+'"'}>${p}${c(t)}<span class="${a("open")}">${s?"":v}</span><ul class="${a(l)}" ${s?"":'style="display:none"'}>`;return s&&(f+=this.objToHtml(o)),f+`</ul><span class="${a("close")}"></span></li>`}function c(m){if(s||(0,vp.default)(o)&&n==="virtual")return"";let h=a("key");return n==="unenumerable"||n==="symbol"?h=a("key-lighter"):n==="proto"&&(h=a("key-special")),`<span class="${h}">${Ct(m)}</span>: `}return(0,tT.default)(o)&&o.length>1e4&&(o=(0,eT.default)(o,50,{separator:" ",ellipsis:"\u2026"})),`<li>${c(t)}<span class="${a(typeof o)}">"${Ct(o)}"</span></li>`}render(){this.$container.html(this.objToHtml(this.data,!0))}bindEvent(){this.$container.on("click","li",this.onItemClick),this.on("changeOption",(t,r)=>{switch(t){case"object":this.set(r);break;case"unenumerable":case"prototype":case"accessGetter":this.render();break}})}};function iH(e,t){if(t)return t==="Function"?$i((0,KL.default)(e)):t==="Array"?`Array(${e.length})`:t}typeof module<"u"&&($r.Static=Br,fL(module,$r));var rr=y(Bt()),QT=y(Pn());var yT=y(tr()),vT=y(Bt());var aT=y(dt()),lT=y(nt()),cT=y(_t()),Cp=y(Ln()),mH=y(rt()),dT=y(Pe()),pT=y(er()),uT=y(Tn()),fH=y(Cn()),gH=y(Or());function mT(e,t){try{e.exports=t,e.exports.default=t}catch{}}function fT(e){let t=`luna-${e}-`;function r(o){return(0,aT.default)((0,lT.default)(o).split(/\s+/),n=>(0,dT.default)(n,t)?n:n.replace(/[\w-]+/,s=>`${t}${s}`)).join(" ")}return function(o){if(/<[^>]*>/g.test(o))try{let n=Cp.default.parse(o);return gT(n,s=>{s.attrs&&s.attrs.class&&(s.attrs.class=r(s.attrs.class))}),Cp.default.stringify(n)}catch{return r(o)}return r(o)}}function gT(e,t){for(let r=0,o=e.length;r<o;r++){let n=e[r];t(n),n.content&&gT(n.content,t)}}var IG="ontouchstart"in cT.default;function kp(e,t){let r=e==="x"?"clientX":"clientY";return t[r]?t[r]:t.changedTouches?t.changedTouches[0][r]:0}function Ki(e){return(0,pT.default)(e.replace("px",""))}function hT(){let e=(0,uT.default)();return e==="os x"?"mac":e}var Hn=y(Q()),wT=y(pt()),bT=y(Yt()),ST=y(Io()),Zi=y(Un()),xT=y(Lt()),qn=class extends yT.default{constructor(t,{compName:r},{theme:o="light"}={}){super(),this.subComponents=[],this.theme="",this.onThemeChange=n=>{this.options.theme==="auto"&&this.setTheme(n)},this.compName=r,this.c=fT(r),this.options={},this.container=t,this.$container=(0,vT.default)(t),this.$container.addClass([`luna-${r}`,this.c(`platform-${hT()}`)]),this.on("changeOption",(n,s)=>{if(n==="theme"&&s){let i=s;s==="auto"&&(i=Zi.default.get()),this.setTheme(i),(0,Hn.default)(this.subComponents,a=>a.setOption("theme",s))}}),Zi.default.on("change",this.onThemeChange),this.setOption("theme",o)}destroy(){this.destroySubComponents();let{$container:t}=this,r=t.attr("class");(0,Hn.default)(r.split(/\s+/),o=>{(0,xT.default)(o,`luna-${this.compName}`)&&t.rmClass(o)}),t.html(""),this.emit("destroy"),this.removeAllListeners(),Zi.default.off("change",this.onThemeChange)}setOption(t,r){let o=this.options,n={};typeof t=="string"?n[t]=r:n=t,(0,Hn.default)(n,(s,i)=>{let a=o[i];o[i]=s,s!==a&&this.emit("changeOption",i,s,a)})}getOption(t){return this.options[t]}addSubComponent(t){t.setOption("theme",this.options.theme),this.subComponents.push(t)}removeSubComponent(t){(0,ST.default)(this.subComponents,r=>r===t)}destroySubComponents(){(0,Hn.default)(this.subComponents,t=>t.destroy()),this.subComponents=[]}initOptions(t,r={}){(0,bT.default)(t,r),(0,wT.default)(this.options,t)}find(t){return this.$container.find(this.c(t))}setTheme(t){let{c:r,$container:o}=this;this.theme&&o.rmClass(r(`theme-${this.theme}`)),o.addClass(r(`theme-${t}`)),this.theme=t}};var mr=y(Q()),XT=y(dt()),e0=y(Eo()),Wp=y(Nn()),t0=y(Ye()),aa=y(Yi()),r0=y(Me()),o0=y(ta()),Vp=y(Op()),sa=y(Yt()),n0=y(Bi()),ia=y(ra()),s0=y(Be()),i0=y(Dn()),a0=y(ot()),l0=y(ie()),c0=y(nt()),Gp=y(Pe()),d0=y(er()),Jp=y(Qt()),p0=y(RT()),u0=y(BT()),m0=y(Lp()),f0=y(WT()),g0=y(Ao()),Kp=y(Io()),Po=y(KT());var na=(0,rr.default)(document),ZT=24,YT=20,Ho=class extends qn{constructor(t,r){super(t,{compName:"data-grid"},r),this.resizeIdx=0,this.resizeStartX=0,this.resizeStartLeft=0,this.resizeDeltaX=0,this.nodes=[],this.displayNodes=[],this.colWidthsInitialized=!1,this.colMap={},this.selectedNode=null,this.isAscending=!0,this.colWidths=[],this.spaceHeight=0,this.topSpaceHeight=0,this.lastScrollTop=0,this.lastTimestamp=0,this.speedToleranceFactor=100,this.maxSpeedTolerance=2e3,this.minSpeedTolerance=100,this.scrollTimer=null,this.onResizeColMove=i=>{let{resizeIdx:a,$resizers:l,colWidths:d,$colgroup:c}=this;i=i.origEvent;let m=kp("x",i)-this.resizeStartX,h=d[a],v=d[a+1],p=(0,m0.default)(-h+ZT,0),f=(0,u0.default)(v-ZT,0);m=(0,p0.default)(m,p,f),c.each(function(){let w=(0,rr.default)(this).find("col");w.eq(a).css("width",h+m+"px"),w.eq(a+1).css("width",v-m+"px")}),this.resizeDeltaX=m;let g=this.resizeStartLeft+m;l.eq(a).css("left",`${g}px`)},this.onResizeColEnd=i=>{this.onResizeColMove(i);let{c:a,colWidths:l,resizeIdx:d,resizeDeltaX:c}=this,{columns:m}=this.options,h=m[d],v=m[d+1],p=l[d]+c,f=l[d+1]-c,g=p+f,w=h.weight+v.weight,S=w*(p/g),u=w-S;h.weight=S,v.weight=u,this.applyColWeights(),(0,rr.default)(document.body).rmClass(a("resizing")),na.off((0,Po.default)("move"),this.onResizeColMove),na.off((0,Po.default)("up"),this.onResizeColEnd)},this.onScroll=()=>{let{scrollHeight:i,clientHeight:a,scrollTop:l}=this.dataContainer;if(l<=0||a+l>i)return;let d=this.lastScrollTop,c=this.lastTimestamp,m=(0,g0.default)(),h=m-c,v=l-d,f=Math.abs(v/h)*this.speedToleranceFactor;h>1e3&&(f=1e3),f>this.maxSpeedTolerance&&(f=this.maxSpeedTolerance),f<this.minSpeedTolerance&&(f=this.minSpeedTolerance),this.lastScrollTop=l,this.lastTimestamp=m;let g=0,w=0;d<l?(g=this.minSpeedTolerance,w=f):(g=f,w=this.minSpeedTolerance),!(this.topSpaceHeight<l-g&&this.topSpaceHeight+this.data.offsetHeight>l+a+w)&&(this.renderData({topTolerance:g*2,bottomTolerance:w*2}),this.scrollTimer&&clearTimeout(this.scrollTimer),this.scrollTimer=setTimeout(()=>{this.renderData()},100))},this.renderData=(0,Vp.default)(({topTolerance:i=500,bottomTolerance:a=500}={})=>{let{dataContainer:l,displayNodes:d,tableBody:c}=this,{scrollTop:m,clientHeight:h}=l,v=m-i,p=m+h+a,f=0,g=0,w=d.length,S=[],u=YT;for(let E=0;E<w;E++){let k=d[E];g<=p&&(g+u>v?(S.length===0&&(0,f0.default)(E)&&(S.push(d[E-1]),f-=u),S.push(k)):g<v&&(f+=u)),g+=u}this.updateSpace(g),this.updateTopSpace(f);let b=document.createDocumentFragment();for(let E=0,k=S.length;E<k;E++)b.appendChild(S[E].container);b.appendChild(this.fillerRow),c.textContent="",c.appendChild(b)},16),this.$container.attr("tabindex","0"),this.resizeSensor=new o0.default(t),this.onResize=(0,Vp.default)(()=>{this.updateHeight(),this.updateWeights()},16),r.height&&(r.maxHeight=r.height,r.minHeight=r.height),this.initOptions(r,{minHeight:41,maxHeight:1/0,filter:"",selectable:!1});let{columns:o,minHeight:n,maxHeight:s}=this.options;(0,mr.default)(o,i=>{(0,sa.default)(i,{sortable:!1}),this.colMap[i.id]=i}),s<n&&this.setOption("maxHeight",n),this.initTpl(),this.$headerRow=this.find(".header").find("tr"),this.$fillerRow=this.find(".filler-row"),this.fillerRow=this.$fillerRow.get(0),this.$data=this.find(".data"),this.data=this.$data.get(0),this.$tableBody=this.$data.find("tbody"),this.tableBody=this.$tableBody.get(0),this.$colgroup=this.$container.find("colgroup"),this.$dataContainer=this.find(".data-container"),this.dataContainer=this.$dataContainer.get(0),this.$space=this.find(".data-space"),this.space=this.$space.get(0),this.renderHeader(),this.renderResizers(),this.updateWeights(),this.updateHeight(),this.bindEvent()}destroy(){super.destroy(),this.resizeSensor.destroy(),this.$container.rmAttr("tabindex")}remove(t){let{nodes:r,displayNodes:o}=this;(0,Kp.default)(r,n=>n===t),(0,Kp.default)(o,n=>n===t),t===this.selectedNode&&this.selectNode(null),this.renderData(),this.updateHeight()}append(t,r={}){(0,sa.default)(r,{selectable:this.options.selectable});let o=new Rn(this,t,r);this.nodes.push(o);let n=this.filterNode(o);return n&&this.displayNodes.push(o),this.sortId?this.sortNodes(this.sortId,this.isAscending):n&&this.renderData(),this.updateHeight(),o}setData(t,r){let o=(0,XT.default)(t,n=>(0,a0.default)(n)?((0,sa.default)(n[1],{selectable:this.options.selectable}),n):[n,{selectable:this.options.selectable}]);if(!r)this.clear(),(0,mr.default)(o,n=>{let s=new Rn(this,n[0],n[1]);this.nodes.push(s),this.filterNode(s)&&this.displayNodes.push(s)});else{let n={};(0,mr.default)(this.nodes,a=>{n[a.data[r]]=a});let s=[],i=[];(0,mr.default)(o,a=>{let l=a[0][r],d;n[l]?(d=n[l],d.data=a[0],d.render()):d=new Rn(this,a[0],a[1]),s.push(d),this.filterNode(d)&&i.push(d)}),this.selectedNode&&!(0,Gp.default)(s,this.selectedNode)&&this.selectNode(null),this.nodes=s,this.displayNodes=i}this.sortId?this.sortNodes(this.sortId,this.isAscending):this.renderData()}clear(){this.nodes=[],this.displayNodes=[],this.selectNode(null),this.renderData(),this.updateHeight()}updateHeight(){let{$fillerRow:t,$container:r}=this,{maxHeight:o,minHeight:n}=this.options,s=this.$headerRow.offset().height,i=Ki(r.css("border-top-width")),a=Ki(r.css("border-bottom-width")),l=s+i+a;n-=l,n<0&&(n=0),o-=l;let d=this.displayNodes.length,c=0;d>0&&(c=YT*d),c>n?t.hide():t.show(),c<n?c=n:c>=o&&(c=o),this.$dataContainer.css({height:c})}selectNode(t){!(0,ia.default)(t)&&!t?.selectable||this.selectedNode!==t&&(this.selectedNode&&(this.selectedNode.deselect(),this.selectedNode=null,(0,ia.default)(t)&&this.emit("deselect")),(0,ia.default)(t)||(this.selectedNode=t,t.select(),this.emit("select",t)))}onResizeColStart(t){let{c:r,resizeIdx:o,$resizers:n}=this;t.stopPropagation(),t.preventDefault(),t=t.origEvent,this.resizeStartX=kp("x",t),this.resizeStartLeft=Ki(n.eq(o).css("left")),(0,rr.default)(document.body).addClass(r("resizing")),na.on((0,Po.default)("move"),this.onResizeColMove),na.on((0,Po.default)("up"),this.onResizeColEnd)}bindEvent(){let{c:t,$headerRow:r,$tableBody:o,$resizers:n,$dataContainer:s}=this;this.resizeSensor.addListener(this.onResize),s.on("scroll",this.onScroll);let i=this;o.on("click",t(".node"),function(a){i.selectNode(this.dataGridNode),setTimeout(()=>{this.hasDoubleClick||i.emit("click",a.origEvent,this.dataGridNode)},200)}).on("dblclick",t(".node"),function(a){a.stopPropagation(),this.hasDoubleClick=!0,i.emit("dblclick",a.origEvent,this.dataGridNode),setTimeout(()=>{this.hasDoubleClick=!1},300)}).on("contextmenu",t(".node"),function(a){a.preventDefault(),a.stopPropagation(),i.selectNode(this.dataGridNode),i.emit("contextmenu",a.origEvent,this.dataGridNode)}),r.on("click",t(".sortable"),function(a){a.stopPropagation();let l=(0,rr.default)(this),d=l.data("id"),m=l.data("order")!=="descending";l.data("order",m?"descending":"ascending"),r.find(t(".icon-caret-up")).hide(),r.find(t(".icon-caret-down")).hide();let h=l.find(t(".icon-caret-up")),v=l.find(t(".icon-caret-down"));m?h.show():v.show(),i.sortNodes(d,m),r.find("th").each(function(){let p=(0,rr.default)(this);p.data("id")!==d&&p.rmAttr("data-order")})}),n.on((0,Po.default)("down"),function(a){let l=(0,rr.default)(this);i.resizeIdx=(0,d0.default)(l.data("idx")),i.onResizeColStart(a)}),this.on("changeOption",a=>{switch(a){case"minHeight":case"maxHeight":this.updateHeight();break;case"filter":this.displayNodes=[],(0,mr.default)(this.nodes,l=>{this.filterNode(l)&&this.displayNodes.push(l)}),this.selectedNode&&!this.filterNode(this.selectedNode)&&this.selectNode(null),this.renderData(),this.updateHeight();break}})}sortNodes(t,r){let n=this.colMap[t].comparator||n0.default.comparator;function s(i,a){let l=i.data[t],d=a.data[t];return(0,aa.default)(l)&&(l=l.innerText),(0,aa.default)(d)&&(d=d.innerText),r?n(l,d):n(d,l)}this.nodes.sort(s),this.displayNodes.sort(s),this.renderData(),this.sortId=t,this.isAscending=r}updateWeights(){let{container:t,$headerRow:r}=this,{columns:o}=this.options,n=t.offsetWidth;if(!this.colWidthsInitialized&&n){for(let s=0,i=o.length;s<i;s++){let a=o[s];if(!a.weight){let l=r.find("th").get(s).offsetWidth;a.weight=100*l/n}}this.colWidthsInitialized=!0}this.applyColWeights()}applyColWeights(){let{container:t,$colgroup:r}=this,{columns:o}=this.options,n=t.offsetWidth;if(n<=0)return;let s=0,i=o.length;for(let m=0;m<i;m++)s+=o[m].weight;let a=14,l="",d=0,c=0;this.colWidths=[];for(let m=0;m<i;m++){let h=o[m];d+=h.weight;let v=d*n/s|0,p=Math.max(v-c,a);c=v,l+=`<col style="width:${p}px"></col>`,this.colWidths[m]=p}r.html(l),this.positionResizers()}positionResizers(){let{colWidths:t}=this,r=[],o=t.length-1;for(let n=0;n<o;n++)r[n]=(r[n-1]||0)+t[n];for(let n=0;n<o;n++)this.$resizers.eq(n).css("left",r[n]+"px")}updateTopSpace(t){this.topSpaceHeight=t,this.data.style.top=t+"px"}updateSpace(t){this.spaceHeight!==t&&(this.spaceHeight=t,this.space.style.height=t+"px")}filterNode(t){let{filter:r}=this.options;if(r){if((0,s0.default)(r))return r(t);if((0,i0.default)(r))return r.test(t.text());if((0,l0.default)(r)&&(r=(0,c0.default)(r),r))return(0,Gp.default)((0,Jp.default)(t.text()),(0,Jp.default)(r))}return!0}renderHeader(){let{c:t}=this,r="",o="";(0,mr.default)(this.options.columns,n=>{let s=(0,e0.default)(n.title);n.sortable?r+=t(`
|
|
<th class="sortable" data-id="${n.id}">
|
|
${s}
|
|
<span class="icon-caret-up"></span>
|
|
<span class="icon-caret-down"></span>
|
|
</th>`):r+=`<th>${s}</th>`,o+="<td></td>"}),this.$headerRow.html(r),this.$fillerRow.html(o)}renderResizers(){let t="",r=this.options.columns.length-1;for(let o=0;o<r;o++)t+=this.c(`<div class="resizer" data-idx="${o}"></div>`);this.$container.append(t),this.$resizers=this.find(".resizer")}initTpl(){this.$container.html(this.c(QT.default`
|
|
<div class="header-container">
|
|
<table class="header">
|
|
<colgroup></colgroup>
|
|
<tbody>
|
|
<tr></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="data-container">
|
|
<div class="data-space">
|
|
<table class="data">
|
|
<colgroup></colgroup>
|
|
<tbody>
|
|
<tr class="filler-row"></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
`))}},Rn=class{constructor(t,r,o){this.container=(0,Wp.default)("tr"),this.selectable=!1,this.container.dataGridNode=this,this.$container=(0,rr.default)(this.container),this.$container.addClass(t.c("node")),this.dataGrid=t,this.data=r,o.selectable&&(this.selectable=o.selectable,this.$container.addClass(t.c("selectable"))),this.render()}text(){return this.$container.text()}select(){this.$container.addClass(this.dataGrid.c("selected"))}deselect(){this.$container.rmClass(this.dataGrid.c("selected"))}render(){let{data:t,$container:r,container:o}=this,n=this.dataGrid.getOption("columns");r.html(""),(0,mr.default)(n,s=>{let i=(0,Wp.default)("td"),a=t[s.id];(0,r0.default)(a)||((0,aa.default)(a)?i.appendChild(a):i.innerText=(0,t0.default)(a)),o.appendChild(i)})}};typeof module<"u"&&mT(module,Ho);var T0=y(tr()),C0=y(Bt());var h0=y(dt()),y0=y(nt()),v0=y(_t()),Zp=y(Ln()),PH=y(rt()),w0=y(Pe()),HH=y(er()),b0=y(Tn()),qH=y(Cn()),NH=y(Or());function S0(e,t){try{e.exports=t,e.exports.default=t}catch{}}function x0(e){let t=`luna-${e}-`;function r(o){return(0,h0.default)((0,y0.default)(o).split(/\s+/),n=>(0,w0.default)(n,t)?n:n.replace(/[\w-]+/,s=>`${t}${s}`)).join(" ")}return function(o){if(/<[^>]*>/g.test(o))try{let n=Zp.default.parse(o);return E0(n,s=>{s.attrs&&s.attrs.class&&(s.attrs.class=r(s.attrs.class))}),Zp.default.stringify(n)}catch{return r(o)}return r(o)}}function E0(e,t){for(let r=0,o=e.length;r<o;r++){let n=e[r];t(n),n.content&&E0(n.content,t)}}var L0="ontouchstart"in v0.default;function la(){let e=(0,b0.default)();return e==="os x"?"mac":e}var _n=y(Q()),k0=y(pt()),M0=y(Yt()),I0=y(Io()),ca=y(Un()),j0=y(Lt()),Bn=class extends T0.default{constructor(t,{compName:r},{theme:o="light"}={}){super(),this.subComponents=[],this.theme="",this.onThemeChange=n=>{this.options.theme==="auto"&&this.setTheme(n)},this.compName=r,this.c=x0(r),this.options={},this.container=t,this.$container=(0,C0.default)(t),this.$container.addClass([`luna-${r}`,this.c(`platform-${la()}`)]),this.on("changeOption",(n,s)=>{if(n==="theme"&&s){let i=s;s==="auto"&&(i=ca.default.get()),this.setTheme(i),(0,_n.default)(this.subComponents,a=>a.setOption("theme",s))}}),ca.default.on("change",this.onThemeChange),this.setOption("theme",o)}destroy(){this.destroySubComponents();let{$container:t}=this,r=t.attr("class");(0,_n.default)(r.split(/\s+/),o=>{(0,j0.default)(o,`luna-${this.compName}`)&&t.rmClass(o)}),t.html(""),this.emit("destroy"),this.removeAllListeners(),ca.default.off("change",this.onThemeChange)}setOption(t,r){let o=this.options,n={};typeof t=="string"?n[t]=r:n=t,(0,_n.default)(n,(s,i)=>{let a=o[i];o[i]=s,s!==a&&this.emit("changeOption",i,s,a)})}getOption(t){return this.options[t]}addSubComponent(t){t.setOption("theme",this.options.theme),this.subComponents.push(t)}removeSubComponent(t){(0,I0.default)(this.subComponents,r=>r===t)}destroySubComponents(){(0,_n.default)(this.subComponents,t=>t.destroy()),this.subComponents=[]}initOptions(t,r={}){(0,M0.default)(t,r),(0,k0.default)(this.options,t)}find(t){return this.$container.find(this.c(t))}setTheme(t){let{c:r,$container:o}=this;this.theme&&o.rmClass(r(`theme-${this.theme}`)),o.addClass(r(`theme-${t}`)),this.theme=t}};var gr=y(Q()),ma=y(Bt()),su=y(Nn()),K0=y(dt()),iu=y(Lo()),au=y(A0()),lu=y(Pn()),Z0=y(st()),Y0=y(H0()),Q0=y(Pe()),cu=y(Qp()),X0=y(To()),eC=y(En()),Gn=y(Eo()),tC=y(nt()),du=y(O0()),Jn=y(G0()),pu=y(Qt());var J0={comment:"",string:"",number:"",keyword:"",operator:""},No=class e extends Bn{constructor(t,r={}){super(t,{compName:"dom-viewer"},r),this.isExpanded=!1,this.childNodes=[],this.childNodeDomViewers=[],this.expand=(o=!1)=>{this.isExpandable()&&(this.isExpanded||(this.isExpanded=!0,this.renderExpandTag(),this.renderChildNodes()),o&&(0,gr.default)(this.childNodeDomViewers,n=>{n.expand(!0)}))},this.collapse=(o=!1)=>{this.isExpandable()&&(this.isExpanded&&(this.isExpanded=!1,this.renderCollapseTag()),o&&(0,gr.default)(this.childNodeDomViewers,n=>{n.collapse(!0)}))},this.toggle=()=>{this.isExpanded?this.collapse():this.expand()},this.onKeyRight=()=>{this.isExpanded?this.childNodeDomViewers[0].select():this.expand()},this.onKeyLeft=()=>{this.isExpanded?this.collapse():this.options.parent?.select()},this.onKeyDown=()=>{let{options:o}=this;if(this.isExpanded){this.childNodeDomViewers[0].select();return}let{parent:n}=o;if(n)if(o.isEndTag){if(n=n.getOption("parent"),!n)return;let{childNodes:s,childNodeDomViewers:i,endTagDomViewer:a}=n,l=s.indexOf(o.node);s[l+1]?i[l+1].select():a&&a.select()}else{let{childNodeDomViewers:s,endTagDomViewer:i}=n,a=s.indexOf(this);s[a+1]?s[a+1].select():i&&i.select()}},this.onKeyUp=()=>{let{options:o}=this,n=o.parent;if(!n)return;let s;if(o.isEndTag)s=(0,eC.default)(n.childNodeDomViewers);else{let i=n.childNodeDomViewers.indexOf(this);i<1?n.select():s=n.childNodeDomViewers[i-1]}s&&(s.isExpanded?s.endTagDomViewer?.select():s.select())},this.initOptions(r,{node:document.documentElement,parent:null,isEndTag:!1,observe:!0,rootContainer:t,rootDomViewer:this,ignore:()=>!1,ignoreAttr:()=>!1,lowerCaseTagName:!0,hotkey:!0}),this.isShadowRoot=(0,au.default)(this.options.node),this.initTpl(),this.bindEvent(),!this.options.isEndTag&&this.options.observe&&this.initObserver()}select(t){let{c:r,options:o}=this;if(!t||t&&o.node===t){if(this.$tag.hasClass(r("selected")))return;(0,ma.default)(this.options.rootContainer).find(r(".selected")).rmClass(r("selected")).rmAttr("tabindex"),this.$tag.attr("tabindex","0").get(0).focus(),this.$tag.addClass(r("selected")),o.rootDomViewer.emit("select",o.node);return}if(t.nodeType!==Node.ELEMENT_NODE)return;let n=t,s=t.parentElement;for(;s;){if(s===o.node){this.expand(),this.childNodeDomViewers[this.childNodes.indexOf(n)].select(t);break}n=s,s=s.parentElement}}attach(){this.container.appendChild(this.$tag.get(0)),this.$children&&this.container.appendChild(this.$children.get(0))}isAttached(){return!!this.$tag.get(0).parentNode}detach(){this.$tag.remove(),this.$children&&this.$children.remove()}destroy(){let{c:t}=this;this.$tag.hasClass(t("selected"))&&this.options.rootDomViewer.emit("deselect"),this.detach(),this.observer&&this.observer.disconnect(),this.destroySubComponents(),this.options.rootDomViewer===this&&this.$container.rmClass("luna-dom-viewer").rmClass(t(`platform-${la()}`)).rmClass(t(`theme-${this.options.theme}`)),this.emit("destroy"),this.removeAllListeners()}renderExpandTag(){let{$tag:t,c:r}=this,{node:o}=this.options;this.isShadowRoot||t.html(this.renderHtmlTag({...ua(o),hasTail:!1,hasToggleButton:!0})),t.addClass(r("expanded")),this.$children.rmClass(r("hidden"))}renderCollapseTag(){let{$tag:t,c:r}=this,{node:o}=this.options;this.$children.addClass(r("hidden")),this.isShadowRoot||this.$tag.html(this.renderHtmlTag({...ua(o),hasTail:!0,hasToggleButton:!0})),t.rmClass(r("expanded"))}initObserver(){this.observer=new Y0.default(t=>{(0,gr.default)(t,r=>{this.handleMutation(r)})}),this.observer.observe(this.options.node,{attributes:!0,childList:!0,characterData:!0})}handleMutation(t){let{$tag:r,c:o}=this,{node:n,ignore:s}=this.options;if((0,Q0.default)(["attributes","childList"],t.type)){if(t.type==="childList"){if((0,du.default)(t.addedNodes,s)&&(0,du.default)(t.removedNodes,s))return;this.renderChildNodes()}this.isExpandable()?this.isExpanded?this.renderExpandTag():this.renderCollapseTag():(this.$children.addClass(o("hidden")),this.isExpanded=!1,this.isShadowRoot?r.html(this.renderShadowRoot(!1)):r.html(this.renderHtmlTag({...ua(n),hasTail:!1})))}else t.type==="characterData"&&(n.nodeType===Node.TEXT_NODE?r.html(this.renderTextNode(n)):n.nodeType===Node.COMMENT_NODE&&r.html(this.renderHtmlComment(n.nodeValue)))}bindEvent(){let{c:t,$tag:r}=this,{node:o}=this.options;if((o.nodeType===Node.ELEMENT_NODE||this.isShadowRoot)&&r.on("click",t(".toggle"),n=>{n.stopPropagation(),this.toggle()}),L0?r.on("click",()=>this.select()):r.on("mousedown",()=>this.select()),this.options.hotkey){let n={element:r.get(0)};Jn.default.on("right",n,this.onKeyRight),Jn.default.on("left",n,this.onKeyLeft),Jn.default.on("down",n,this.onKeyDown),Jn.default.on("up",n,this.onKeyUp)}}isExpandable(){let{node:t}=this.options;return t.nodeType!==Node.ELEMENT_NODE&&!this.isShadowRoot?!1:this.getChildNodes().length>0}getChildNodes(){let{rootContainer:t,ignore:r}=this.options,o=this.options.node,n=(0,Z0.default)(o.childNodes);return n=(0,iu.default)(n,s=>{if(s.nodeType===Node.TEXT_NODE||s.nodeType===Node.COMMENT_NODE){let i=s.nodeValue;if((0,tC.default)(i)==="")return!1}return s!==t&&!r(s)}),o.shadowRoot?n.unshift(o.shadowRoot):o.chobitsuShadowRoot&&n.unshift(o.chobitsuShadowRoot),n}initTpl(){let{container:t,c:r}=this,{node:o,isEndTag:n,lowerCaseTagName:s}=this.options,i=(0,ma.default)((0,su.default)("li"));if(i.addClass(r("tree-item")),this.$tag=i,n){let a=o.tagName;s&&(a=(0,pu.default)(a)),i.html(r(`<span class="html-tag" style="margin-left: -15px;"><<span class="tag-name">/${a}</span>></span><span class="selection"></span>`))}else if(o.nodeType===Node.ELEMENT_NODE){let a=this.isExpandable(),l={...ua(o),hasTail:a,hasToggleButton:a};i.html(this.renderHtmlTag(l))}else if((0,au.default)(o)){let a=this.isExpandable();i.html(this.renderShadowRoot(a))}else if(o.nodeType===Node.TEXT_NODE)i.html(this.renderTextNode(o));else if(o.nodeType===Node.COMMENT_NODE){let a=o.nodeValue;if(a.trim()==="")return;i.html(this.renderHtmlComment(a))}else return;if(t.appendChild(i.get(0)),o.nodeType===o.ELEMENT_NODE||this.isShadowRoot){let a=(0,ma.default)((0,su.default)("ul"));a.addClass([r("children"),r("hidden")]),t.appendChild(a.get(0)),this.$children=a}}renderChildNodes(){let t=this.options.node,{rootContainer:r,ignore:o,ignoreAttr:n,rootDomViewer:s,observe:i,lowerCaseTagName:a}=this.options,d=this.$children.get(0),c=this.childNodes,m=this.childNodeDomViewers;(0,gr.default)(m,p=>{p.detach(),this.removeSubComponent(p)}),this.endTagDomViewer&&this.endTagDomViewer.detach();let h=this.getChildNodes();this.childNodes=h;let v=[];this.childNodeDomViewers=v,(0,gr.default)(h,(p,f)=>{let g=c.indexOf(p),w;g>-1?w=m[g]:w=new e(d,{node:p,observe:i,parent:this,rootContainer:r,rootDomViewer:s,ignore:o,ignoreAttr:n,lowerCaseTagName:a}),w.attach(),v[f]=w,this.addSubComponent(w)}),(0,gr.default)(m,p=>{p.isAttached()||p.destroy()}),t&&!this.isShadowRoot&&(this.endTagDomViewer?this.endTagDomViewer.attach():(this.endTagDomViewer=new e(d,{node:t,parent:this,isEndTag:!0,lowerCaseTagName:a,rootContainer:r,rootDomViewer:s,ignore:o}),this.addSubComponent(this.endTagDomViewer)))}renderHtmlTag(t){let{lowerCaseTagName:r}=this.options;t.attributes=(0,iu.default)(t.attributes,i=>!this.options.ignoreAttr(t.el,i.name,i.value));let o=(0,K0.default)(t.attributes,i=>{let{name:a,value:l,isLink:d}=i;return`<span class="attribute">
|
|
<span class="attribute-name">${(0,Gn.default)(a)}</span>${l?`="<span class="attribute-value${d?" attribute-underline":""}">${(0,Gn.default)(l)}</span>"`:""}</span>`}).join(""),n="",s=t.tagName;return r&&(s=(0,pu.default)(s)),t.hasTail?n=`${t.hasTail?"\u2026":""}<span class="html-tag"><<span class="tag-name">/${s}</span>></span>`:this.isExpandable()||(n=`<span class="html-tag"><<span class="tag-name">/${s}</span>></span>`),this.c(lu.default`
|
|
${t.hasToggleButton?this.renderToggle():""}
|
|
<span class="html-tag"><<span class="tag-name">${s}</span>${o}></span>${n}
|
|
<span class="selection"></span>`)}renderTextNode(t){let{c:r}=this,o=t.nodeValue,n=t.parentElement,s='<span class="text-node">',i='</span><span class="selection"></span>';if(n&&o.length<1e4){if(n.tagName==="STYLE")return r(`${s}${(0,cu.default)(o,"css",J0)}${i}`);if(n.tagName==="SCRIPT")return r(`${s}${(0,cu.default)(o,"js",J0)}${i}`)}return r(`"${s}${(0,Gn.default)((0,X0.default)(o,1e4,{separator:" ",ellipsis:"\u2026"}))}${i}"`)}renderHtmlComment(t){return this.c(`<span class="html-comment"><!-- ${(0,Gn.default)(t)} --></span><span class="selection"></span>`)}renderShadowRoot(t){let{node:r}=this.options;return this.c(lu.default`
|
|
${t?this.renderToggle():""}
|
|
<span class="shadow-root">#shadow-root (${r.mode})</span>
|
|
<span class="selection"></span>`)}renderToggle(){return'<div class="toggle "><span class="icon icon-caret-right"></span><span class="icon icon-caret-down"></span></div>'}};function ua(e){let t={el:e,tagName:"",attributes:[]};t.tagName=e.tagName;let r=[];return(0,gr.default)(e.attributes,o=>{let{name:n,value:s}=o;r.push({name:n,value:s,isLink:XH(e,n)})}),t.attributes=r,t}function XH(e,t){let r=e.tagName;return(r==="SCRIPT"||r==="IMAGE"||r==="VIDEO"||r==="AUDIO")&&t==="src"||r==="LINK"&&t==="href"}typeof module<"u"&&S0(module,No);var zC=y(ta()),kt=y($e()),Qn=y(ie()),WC=y(oC()),ha=y(sC()),VC=y(Yt()),ya=y(Yi()),Fe=y(Ye()),GC=y(er()),JC=y(aC()),KC=y(dC()),zr=y(Eo()),ZC=y(ra()),YC=y(Me()),QC=y(Be()),XC=y(st()),ek=y(ot()),tk=y(bn()),es=y(Pe()),va=y(gi()),rk=y(zi()),Wr=y(Q()),ok=y(dt()),ju=y(nt()),nk=y(Qt()),sk=y(Or()),ik=y(Ae()),Xn=y(Bt()),ak=y(Nn()),lk=y(tr()),ck=y(qp()),dk=y(uC()),pk=y(vu()),uk=y(AC()),mk=y(qC()),fk=y(BC()),gk=y(Qp()),hk=y(To()),yk=y(Zd()),vk=y(rt());var wk=y(Pn()),bk=y(FC()),Uu=y(Fi()),Sk=y(ki()),xk=y(bu()),Ek=y(Dn());var Zq=/https?:\/\/([0-9.\-A-Za-z]+)(?::(\d+))?\/[A-Z.a-z0-9/]*\.js/g,Yq={comment:"",string:"",number:"",keyword:"",operator:""},ts=class extends lk.default{constructor(t,{type:r="log",args:o=[],id:n,group:s,targetGroup:i,header:a,ignoreFilter:l=!1,accessGetter:d,unenumerable:c,lazyEvaluation:m}){super(),this.container=(0,ak.default)("div"),this.count=1,this.width=0,this.height=0,this.isHidden=!1,this.columns=[],this.elements={},this.objects={},this.console=t,this.type=r,this.group=s,this.targetGroup=i,this.args=o,this.id=n,this.header=a,this.ignoreFilter=l,this.collapsed=!1,this.container.log=this,this.height=0,this.width=0,this.$container=(0,Xn.default)(this.container),this.accessGetter=d,this.unenumerable=c,this.lazyEvaluation=m;let h="info";switch(r){case"debug":h="verbose";break;case"error":h="error";break;case"warn":h="warning";break}this.level=h,this.resizeSensor=new zC.default(this.container),this.onResize=(0,ck.default)(()=>{(0,sk.default)(this.container)?this.isHidden=!0:(this.isHidden||this.updateSize(!1),this.isHidden=!1)},16),this.formatMsg(),this.group&&this.checkGroup(),this.bindEvent()}checkGroup(){let{group:t}=this,r=!1;for(;t;){if(t.collapsed){r=!0;break}t=t.parent}return r!==this.collapsed?(this.collapsed=r,!0):!1}updateIcon(t){let{c:r}=this.console;return this.$container.find(r(".icon-container")).find(r(".icon")).rmAttr("class").addClass([r("icon"),r(`icon-${t}`)]),this}addCount(){this.count++;let{$container:t,count:r}=this,{c:o}=this.console,n=t.find(o(".count-container")),s=t.find(o(".icon-container")),i=n.find(o(".count"));return r===2&&n.rmClass(o("hidden")),i.text((0,Fe.default)(r)),s.addClass(o("hidden")),this}groupEnd(){let{$container:t}=this,{c:r}=this.console;return t.find(`.${r("nesting-level")}:not(.${r("group-closed")})`).last().addClass(r("group-closed")),this}updateTime(t){let r=this.$container.find(this.console.c(".time-container"));return this.header&&(r.find("span").eq(0).text(t),this.header.time=t),this}isAttached(){return!!this.container.parentNode}isSimple(){return!(0,yk.default)(this.args,t=>(0,kt.default)(t))}updateSize(t=!0){let{width:r,height:o}=this.container.getBoundingClientRect(),n=o-1;this.height!==n&&(this.height=n,t||this.emit("updateHeight")),this.width!==r&&(this.width=r)}html(){return this.container.outerHTML}text(){return this.content.textContent||""}select(){this.$container.addClass(this.console.c("selected"))}deselect(){this.$container.rmClass(this.console.c("selected"))}copy(){let{args:t}=this,r="";(0,Wr.default)(t,(o,n)=>{n!==0&&(r+=" "),(0,kt.default)(o)?r+=(0,dk.default)(o):r+=(0,Fe.default)(o)}),(0,pk.default)(r)}bindEvent(){let{c:t}=this.console,r=this;this.resizeSensor.addListener(this.onResize),this.$container.on("click",t(".dom-viewer"),o=>o.stopPropagation()).on("click",t(".preview"),function(o){if(o.stopPropagation(),Ci(this))return;let s=(0,Xn.default)(this).find(t(".preview-icon-container")).find(t(".icon")),i="caret-down";s.hasClass(t("icon-caret-down"))&&(i="caret-right"),s.rmAttr("class").addClass([t("icon"),t(`icon-${i}`)]),r.renderObjectViewer(this)}).on("click",()=>this.click())}renderEl(){let{elements:t}=this,{c:r}=this.console,o=this;this.$container.find(r(".dom-viewer")).each(function(){let s=(0,Xn.default)(this).data("id");new No(this,{node:t[s],theme:o.console.getOption("theme")})})}renderObjectViewer(t){let{console:r,unenumerable:o,accessGetter:n,lazyEvaluation:s}=this,{c:i}=r,a=(0,Xn.default)(t),l=a.data("id");if(!l)return;let d=this.objects[l],c=a.find(i(".json"));if(c.hasClass(i("hidden"))){if(c.data("init")!=="true"){if(s){let m=new $r(c.get(0),{unenumerable:o,accessGetter:n});m.setOption("theme",r.getOption("theme")),m.set(d)}else{let m=new Br(c.get(0));m.setOption("theme",r.getOption("theme")),m.set(d)}c.data("init","true")}c.rmClass(i("hidden"))}else c.addClass(i("hidden"))}renderTable(t){let r="__LunaConsoleValue",{columns:o,$container:n,console:s}=this,{c:i}=s,a=n.find(i(".data-grid")),l=t[0],d=new Ho(a.get(0),{columns:(0,KC.default)([{id:"(index)",title:"(index)",sortable:!0}],(0,ok.default)(o,c=>({id:c,title:c===r?"Value":c,sortable:!0}))),theme:s.getOption("theme")});(0,Wr.default)(l,(c,m)=>{let h={"(index)":(0,Fe.default)(m)};o.forEach(v=>{(0,kt.default)(c)?h[v]=v===r?"":this.formatTableVal(c[v]):(0,ha.default)(c)&&(h[v]=v===r?this.formatTableVal(c):"")}),d.append(h)})}extractObj(t,r={},o){let{accessGetter:n,unenumerable:s}=this;(0,VC.default)(r,{accessGetter:n,unenumerable:s,symbol:s,timeout:1e3}),Xq(t,r,i=>o(JSON.parse(i)))}click(){let{type:t,$container:r,console:o}=this,{c:n}=o;switch(t){case"log":case"warn":case"info":case"debug":case"output":case"table":case"dir":break;case"group":case"groupCollapsed":Ci(this.container)||o.toggleGroup(this);break;case"error":Ci(this.container)||r.find(n(".stack")).toggleClass(n("hidden"));break}}formatMsg(){let{args:t}=this,{type:r,id:o,header:n,group:s}=this,{c:i}=this.console;t=(0,rk.default)(t);let a="",l,d;switch((r==="group"||r==="groupCollapsed")&&t.length===0&&(t=["console.group"]),r){case"log":case"info":case"debug":a=this.formatCommon(t);break;case"dir":a=this.formatDir(t);break;case"warn":l="warn",a=this.formatCommon(t);break;case"error":(0,Qn.default)(t[0])&&t.length!==1&&(t=this.substituteStr(t)),d=t[0],l="error",d=(0,WC.default)(d)?d:new Error(this.formatCommon(t)),a=this.formatErr(d);break;case"table":a=this.formatTable(t);break;case"html":a=t[0];break;case"input":a=this.formatJs(t[0]),l="input";break;case"output":a=this.formatCommon(t),l="output";break;case"groupCollapsed":a=this.formatCommon(t),l="caret-right";break;case"group":a=this.formatCommon(t),l="caret-down";break}switch((0,es.default)(["log","debug","warn"],r)&&this.isSimple()&&(a=(0,fk.default)(a,c=>`<a href="${c}" target="_blank">${c}</a>`)),a=this.render({msg:a,type:r,icon:l,id:o,header:n,group:s}),this.$container.addClass(`${i("log-container")}`).html(a),r){case"table":(0,va.default)(this.columns)||this.renderTable(t);break}(0,va.default)(this.elements)||this.renderEl(),this.$content=this.$container.find(i(".log-content")),this.content=this.$content.get(0)}render(t){let{c:r}=this.console,o="",n="";if(t.group){let{indentLevel:i}=t.group;for(let a=0;a<i;a++)n+=`<div class="${r("nesting-level")}"></div>`}t.header&&(o+=wk.default`
|
|
<div class="${r("header")}">
|
|
${n}
|
|
<div class="${r("time-from-container")}">
|
|
<span>${t.header.time}</span> <span>${t.header.from}</span>
|
|
</div>
|
|
</div>`);let s="";return t.icon&&(s=`<div class="${r("icon-container")}"><span class="${r("icon icon-"+t.icon)}"></span></div>`),o+=`
|
|
<div class="${r(t.type+" log-item")}">
|
|
${n}
|
|
${s}
|
|
<div class="${r("count-container hidden")}">
|
|
<div class="${r("count")}"></div>
|
|
</div>
|
|
<div class="${r("log-content-wrapper")}">
|
|
<div class="${r("log-content")}">${t.msg}</div>
|
|
</div>
|
|
</div>`,o}formatTable(t){let r="__LunaConsoleValue",o=t[0],n=t[1],s=[];return(0,Qn.default)(n)&&(n=(0,XC.default)(n)),(0,ek.default)(n)||(n=null),(0,kt.default)(o)?((0,Wr.default)(o,i=>{(0,ha.default)(i)?s.push(r):(0,kt.default)(i)&&(s=s.concat((0,ik.default)(i)))}),s=(0,tk.default)(s),s.sort(),n&&(s=s.filter(i=>(0,es.default)(n,i))),s.length>20&&(s=s.slice(0,20)),(0,va.default)(s)?this.formatCommon(t):(this.columns=s,this.console.c('<div class="data-grid"></div>')+this.formatPreview(o))):this.formatCommon(t)}formatErr(t){let r=t.stack?t.stack.split(`
|
|
`):[],o=t.name?`${t.name}: `:"";o+=`${t.message||r[0]}<br/>`,r=r.map(s=>(0,zr.default)(s));let n=`<div class="${this.console.c("stack hidden")}">${r.slice(1).join("<br/>")}</div>`;return o+n.replace(Zq,s=>`<a href="${s}" target="_blank">${s}</a>`)}formatCommon(t){let{c:r}=this.console,o=(0,Qn.default)(t[0])&&t.length!==1;o&&(t=this.substituteStr(t));for(let n=0,s=t.length;n<s;n++){let i=t[n];(0,ya.default)(i)?t[n]=this.formatEl(i):(0,QC.default)(i)?t[n]=this.formatFn(i):(0,Ek.default)(i)?t[n]=`<span class="${r("regexp")}">${(0,zr.default)((0,Fe.default)(i))}</span>`:(0,kt.default)(i)?t[n]=this.formatPreview(i):(0,YC.default)(i)?t[n]=`<span class="${r("undefined")}">undefined</span>`:(0,ZC.default)(i)?t[n]=`<span class="${r("null")}">null</span>`:(0,vk.default)(i)?t[n]=`<span class="${r("number")}">${(0,Fe.default)(i)}</span>`:typeof i=="bigint"?t[n]=`<span class="${r("number")}">${(0,Fe.default)(i)}n</span>`:(0,Sk.default)(i)?t[n]=`<span class="${r("boolean")}">${(0,Fe.default)(i)}</span>`:(0,xk.default)(i)?t[n]=`<span class="${r("symbol")}">${(0,zr.default)((0,Fe.default)(i))}</span>`:(i=(0,Fe.default)(i),(n!==0||!o)&&(i=(0,zr.default)(i)),i.length>5e3&&(i=(0,hk.default)(i,5e3,{separator:" ",ellipsis:"\u2026"})),t[n]=i)}return t.join(" ")}formatDir(t){return(0,kt.default)(t[0])?this.formatPreview(t[0]):this.formatCommon(t)}formatTableVal(t){let{c:r}=this.console;return(0,kt.default)(t)?"{\u2026}":(0,ha.default)(t)?(0,bk.default)(`<div class="${r("preview")}">${Mo(t)}</div>`):(0,Fe.default)(t)}formatPreview(t){let{c:r}=this.console,o=(0,Uu.default)();this.lazyEvaluation?this.objects[o]=t:this.extractObj(t,{},i=>{this.objects[o]=i});let n=(0,es.default)(["dir","table"],this.type),s=xn(t);return s==="Array"&&t.length>1?(s=`(${t.length})`,n&&(s=`Array${s}`)):s==="RegExp"?s=(0,Fe.default)(t):(0,ya.default)(t)&&(s=this.formatElName(t)),`<div class="${r("preview")}" data-id="${o}"><div class="${r("preview-container")}"><div class="${r("preview-icon-container")}"><span class="${r("icon icon-caret-right")}"></span></div><span class="${r("preview-content-container")}"><span class="${r("descriptor")}">${(0,zr.default)(s)}</span> <span class="${r("object-preview")}">${n?"":Mo(t,{getterVal:this.accessGetter,unenumerable:!1})}</span></span></div><div class="${r("json hidden")}"></div></div>`}substituteStr(t){let r=(0,zr.default)(t[0]),o=!1,n="";t.shift();for(let s=0,i=r.length;s<i;s++){let a=r[s];if(a==="%"&&t.length!==0){s++;let l=t.shift();switch(r[s]){case"i":case"d":n+=(0,JC.default)(l);break;case"f":n+=(0,GC.default)(l);break;case"s":n+=(0,Fe.default)(l);break;case"O":(0,kt.default)(l)?n+=this.formatPreview(l):n+=(0,Fe.default)(l);break;case"o":(0,ya.default)(l)?n+=this.formatEl(l):(0,kt.default)(l)?n+=this.formatPreview(l):n+=(0,Fe.default)(l);break;case"c":if(r.length<=s+1)break;o&&(n+="</span>"),o=!0,n+=`<span style="${Qq(l)}">`;break;default:s--,t.unshift(l),n+=a}}else n+=a}return o&&(n+="</span>"),t.unshift(n),t}formatJs(t){let r=(0,gk.default)(t,"js",Yq);return r!==t&&(r=this.console.c(r)),`<pre class="${this.console.c("code")}">${r}</pre>`}formatFn(t){return`<pre style="display:inline">${this.formatJs(t.toString())}</pre>`}formatElName(t){let{id:r,className:o}=t,n=t.tagName.toLowerCase();if(r!==""&&(n+=`#${r}`),(0,Qn.default)(o)){let s="";(0,Wr.default)(o.split(/\s+/g),i=>{i.trim()!==""&&(s+=`.${i}`)}),n+=s}return n}formatEl(t){let r=(0,Uu.default)();return this.elements[r]=t,this.console.c(`<div class="dom-viewer" data-id="${r}"></div>`)}};function Qq(e){e=(0,nk.default)(e);let t=e.split(";"),r={};(0,Wr.default)(t,n=>{if(!(0,es.default)(n,":"))return;let[s,i]=n.split(":");r[(0,ju.default)(s)]=(0,ju.default)(i)}),r.display="inline-block",r["max-width"]="100%",delete r.width,delete r.height;let o="";return(0,Wr.default)(r,(n,s)=>{o+=`${s}:${n};`}),o}function Xq(e,t,r){let o=(0,uk.default)(e,t);(0,mk.default)(()=>r(o))}var Ru=y(Me()),_u=y(kk()),Zk=y(Ao()),Ea=y(ie()),Yk=y(pt()),Qk=y(Fi()),Xk=y(Dn()),eM=y(Be()),Bu=y(od()),yr=y(gi()),is=y(Pe()),tM=y(vu()),$u=y(Q()),Fu=y(st()),rM=y(Ae()),oM=y(En()),nM=y(Op()),sM=y(jk()),La=y(Qt()),iM=y(Dk()),aM=y(Or()),lM=y(Pn()),cM=y(ta()),dM=y(ra());var Rk=y(tr()),_k=y(Bt());var os=y(Q()),Bk=y(pt()),$k=y(Yt()),Fk=y(Io()),xa=y(Un()),zk=y(Lt()),ns=class extends Rk.default{constructor(t,{compName:r},{theme:o="light"}={}){super(),this.subComponents=[],this.theme="",this.onThemeChange=n=>{this.options.theme==="auto"&&this.setTheme(n)},this.compName=r,this.c=Ti(r),this.options={},this.container=t,this.$container=(0,_k.default)(t),this.$container.addClass([`luna-${r}`,this.c(`platform-${Tx()}`)]),this.on("changeOption",(n,s)=>{if(n==="theme"&&s){let i=s;s==="auto"&&(i=xa.default.get()),this.setTheme(i),(0,os.default)(this.subComponents,a=>a.setOption("theme",s))}}),xa.default.on("change",this.onThemeChange),this.setOption("theme",o)}destroy(){this.destroySubComponents();let{$container:t}=this,r=t.attr("class");(0,os.default)(r.split(/\s+/),o=>{(0,zk.default)(o,`luna-${this.compName}`)&&t.rmClass(o)}),t.html(""),this.emit("destroy"),this.removeAllListeners(),xa.default.off("change",this.onThemeChange)}setOption(t,r){let o=this.options,n={};typeof t=="string"?n[t]=r:n=t,(0,os.default)(n,(s,i)=>{let a=o[i];o[i]=s,s!==a&&this.emit("changeOption",i,s,a)})}getOption(t){return this.options[t]}addSubComponent(t){t.setOption("theme",this.options.theme),this.subComponents.push(t)}removeSubComponent(t){(0,Fk.default)(this.subComponents,r=>r===t)}destroySubComponents(){(0,os.default)(this.subComponents,t=>t.destroy()),this.subComponents=[]}initOptions(t,r={}){(0,$k.default)(t,r),(0,Bk.default)(this.options,t)}find(t){return this.$container.find(this.c(t))}setTheme(t){let{c:r,$container:o}=this;this.theme&&o.rmClass(r(`theme-${this.theme}`)),o.addClass(r(`theme-${t}`)),this.theme=t}};var pM=y(Jk()),uM=y(nt());var Kk=navigator.userAgent,vN=Kk.indexOf("Android")>-1||Kk.indexOf("Adr")>-1,wN=0,Gr=class extends ns{constructor(t,r={}){super(t,{compName:"console"},r),this.spaceHeight=0,this.topSpaceHeight=0,this.bottomSpaceHeight=0,this.lastScrollTop=0,this.lastTimestamp=0,this.speedToleranceFactor=100,this.maxSpeedTolerance=2e3,this.minSpeedTolerance=100,this.logs=[],this.displayLogs=[],this.timer={},this.counter={},this.asyncList=[],this.asyncTimer=null,this.isAtBottom=!0,this.groupStack=new Bu.default,this.selectedLog=null,this.onScroll=()=>{let{scrollHeight:o,offsetHeight:n,scrollTop:s}=this.container;if(s<=0||n+s>o)return;let i=!1;(o===n||Math.abs(o-n-s)<1)&&(i=!0),this.isAtBottom=i;let a=this.lastScrollTop,l=this.lastTimestamp,d=(0,Zk.default)(),c=d-l,m=s-a,v=Math.abs(m/c)*this.speedToleranceFactor;c>1e3&&(v=1e3),v>this.maxSpeedTolerance&&(v=this.maxSpeedTolerance),v<this.minSpeedTolerance&&(v=this.minSpeedTolerance),this.lastScrollTop=s,this.lastTimestamp=d;let p=0,f=0;a<s?(p=this.minSpeedTolerance,f=v):(p=v,f=this.minSpeedTolerance),!(this.topSpaceHeight<s-p&&this.topSpaceHeight+this.el.offsetHeight>s+n+f)&&this.renderViewport({topTolerance:p*2,bottomTolerance:f*2})},this.initTpl(),this.initOptions(r,{maxNum:0,asyncRender:!0,showHeader:!1,filter:"",level:["verbose","info","warning","error"],accessGetter:!1,unenumerable:!0,lazyEvaluation:!0}),this.$el=this.find(".logs"),this.el=this.$el.get(0),this.$fakeEl=this.find(".fake-logs"),this.fakeEl=this.$fakeEl.get(0),this.$space=this.find(".logs-space"),this.space=this.$space.get(0),vN&&(this.speedToleranceFactor=800,this.maxSpeedTolerance=3e3,this.minSpeedTolerance=800),this.resizeSensor=new cM.default(t),this.renderViewport=(0,nM.default)(o=>{this._renderViewport(o)},16),this.global={copy(o){(0,Ea.default)(o)||(o=JSON.stringify(o,null,2)),(0,tM.default)(o)},$(o){return document.querySelector(o)},$$(o){return(0,Fu.default)(document.querySelectorAll(o))},$x(o){return(0,sM.default)(o)},clear:()=>{this.clear()},dir:o=>{this.dir(o)},table:(o,n)=>{this.table(o,n)},keys:rM.default},this.bindEvent()}setGlobal(t,r){this.global[t]=r}destroy(){this.$container.off("scroll",this.onScroll),this.resizeSensor.destroy(),super.destroy()}count(t="default"){let{counter:r}=this;(0,Ru.default)(r[t])?r[t]=1:r[t]++,this.info(`${t}: ${r[t]}`)}countReset(t="default"){this.counter[t]=0}assert(...t){if((0,yr.default)(t))return;t.shift()||(t.length===0&&t.unshift("console.assert"),t.unshift("Assertion failed: "),this.insert("error",t))}log(...t){(0,yr.default)(t)||this.insert("log",t)}debug(...t){(0,yr.default)(t)||this.insert("debug",t)}dir(t){(0,Ru.default)(t)||this.insert("dir",[t])}table(...t){(0,yr.default)(t)||this.insert("table",t)}time(t="default"){if(this.timer[t])return this.insert("warn",[`Timer '${t}' already exists`]);this.timer[t]=(0,_u.default)()}timeLog(t="default"){let r=this.timer[t];if(!r)return this.insert("warn",[`Timer '${t}' does not exist`]);this.info(`${t}: ${(0,_u.default)()-r}ms`)}timeEnd(t="default"){this.timeLog(t),delete this.timer[t]}clear(t=!1){this.logs=[],this.displayLogs=[],this.selectLog(null),this.lastLog=void 0,this.counter={},this.timer={},this.groupStack=new Bu.default,this.asyncList=[],this.asyncTimer&&(clearTimeout(this.asyncTimer),this.asyncTimer=null),t?this.render():this.insert("log",["%cConsole was cleared","color:#808080;font-style:italic;"])}info(...t){(0,yr.default)(t)||this.insert("info",t)}error(...t){(0,yr.default)(t)||this.insert("error",t)}warn(...t){(0,yr.default)(t)||this.insert("warn",t)}group(...t){this.insert({type:"group",args:t,ignoreFilter:!0})}groupCollapsed(...t){this.insert({type:"groupCollapsed",args:t,ignoreFilter:!0})}groupEnd(){this.insert("groupEnd")}evaluate(t){this.insert({type:"input",args:[t],ignoreFilter:!0});try{this.output(this.evalJs(t))}catch(r){this.insert({type:"error",ignoreFilter:!0,args:[r]})}}html(...t){this.insert("html",t)}toggleGroup(t){let{targetGroup:r}=t;r.collapsed?this.openGroup(t):this.collapseGroup(t)}output(t){this.insert({type:"output",args:[t],ignoreFilter:!0})}render(){let{logs:t,selectedLog:r}=this;this.$el.html(""),this.isAtBottom=!0,this.updateBottomSpace(0),this.updateTopSpace(0),this.displayLogs=[];for(let o=0,n=t.length;o<n;o++)this.attachLog(t[o]);r&&((0,is.default)(this.displayLogs,r)||this.selectLog(null))}insert(t,r){let{showHeader:o,asyncRender:n}=this.options,s;if(o&&(s={time:bN(),from:SN()}),n)return this.insertAsync(t,r,s);this.insertSync(t,r,s)}insertAsync(t,r,o){this.asyncList.push([t,r,o]),this.handleAsyncList()}insertSync(t,r,o){let{logs:n,groupStack:s}=this,{maxNum:i,accessGetter:a,unenumerable:l,lazyEvaluation:d}=this.options,c;if((0,Ea.default)(t)?c={type:t,args:r,header:o}:c=t,c.type==="groupEnd"){this.lastLog.groupEnd(),this.groupStack.pop();return}if(s.size>0&&(c.group=s.peek()),(0,Yk.default)(c,{id:++wN,accessGetter:a,unenumerable:l,lazyEvaluation:d}),c.type==="group"||c.type==="groupCollapsed"){let v={id:(0,Qk.default)("group"),collapsed:!1,parent:s.peek(),indentLevel:s.size+1};c.type==="groupCollapsed"&&(v.collapsed=!0),c.targetGroup=v,s.push(v)}let m=new ts(this,c);m.on("updateHeight",()=>{this.isAtBottom=!1,this.renderViewport()});let h=this.lastLog;if(h&&!(0,is.default)(["html","group","groupCollapsed"],m.type)&&h.type===m.type&&m.isSimple()&&h.text()===m.text()?(h.addCount(),m.header&&h.updateTime(m.header.time),m=h,this.detachLog(h)):(n.push(m),this.lastLog=m),i!==0&&n.length>i){let v=n[0];this.detachLog(v),n.shift()}this.attachLog(m),this.emit("insert",m)}updateTopSpace(t){this.topSpaceHeight=t,this.el.style.top=t+"px"}updateBottomSpace(t){this.bottomSpaceHeight=t}updateSpace(t){this.spaceHeight!==t&&(this.spaceHeight=t,this.space.style.height=t+"px")}detachLog(t){let{displayLogs:r}=this,o=r.indexOf(t);o>-1&&(r.splice(o,1),this.renderViewport())}attachLog(t){if(!this.filterLog(t)||t.collapsed)return;let{displayLogs:r}=this;if(r.length===0){r.push(t),this.renderViewport();return}let o=(0,oM.default)(r);if(t.id>o.id){r.push(t),this.renderViewport();return}let n=0,s=r.length-1,i,a=0;for(;n<=s;){if(a=n+Math.floor((s-n)/2),i=r[a],i.id===t.id)return;i.id<t.id?n=a+1:s=a-1}i.id<t.id?r.splice(a+1,0,t):r.splice(a,0,t),this.renderViewport()}handleAsyncList(t=20){let r=this.asyncList;this.asyncTimer||(this.asyncTimer=setTimeout(()=>{this.asyncTimer=null;let o=!1,n=r.length,s,i;n<1e3?(i=200,s=400):n<5e3?(i=500,s=800):n<1e4?(i=800,s=1e3):n<25e3?(i=1e3,s=1200):n<5e4?(i=1500,s=1500):(i=2e3,s=2500),i>n&&(i=n,o=!0);for(let a=0;a<i;a++){let[l,d,c]=r.shift();this.insertSync(l,d,c)}o||(0,pM.default)(()=>this.handleAsyncList(s))},t))}injectGlobal(){(0,$u.default)(this.global,(t,r)=>{window[r]||(window[r]=t)})}clearGlobal(){(0,$u.default)(this.global,(t,r)=>{window[r]&&window[r]===t&&delete window[r]})}evalJs(t){let r;this.injectGlobal();try{r=eval.call(window,`(${t})`)}catch{r=eval.call(window,t)}return this.setGlobal("$_",r),this.clearGlobal(),r}filterLog(t){let{level:r}=this.options,{filter:o}=this.options;if(t.ignoreFilter)return!0;if(!(0,is.default)(r,t.level))return!1;if(o){if((0,eM.default)(o))return o(t);if((0,Xk.default)(o))return o.test((0,La.default)(t.text()));if((0,Ea.default)(o)&&(o=(0,uM.default)(o),o))return(0,is.default)((0,La.default)(t.text()),(0,La.default)(o))}return!0}collapseGroup(t){let{targetGroup:r}=t;r.collapsed=!0,t.updateIcon("caret-right"),this.updateGroup(t)}openGroup(t){let{targetGroup:r}=t;r.collapsed=!1,t.updateIcon("caret-down"),this.updateGroup(t)}updateGroup(t){let{targetGroup:r}=t,{logs:o}=this,n=o.length,s=o.indexOf(t)+1;for(;s<n;){let i=o[s];if(!i.checkGroup()&&i.group===r)break;i.collapsed?this.detachLog(i):this.attachLog(i),s++}}selectLog(t){this.selectedLog&&(this.selectedLog.deselect(),this.selectedLog=null),(0,dM.default)(t)?this.emit("deselect"):(this.selectedLog=t,this.selectedLog?.select(),this.emit("select",t))}bindEvent(){let{$el:t,c:r}=this;this.resizeSensor.addListener(this.renderViewport);let o=this;t.on("click",r(".log-container"),function(){o.selectLog(this.log)}),this.on("changeOption",(n,s)=>{let{logs:i}=this;switch(n){case"maxNum":s>0&&i.length>s&&(this.logs=i.slice(i.length-s),this.render());break;case"filter":this.render();break;case"level":this.options.level=(0,Fu.default)(s),this.render();break}}),this.$container.on("scroll",this.onScroll)}_renderViewport({topTolerance:t=500,bottomTolerance:r=500}={}){let{el:o,container:n,space:s}=this;if((0,aM.default)(n))return;let{scrollTop:i,offsetHeight:a}=n,l=s.getBoundingClientRect().width,d=i-t,c=i+a+r,{displayLogs:m}=this,h=0,v=0,p=0,f=m.length,{fakeEl:g}=this,w=document.createDocumentFragment(),S=[];for(let E=0;E<f;E++){let k=m[E],{width:L,height:P}=k;(P===0||L!==l)&&(w.appendChild(k.container),S.push(k))}if(S.length>0){g.appendChild(w);for(let E=0,k=S.length;E<k;E++)S[E].updateSize();g.textContent=""}let u=document.createDocumentFragment();for(let E=0;E<f;E++){let k=m[E],{container:L,height:P}=k;p>c?v+=P:p+P>d?u.appendChild(L):p<d&&(h+=P),p+=P}for(this.updateSpace(p),this.updateTopSpace(h),this.updateBottomSpace(v);o.firstChild;)o.lastChild&&o.removeChild(o.lastChild);o.appendChild(u);let{scrollHeight:b}=n;this.isAtBottom&&i<=b-a&&(n.scrollTop=1e7)}initTpl(){this.$container.html(this.c(lM.default`
|
|
<div class="logs-space">
|
|
<div class="fake-logs"></div>
|
|
<div class="logs"></div>
|
|
</div>
|
|
`))}},bN=()=>(0,iM.default)("HH:MM:ss ");function SN(){let e=new Error,t="",r=e.stack?e.stack.split(`
|
|
`):"";for(let o=0,n=r.length;o<n;o++)if(t=r[o],t.indexOf("winConsole")>-1&&o<n-1){t=r[o+1];break}return t}typeof module<"u"&&Ex(module,Gr);var mM=(e,t,r,o,n,s)=>{let i,a,l,d="#result > iframe",c,m=[],h=-1,v=()=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur()},p=L=>{let P=L.substr(1,4);if(["html","head"].includes(P))return L;if(P==="body"){let z=document.createElement(P);return z.innerHTML=L,z}let D=document.createElement("template");return L=L.trim(),D.innerHTML=L,D.content.firstChild},f=L=>L.map(P=>P.type==="element"?p(P.content):P.content),g=()=>i?(i.destroy(),i=new Gr(l),i):(i=new Gr(l,{theme:e.theme}),o.addEventListener(window,"message",L=>{if(!l||L.origin!==lt.getOrigin()||L.data.type!=="console")return;let P=L.data;["output","log","error","info","warn","dir","time","timeLog","timeEnd","clear","count","countReset","assert","table","group","groupCollapsed","groupEnd"].includes(P.method)&&(P.method==="clear"?i.clear():i[P.method](...f(P.args)),E())}),i),w=async(L=!1)=>{if(a&&!L)return a;let P=document.querySelector("#console-input");if(!P)throw new Error("Console input container not found");let D={baseUrl:t,container:P,language:"javascript",value:"",readonly:!1,mode:e.mode,editorId:"console",isEmbed:n,isLite:!1,isHeadless:!1,mapLanguage:Ke,getLanguageExtension:Le,getFormatterConfig:()=>({}),getFontFamily:xt,..._e(e)},z=await Ze(D);z.addKeyBinding("exec",z.keyCodes.Enter,()=>{let te=z.getValue(),re=document.querySelector(d);i.insert({type:"input",args:[te],ignoreFilter:!0}),re.contentWindow?.postMessage({console:te},"*"),m.push(te),z.setValue("",!1),h=-1,E()}),z.addKeyBinding("prev",z.keyCodes.UpArrow,()=>{let te=h===-1?m.length:h;h=te===0?0:te-1,z.setValue(m[h])}),z.addKeyBinding("next",z.keyCodes.DownArrow,()=>{let te=h===-1?m.length-1:h;h=te===m.length-1?-1:te+1,z.setValue(m[h]||"")});let ae=30;if(P.style.minHeight=ae+"px",z.onContentChanged(()=>{if(!z.monaco)return;let te=z.monaco.getContentHeight()<ae?ae:z.monaco.getContentHeight()*2;P.style.height=te+"px"}),a)return z;Tm(P);let ee=z.monaco?".glyph-margin":".cm-gutters",le=document.querySelector("#console-input "+ee);if(le){let te=document.createElement("div");te.id="console-input-indicator",te.innerHTML='<svg fill="currentColor" preserveAspectRatio="xMidYMid meet" height="1em" width="1em" viewBox="0 0 40 40" style="vertical-align: top;"><g><path d="m16.6 10l10 10-10 10-2.3-2.3 7.7-7.7-7.7-7.7z"></path></g></svg>',le.appendChild(te)}return z},S=()=>{if(l)return;let L=co(),P=document.createElement("div");P.id="console-container",L.appendChild(P),l=document.createElement("div"),l.id="console",P.appendChild(l);let D=document.createElement("div");D.id="console-input",P.appendChild(D);let z=As();if(z){c=document.createElement("button"),c.classList.add("console-clear-button"),c.title=window.deps.translateString("toolspane.console.clear","Clear console");let ae='<i class="icon-delete"></i>';c.innerHTML=ae,c.style.display="none",o.addEventListener(c,"click",()=>{i.clear(),E()},!1),o.addEventListener(c,"touchstart",()=>{i.clear(),E()},!1),z.prepend(c)}},u=async()=>{S(),i=g(),!(e.readonly||e.mode==="codeblock"||e.mode==="editor")&&(a=await w())},b=async L=>{if(e=L,!a){await u();return}a?.destroy(),a=await w(!0)},E=()=>{let L=po()?.querySelector(".console");if(L){if(!L.querySelector("#console-mark")){let P=document.createElement("span");P.id="console-mark",P.classList.add("mark"),L.appendChild(P)}setTimeout(()=>{let P=[...document.querySelectorAll(".luna-console-log-content")].filter(D=>D.innerText!=="Console was cleared").length;L.classList.toggle("has-mark",P>0)},50)}},k=L=>{L(),E()};return{name:"console",title:window.deps.translateString("toolspane.console.title","Console"),load:u,onActivate:()=>{!ar()&&!n&&a?.focus(),c&&(c.style.display="unset")},onDeactivate:()=>{v(),c&&(c.style.display="none")},getEditor:()=>a,reloadEditor:b,setTheme:L=>k(()=>i?.setOption("theme",L)),log:(...L)=>k(()=>i?.log(...L)),info:(...L)=>k(()=>i?.info(...L)),table:(...L)=>k(()=>i?.table(...L)),warn:(...L)=>k(()=>i?.warn(...L)),error:(...L)=>k(()=>i?.error(...L)),clear:L=>k(()=>i?.clear(L)),evaluate:L=>k(()=>i?.evaluate(L))}};var fM='<i class="icon-run"></i>',gM='<i class="icon-checked checked"></i>',hM='<i class="icon-unchecked unchecked"></i>',yM='<i class="icon-reset"></i>',vM='<i class="icon-edit"></i>';var wM=(e,t,r,o,n,s)=>{let i,a=window.deps.translateString("toolspane.test.loading",'<div class="test-summary">Loading tests...</div>',{isHTML:!0}),l=()=>{if(i)return;let h=co(),v=document.createElement("div");v.id="test-container",h.appendChild(v);let p=document.createElement("div");p.id="test-actions",p.classList.add("buttons"),p.innerHTML=`
|
|
<a id="run-tests-btn" href="#" class="button" title="${window.deps.translateString("toolspane.test.run.desc","Ctrl/\u2318 + Alt + T")}">
|
|
${fM} ${window.deps.translateString("toolspane.test.run.heading","Run")}
|
|
</a>
|
|
<a id="watch-tests-btn" href="#" class="button disabled" title="${window.deps.translateString("toolspane.test.watch.desc","Run tests when code changes")}">
|
|
${gM} ${hM} ${window.deps.translateString("toolspane.test.watch.heading","Watch")}
|
|
</a>
|
|
<a id="reset-tests-btn" href="#" class="button">${yM} ${window.deps.translateString("toolspane.test.reset","Reset")}</a>
|
|
${n?"":'<a id="edit-tests-btn" href="#" class="button">'+vM+` ${window.deps.translateString("toolspane.test.edit","Edit")}</a>`}
|
|
`,v.appendChild(p),i=document.createElement("div"),i.id="test-results",i.classList.add("luna-console"),i.innerHTML=a,v.appendChild(i),o.addEventListener(document.querySelector("#reset-tests-btn"),"click",f=>{f.preventDefault(),d()})},d=()=>{i.querySelectorAll(".test-result").forEach(v=>{v.querySelectorAll(".test-error").forEach(p=>p.remove()),v.classList.contains("pass")&&v.classList.remove("pass"),v.classList.contains("fail")&&v.classList.remove("fail"),v.classList.contains("skip")&&v.classList.remove("skip")});let h=i.querySelector(".test-summary");h&&(h.innerText="")},c=()=>{i&&(i.innerHTML=a)},m=({results:h,error:v})=>{if(i||l(),i.innerHTML="",v){i.innerHTML=window.deps.translateString("toolspane.test.error",'<div class="no-tests"><span class="fail">Test error!</span></div>',{isHTML:!0});return}if(h.length===0){i.innerHTML=window.deps.translateString("toolspane.test.noTest",'<div class="no-tests">This project has no tests!</div>',{isHTML:!0});return}h.forEach(b=>{let E=document.createElement("div");E.innerText=b.testPath.filter(k=>k!=="ROOT_DESCRIBE_BLOCK").join(" \u203A "),E.classList.add("test-result",b.status),b.errors.map(k=>k.split("at Object.<anonymous>")[0]?.trim()).map(k=>k.split(`at ${lt.getResultUrl()}`)[0]?.trim()).map(k=>k.startsWith("AssertionError: ")?k.replace("AssertionError: ",""):k).forEach(k=>{let L=document.createElement("pre");L.classList.add("test-error"),L.innerText=k,E.appendChild(L)}),i.appendChild(E)});let p=h.filter(b=>b.status==="pass").length,f=h.filter(b=>b.status==="fail").length,g=h.filter(b=>b.status==="skip").length,w=h.length,S=h.reduce((b,E)=>b+E.duration,0)/1e3,u=document.createElement("div");u.classList.add("test-summary"),u.innerHTML=window.deps.translateString("toolspane.test.summary.desc",`Tests: {{failed}}
|
|
{{passed}}
|
|
{{skipped}}
|
|
{{total}}<br />
|
|
Time: {{duration}}s`,{isHTML:!0,failed:f!==0?`<span class="fail">${window.deps.translateString("toolspane.test.summary.failed","{{failedNum}} failed",{failedNum:f})}</span>,`:"",passed:p!==0?`<span class="pass"> ${window.deps.translateString("toolspane.test.summary.passed","{{passedNum}} passed",{passedNum:p})}</span>,`:"",skipped:g!==0?`<span class="skip"> ${window.deps.translateString("toolspane.test.summary.skipped","{{skippedNum}} skipped",{skippedNum:g})}</span>,`:"",total:window.deps.translateString("toolspane.test.summary.total","{{totalNum}} total",{totalNum:w}),duration:S}),i.prepend(u)};return{name:"tests",title:window.deps.translateString("toolspane.test.title","Tests"),load:async()=>{l()},onActivate:()=>{s()},onDeactivate:()=>{},showResults:m,resetTests:d,clearTests:c}};var bM=(e,t,r,o,n,s,i)=>{let a,l,d=0,c=[{name:"console",factory:mM},{name:"compiled",factory:xb},{name:"tests",factory:wM}],m=R=>e.tools.enabled==="all"||e.tools.enabled?.includes(R.name)===!0,h=c.filter(m),p=((R,K,I,j,V,he)=>h.map(Ne=>Ne.factory(R,K,I,j,V,he)))(e,t,r,o,n,s),f=[...p],g=pr(),w=()=>{let R=bm(getComputedStyle(document.body).getPropertyValue("--toolspane-bar-height")).replace("px","");return Number(R)||32},S=w(),u={closed:[100,0],open:[60,40],full:[0,100],none:[100,0],"":[100,0]},b=R=>{R?g.style.transition="height 0.5s":g.style.transition="none"},E=R=>{R?(a.setSizes(u.none),g.style.minHeight="100%"):g.style.minHeight="unset"},k=()=>{i({enabled:f.length===p.length?"all":f.map(R=>R.name),active:f[d]?.name,status:l})},L=R=>{d=R,document.querySelectorAll("#tools-pane-bar .tools-pane-title").forEach((K,I)=>{R===I?K.classList.add("active"):K.classList.remove("active")}),document.querySelectorAll("#tools-pane > div").forEach((K,I)=>{R===I?K.classList.add("active"):K.classList.remove("active")}),f.forEach((K,I)=>{R===I?K.onActivate():K.onDeactivate()}),k()},P=()=>{let R=document.querySelector("#tools-pane-bar #tools-pane-buttons");a.getSizes()[0]>90?R.style.visibility="hidden":R.style.visibility==="hidden"&&(R.style.visibility="visible",f[d]?.onActivate()),l=l==="none"?"none":a.getSizes()[0]>90?"closed":a.getSizes()[0]<10?"full":"open",k()},D=(R,K=!1)=>{K?(a.setSizes(u.full),l="full"):(a.setSizes(u.open),l="open"),P(),L(R)},z=()=>{a.setSizes(u.closed),l="closed",P(),f.forEach(R=>R.onDeactivate())},ae=()=>{if(a)return a;a=oi(["#result","#tools-pane"],{sizes:u.closed,minSize:[0,0],gutterSize:S,direction:"vertical",elementStyle:(Ne,ne,pe)=>({height:ne<15?"0":ne>85?`calc(100% - ${S}px)`:`calc(${ne}% - ${S}px / 2)`}),gutterStyle:(Ne,ne)=>({height:`${S}px`}),onDragStart(){b(!1)},onDragEnd(){b(!0)},onDrag(){P()}});let R=document.querySelector("#output .gutter");R.id="tools-pane-bar";let K=document.createElement("div");K.id="tools-pane-titles",R.appendChild(K),f.forEach((Ne,ne)=>{let pe=document.createElement("a");pe.href="#",pe.dataset.id=String(ne),pe.classList.add("tools-pane-title",Ne.name),pe.innerHTML=Ne.title,Ne.name==="console"&&(pe.title="(Ctrl/\u2318 + Alt + C)"),K.appendChild(pe);let N;o.addEventListener(pe,"click",U=>{U.preventDefault(),(U.detail===0||U.detail===1)&&(N=setTimeout(()=>{a.getSizes()[0]>90?D(ne):pe.classList.contains("active")?z():L(ne)},300))},!1),o.addEventListener(pe,"dblclick",U=>{U.preventDefault(),clearTimeout(N),a.getSizes()[0]<10?z():D(ne,!0)},!1),o.addEventListener(pe,"touchstart",U=>{U.preventDefault(),a.getSizes()[0]>90?D(ne):pe.classList.contains("active")?z():L(ne)},{capture:!1,passive:!0})}),o.addEventListener(window,"resize",()=>{let Ne=document.querySelector("#tools-pane");Ne&&(a.getSizes()[0]<10?(g.style.height="0",Ne.style.height=`calc(100% - ${S}px)`):a.getSizes()[0]>90&&(g.style.height=`calc(100% - ${S}px)`,Ne.style.height="0"),P())},!1);let I=document.createElement("div");I.id="tools-pane-loading",I.style.display="none",R.appendChild(I);let j=document.createElement("div");j.id="tools-pane-buttons",j.classList.add("tool-buttons"),R.appendChild(j);let V=document.createElement("button");V.classList.add("console-close-button"),V.title=window.deps.translateString("toolspane.close","Close");let he='<i class="icon-close"></i>';return V.innerHTML=he,o.addEventListener(V,"click",()=>{z()},!1),o.addEventListener(V,"touchstart",()=>{z()},!1),j.appendChild(V),a},ee=R=>{E(R==="none"),R==="closed"?z():R==="full"?D(d,!0):R==="open"&&D(d),l=R,P()},le=async()=>{let R=l===void 0;d=re(e.tools.active||""),l=e.tools.status||"closed",R&&(a=ae(),a.setSizes(u[l]),P(),l==="none"&&(ol().style.pointerEvents="none"),f.forEach(async K=>{await K.load()})),L(d)};(()=>{new MutationObserver(()=>{let K=w();K!==S&&(S=K,ol().style.height=`${S}px`,a.setSizes(u[l||"closed"]))}).observe(document.documentElement,{attributes:!0,attributeFilter:["style"]})})();let re=R=>{let K=f.findIndex(I=>I?.name===R);return K>-1?K:0},Xe={load:le,open:()=>ee("open"),close:()=>ee("closed"),maximize:()=>ee("full"),hide:()=>ee("none"),getStatus:()=>l??"",getActiveTool:()=>f[d]?.name,setActiveTool:R=>L(re(R)),disableTool:R=>{let K=f.findIndex(j=>j?.name===R);if(K===-1)return;delete f[K],d===K&&L(f.findIndex(j=>j)),R in Xe&&delete Xe[R];let I=document.querySelector("#tools-pane-titles ."+R);I&&(I.classList.remove("active"),I.style.display="none"),f.filter(j=>j).length===0&&ee("none"),k()},enableTool:R=>{let K=p.findIndex(j=>j.name===R);if(K===-1||f.find(j=>j?.name===R))return;f.filter(j=>j).length===0&&(ee("closed"),L(K)),Xe[R]=p[K],f[K]=p[K];let I=document.querySelector(".tools-pane-title."+R);I&&(I.style.display="flex"),k()},...h.reduce((R,K,I)=>({...R,[K.name]:f[I]}),{})};return Xe};var SM=()=>({});var xM=e=>{let t={},r=[],o=async(a,l)=>{let d="",c=Object.keys(a)[0],m=Object.values(a)[0],h=typeof m=="string"?m:m.url;if(t[c])return{filename:"",content:""};if(h)try{let f=await fetch(h);if(!f.ok)throw new Error("Failed fetching: "+h);let g=await f.text();_y(g)&&(g=await(await import(e+"bundle-types.ffb4b901528ac9b08a82f63086baa069.js")).bundle({name:c,main:h}));let w=typeof m!="string"&&m.declareAsModule===!1?!1:!g.includes("declare module")||typeof m!="string"&&m.declareAsModule===!0,S=typeof m!="string"&&m.declareAsGlobal===!0;d=w&&!S?`declare module '${c}' {${g}}`:g}catch{d=`declare module '${c}': any`}let v=Object.keys(t).filter(f=>t[f]!=="").reduce((f,g)=>({...f,[g]:t[g]}),{});if(d.trim()==="")return t=v,{filename:"",content:""};t={...v,...a};let p={filename:`/node_modules/${c}/index.d.ts`,content:d};return typeof l=="function"&&l(p),r.push(p),p},n=async(a,l)=>{if(!a?.trim())return[];let d=await window.compiler?.typescriptFeatures?.({feature:"ata",payload:a})??[];return r.push(...d),typeof l=="function"&&d.forEach(c=>{l(c)}),d},s=async(a,l)=>{let d=ro(a,m=>m!==""),c=ro(a,m=>m==="");return[...await Promise.all(Object.keys(d).map(m=>o({[m]:d[m]},l))),...await n(av.getTypesAsImports(Object.keys(c)),l)]};return{load:async(a,l,d=!1,c=!1,m)=>{let v=Nt(a).reduce((S,u)=>{let b,E=Object.keys(t).find(L=>u===L)||Object.keys(t).find(L=>u.startsWith(L+"/"))&&!Object.keys(l).find(L=>u===L),k=Object.keys(l).find(L=>u===L)||Object.keys(l).find(L=>u.startsWith(L+"/"));return E&&!c?b={}:k?b={[k]:l[k]}:b={[u]:""},{...S,...b}},{}),p=Object.keys(v).filter(S=>v[S]==="");t={...t,...p.reduce((S,u)=>({...S,[u]:""}),{})};let f=p.reduce((S,u)=>({...S,[u]:""}),{}),g=ro(l,(S,u)=>(!Object.keys(t).includes(u)||c)&&typeof S!="string"&&S.autoload===!0),w=await s({...v,...f,...g},m);return d?r:w}}};var J=Qy(),C=uy(),Y,_,Ge,ve=null,ja,Vu=[],fe=Fl(),vr={x:0,y:0},_o=["markup","style","script"],O,B,mt,zt,it,sr,W,Jr,G,qe,ir,EM=[],He,ls=!0,Bo=!1,zu,Ta,Zu=!1,Ca=!1,We={isBroadcasting:!1,channel:"",channelUrl:"",channelToken:"",broadcastSource:!1},Ft=null,nr={load:bt(),ready:bt(),code:bt(),tests:bt(),console:bt(),destroy:bt()},Yu=(e="markup")=>ir?.[e],as=()=>Object.values(ir||{}),Ve=()=>W[x().activeEditor||"markup"],EN=async e=>us(e.activeEditor),LN=()=>zt?Promise.resolve():Promise.all([wg,...mt?[]:[ig,ng,sg,og]].map(e=>Wt(e,void 0,"#app-styles"))),TM=(e,t="",r=lt)=>new Promise((o,n)=>{if(!e){n(window.deps.translateString("core.error.noResultContainer","Result container not found"));return}let s=ur();s||(s=document.createElement("iframe"),s.name="result",s.id="result-frame",zt?s.setAttribute("sandbox","allow-same-origin allow-forms allow-scripts"):(s.setAttribute("allow","accelerometer; camera; encrypted-media; display-capture; geolocation; gyroscope; microphone; midi; clipboard-read; clipboard-write; web-share"),s.setAttribute("allowtransparency","true"),s.setAttribute("allowpaymentrequest","true"),s.setAttribute("allowfullscreen","true"),s.setAttribute("sandbox","allow-same-origin allow-downloads allow-forms allow-modals allow-orientation-lock allow-pointer-lock allow-popups allow-presentation allow-scripts"))),s.tabIndex=1;let i=Yu("script")||"javascript",a=ni(ye,x(),O),l=`
|
|
${x().markup.hiddenContent||""}
|
|
${x().markup.content}
|
|
${x().style.hiddenContent||""}
|
|
${x().style.content}
|
|
${x().script.hiddenContent||""}
|
|
${x().script.content}
|
|
`,d=s.parentElement===e,c=d&&oe().styleOnlyUpdate,m=d&&a[i]?.liveReload&&EM.includes(i)&&!l.includes("__livecodes_reload__");if(c){let p=new DOMParser().parseFromString(t,"text/html").querySelector("#__livecodes_styles__");if(p){let f=p.innerHTML;s.contentWindow?.postMessage({styles:f},r.getOrigin())}else s.contentWindow?.postMessage({result:t},r.getOrigin());o("loaded")}else if(m)s.contentWindow?.postMessage({result:t},r.getOrigin()),o("loaded");else{let h=!1;C.addEventListener(s,"load",function S(){if(C.removeEventListener(s,"load",S),!t||h){o("loaded");return}s.contentWindow?.postMessage({result:t},r.getOrigin()),h=!0,o("loaded")}),s.remove();let{markup:v,style:p,script:f}=x(),g=`?markup=${v.language}&style=${p.language}&script=${f.language}&isEmbed=${B}&isLoggedIn=${!!qe?.isLoggedIn()}&appCDN=${Vt()}`,w=fe.scrollPosition===!1||vr.x===0&&vr.y===0?"":`#livecodes-scroll-position:${vr.x},${vr.y}`;s.src=r.getResultUrl()+g+w,e.appendChild(s)}EM=as()}),ps=async(e,t,r=!1,o=!1)=>{if(typeof e?.script?.addTypes!="function")return;let n=t.script.language;if(["typescript","javascript"].includes(Ke(n))||o){it.isFake&&await IM({...t,mode:"full"});let s={...Ue(t.markup.language)?.types,...Ue(t.script.language)?.types,...SM(),...t.types,...t.customSettings.types},i=lb.includes(n)?`import React from 'react';
|
|
`:"";(await ja.load(i+x().script.content+`
|
|
`+x().markup.content,s,r,o)).forEach(l=>e.script.addTypes?.(l,o))}},TN=(e,t)=>{document.querySelectorAll(`.dropdown-menu-${e} .language-item a`).forEach(o=>{o.dataset.lang===t?o.parentElement?.classList.add("active"):o.parentElement?.classList.remove("active")})},ka=(e,t)=>{let r=document.querySelector(`#${e}-selector span`),o=document.querySelector(`#${e}-selector`),n=X(t);if(!r||!n)return;let s=x();if(s[e].hideTitle){o.style.display="none";return}o.style.display="",o.style.order=String(s[e].order??0),TN(e,n);let i=` (Ctrl/\u2318 + Alt + ${_o.indexOf(e)+1})`,a=s[e].title;if(a){r.textContent=a,B||(r.title=`${xs(e)}: ${a}${i}`);return}let l=ye.find(d=>d.name===n);r.textContent=l?.title??"",B||(r.title=`${xs(e)}: ${l?.longTitle??l?.title??""}${i}`)},CN=()=>{let e='<span><i class="icon-copy" alt="copy"></i></span>';_o.forEach(t=>{let r=document.createElement("div");r.innerHTML=e,r.classList.add("copy-button","tool-buttons"),r.title=window.deps.translateString("core.copy.title","Copy"),document.getElementById(t)?.appendChild(r),C.addEventListener(r,"click",()=>{Ss(W?.[t]?.getValue())&&(r.innerHTML=`<span><img src="${O}assets/images/tick.svg" alt="copied"></span>`,r.classList.add("visible"),r.title=window.deps.translateString("core.copy.hint","Copied!"),setTimeout(()=>{r.innerHTML=e,r.classList.remove("visible"),r.title=window.deps.translateString("core.copy.title","Copy")},2e3))})})},Qu=async e=>{let t=!1;W&&(t=!0,Object.values(W).forEach(c=>c.destroy()),IN());let r=()=>e.activeEditor||e.languages?.length&&ce(e.languages[0])||(e.markup.content?"markup":e.style.content?"style":e.script.content?"script":"markup"),o={baseUrl:O,mode:e.mode,readonly:e.readonly,..._e(e),activeEditor:r(),isEmbed:B,isLite:mt,isHeadless:zt,mapLanguage:Ke,getLanguageExtension:Le,getFormatterConfig:()=>Dt(x()),getFontFamily:xt},n={...o,container:$g(),editorId:"markup",language:Re(e.markup.language,e)?e.markup.language:e.languages?.find(c=>ce(c)==="markup")||"html",value:Re(e.markup.language,e)&&e.markup.content||""},s={...o,container:Fg(),editorId:"style",language:Re(e.style.language,e)?e.style.language:e.languages?.find(c=>ce(c)==="style")||"css",value:Re(e.style.language,e)&&e.style.content||""},i={...o,container:zg(),editorId:"script",language:Re(e.script.language,e)?e.script.language:e.languages?.find(c=>ce(c)==="script")||"javascript",value:Re(e.script.language,e)&&e.script.content||""},a=await Ze(n),l=await Ze(s),d=await Ze(i);ka("markup",n.language),ka("style",s.language),ka("script",i.language),ir={markup:n.language,style:s.language,script:i.language},W={markup:a,style:l,script:d},Object.keys(W).forEach(c=>{let m=ir?.[c]||"html";MM(m),sr.getFormatFn(m).then(h=>W[c].registerFormatter(h)),jN(c,W)}),e.mode==="codeblock"&&CN(),t&&ps(W,e,!0)},Xu=async e=>{await Qu(e),await G?.console?.reloadEditor(e),await G?.compiled?.reloadEditor(e),Fo(),zM()},kN=async(e,t)=>{let r=Object.keys(e);for(let o of r){let n=X(t[o].language);n&&await rm(n,t[o].content,!0);let s=e[o];t.foldRegions&&await s.foldRegions?.();let i=t[o].foldedLines;i?.length&&await s.foldLines?.(i)}},MN=(e,t)=>{e||(e=x().mode),t||(t=x().view),e==="editor"||e==="codeblock"||e==="result"?(ve?.destroy(),ve=null):(t==="editor"&&ve?.show("code",!0),t==="result"&&ve?.show("output",!0));let o={full:"111",focus:"111",simple:"111",lite:"111",editor:"110",codeblock:"010",result:"001"}[e]||"111",n=Rg(),s=_g(),i=Bg(),a=Wg(),l=pr(),d=Xa(),c=ao(),m=kr(),h=ks(),v=o[0]==="1",p=o[1]==="1",f=o[2]==="1";n.style.display="",s.style.height="",i.style.display="",l.style.display="",a.style.display="",h.style.display="",c.style.visibility="",m.style.visibility="",d&&(d.style.display="block"),v||(n.style.display="none",s.style.height="100%"),p||(a.style.flexBasis="100%",i.style.display="none",ve?.destroy(!0),ve=null),f||(i.style.flexBasis="100%",a.style.display="none",l.style.display="none",ve?.destroy(!0),ve=null),e==="editor"&&(c.style.visibility="hidden",m.style.visibility="hidden"),e==="codeblock"&&(h.style.display="none"),e==="result"&&(["full","open"].includes(G?.getStatus()||"")||G?.hide()),document.body.classList.toggle("simple-mode",e==="simple"),document.body.classList.toggle("focus-mode",e==="focus"),document.body.classList.toggle("lite-mode",e==="lite"),document.body.classList.toggle("result",e==="result"),document.body.classList.toggle("no-result",e==="editor"||e==="codeblock"),(e==="full"||e==="simple")&&!ve&&(ve=wl()),e==="focus"&&G?.setActiveTool("console"),window.dispatchEvent(new Event(De.resizeEditor))},us=(e="markup",t=!1)=>{let r=x(),o=_o.every(d=>r[d].hideTitle);if(r[e].hideTitle&&!o)return;let n=rl();Array.from(n).map(d=>d.dataset.editor).includes(e)||(e=n[0].dataset.editor||"markup"),n.forEach(d=>d.classList.remove("active")),document.getElementById(e+"-selector")?.classList.add("active"),nh().forEach(d=>d.style.display="none");let l=document.getElementById(e);l.style.display="block",l.style.visibility="visible",!B&&!t&&W[e]?.focus(),t||se({...x(),activeEditor:e}),Fo(),(Zu||r.view!=="result")&&ve?.show("code"),em(Ve().getLanguage()),CM(e)},CM=e=>{document.querySelectorAll("#editor-status > span[data-status]").forEach(r=>{r.dataset.status===e?(r.style.position="unset",r.style.width="unset",r.style.overflow="unset"):(r.style.position="absolute",r.style.width="0",r.style.overflow="hidden")})},IN=()=>{let e=Xg();e&&(e.textContent=""),document.querySelectorAll("#editor-status > span[data-status]").forEach(r=>{r.innerHTML=""})},kM=()=>{zu&&zu.dispose(),ir?.script&&["javascript","typescript"].includes(Ke(ir.script))&&W.script&&typeof W.script.addTypes=="function"&&(zu=W.script.addTypes({content:x().script.content+`
|
|
{}`,filename:"script.js"}))},em=e=>{if(x().readonly||e==="blockly"||e==="richtext")return ks().classList.add("hidden"),!1;ks().classList.remove("hidden");let t=dn(e);return t?.formatter||t?.parser?Cr().classList.remove("disabled"):Cr().classList.add("disabled"),!0},LM=e=>e.includes("<?php")||e.includes("<?=")?e:`<?php
|
|
`+e,tm=({editor:e,code:t})=>t?.trim()?LM(t):(e?.getLanguage().startsWith("php")&&(e.setValue(LM(e.getValue())),e.setPosition({lineNumber:2,column:0})),`<?php
|
|
`),MM=async e=>{!ce(e)||!e||!Re(e,x())||(em(e),Object.keys(Jr).forEach(async r=>{await Jr[r]?.show(Object.values(ir||[]).includes(r),{baseUrl:O,editors:W,config:x(),html:oe().markup.compiled||x().markup.content||"",eventsManager:C})}))},rm=async(e,t,r=!1)=>{let o=ce(e);if(!o||!e||!Re(e,x()))return;dn(e)?.largeDownload&&Y.info(window.deps.translateString("core.changeLanguage.message","Loading {{lang}}. This may take a while!",{lang:Ur(e)}));let n=W[o];n.setLanguage(e,t??(x()[o].content||"")),ir&&(ir[o]=e),ka(o,e),us(o,r),tm({editor:W.script}),!B&&!r&&setTimeout(()=>n.focus()),await it.load([e],x()),sr.getFormatFn(e).then(s=>n.registerFormatter(s)),r||(se({...x(),activeEditor:o}),x().autoupdate&&await Je()),await Sr(),br(),kM(),ps(W,x(),!0),await MM(e)},jN=(e,t)=>{let r=t[e];r.addKeyBinding("run",r.keyCodes.ShiftEnter,async()=>{await Je()})},Fo=()=>{let e=r=>{let o={markup:"html",style:"css",script:"javascript"},n=Ue(x()[r].language)?.compiledCodeLanguage;return{language:n||o[r],label:n==="json"?"JSON":X(n)||n||o[r]}},t={markup:e("markup"),style:e("style"),script:e("script")};if(G&&G.compiled){let r=oe();Object.keys(r).forEach(o=>{if(o!==x().activeEditor)return;let n=r[o].modified||r[o].compiled||"";o==="script"&&x().script.language.startsWith("php")&&(n=tm({code:n})),G?.compiled?.update(t[o].language,n,t[o].label)})}},It=async({sourceEditor:e=void 0,forExport:t=!1,template:r=$m,singleFile:o=!0,runTests:n=!1})=>{ut();let s=x(),i=Te(s),a=re=>{let ge=re?.content??"",Ce=re?.hiddenContent??"";if(!Ce)return ge;let Xe="{{__livecodes_editor_content__}}";return Ce.includes(Xe)?Ce.replace(Xe,ge):`${Ce}
|
|
${ge}`},l=a(s.markup),d=a(s.style),c=a(s.script),m=a(s.tests),h=s.markup.language,v=s.style.language,p=s.script.language,f=s.tests?.language||"typescript",g=Ue(p)?.scriptType,w=[...s.processors,...oe().processors].find(re=>je.find(ge=>re===ge.name&&ge.needsHTML))&&(s.processors.join(",")!==oe().processors.join(",")||l!==a(oe().markup)||c!==a(oe().script)),S=!s.tests?.content&&!oe().tests?.content||s.tests?.language===oe().tests?.language&&s.tests?.content===oe().tests?.content&&oe().tests?.compiled;S&&!s.tests?.content&&G?.tests?.showResults({results:[]});let u=(s.markup.language===s.script.language+"-app"||oe().markup.language===oe().script.language+"-app")&&(s.markup.language!==oe().markup.language||s.script.language!==oe().script.language),b=await it.compile(l,h,s,{forceCompile:u}),E=b.code,k=await it.compile(c,p,s,{forceCompile:w||u,blockly:p==="blockly"?await Jr.blockly?.getContent({baseUrl:O,editors:W,config:x(),html:E,eventsManager:C}):{}}),L=k.code,P={...b.info,...k.info,importedContent:(b.info.importedContent||"")+(k.info.importedContent||""),imports:{...k.info.imports,...b.info.imports}},D=await Promise.all([it.compile(d,v,s,{html:`${E}<script type="script-for-styles">${L}<\/script>
|
|
<script type="script-for-styles">${P.importedContent}<\/script>`,forceCompile:w}),n?S?Promise.resolve(oe().tests?.compiled||""):it.compile(m,f,s,{}):Promise.resolve(tt(oe().tests?.compiled||""))]),[z,ae]=D.map(re=>{let{code:ge,info:Ce}=tt(re);return P={...P,...Ce},ge});P.modifiedHTML&&(E=P.modifiedHTML);let ee={...i,markup:{...i.markup,compiled:E},style:{...i.style,compiled:z},script:{...i.script,compiled:s.customSettings.convertCommonjs===!1||g&&g!=="module"?L:Fy(L)},tests:{language:f,...i.tests,compiled:ae}};g!=null&&g!=="module"&&(o=!0);let le=await wb({code:ee,config:s,forExport:t,template:r,baseUrl:O,singleFile:o,runTests:n,compileInfo:P}),te=e==="style"&&!P.cssModules;return o&&(li({...oe(),...ee,result:bb(le),styleOnlyUpdate:te}),We.isBroadcasting&&BM(),Ft&&!Ft.closed&&Ft?.postMessage({result:le},location.origin)),le},IM=async(e,t=!1)=>{!it.isFake&&!t||(it=window.compiler=await ql({config:e,baseUrl:O,eventsManager:C}),li(),await It({}))},$o=e=>{let t=sh();t&&(e===!0?t.style.display="unset":t.style.display="none")},UN=()=>{let e=ur();if(!e?.contentWindow)return;$o(!0),e.contentWindow.postMessage({flush:!0},"*");let t={markup:Ue(x().markup.language)?.compiledCodeLanguage||"html",style:Ue(x().style.language)?.compiledCodeLanguage||"css",script:Ue(x().script.language)?.compiledCodeLanguage||"javascript"},r={html:"<!-- loading -->",css:"/* loading */",javascript:"// loading",wat:";; loading"};yn("markup",t.markup,r[t.markup]||"html"),yn("style",t.style,r[t.style]||"css"),yn("script",t.script,r[t.script]||"javascript"),li({...oe(),tests:{language:"javascript",content:"",compiled:""}}),Fo(),G?.console?.clear(!0),G?.tests?.clearTests()},Gu=(e=!1)=>{let t=Tr();if(!t)return;let r=Z.title;e&&t.textContent?.trim()===""&&(t.textContent=r);let o=t.textContent||r;o!==x().title&&(se({...x(),title:o}),x().autosave&&ms(!He,!1),om(),Sr(),br())},om=()=>{let e=x().title,t=location.hostname.startsWith("dev.livecodes.io")?"(dev) ":location.hostname.startsWith("127.0.0.1")||location.hostname.startsWith("localhost")?"(local) ":"";parent.document.title=t+(e&&e!=="Untitled Project"?e+" - ":"")+"LiveCodes"},jM=()=>{let e=el(),t=x();t.scripts.length>0||t.stylesheets.length>0||t.cssPreset?(e.classList.add("active"),e.style.display="unset"):(e.classList.remove("active"),B&&(e.style.display="none"))},UM=()=>{let e=tl();if(B){e.hidden=!0;return}let t=x(),r=JSON.stringify(t.customSettings);!r||r==="{}"||r==='{"imports":{}}'?e.classList.remove("active"):e.classList.add("active")},Je=async(e,t)=>{$o(!0),e!=="style"&&G?.console?.clear(!0);let r=x(),o=(t??r.autotest)&&!!r.tests?.content?.trim(),n=await It({sourceEditor:e,runTests:o});await TM(pr(),n),Fo()},cs=()=>Je(void 0,!0),AM=(e,t=!1)=>{t&&!B?parent.history.pushState(null,"",e):parent.history.replaceState(null,"",e)},nm=async(e=!0)=>{if(e)await Promise.all(Object.values(W).map(async t=>{await t.format(),x().foldRegions&&await t.foldRegions?.()}));else{let t=Ve();await t.format(),x().foldRegions&&await t.foldRegions?.(),t.focus()}ut()},ms=async(e=!1,t=!0,r=!1)=>{t&&Gu(!0),W&&x().formatOnsave&&!r&&await nm(!0);let o=vo(x());He?await J.projects?.updateItem(He,o):He=await J.projects?.addItem(o)||"",await Sr(),e&&Y.success(window.deps.translateString("core.save.success","Project locally saved to device!")),await Qr(!1)},AN=async()=>{He="",Ut({...x(),title:x().title+" (fork)"}),await ms(),Y.success(window.deps.translateString("core.fork.success","Forked as a new project"))},Qr=async(e=!1,t=!0,r=!0,o=!1,n=!1)=>{let s=x(),i=t?{...Te(s),markup:{...s.markup,title:void 0,hideTitle:void 0},style:{...s.style,title:void 0,hideTitle:void 0},script:{...s.script,title:void 0,hideTitle:void 0},tools:{...s.tools,enabled:Z.tools.enabled,status:s.tools.status==="none"?Z.tools.status:s.tools.status}}:s,a=(location.origin+location.pathname).split("/").slice(0,-1).join("/")+"/",l=n?pi.getAppUrl():a,d=new URL(l);if(e)d.search="x=id/"+await Al.shareProject({...i,result:o?oe().result:void 0});else{let m=um({appUrl:l,config:i});d=new URL(m)}return r&&AM(d.href,!0),{title:(i.title!==Z.title?i.title+" - ":"")+"LiveCodes",url:d.href}},ut=()=>{_o.forEach(e=>{se({...x(),[e]:{...x()[e],language:Yu(e),content:W[e].getValue()}})})},Ut=async(e,t,r=!0)=>{Bo=!0;let o=Pr(e),n=Te({...Z,...o}),s={...x(),...o.autotest!=null?{autotest:o.autotest}:{},...o.mode!=null?{mode:o.mode}:{},...o.tools!=null?{tools:o.tools}:{},...n};se(s),await ds({config:s}),wr(),r&&UN();let i=Tr();i.textContent=x().title,om();let a=(location.origin+location.pathname).split("/").slice(0,-1).join("/")+"/";AM(t??a,!0),vr.x=0,vr.y=0,await sm(s,!0),Bo=!1},sm=async(e,t=!1)=>{let r=x(),o={...r,...e};t&&await kN(W,x()),tm({editor:W.script}),$o(!0),await EN(o),B||fs(o),(e.mode||e.view)&&window.deps?.showMode?.(o.mode,o.view),e.tools&&WO(e.tools,o.mode),e.zoom&&Ia(e.zoom),(e.theme||e.editorTheme||e.themeColor||e.fontSize)&&Yr(o.theme,o.editorTheme),e.autotest&&uo()?.classList.remove("disabled"),G?.console?.clear(!0),se(o),B||setTimeout(()=>Ve().focus()),jM(),UM(),Fo(),ps(W,o,!0),it.load(as(),o).then(()=>{if(!o.autoupdate){$o(!1);return}setTimeout(()=>{G?.getActiveTool()==="tests"&&["open","full"].includes(G?.getStatus())?Je(void 0,!0):Je()})}),B||("requestIdleCallback"in window?requestIdleCallback(()=>{sr.load(as())},{timeout:15e3}):setTimeout(()=>{sr.load(as())},1e4)),B&&!o.tests?.content?.trim()?G?.disableTool("tests"):G?.enableTool("tests"),t||(await eD(),requestAnimationFrame(()=>{cm()}));let n=!1,s={..._e(e),...Dt(e)};if(Object.values(s).some(a=>a!=null)){let a={..._e(r),...Dt(r)};for(let l in s)if(s[l]!==a[l]){n=!0;break}}"configureTailwindcss"in W.markup&&(e.processors?.includes("tailwindcss")&&W.markup.configureTailwindcss?.(!0),r.processors?.includes("tailwindcss")&&!e.processors?.includes("tailwindcss")&&(W.markup.configureTailwindcss?.(!1),n=!0)),n&&await Xu(o),parent.dispatchEvent(new Event(De.ready))},ze=(e,t=!0)=>{let r=wo({...x(),...e??wo(Z)});se({...x(),...r}),t&&J.userConfig?.setValue({...J.userConfig.getValue(),...e})},im=(e=!0)=>{if(B)return;let t=J.userConfig?.getValue();se(vo({...x(),...t})),e&&(fs(x()),Yr(x().theme,x().editorTheme),DM(!0))},PM=async e=>{let t=(await J.templates?.getItem(e))?.config;t&&await Ut(t)},br=Xr(async()=>{let e;nr.code.hasSubscribers()?(wn(oe(),Te(x()))||await It({forExport:!0}),e=new CustomEvent(De.change,{detail:{code:So(),config:x()}})):e=new CustomEvent(De.change,{detail:void 0}),document.dispatchEvent(e),parent.dispatchEvent(e)},50),Sr=async()=>{if(B)return;ut();let e=He&&(await J.projects?.getItem(He||""))?.config;ls=Bo||!!(e&&JSON.stringify(Te(e))===JSON.stringify(Te(x())));let t=Tr();ls?(t.classList.remove("unsaved"),wr(!0)):(t.classList.add("unsaved"),wr())},Ju=(e=!1)=>ls||B?Promise.resolve(!0):new Promise(t=>{let r=document.createElement("div");r.innerHTML=Zm,_.show(r.firstChild,{size:"small"}),C.addEventListener(il(),"click",async()=>{await ms(!0),e||_.close(),t(!0)}),C.addEventListener(lh(),"click",()=>{e||_.close(),t(!0)}),C.addEventListener(ch(),"click",()=>{e||_.close(),t(!1)}),il().focus()}),Kr=(e,t)=>()=>Ju(!0).then(r=>{setTimeout(r?e:typeof t=="function"?t:()=>{_.close()})}),wr=(e=!1)=>{B||(J.recover?.clear(),!(e||!x().recoverUnsaved)&&J.recover?.setValue({config:Te(x()),lastModified:Date.now()}))},HM=(e=!1)=>{let t=x();if(!t.recoverUnsaved||B||t.mode!=="full"||t.readonly)return Promise.resolve("recover disabled");let r=J.recover?.getValue(),o=r?.config;if(!r||!o)return Promise.resolve("no unsaved project");let n=o.title;return new Promise(s=>{let i=ey();if(e)i.style.display="block";else{let l=document.createElement("div");l.innerHTML=Ym,_.show(l.firstChild,{size:"small",isAsync:!0})}al().textContent=n,al().title=n,mh().textContent=new Date(r.lastModified).toLocaleString();let a=fh();C.addEventListener(dh(),"click",async()=>{_.show(xe(),{size:"small"}),await Ut(o),await Sr(),_.close(),s("recover")}),C.addEventListener(ph(),"click",async()=>{J.projects&&(await J.projects.addItem(o),Y.success(window.deps.translateString("core.save.successWithName",'Project "{{name}}" saved to device.',{name:n}))),e?i.classList.add("cancelled"):_.close(),wr(!0),s("save and continue")}),C.addEventListener(uh(),"click",()=>{e?i.classList.add("cancelled"):_.close(),wr(!0),s("cancel recover")}),C.addEventListener(a,"change",()=>{ze({recoverUnsaved:!a.checked}),fs(x())})})},qM=async e=>{mt||[W.markup,W.style].forEach((t,r)=>{t.monaco&&r>0||t.changeSettings(_e(e))})},NM=async()=>Ta||(Ta=await Yl(x(),O),Ta),am=async()=>{if(qe)return;qe=tv(B);let e=await qe.getUser();e&&gl(e)},Ku=async()=>new Promise((e,t)=>{let o=iy(C,n=>{qe?qe.signIn(n).then(s=>{if(!s)t(window.deps.translateString("core.error.login","Login error!"));else{OM(s,"restore");let i=s.displayName||s.username,a=i?window.deps.translateString("core.login.successWithName","Logged in as: {{name}}",{name:i}):window.deps.translateString("core.login.success","Logged in successfully");Y.success(a),gl(s),e(s)}}).catch(()=>{Y.error(window.deps.translateString("core.error.login","Login error!"))}):t(window.deps.translateString("core.error.login","Login error!")),_.close()});_.show(o,{size:"small"})}).catch(()=>{Y.error(window.deps.translateString("core.error.login","Login error!"))}),PN=()=>{qe&&qe?.getUser().then(async e=>{e&&await OM(e,"clear")}).then(()=>qe?.signOut().then(()=>{Y.success(window.deps.translateString("core.logout.success","Logged out successfully")),ay()}).catch(()=>{Y.error(window.deps.translateString("core.error.logout","Logout error!"))}))},Ua=async e=>{await am();let t=await qe?.getUser();return t||(t=await Ku(),typeof e=="function"&&e()),t},Zr=async()=>{let e=await qe?.getUser();if(!e||!J.userData)return null;let t=e.username||e.uid;return(await J.userData.getItem(t))?.data||null},Aa=async e=>{let t=await qe?.getUser();if(!t||!J.userData)return null;let r=t.username||t.uid,o=(await J.userData.getItem(r))?.data;return await J.userData?.updateItem(r,{id:r,data:{...o,...e}})},Qe=()=>J.appData?.getValue()||null,jt=e=>{J.appData?.setValue({...J.appData.getValue(),...e})},OM=async(e,t)=>{let r=Object.keys(J).filter(n=>!["recover","sync"].includes(n)),o=await import(O+"sync.bf1450a5c977bc26aa5dba4dc7fd50e6.js");o.init(O);for(let n of r)t==="clear"?(await o.exportToLocalSync({user:e,storeKey:n}),J[n]?.clear()):await o.restoreFromLocalSync({user:e,storeKey:n});t==="clear"&&(ze(Z),We.isBroadcasting=!1,We.channel="",We.channelUrl="",We.channelToken="",We.broadcastSource=!1),im()},DM=async(e=!1)=>{if(B)return;let t=(await Zr())?.sync?.lastSync;(t||e)&&(await import(O+"sync-ui.870ed4a8ed5103a9ed699f4a77845fb0.js")).updateSyncStatus({lastSync:t})},me=(e,t)=>{let r=Vu.find(o=>o.screen.toLowerCase()===e.toLowerCase());r?r.show=t:Vu.push({screen:e.toLowerCase(),show:t})},de=async(e,t)=>{let r=Vu.find(n=>n.screen.toLowerCase()===e.toLowerCase());if(!r)return;await r.show(t),document.querySelector("#modal").firstElementChild?.click()},RM=()=>{let e=Object.fromEntries(new URLSearchParams(parent.location.search)),t=e.new===""?"new":e.screen;return t?(de(t),!0):!1},lm=()=>[...Object.values(W),G?.console?.getEditor?.(),G?.compiled?.getEditor?.()],Yr=(e,t)=>{let r=["light","dark"],o=document.documentElement;o?.classList.remove(...r),o?.classList.add(e),cm(),qN();let n=pl();n&&(n.checked=e==="dark");let s=Yo();s&&!B&&(e==="dark"?s.style.display="inherit":s.style.display="none");let i=Zo();i&&!B&&(e==="light"?i.style.display="inherit":i.style.display="none"),lm().forEach(a=>{a?.setTheme(e,t),Jr[a?.getLanguage()]?.setTheme(e)}),G?.console?.setTheme?.(e),ml()?.classList.toggle("dark",e==="dark")},cm=()=>{let{themeColor:e,theme:t}=x(),r=e||HN(),{h:o,s:n,l:s}=xm(r),i=document.documentElement;i.style.setProperty("--hue",`${o}`),i.style.setProperty("--st",`${n}%`),i.style.setProperty("--lt",`${t==="light"?100:s}%`);let a=ll()?.querySelector('input[type="color"]');a&&(a.value=Em(r))},HN=()=>"hsl(214, 40%, 50%)",qN=()=>{let e=x().fontSize||(B?12:14);document.documentElement.style.setProperty("--font-size",`${e+2}px`)},Ma=e=>{e==="responsive"&&(e=void 0);let t=e??(window.innerWidth<768&&window.innerHeight>window.innerWidth?"vertical":"horizontal");ve?.setLayout(t);let r=ul();if(r){let o=r.closest(".switch");e===void 0?(r.readOnly=r.indeterminate=!0,o.title=window.deps.translateString("core.layout.responsive","Responsive layout")):(r.checked=e==="vertical",r.readOnly=r.indeterminate=!1,o.title=e==="vertical"?window.deps.translateString("core.layout.vertical","Vertical layout"):window.deps.translateString("core.layout.horizontal","Horizontal layout"))}FM()},_M=e=>{ze({layout:e}),Ma(e)},fs=e=>{if(Ih().forEach(v=>{let p=v.dataset.processor;p&&(v.checked=e.processors.includes(p))}),B)return;let r=Th();r.checked=e.autoupdate;let o=cl(),n=dl();n.value=String(e.delay),o.textContent=String(e.delay/1e3);let s=Ch();s.checked=e.autosave;let i=kh();Zr().then(v=>{i.checked=v?.sync?.autosync||!1});let a=Mh();a.checked=e.formatOnsave;let l=pl();l.checked=e.theme==="dark";let d=ul();d.checked=e.layout==="vertical";let c=Uh();c.checked=e.recoverUnsaved;let m=jh();m.checked=e.welcome;let h=Hh();h.checked=e.showSpacing,qh().forEach(v=>{v.classList.remove("active"),e.cssPreset===v.dataset.preset&&v.classList.add("active"),!e.cssPreset&&v.dataset.preset==="none"&&v.classList.add("active")})},NN=async e=>{let t=()=>_.show(e,{size:"small"});Ge?Ge.loadNamespaces(["language-info"],t):t()},gs=async(e,t=!0)=>{let r=await NM(),{title:o,thumbnail:n,...s}=r.filter(i=>i.name===e)?.[0]||{};s?(jt({recentTemplates:[{name:e,title:o},...Qe()?.recentTemplates?.filter(a=>a.name!==e)||[]].slice(0,5)}),(t?Kr:a=>async()=>a())(async()=>{He="";let a={...Z,...s};return await ds({config:a})||Ut(a,"?template="+e)})().finally(()=>{_.close()})):Y.error(window.deps.translateString("core.error.failedToLoadTemplate","Failed loading template"))},ON=()=>{let e=x(),t=So();return{...e,...t,markup:{...e.markup,...t.markup,position:W.markup.getPosition()},style:{...e.style,...t.style,position:W.style.getPosition()},script:{...e.script,...t.script,position:W.script.getPosition()},tools:{enabled:e.tools.enabled,active:G?.getActiveTool()??"",status:G?.getStatus()??""}}},Ia=(e=1)=>{let t=ur(),r=ih();!t||!r||(t.classList.remove("zoom25"),t.classList.remove("zoom50"),e===.5&&t.classList.add("zoom50"),e===.25&&t.classList.add("zoom25"),r.textContent=String(e))},BM=async({serverUrl:e,channel:t,channelToken:r,broadcastSource:o}={})=>{if(B)return;let n=Qe()?.broadcast;if(e||(e=n?.serverUrl),!e)return;o==null&&(o=We.broadcastSource),t==null&&(t=We.channel),r==null&&(r=We.channelToken);let s=n?.userToken,{result:i,...a}=ON();try{let l=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({result:i,...o?{data:a}:{},...t?{channel:t}:{},...r?{channelToken:r}:{},...s?{userToken:s}:{}})});return l.ok?l.json():void 0}catch{return}},DN=e=>{We.isBroadcasting=e.isBroadcasting,We.channel=e.channel,We.channelUrl=e.channelUrl,We.channelToken=e.channelToken,We.broadcastSource=e.broadcastSource;let t=zh();t&&(e.isBroadcasting?(t.firstElementChild?.classList.add("active"),t.title=window.deps.translateString("broadcast.broadcasting","Broadcasting...")):(t.firstElementChild?.classList.remove("active"),t.title=window.deps.translateString("core.broadcast.heading","Broadcast")))},$M=(e=!0)=>{let t="46",r="0.11.1",o="43f0982",n="https://github.com/live-codes/livecodes",s=pi.getAppUrl(),i=pi.getSDKUrl();return e&&(console.log(`App Version: ${t} (${n}/releases/tag/v${t})`),console.log(`SDK Version: ${r} (https://www.npmjs.com/package/livecodes/v/${r})`),console.log(`Git commit: ${o} (${n}/commit/${o})`),console.log(`App Permanent URL: ${s}`),console.log(`SDK Permanent URL: ${i}`)),{appVersion:t,sdkVersion:r,commitSHA:o,appUrl:s,sdkUrl:i}},RN=()=>{if(B)return;let e=Ht.DOCS_BASE_URL||"docs",t=e?.startsWith("http")?e:new URL(e,location.href).href,o=[{content:" ",style:'padding-left: 2.5em; line-height: 4em; background-size: 2.5em; background-repeat: no-repeat; background-position: left center; background-image: url("data:image/svg+xml;charset=UTF-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MzciIGhlaWdodD0iNDg4IiAgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PHN0eWxlPjwhW0NEQVRBWy5Ce3N0cm9rZTpub25lfS5De2ZpbGw6dXJsKCNDKX0uRHtmaWxsOiM5NmJmM2R9LkV7ZmlsbC1ydWxlOm5vbnplcm99XV0+PC9zdHlsZT48ZGVmcz48ZmlsdGVyIGlkPSJBIiB4PSItMS44MTgyJSIgeT0iLTIuNzIyOSUiIHdpZHRoPSIxMDQuMDU1OSUiIGhlaWdodD0iMTA2LjA3NDElIj48ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUFscGhhIiBzdGREZXZpYXRpb249IjUiLz48ZmVPZmZzZXQgZHg9IjMiIGR5PSIzIiByZXN1bHQ9IkIiLz48ZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwMCIgZmxvb2Qtb3BhY2l0eT0iLjUiLz48ZmVDb21wb3NpdGUgaW4yPSJCIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iQyIvPjxmZU1lcmdlPjxmZU1lcmdlTm9kZSBpbj0iQyIvPjxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyIvPjwvZmVNZXJnZT48L2ZpbHRlcj48ZmlsdGVyIGlkPSJCIiB4PSItNC40MDY4JSIgeT0iLTMuNjExMSUiIHdpZHRoPSIxMDkuODMwNSUiIGhlaWdodD0iMTA4LjA1NTYlIj48ZmVHYXVzc2lhbkJsdXIgaW49IlNvdXJjZUFscGhhIiBzdGREZXZpYXRpb249IjUiLz48ZmVPZmZzZXQgZHg9IjMiIGR5PSIzIiByZXN1bHQ9IkIiLz48ZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwMCIgZmxvb2Qtb3BhY2l0eT0iLjUiLz48ZmVDb21wb3NpdGUgaW4yPSJCIiBvcGVyYXRvcj0iaW4iIHJlc3VsdD0iQyIvPjxmZU1lcmdlPjxmZU1lcmdlTm9kZSBpbj0iQyIvPjxmZU1lcmdlTm9kZSBpbj0iU291cmNlR3JhcGhpYyIvPjwvZmVNZXJnZT48L2ZpbHRlcj48bGluZWFyR3JhZGllbnQgaWQ9IkMiIHgxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNkN2Q3ZDciLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiM2MjYyNjIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48ZyBmaWx0ZXI9InVybCgjQSkiIGZpbGw9IiNjMWMxYzEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuNSA0LjUpIiBjbGFzcz0iQiBFIj48cGF0aCBkPSJNMTYuNzUyNSAyODYuNzI5OEM2LjcwNjYgMjc1Ljc0NTUgMCAyNTMuODA5NyAwIDIzNC41OTA5YzAtMTkuMjA2MSA1LjAyNjYtMzcuMDMyIDE3LjU4OTEtNDYuNjMzNmgtLjgzNTdMMjE0LjQyOTIgMHYxMjcuNTk2NGMtMjEuNzc4NCAyMC41NzYyLTUxLjA5MzkgNDMuOTA1Ny0xMjQuODAyOCAxMDguMzg5MWwuODM1NyAxLjM1NTJjMzkuMzY3MyAyOC44MjIgODQuNTk4OCA3Mi43MTYzIDEyMy45NjYyIDExMS4xMjk3djEyOC45NjZ6Ii8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTAwLjU3MTYgLjAwMTcpIj48cGF0aCBkPSJNMTk3LjY3NjEgMTkwLjY5NTZjMTAuMDM4NSAxMC45ODUgMTYuNzUyMyAzMi45MzE3IDE2Ljc1MjMgNTIuMTM5NnMtNS4wMjY4IDM3LjAzMDgtMTcuNTk2MiA0Ni42MzM2aC44NDQzTDAgNDc3LjQyNjZWMzQ5LjgyOTdjMjEuNzc5My0yMC41NjQ4IDUxLjA5NC00My44OTM3IDEyNC44MDM0LTEwOC4zNzc3bC0uODM1Ny0xLjM1NTNDODQuNjA3IDIxMS4yNzQ3IDM5LjM2OTIgMTY3LjM3OTkuMDAwOSAxMjguOTY3NlYweiIvPjwvZz48L2c+PGcgZmlsdGVyPSJ1cmwoI0IpIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTkuNSA1OS41KSIgY2xhc3M9IkIiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0Ny4yMjkgOTIuNTk1MSkiPjxwYXRoIGQ9Ik0wIDI2MS45MjM4bDE0My4xNjk4LTg3LjQ1MzRWMEwwIDg3LjIxMDl2MTc0LjcxMjl6Ii8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQuMzMwMiA5Mi43NDA1KSI+PHBhdGggZD0iTTAgMTc0LjI3NjRsMTQyLjk4OTQgODcuMzA4MVY4Ny4xMTQyTDAgMHYxNzQuMjc2NHoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNS4yMzI1IDYuMDE0NykiPjxwYXRoIGQ9Ik0yODQuMTc0MyA4Ni41ODA1TDE0Mi4wODcyIDAgMCA4Ni41ODA1bDE0Mi4wODcyIDg2LjcyNTcgMTQyLjA4NzEtODYuNzI1N3oiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ3LjMxOTYgOTIuNTk1MSkiPjxwYXRoIGQ9Ik0wIDgxLjU4NDVMMTMzLjgzMjcuMDk2NyAxMzMuNjk3NCAwIDAgODEuNTg0NXoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMuNDg3IDkyLjU5NTEpIj48cGF0aCBkPSJNLjEzNTMgMEwwIC4wOTY3bDEzMy44MzI3IDgxLjQ4NzhMLjEzNTMgMHoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ3LjMxOTYgMTc0LjE3OTIpIj48cGF0aCBkPSJNMCAweiIvPjwvZz48cGF0aCBkPSJNMjkwLjEyODcgODcuMDE3TDE0Ny4zMTk2IDAgNC41MTA2IDg3LjAxNyAwIDg5Ljg3ODl2MTgwLjA0ODJMMTQ3LjUgMzYwbDQuNTEwNi0yLjc2NDhMMjk1IDI2OS45MjcxVjg5LjgzMDN6bS00LjUxMSAxNzcuMjgzN2wtMTMzLjc4NzUgODEuNzc4NlYxODIuNjE5NGwxMzMuOTY3OS04MS42MzMxem0tMTQyLjgwOSA4MS43Nzg2TDguODQwNyAyNjQuMjUyMVYxMDAuOTg2M2wxMzMuOTY4IDgxLjYzMzF6TTEzLjYyMjMgOTIuNjkxOWwxMzMuNjk3My04MS41MzYgMTMzLjY5NzQgODEuNTM2LTEzMy42OTc0IDgxLjQ4NzNMMTMuNDg3IDkyLjY5MTl6IiBmaWxsPSIjNDQ0Ii8+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQ3LjkwNTggMTMzLjQ4NDQpIiBjbGFzcz0iQyI+PHBhdGggZD0iTTAgMTQwLjU2Nmw3Ni45MDczLTQ2LjkwMzlWMEwwIDQ2Ljg1NTN2OTMuNzEwN3oiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjkuODI1NyAxMzMuNDg0NCkiIGNsYXNzPSJDIj48cGF0aCBkPSJNMCA5My42NjIxbDc2LjkwNzMgNDYuOTAzOVY0Ni44NTUzTDAgMHY5My42NjIxeiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg3MC42MzczIDg1LjUxMykiIGNsYXNzPSJDIj48cGF0aCBkPSJNMTUzLjM2MzggNDYuNzFMNzYuNjgxOSAwIDAgNDYuNzFsNzYuNjgxOSA0Ni44NTU0TDE1My4zNjM4IDQ2LjcxeiIvPjwvZz48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNDcuMzE5NiAxMzIuMjIzKSIgY2xhc3M9IkQiPjxwYXRoIGQ9Ik0wIDQyLjEwMkw2OC45Njg1LjA5NjggNjguODc4NyAwIDAgNDIuMDUzNHYuMDQ4NnoiLz48L2c+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzguMzUwNyAxMzIuMjIzKSIgY2xhc3M9IkQiPjxwYXRoIGQ9Ik0uMDkwMiAwTDAgLjA5NjggNjguOTY4NSA0Mi4xMDJ2LS4wNDg2TC4wOTAyIDB6Ii8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0Ny4zMTk2IDE3NC4yNzY0KSIgY2xhc3M9IkQiPjxwYXRoIGQ9Ik0wIDB6Ii8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDY0Ljc3MzYgNzkuMTU5KSI+PHBhdGggZD0iTTE2MC41ODExIDQ3LjQ4NThMODIuNTQ1NiAwIDQuNTEwNiA0Ny40ODU4IDAgNTAuMjk5MnYxMDAuOTM3N2w4Mi41NDU2IDUwLjQ0NDYgNC41MTEtMi43NjQ4IDc4LjEyNTMtNDcuNjc5OFY1MC4yOTkyem0tNC41MTA5IDk4LjA3NjJsLTY5LjAxMzYgNDIuMTk4N3YtODQuMjAzNWw2OS4xMDQyLTQyLjEwMnptLTc4LjAzNTEgNDIuMTk4N0w4LjkzMDkgMTQ1LjU2MlY2MS40NTUybDY5LjEwNDIgNDIuMTAyek0xMy42Njc0IDUzLjA2NGw2OC44NzgyLTQxLjkwOCA2OC44Nzg3IDQxLjk1NjYtNjguODc4NyA0Mi4wMDQ4LTY4Ljk2ODQtNDEuOTU2NnoiLz48L2c+PC9nPjwvc3ZnPg==");'},{content:"LiveCodes",style:"font-weight: bold; font-size: 1.2em;"},{content:" - ",style:"font-size: 1.2em;"},{content:window.deps.translateString("generic.tagline","A Code Playground That Just Works!")+`
|
|
`,style:"font-style: italic; font-size: 1.2em;"},{content:window.deps.translateString("app.consoleMessage.appVersion","App version: {{APP_VERSION}}",{APP_VERSION:Ht.APP_VERSION}),style:"padding: 0.2em 0.4em; border-radius: 0.5em; background: hsl(0,0%,40%); color: white;"},{content:" ",style:""},{content:window.deps.translateString("app.consoleMessage.sdkVersion","SDK version: {{SDK_VERSION}}",{SDK_VERSION:Ht.SDK_VERSION}),style:"padding: 0.2em 0.4em; border-radius: 0.5em; background: hsl(0,0%,40%); color: white;"},{content:" ",style:""},{content:window.deps.translateString("app.consoleMessage.commit","Git commit: {{COMMIT_SHA}}",{COMMIT_SHA:Ht.COMMIT_SHA}),style:"padding: 0.2em 0.4em; border-radius: 0.5em; background: hsl(0,0%,40%); color: white;"},{content:`
|
|
|
|
`,style:""},{content:window.deps.translateString("app.consoleMessage.learnMore","Learn more! {{docsUrl}} \u{1F680}",{docsUrl:t}),style:"padding: 0.2em 0.4em; font-size: 1.1em;"}].reduce((n,s)=>(n[0]+=`%c${s.content}`,n.push(s.style),n),[""]);parent.postMessage({args:"console-message",payload:o},location.origin)},Wu=()=>{Object.values(W).forEach(e=>{setTimeout(()=>{e.layout&&e.layout()})})},_N=()=>{let e=Tr();if(!e)return;e.textContent=x().title||Z.title,om();let t=o=>{o.which===13&&(o.preventDefault(),e.blur())},r=o=>{o.preventDefault();let n=o.clipboardData.getData("text/plain");document.execCommand("insertHTML",!1,n)};C.addEventListener(e,"input",()=>Gu(),!1),C.addEventListener(e,"blur",()=>Gu(!0),!1),C.addEventListener(e,"keypress",t,!1),C.addEventListener(e,"paste",r,!1)},BN=()=>{Wu(),Ma(x().layout),C.addEventListener(window,"resize",()=>Ma(x().layout),!1),C.addEventListener(window,"resize",Wu,!1),C.addEventListener(window,De.resizeEditor,Wu,!1)},FM=()=>{let e=Xa();if(!e)return;let t=document.createElement("div");t.id="size-label",e.appendChild(t);let r=Xr(()=>{setTimeout(()=>{t.classList.remove("visible"),setTimeout(()=>{t.style.display="none"},100)},1e3)},1e3);C.addEventListener(window,"message",o=>{let n=ur();if(!t||!n||o.source!==n.contentWindow||o.data.type!=="resize")return;let s=o.data.sizes;t.innerHTML=`${s.width} x ${s.height}`,t.style.display="block",t.classList.add("visible"),r()})},$N=()=>{C.addEventListener(window,"message",e=>{let t=ur();if(!t||e.source!==t.contentWindow||e.data.type!=="scroll")return;let r=e.data.position;vr.x=Number(r.x)||0,vr.y=Number(r.y)||0})},FN=()=>{rl().forEach(e=>{C.addEventListener(e,"click",t=>{t.preventDefault(),us(e.dataset.editor),jt({language:Yu(e.dataset.editor)}),wr()},!1)})},zN=()=>{x().allowLangChange?gh().forEach(e=>{C.addEventListener(e,"click",async()=>{e.closest(".menu-scroller")?.classList.add("hidden"),await rm(e.dataset.lang),jt({language:e.dataset.lang})},!1)}):hh().forEach(e=>{e.style.display="none"})},zM=()=>{let e=async(r,o)=>{ut();let n=x();kM(),n.autoupdate&&!o&&await Je(r),n.markup.content!==oe().markup.content&&await It({sourceEditor:r});for(let s of Object.keys(Jr))n[r].language===s&&await Jr[s]?.show(!0,{baseUrl:O,editors:W,config:n,html:oe().markup.compiled||n.markup.content||"",eventsManager:C});n.autosave&&await ms(!1,!0,!0),br(),ps(W,n)},t=r=>Xr(async()=>{await e(r,Bo)},()=>x().delay??Z.delay);Object.keys(W).forEach(r=>{W[r].onContentChanged(t(r)),W[r].onContentChanged(Sr)})},WN=()=>{let e="",t=async r=>{let o=Ve();if(Se(r)&&r.code==="KeyP"&&o.monaco){r.preventDefault(),o.monaco.trigger("anyString","editor.action.quickCommand"),e="Ctrl + P";return}if(Se(r)&&r.code==="KeyD"){r.preventDefault(),e="Ctrl + D";return}if(Se(r)&&r.altKey&&r.code==="KeyC"){r.preventDefault(),e="Ctrl + Alt + C",Mr()?.dispatchEvent(new Event("touchstart"));return}if(Se(r)&&r.altKey&&r.code==="KeyF"&&e==="Ctrl + Alt + C"){r.preventDefault(),e="Ctrl + Alt + C, F",Mr()?.dispatchEvent(new Event("dblclick"));return}if(Se(r)&&r.altKey&&r.code==="KeyT"){r.preventDefault(),sn()?.click(),e="Ctrl + Alt + T";return}if(r.shiftKey&&r.key==="Enter"){r.preventDefault(),ao()?.click(),e="Shift + Enter";return}if(Se(r)&&r.altKey&&r.code==="KeyR"){r.preventDefault(),kr()?.click(),e="Ctrl + Alt + R";return}if(Se(r)&&r.altKey&&r.code==="KeyZ"){r.preventDefault(),Ps()?.click(),e="Ctrl + Alt + Z";return}if(Se(r)&&r.altKey&&r.code==="KeyE"){r.preventDefault(),Ve().focus(),e="Ctrl + Alt + E";return}if(r.code==="Escape"){if(document.querySelectorAll(".menu-scroller").forEach(s=>s.classList.add("hidden")),e==="Esc"){r.preventDefault(),(G?.getStatus()==="open"||G?.getStatus()==="full")&&G.getActiveTool()==="console"?Mr()?.focus():lo()?.focus(),e="Esc + Esc";return}if(e==="Esc + Esc"){r.preventDefault(),Cs()?.focus(),e="Esc + Esc + Esc";return}e="Esc";return}let n=["markup","style","script"].filter(s=>x()[s].hideTitle!==!0);if(Se(r)&&r.altKey&&["1","2","3","ArrowLeft","ArrowRight"].includes(r.key)){r.preventDefault(),ve?.show("code");let s=["1","2","3"].includes(r.key)?Number(r.key)-1:r.key==="ArrowLeft"?n.findIndex(a=>a===x().activeEditor)-1||0:r.key==="ArrowRight"&&n.findIndex(a=>a===x().activeEditor)+1||0,i=s===n.length?0:s===-1?n.length-1:s;us(n[i]),e="Ctrl + Alt + "+r.key;return}if(!B){if(Se(r)&&r.altKey&&r.code==="KeyN"){r.preventDefault(),Qo()?.click(),e="Ctrl + Alt + N";return}if(Se(r)&&r.code==="KeyO"){r.preventDefault(),Xo()?.click(),e="Ctrl + O";return}if(Se(r)&&r.altKey&&r.code==="KeyI"){r.preventDefault(),on()?.click(),e="Ctrl + Alt + I";return}if(Se(r)&&r.altKey&&r.code==="KeyS"){r.preventDefault(),rn()?.click(),e="Ctrl + Alt + S";return}if(Se(r)&&r.shiftKey&&r.code==="KeyS"){r.preventDefault(),tn()?.click(),e="Ctrl + Shift + S";return}if(Se(r)&&r.code==="KeyS"){r.preventDefault(),en()?.click(),e="Ctrl + S";return}if(Se(r)&&r.altKey&&r.code==="KeyF"){r.preventDefault(),lo()?.click(),e="Ctrl + Alt + F";return}if(!Se(r)&&!r.altKey&&!r.shiftKey){e=r.key;return}}};C.addEventListener(window,"keydown",t,!0)},VN=()=>{if(B)return;let{keyboardShortcuts:e}=Bl({deps:{getConfig:x,loadStarterTemplate:gs,changeEditorSettings:dm,changeLayout:_M,showScreen:de}}),t=async()=>{let r=document.createElement("div");r.innerHTML=Jm;let o=r.firstChild,n=e.map(s=>`
|
|
<tr>
|
|
<td>${s.title}</td>
|
|
<td>${s.hotkey?.split("+").map(i=>`<kbd>${xs(i)}</kbd>`).join(" ")}</td>
|
|
</tr>
|
|
`).join("");o.querySelector("tbody").innerHTML=n,_.show(o)};C.addEventListener(Ys(),"click",t,!1),me("keyboard-shortcuts",t)},GN=async()=>{if(B)return;let e=()=>import(pg);Wt(Pf,"font-inter"),Wt(Nf,"material-icons"),await e();let t=ml();if(!t)return;let r=t.shadowRoot.querySelector("ninja-header"),o=r?.shadowRoot.querySelector(".breadcrumb-list .breadcrumb"),n=r?.shadowRoot.querySelector(".breadcrumb-list .breadcrumb--close");n&&(n.hidden=!0);let s=t.shadowRoot.querySelector(".modal-footer");s&&(s.innerHTML=s.innerHTML.replace("to select",window.deps.translateString("commandMenu.toSelect","to select")).replace("to navigate",window.deps.translateString("commandMenu.toNavigate","to navigate")).replace("to close",window.deps.translateString("commandMenu.toClose","to close")).replace("move to parent",window.deps.translateString("commandMenu.moveToParent","move to parent")));let i=()=>{_.close(),t.close();let{actions:d,loginAction:c,logoutAction:m}=Bl({deps:{getConfig:x,loadStarterTemplate:gs,changeEditorSettings:dm,changeLayout:_M,showScreen:de}}),h=qe?.isLoggedIn()?m:c;t.data=[...d,h],o&&(o.innerText=window.deps.translateString("commandMenu.home","Home")),requestAnimationFrame(()=>t.open())},a=!1,l=async d=>{if(!Se(d)){a=!1;return}if(d.code!=="KeyK"){a=!0;return}d.preventDefault(),a=!1,setTimeout(async()=>{a||(t.__visible==null&&await e(),t.__visible===!1&&(t.focus(),requestAnimationFrame(()=>i())))},500)};C.addEventListener(window,"keydown",l,!0),C.addEventListener(Zs(),"click",()=>i(),!0)},JN=()=>{if(B||x().mode==="result")return;let e=Cs();C.addEventListener(e,"click",async t=>{t.preventDefault(),parent.postMessage({args:"home"},location.origin)})},KN=()=>{let e=async()=>{ve?.show("output"),await Je()};C.addEventListener(ao(),"click",e)},ZN=()=>{C.addEventListener(kr(),"click",()=>ve?.show("toggle",!0))},YN=()=>{C.addEventListener(oh(),"click",()=>de("share"))},QN=()=>{let e=Gg(),t=document.createElement("ul");t.id="app-menu-i18n",t.className="dropdown-menu",Object.entries(cn).forEach(([l,d])=>{let c=document.createElement("li");c.classList.toggle("active",l===x().appLanguage);let m=document.createElement("a");m.href="#",m.textContent=d,m.dataset.lang=l,C.addEventListener(m,"click",h=>{h.preventDefault(),l!==x().appLanguage&&(ze({appLanguage:l}),KM(l))}),c.appendChild(m),t.appendChild(c)});let r=document.createElement("li");r.role="separator",t.appendChild(r);let o=document.createElement("li"),n=document.createElement("span"),s=document.createElement("a");s.href="https://github.com/live-codes/livecodes/blob/develop/docs/docs/contribution/i18n.md",s.textContent=window.deps.translateString("app.i18nMenu.helpTranslate","Help Us Translate"),s.target="_blank",s.rel="noopener noreferrer",n.appendChild(s),o.appendChild(n),t.appendChild(o);let i=document.createElement("li"),a=document.createElement("a");a.href="/docs/features/i18n",a.textContent=window.deps.translateString("app.i18nMenu.docs","i18n Documentation"),a.target="_blank",a.rel="noopener noreferrer",i.appendChild(a),t.appendChild(i),e.appendChild(t),WM(e),hs(e,Vg())},XN=()=>{if(!em(Ve().getLanguage()))return;let e=x().mode;C.addEventListener(lo(),"click",()=>{let t=x(),o=t.mode===e?"focus":e;se({...t,mode:o});let n=t.tools.enabled?.includes("console")||t.tools.enabled==="all"||t.tools.enabled==null;o==="focus"&&n&&G?.setActiveTool("console"),window.deps?.showMode?.(o,t.view)}),C.addEventListener(Ms(),"click",()=>{Ss(Ve().getValue())?Y.success(window.deps.translateString("core.copy.copied","Code copied to clipboard")):Y.error(window.deps.translateString("core.error.failedToCopyCode","Failed to copy code"))}),C.addEventListener(Yg(),"click",()=>{let t=Ve();t.undo(),t.focus()}),C.addEventListener(Qg(),"click",()=>{let t=Ve();t.redo(),t.focus()}),C.addEventListener(Cr(),"click",async()=>{await nm(!1)}),C.addEventListener(Is(),"click",()=>{let t=Ve(),r="text/"+t.getLanguage(),o=lr(t.getValue(),r);Ss(o)?Y.success(window.deps.translateString("core.copy.copiedAsDataURL","Code copied as data URL")):Y.error(window.deps.translateString("core.error.failedToCopyCode","Failed to copy code"))}),C.addEventListener(js(),"click",()=>{de("code-to-image")}),C.addEventListener(eh(),"click",()=>{de("editor-settings",{scrollToSelector:'label[data-name="editorMode"]'})}),C.addEventListener(el(),"click",()=>{de("resources")}),C.addEventListener(th(),"click",()=>{de("info")}),C.addEventListener(tl(),"click",()=>{de("custom-settings")}),C.addEventListener(rh(),"click",()=>{de("editor-settings")})},eO=()=>{let e=yh(),t=je.filter(r=>St(r.name,x())).filter(r=>!r.hidden).map(r=>({name:r.name,title:r.title}));!e||t.length===0||t.forEach(r=>{let o=Hw(r);e.append(o),C.addEventListener(o.firstElementChild,"click",async n=>{n.preventDefault();let s=o.querySelector("input");if(!s)return;s.checked=!s.checked;let i=s.dataset.processor;!i||!t.find(a=>a.name===i)||(se({...x(),processors:[...s.checked?[...x().processors,i]:x().processors.filter(a=>a!==i)]}),i==="tailwindcss"&&"configureTailwindcss"in W.markup&&(s.checked?W.markup.configureTailwindcss?.(!0):(W.markup.configureTailwindcss?.(!1),await Xu(x()))),x().autoupdate&&await Je(),br())},!1)})},hs=(e,t)=>{e.classList.add("hidden");let r=n=>{!t.contains(n.target)&&!e.firstElementChild?.contains(n.target)&&e.classList.add("hidden")},o=n=>{n.data.type==="clicked"&&e.classList.add("hidden")};C.addEventListener(window,"click",r),C.addEventListener(window,"message",o),C.addEventListener(t,"click",()=>{document.querySelectorAll(".menu-scroller").forEach(n=>{n===e?e.classList.toggle("hidden"):n.classList.add("hidden")})})},tO=()=>{let e=vh(),t=wh();if(!e||!t)return;let r=Lr()?Fa.replace(/<kbd>Ctrl<\/kbd>/g,"<kbd>\u2318</kbd>"):Fa;e.innerHTML=r,ys(e),hs(e,t)},rO=()=>{let e=bh(),t=Sh();if(!e||!t)return;let r=Lr()?za.replace(/<kbd>Ctrl<\/kbd>/g,"<kbd>\u2318</kbd>"):za;e.innerHTML=r,ys(e),WM(e),hs(e,t)},oO=()=>{let e=xh(),t=Eh();if(!e||!t)return;let r=Lr()?Wa.replace(/<kbd>Ctrl<\/kbd>/g,"<kbd>\u2318</kbd>"):Wa;e.innerHTML=r,e.classList.add("hidden"),ys(e),hs(e,t)},WM=e=>{if(!Ge||Ge.getLanguage()==="en")return;let t=o=>new Promise(n=>{let s=Number(getComputedStyle(o).getPropertyValue("font-size").replace("px","")),i=Number(getComputedStyle(o).getPropertyValue("--label-max-width").replace("px",""))||188;if(o.clientWidth<=i||s<=0)return n();o.style.fontSize=s-1+"px",requestAnimationFrame(async()=>{await t(o),n()})}),r=async()=>{e.style.display="block",e.style.visibility="hidden",e.children[0].style.display="block";for(let o of e.querySelectorAll("span"))await t(o);e.style.display="",e.style.visibility="",e.children[0].style.display=""};setTimeout(r,1e3),setTimeout(r,2e3),setTimeout(r,3e3)},nO=()=>{document.querySelectorAll(".app-menu-button").forEach(e=>{C.addEventListener(e,"click",()=>{e.focus()})})},sO=()=>{Hs().forEach(o=>{C.addEventListener(o,"change",async()=>{let n=o.dataset.config;if(!(!n||!(n in x())&&n!=="autosync")){if(n==="theme")se({...x(),theme:o.checked?"dark":"light"}),Yr(x().theme,x().editorTheme);else if(n==="layout"){let s=o.readOnly?"vertical":o.checked?void 0:"horizontal";se({...x(),layout:s}),Ma(s)}else if(n==="autosync"){let s=(await Zr())?.sync;s?.repo&&await Aa({sync:{...s,autosync:o.checked}}),o.checked&&!s?.repo&&(o.checked=!1,await de("sync"))}else se({...x(),[n]:o.checked});ze(wo(x())),n==="autoupdate"&&x()[n]&&await Je(),n==="emmet"&&await qM(x()),n==="welcome"&&ze({welcome:o.checked}),n==="recoverUnsaved"&&(ze({recoverUnsaved:o.checked}),wr()),n==="showSpacing"&&(ze({showSpacing:o.checked}),x().autoupdate&&await Je())}})});let t=dl();C.addEventListener(t,"input",()=>{let o=cl(),n=Number(t.value);o.textContent=String(n/1e3),se({...x(),delay:n}),ze(wo(x()))});let r=ll();Xw.forEach(o=>{let n=o.name==="custom",s=document.createElement("label");s.htmlFor="theme-color-"+o.name,n&&(s.title=window.deps.translateString("app.themeColors.custom","Custom")),o.themeColor&&(s.style.backgroundColor=o.themeColor);let i=document.createElement("input");i.type=n?"color":"radio",i.id="theme-color-"+o.name,i.name="theme-color",s.appendChild(i),r.appendChild(s),C.addEventListener(i,"input",()=>{ze({themeColor:n?i.value:o.themeColor}),cm()})})},iO=()=>{let e=Zo(),t=Yo();e&&C.addEventListener(e,"click",()=>{ze({theme:"dark"}),Yr("dark",x().editorTheme)}),t&&C.addEventListener(t,"click",()=>{ze({theme:"light"}),Yr("light",x().editorTheme)})},aO=()=>{C.addEventListener(Ir(),"click",Ku,!1),me("login",Ku)},lO=()=>{C.addEventListener(jr(),"click",PN,!1)},cO=()=>{let e=my(C,()=>r()),t=Fh(e),r=async()=>{let s=Qe()?.defaultTemplate,i=(await J.templates?.getList()||[]).sort((l,d)=>l.id===s?-1:d.id===s?1:0);if(i.length===0){t.innerHTML=bl();return}t.innerHTML="";let a=document.createElement("ul");a.classList.add("open-list"),t.appendChild(a),i.forEach(l=>{let{link:d,deleteButton:c,setAsDefaultLink:m,removeDefaultLink:h}=cy(l,a,Ur,X,!0);s===l.id&&d.parentElement?.classList.add("selected"),C.addEventListener(d,"click",async v=>{v.preventDefault();let p=d.dataset.id||"",f=(await J.templates?.getItem(p))?.config;f&&(await Ut({...f,title:Z.title}),He=""),_.close()},!1),C.addEventListener(c,"click",async()=>{Y.confirm(window.deps.translateString("core.template.delete",'Delete template "{{item}}"?',{item:l.title}),async()=>{if(!J.templates)return;Qe()?.defaultTemplate===l.id&&jt({defaultTemplate:null}),await J.templates.deleteItem(l.id);let v=c.parentElement;v.classList.add("hidden"),setTimeout(async()=>{v.style.display="none",J.templates&&(await J.templates.getList()).length===0&&(a.remove(),t.innerHTML=bl())},500)})},!1),C.addEventListener(m,"click",v=>{v.stopPropagation(),jt({defaultTemplate:l.id}),[...a.children].forEach(p=>{p.classList.remove("selected")}),d.parentElement?.classList.add("selected")},!1),C.addEventListener(h,"click",v=>{v.stopPropagation(),jt({defaultTemplate:null}),d.parentElement?.classList.remove("selected")},!1)})},o,n=async()=>{let s=$h(e),i=s?.firstElementChild;o||NM().then(a=>{o=a,i?.remove(),a.forEach(l=>{let d=fy(l,s,O);C.addEventListener(d,"click",c=>{c.preventDefault(),gs(l.name,!1)},!1)})}).catch(()=>{i?.remove(),Y.error(window.deps.translateString("core.error.failedToLoadTemplates","Failed loading starter templates"))}),setTimeout(()=>Bh(e)?.click()),_.show(e,{isAsync:!0})};C.addEventListener(Qo(),"click",Kr(n),!1),me("new",Kr(n))},dO=()=>{C.addEventListener(en(),"click",async e=>{e.preventDefault(),await ms(!0)})},pO=()=>{C.addEventListener(tn(),"click",async e=>{e.preventDefault(),await AN()})},uO=()=>{C.addEventListener(Bs(),"click",async e=>{e.preventDefault(),J.templates&&(await J.templates.addItem(x()),Y.success(window.deps.translateString("core.template.saved","Saved as a new template")))})},mO=()=>{let e=async()=>{_.show(xe(),{size:"small"}),await(await import(O+"open.600e88b545557bf982a757e9d1fa4b26.js")).createSavedProjectsList({eventsManager:C,getContentConfig:Te,getProjectId:()=>He,loadConfig:Ut,modal:_,notifications:Y,projectStorage:J.projects||Jt,setProjectId:r=>He=r,showScreen:de,languages:ye,getLanguageTitle:Ur,getLanguageByAlias:X})};C.addEventListener(Xo(),"click",Kr(e),!1),me("open",Kr(e))},fO=()=>{let e=async()=>{_.show(xe(),{size:"small",autoFocus:!1}),(await import(O+"import.96efa1f12cc1cef8127fa786366fef02.js")).createImportUI({baseUrl:O,modal:_,notifications:Y,eventsManager:C,getUser:qe?.getUser,loadConfig:Ut,populateConfig:Kl,projectStorage:J.projects,showScreen:de})};C.addEventListener(on(),"click",Kr(e),!1),me("import",Kr(e))},gO=()=>{let e,t=async()=>{e=e||await import(O+"export.8ea76c083ace53253a43a71cd97eeec1.js")};C.addEventListener(qs(),"click",r=>{r.preventDefault(),ut(),cb(x())},!1),C.addEventListener(Ns(),"click",async r=>{r.preventDefault(),ut(),await t(),e.exportConfig(x(),O,"html",await It({forExport:!0}))},!1),C.addEventListener(Os(),"click",async r=>{r.preventDefault(),ut();let o=await It({forExport:!0});await t(),e.exportConfig(x(),O,"src",{html:o,deps:{getLanguageExtension:Le}})},!1),C.addEventListener(Rs(),"click",async()=>{ut(),wn(oe(),Te(x()))||await It({});let r=So(),o={markup:r.markup.compiled,style:r.style.compiled,script:r.script.compiled};await t(),e.exportConfig(x(),O,"codepen",{baseUrl:O,compiled:o,deps:{getLanguageExtension:Le,getLanguageCompiler:Ue}})},!1),C.addEventListener(_s(),"click",async()=>{ut(),wn(oe(),Te(x()))||await It({});let r=So(),o={markup:r.markup.compiled,style:r.style.compiled,script:r.script.compiled};await t(),e.exportConfig(x(),O,"jsfiddle",{baseUrl:O,compiled:o,deps:{getLanguageExtension:Le,getLanguageCompiler:Ue}})},!1),C.addEventListener(Ds(),"click",async()=>{ut();let r=await Ua();r&&(Y.info(window.deps.translateString("core.export.gist","Creating a public GitHub gist...")),await t(),e.exportConfig(x(),O,"githubGist",{user:r,deps:{getLanguageExtension:Le}}))},!1)},hO=()=>{let e=async()=>{_.show(xe(),{size:"small"});let t=await import(O+"share.43f57168f755c3175f7461855fd85195.js"),r=(n=!1,s=!1)=>Qr(n,!0,!1,!0,s),o=await t.createShareContainer(r,O,C);_.show(o,{size:"small"})};C.addEventListener(rn(),"click",async t=>{t.preventDefault(),await e()},!1),me("share",e)},yO=()=>{let e=async()=>{let t=await Ua();if(!t){Y.error(window.deps.translateString("generic.error.authentication","Authentication error!"));return}_.show(xe(),{size:"small",autoFocus:!1});let r=async()=>{if(He)return(await Zr())?.deploys?.[He]},o=async s=>{He&&await Aa({deploys:{...(await Zr())?.deploys,[He]:s}})};(await import(O+"deploy.fb344a204b7df850b7dc81ad0008f498.js")).createDeployUI({modal:_,notifications:Y,eventsManager:C,user:t,deployRepo:await r(),deps:{getResultPage:It,getCache:oe,getConfig:x,getContentConfig:Te,getLanguageExtension:Le,getLanguageCompiler:Ue,setProjectDeployRepo:o}})};C.addEventListener(Vs(),"click",e,!1),me("deploy",e)},vO=()=>{if(B)return;let e=async()=>{let t=await Ua();if(!t){Y.error(window.deps.translateString("generic.error.authentication","Authentication error!"));return}_.show(xe(),{size:"small",autoFocus:!1}),(await import(O+"sync-ui.870ed4a8ed5103a9ed699f4a77845fb0.js")).createSyncUI({baseUrl:O,modal:_,notifications:Y,eventsManager:C,user:t,deps:{getSyncData:async()=>(await Zr())?.sync||null,setSyncData:async o=>{await Aa({sync:o}),fs(x())}}})};C.addEventListener(Lh(),"click",e,!1),me("sync",e)},wO=async()=>{if(B)return;let e=1e3*60,t=30*e,r,o=async()=>{if(Ca){clearInterval(r);return}let s=(await Zr())?.sync;if(!s?.autosync||Date.now()-s.lastSync<t)return;let i=await qe?.getUser(),a=s.repo;if(!i||!a)return;let l=await import(O+"sync.bf1450a5c977bc26aa5dba4dc7fd50e6.js");l.init(O),await l.sync({user:i,repo:a,newRepo:!1})&&Aa({sync:{...s,lastSync:Date.now()}})};(()=>{setTimeout(()=>{o(),r=window.setInterval(o,t)},e)})()},bO=async()=>{if(B)return;let e=!1,t=()=>{n?.unsubscribe(),s?.unsubscribe(),i?.unsubscribe()},r=()=>{if(e)return t();setTimeout(async()=>{e=!0,navigator.storage&&navigator.storage.persist&&await navigator.storage.persist()},2e3)},o=a=>{let l=a?.slice(0,5).map(d=>({id:d.id,title:d.config.title,description:d.config.description}))||[];jt({recentProjects:l})},n=J.projects?.subscribe(r),s=J.templates?.subscribe(r),i=J.assets?.subscribe(r);J.projects?.subscribe(o)},SO=()=>{let e=async()=>{_.show(xe(),{size:"small"}),(await import(O+"backup.654816164a6baf3af578bf81775b1857.js")).createBackupUI({baseUrl:O,modal:_,notifications:Y,eventsManager:C,stores:J,deps:{loadUserConfig:im}})};C.addEventListener(nn(),"click",e,!1),me("backup",e)},xO=()=>{if(B)return;let e=async()=>{_.show(xe(),{size:"small"}),(await import(O+"broadcast.6452ef611a438e4067056d5dd690da01.js")).createBroadcastUI({modal:_,notifications:Y,eventsManager:C,deps:{getBroadcastData:()=>({...We,serverUrl:Qe()?.broadcast?.serverUrl||""}),setBroadcastData:r=>{DN(r),jt({broadcast:{...Qe()?.broadcast,serverUrl:r.serverUrl}})},broadcast:BM}})};C.addEventListener(Gs(),"click",e,!1),me("broadcast",e)},EO=()=>{if(B)return;let e=async()=>{_.show(xe(),{size:"small"});let t=document.createElement("div");t.innerHTML=Wm.replace(/{{baseUrl}}/g,O);let r=t.firstChild;_.show(r);let o=Xh(r);o.checked=x().welcome,C.addEventListener(Wh(r),"click",()=>{de("new")}),C.addEventListener(Vh(r),"click",()=>{de("open")}),C.addEventListener(Gh(r),"click",()=>{de("import")}),C.addEventListener(Yh(r),"click",()=>{de("open")}),C.addEventListener(Qh(r),"click",()=>{de("new")}),C.addEventListener(o,"change",()=>{ze({welcome:o.checked}),fs(x())}),Zu||HM(!0);let n=async v=>{_.show(xe(),{size:"small"});let p=(await J.projects?.getItem(v))?.config;p&&(await Ut(p),He=v),_.close()},s=Qe()?.recentProjects?.slice(0,5).reverse()||[],i=ty(r),a=ry(r);if(s.length===0&&i&&a)a.style.display="none",i.classList.add("no-recent");else{let v=oy(r);s.forEach(p=>{let f=document.createElement("li");f.classList.add("overflow-ellipsis");let g=document.createElement("a");g.textContent=p.title,g.title=p.description.trim()||p.title,g.href="#",f.appendChild(g),v?.prepend(f),C.addEventListener(g,"click",()=>Ju().then(w=>{w&&n(p.id)}))})}let l=Qe()?.defaultTemplate;if(!l)Kh(r).style.display="inline-block";else{let v=Zh(r);C.addEventListener(v,"click",async p=>{p.preventDefault(),_.show(xe(),{size:"small"}),await PM(l),_.close()},!1),v.style.display="inline-block"}Jh(r).style.visibility="visible";let d=[{name:"blank",title:window.deps.translateString("core.template.blank","Blank Project")},{name:"javascript",title:window.deps.translateString("core.template.javascript","JavaScript Starter")},{name:"typescript",title:window.deps.translateString("core.template.typescript","TypeScript Starter")},{name:"react",title:window.deps.translateString("core.template.react","React Starter")},{name:"vue",title:window.deps.translateString("core.template.vue","Vue 3 Starter")}],c=Qe()?.recentTemplates||[],m=[...c,...d.filter(v=>!c.map(p=>p.name).includes(v.name))].slice(0,5).reverse(),h=ny(r);m.forEach(v=>{let p=document.createElement("li"),f=document.createElement("a");f.textContent=v.title,f.href="#",p.appendChild(f),h?.prepend(p),C.addEventListener(f,"click",()=>Ju().then(g=>{g&&gs(v.name)}))})};C.addEventListener(Js(),"click",e),me("welcome",e)},LO=()=>{if(B)return;let e=async()=>{let t=$M(!1),r="https://github.com/live-codes/livecodes",o=document.createElement("div");o.innerHTML=Vm.replace(/{{COMMIT_URL}}/g,`${r}/commit/${t.commitSHA}`).replace(/{{APP_URL}}/g,t.appUrl).replace(/{{SDK_URL}}/g,t.sdkUrl).replace("livecodes-text-logo-nowrap.svg",()=>x().theme==="dark"?"livecodes-text-logo-nowrap-light.svg":"livecodes-text-logo-nowrap.svg");let n=o.firstChild;_.show(n)};C.addEventListener(Ks(),"click",e),me("about",e)},TO=()=>{let e=async(r,o,n,s,i)=>{let a="";try{a=JSON.parse(Da(s))}catch{a=s}se({...x(),title:r,description:o,head:n,htmlAttrs:a,tags:i}),x().autoupdate&&await Je(),br()},t=()=>Pg(x(),J.projects||Jt,_,e);C.addEventListener(Qs(),"click",t,!1),me("info",t)},CO=()=>{let e=async(n=!1)=>(await Qr(!0,!0,!1,!1,n)).url,t=x(),r=async n=>Ze({baseUrl:O,container:n,editorId:"embed",getLanguageExtension:Le,isEmbed:B,isLite:mt,isHeadless:zt,language:"html",mapLanguage:Ke,readonly:!0,value:"",..._e(t),editor:"codejar",getFormatterConfig:()=>Dt(x()),getFontFamily:xt}),o=async()=>{_.show(xe(),{size:"small"}),await(await import(O+"embed-ui.a67b1ddf4c8e4d64cc6dac8634379f90.js")).createEmbedUI({config:Te(x()),editorLanguages:{markup:Ur(x().markup.language),style:Ur(x().style.language),script:Ur(x().script.language)},modal:_,notifications:Y,eventsManager:C,createEditorFn:r,getUrlFn:e})};C.addEventListener(zs(),"click",o,!1),me("embed",o)},dm=e=>{if(!e)return;let t=e.editor!=null&&e.editor!==x().editor;ze(e);let r=x();Yr(r.theme,r.editorTheme),t?Xu(r):lm().forEach(o=>{o.changeSettings(r)}),CM(r.activeEditor||"markup"),Ve().focus()},kO=()=>{let e=async({scrollToSelector:t=""}={})=>{_.show(xe(),{size:"small"}),await(await import(O+"editor-settings.7f76c668f308e7ccf462aff4735e77ee.js")).createEditorSettingsUI({baseUrl:O,modal:_,eventsManager:C,scrollToSelector:t,deps:{getUserConfig:()=>wo(x()),createEditor:Ze,loadTypes:async o=>ja.load(o,{}),getFormatFn:()=>sr.getFormatFn("jsx"),changeSettings:dm}})};C.addEventListener(Ws(),"click",()=>e(),!1),me("editor-settings",e)},MO=()=>{let e=()=>Qe()?.codeToImagePreset,t=o=>{jt({codeToImagePreset:o})};me("code-to-image",async()=>{_.show(xe());let o=Ve(),n=c=>Ze({..._e(x()),baseUrl:O,editor:"codejar",theme:"dark",wordWrap:!0,language:o.getLanguage(),value:o.getValue(),readonly:!1,editorId:"codeToImage",isEmbed:!1,isLite:mt,isHeadless:!1,getLanguageExtension:Le,mapLanguage:Ke,getFormatterConfig:()=>Dt(x()),getFontFamily:xt,...c}),s=(location.origin+location.pathname).split("/").slice(0,-1).join("/"),i=async c=>{let m="/?x=id/"+await Al.shareProject(c);return s+m},a=await import(O+"code-to-image.de7ba6dd58e67bc5dcccb1f78ec33a11.js"),l=x().title,d=l.trim()!==""&&l!==Z.title?l:"code-to-image";await a.createCodeToImageUI({baseUrl:O,currentUrl:s,fileName:Oa(d,"-").toLowerCase(),editorId:ce(o.getLanguage())||"script",modal:_,notifications:Y,eventsManager:C,deps:{createEditor:n,getFormatFn:()=>sr.getFormatFn(o.getLanguage()),getShareUrl:i,getSavedPreset:e,savePreset:t}})})},IO=()=>{let e,t=async()=>{_.show(xe(),{size:"small"}),e=e||await import(O+"assets.08d4d8674a2fdeb0bd201ce95fd7d26f.js")},r=async()=>{await t(),await e.createAssetsList({eventsManager:C,modal:_,notifications:Y,assetsStorage:J.assets||Jt,showScreen:de,baseUrl:O})},o=async n=>{await t();let s=await import(O+"deploy.fb344a204b7df850b7dc81ad0008f498.js"),i=async(a,l)=>s.deployFile({file:l,user:a,repo:"livecodes-assets",branch:"gh-pages",message:"add "+l.path,description:"LiveCodes assets",readmeContent:"#LiveCodes assets"});_.show(e.createAddAssetContainer({eventsManager:C,notifications:Y,assetsStorage:J.assets||Jt,showScreen:de,deployAsset:i,getUser:Ua,baseUrl:O,activeTab:n}),{isAsync:!0})};C.addEventListener(Xs(),"click",r,!1),me("assets",r),me("add-asset",n=>{setTimeout(()=>o(n))})},jO=()=>{let e,t=async()=>{_.show(xe(),{size:"small"}),e=e||await import(O+"snippets.48889eb8642cb01f0a7d40454952def6.js")},r=async s=>Ze({baseUrl:O,container:null,editorId:"snippet",getLanguageExtension:Le,isEmbed:B,isLite:mt,isHeadless:zt,language:"html",value:"",readonly:x().readonly,mapLanguage:Ke,getFormatterConfig:()=>Dt(x()),getFontFamily:xt,..._e(x()),...s}),o=async()=>{await t(),await e.createSnippetsList({eventsManager:C,modal:_,notifications:Y,snippetsStorage:J.snippets||Jt,deps:{createEditorFn:r,showScreen:de}})},n=async s=>{await t();let i=await e.createAddSnippetContainer({snippetId:s,eventsManager:C,notifications:Y,snippetsStorage:J.snippets||Jt,showScreen:de,deps:{createEditorFn:r,getAppData:Qe,setAppData:jt}});_.show(i,{isAsync:!0})};C.addEventListener(ei(),"click",o,!1),me("snippets",o),me("add-snippet",s=>{setTimeout(()=>n(s))})},VM=()=>{let e=async()=>{let t=async()=>{jM(),await Sr(),x().autoupdate&&await Je(),br()};_.show(xe(),{size:"small",autoFocus:!1}),(await import(O+"resources.b87896f27455998fea5e8f48294c7228.js")).createExternalResourcesUI({baseUrl:O,modal:_,eventsManager:C,deps:{getConfig:x,setConfig:se,loadResources:t}})};C.addEventListener($s(),"click",e,!1),me("resources",e)},UO=()=>{let e=async()=>{let t=x(),r,o=document.createElement("div");o.innerHTML=Fm;let n=o.firstChild;_.show(n,{onClose:()=>r?.destroy(),autoFocus:!1});let s={baseUrl:O,mode:t.mode,readonly:t.readonly,editorId:"customSettings",container:Nh(),language:"json",value:Vo({imports:{},...t.customSettings},!0),isEmbed:B,isLite:mt,isHeadless:zt,mapLanguage:Ke,getLanguageExtension:Le,getFormatterConfig:()=>Dt(x()),getFontFamily:xt,..._e(t)};r=await Ze(s),r?.focus(),C.addEventListener(Oh(),"click",async()=>{let i={},a=r?.getValue()||"{}";try{i=JSON.parse(a)}catch{try{i=JSON.parse(Da(a))}catch{Y.error(window.deps.translateString("core.error.failedToParseSettings","Failed parsing settings as JSON"));return}}JSON.stringify(i)!==JSON.stringify(x().customSettings)&&(it.clearCache(),se({...x(),customSettings:i}),UM(),await Sr(),i.types&&ps(W,x(),!0,!0)),r?.destroy(),_.close(),x().autoupdate&&await Je(),br()})};C.addEventListener(Fs(),"click",e,!1),me("custom-settings",async()=>setTimeout(e))},AO=()=>{C.addEventListener(window,"message",e=>{if(e.origin!==lt.getOrigin()||e.data.type!=="console")return;let t;if(nr.console.hasSubscribers()){let r=e.data,o=r.method==="clear"?[]:r.args?.map?.(n=>n.content??"")??[];t=new CustomEvent(De.console,{detail:{method:r.method,args:o}})}else t=new CustomEvent(De.console);document.dispatchEvent(t),parent.dispatchEvent(t)})},PO=()=>{C.addEventListener(window,"message",e=>{if(e.origin!==lt.getOrigin()||e.data.type!=="testResults")return;let t=e.data.payload?.results,r=e.data.payload?.error;Array.isArray(t)&&(t=t.map(n=>(n.status==="done"&&(n.status=n.errors?.length===0?"pass":"fail"),n))),G?.tests?.showResults({results:t,error:r}),nr.tests.notify({results:t,error:r});let o;nr.tests.hasSubscribers()?o=new CustomEvent(De.testResults,{detail:JSON.parse(JSON.stringify({results:t,error:r}))}):o=new CustomEvent(De.testResults),document.dispatchEvent(o),parent.dispatchEvent(o),$o(!1)})},HO=()=>{x().autotest&&uo()?.classList.remove("disabled"),C.addEventListener(sn(),"click",e=>{e.preventDefault(),G?.tests&&(ve?.show("output"),G.setActiveTool("tests"),G.getStatus()==="closed"&&G.open(),cs())},!1),C.addEventListener(uo(),"click",e=>{e.preventDefault(),ze({autotest:!x().autotest}),x().autotest?(uo()?.classList.remove("disabled"),cs()):uo()?.classList.add("disabled")},!1)},qO=()=>{let e=async()=>{let t=x(),r,o=document.createElement("div");o.innerHTML=zm;let n=o.firstChild;_.show(n,{onClose:()=>r?.destroy()});let s=t.tests?.language||"tsx",i="jsx",a={baseUrl:O,mode:t.mode,readonly:t.readonly,editorId:"tests",container:Dh(),language:i,value:t.tests?.content||"",isEmbed:B,isLite:mt,isHeadless:zt,mapLanguage:Ke,getLanguageExtension:Le,getFormatterConfig:()=>Dt(x()),getFontFamily:xt,..._e(t)};if(r=await Ze(a),sr.getFormatFn(i).then(l=>r?.registerFormatter(l)),r?.focus(),typeof r?.addTypes=="function"){let l={jest:{url:Qf,autoload:!0,declareAsGlobal:!0}},d=!0,c=()=>{ja.load(r?.getValue()||"",l,d).then(m=>{m.forEach(h=>r?.addTypes?.(h))}),d=!1};r.onContentChanged(Xr(c,()=>x().delay??Z.delay)),c()}C.addEventListener(Rh(),"click",async()=>{let l=r?.getValue()||"";l!==x().tests?.content&&(it.clearCache(),se({...x(),tests:{language:s,content:l}}),await Sr()),_.close(),G?.tests?.resetTests(),await cs(),br()})};C.addEventListener(_h(),"click",t=>{t.preventDefault(),e()},!1),me("test-editor",e)},NO=()=>{C.addEventListener(window,"message",t=>{let r=ur();if(!r||t.source!==r.contentWindow)return;t.data.type==="loading"&&$o(t.data.payload);let o=t.data.payload?.language;if(t.data.type==="compiled"&&o&&as().includes(o)){let n=ce(o);if(!n)return;yn(n,o,t.data.payload.content||""),Fo()}});let e=t=>{let r=ur();if(!r||t.source!==r.contentWindow||t.data.type!=="loading"||t.data.payload!==!1||x().mode!=="result")return;fl().classList.remove("hidden"),C.removeEventListener(window,"message",e)};C.addEventListener(window,"message",e)},OO=()=>{let e=document.createElement("div");e.id="result-popup-btn",e.classList.add("tool-buttons"),e.title=window.deps.translateString("core.result.hint","Show result in new window"),e.style.pointerEvents="all";let t='<i class="icon-window-new"></i>';e.innerHTML=`<button id="show-result">${t}</button>`;let r,o=async()=>{if(Ft&&!Ft.closed){Ft.focus();return}e.classList.add("loading"),r=r||URL.createObjectURL(new Blob([Xm],{type:"text/html"})),Ft=window.open(r+"#---TEMPORARY-URL---","livecodes-result","width=800,height=400"),C.addEventListener(window,"message",async s=>{s.source===Ft&&(s.data.type==="loaded"&&Ft?.postMessage({url:lt.getResultUrl()},location.origin),s.data.type==="ready"&&Ft?.postMessage({result:await It({singleFile:!0})},location.origin))}),e.classList.remove("loading")};C.addEventListener(e,"click",o),C.addEventListener(e,"touchstart",o),po()?.appendChild(e)},DO=()=>{let e=document.createElement("div");e.id="zoom-button",e.classList.add("tool-buttons"),e.title=window.deps.translateString("core.zoom.hint","Zoom")+" (Ctrl/Cmd + Alt + Z)",e.style.pointerEvents="all",e.innerHTML=`
|
|
<button class="text">
|
|
<span id="zoom-value">${String(Number(x().zoom))}</span>
|
|
×
|
|
</button>`;let t=()=>{let r=x(),o=r.zoom,n=o===1?.5:o===.5?.25:1;se({...r,zoom:n}),Ia(n)};C.addEventListener(e,"click",t),C.addEventListener(e,"touchstart",t),po()?.appendChild(e)},RO=()=>{let e=document.createElement("div");e.id="broadcast-status-btn",e.classList.add("tool-buttons"),e.title=window.deps.translateString("core.broadcast.heading","Broadcast"),e.style.pointerEvents="all";let t='<i class="icon-broadcast"></i>';e.innerHTML=`<button id="broadcast-status">${t}<span class="mark"></span></button>`;let r=()=>{de("broadcast")};C.addEventListener(e,"click",r),C.addEventListener(e,"touchstart",r),po()?.appendChild(e)},_O=async()=>{let e=Us(),t=e.querySelector("img"),r=(await import(Yf)).default;if(!r.fullscreenEnabled){e.style.visibility="hidden";return}C.addEventListener(r,"fullscreenchange",async()=>{if(t){if(!r.fullscreenElement){t.src=t.src.replace("collapse.svg","expand.svg"),e.title=window.deps.translateString("core.fullScreen.enter","Full Screen");return}t.src=t.src.replace("expand.svg","collapse.svg"),e.title=window.deps.translateString("core.fullScreen.exit","Exit Full Screen")}}),C.addEventListener(e,"click",async()=>{if(r.fullscreenElement){await r.exitFullscreen();return}await r.requestFullscreen(document.body)})},BO=()=>{B||(C.addEventListener(document,"drop",e=>{e.preventDefault();let t=e.dataTransfer?.files;t?.length&&yb(t,Kl,C).then(Ut).catch(r=>{Y.error(r)})}),C.addEventListener(document,"dragover",e=>{e.preventDefault()}))},$O=()=>{let e=fl(),t=e.querySelector("a"),r=e.querySelector("#drawer-close");C.addEventListener(t,"click",async o=>{o.preventDefault(),window.open((await Qr(!1,!0,!1)).url,"_blank")}),C.addEventListener(r,"click",async()=>{e.classList.add("hidden")})},FO=()=>{window.onbeforeunload=()=>{if(!ls)return window.deps.translateString("core.unload.notSaved","Changes you made may not be saved.")}},zO=async()=>{if(mt)return;let e=Xr(t=>{se({...x(),tools:t})},100);G=bM(x(),O,W,C,B,cs,e),await G.load(),HO(),DO(),pr().classList.remove("full")},WO=(e,t)=>{if(G){if(t==="result"&&(!e||e.status===""||e.status==="none")){G.hide();return}if(e?.active&&G.setActiveTool(e.active),!e){G.close();return}if(e.status==="none"){G.hide();return}e.status==="full"&&G.maximize(),e.status==="open"&&G.open(),(e.status==="closed"||e.status==="")&&G.close()}},GM=async e=>{let t=e&&e!=="auto"?e:navigator.language;if(zt||B&&!e||!t||t.startsWith("en")||!Object.keys(cn).find(o=>o.startsWith(t)))return;se({...x(),appLanguage:t}),Ge=await(await import(O+"i18n.1ecd3f969ce0ddac73e78de2c211faef.js")).init(t,O),window.deps.translateString=Ge.translateString},VO=()=>{Ge&&(C.addEventListener(document.body,De.i18n,e=>{let t=e.target;Ge?.translate(t)}),ys(document.body))},ys=e=>{e.dispatchEvent(new CustomEvent(De.i18n,{bubbles:!0}))},GO=(e,t,...r)=>{let o=r[0],{isHTML:n,...s}=o??{};if(!s)return t;let i=t;for(let[a,l]of Object.entries({...s,...Ht}))i=i.replaceAll(`{{${a}}}`,l);return i},JM=({appLanguage:e,reload:t=!1,url:r}={})=>{let o=e??Ge?.getLanguage()??"en";if(document.documentElement.lang=o,document.documentElement.dir=Ge?.getLanguageDirection()??"ltr",!t&&(B||fe.appLanguage))return;let n=(i,a="")=>Object.keys(i).reduce((l,d)=>{let c=i[d];return typeof c=="object"?{...l,...n(c,`${a}${d}.`)}:{...l,[`${a}${d}`]:c}},{}),s=!B&&Ge?n(Ge.translateKey("splash",{returnObjects:!0})):{};parent.postMessage({args:"i18n",payload:{data:s,reload:t,lang:o,url:r}},location.origin)},KM=async e=>{!Ge&&e!=="en"&&(_.show(xe(),{size:"small"}),await GM(e)),await Ge?.changeLanguage(e);let t=(await Qr(!1,!1)).url;ls=!0,JM({appLanguage:e,reload:!0,url:t})},JO=()=>{Y=Zw(),_=Qw({translate:ys,isEmbed:B,onClose:()=>{B||Ve().focus()}}),ve=wl(),ja=xM(O),JN(),BN(),FM(),$N(),FN(),zN(),zM(),WN(),KN(),ZN(),YN(),XN(),eO(),NO(),PO(),AO(),VO(),_O(),B&&VM()},KO=async()=>{_N(),tO(),rO(),oO(),sO(),QN(),nO(),iO(),TO(),UO(),qO(),aO(),lO(),cO(),dO(),pO(),uO(),mO(),hO(),CO(),fO(),gO(),yO(),IO(),jO(),kO(),MO(),vO(),wO(),bO(),VM(),SO(),xO(),EO(),LO(),OO(),RO(),BO(),GN(),VN(),FO(),RN()},ZO=e=>{document.body.classList.add("embed"),$O();let t=Cs();t.title=window.deps.translateString("generic.embed.logoHint","Edit on LiveCodes \u{1F855}"),e.addEventListener(t,"click",async r=>{r.preventDefault(),window.open((await Qr(!1,!0,!1)).url,"_blank")})},YO=()=>{se({...x(),emmet:!1,tools:{enabled:[],active:"",status:"none"}}),Cr().style.display="none"},QO=e=>{se({...e,tools:{enabled:["console"],active:"console",status:e.tools?.status||"closed"}})},XO=({config:e,isEmbed:t,isLite:r})=>{e.mode==="codeblock"&&se({...e,readonly:!0}),r&&YO(),(t||e.mode==="result")&&ZO(C),e.mode==="simple"&&QO(e)},ds=async e=>{let{config:t=Z,sdkConfig:r,configUrl:o,template:n}=e,s=e.importUrl,i=v=>_o.filter(p=>v[p]?.contentUrl&&!v[p]?.content||v[p]?.hiddenContentUrl&&!v[p]?.hiddenContent).length>0,a=Jo(o);if((s?.startsWith("config")||s?.startsWith("params"))&&(s=""),!a&&!n&&!s&&!i(t))return!1;let l=window.deps.translateString("core.import.loading","Loading Project...");Y.info(l);let d={},c={},m={},h={};if(n){let v=await Sb(n,t,O);v?d=Pr(v):Y.error(window.deps.translateString("core.error.couldNotLoadTemplate","Could not load template: {{template}}",{template:n}))}if(s){let v=s;if(s.startsWith("http")||s.startsWith("data"))try{v=new URL(s).href}catch{v=decodeURIComponent(s)}let p;gb(v)&&!B&&(await am(),p=await qe?.getUser()),c=await(await import(O+"import.96efa1f12cc1cef8127fa786366fef02.js")).importCode(v,fe,t,p,O),Object.keys(c).length===0&&Y.error(window.deps.translateString("core.error.invalidImport","Invalid import URL"))}if(i(t)){let v=await Promise.all(_o.map(async p=>{let f=t[p].contentUrl,g=t[p].hiddenContentUrl,[w,S]=await Promise.all([f&&Jo(f)&&!t[p].content?fetch(f).then(u=>u.text()):Promise.resolve(""),g&&Jo(g)&&!t[p].hiddenContent?fetch(g).then(u=>u.text()):Promise.resolve("")]);return{...t[p],...w?{content:w}:{},...S?{hiddenContent:S}:{}}}));m={markup:v[0],style:v[1],script:v[2]}}return a&&(h=Pr(await fetch(a).then(v=>v.json()).catch(()=>({}))),i(h))?ds({...e,config:{...t,...h}}):(await Ut(vo({...t,...d,...c,...h,...r,...m}),parent.location.href,!1),RM(),!0)},eD=async()=>{if(B||fe["no-defaults"]||fe.languages||fe.template||fe.config||fe.active||fe.activeEditor||X(fe.lang)||X(fe.language))return;for(let r of Object.keys(fe))if(X(r))return;if(x().welcome&&!fe.screen&&x().mode==="full"||fe.screen==="welcome"){de("welcome");return}let e=Qe()?.defaultTemplate;if(e){Y.info(window.deps.translateString("core.loadDefaults.template","Loading default template")),await PM(e);return}let t=Qe()?.language;t&&(Bo=!0,await rm(t),Bo=!1),wr(!0)},tD=async(e,t)=>{let r=fe.x||parent.location.hash.substring(1),o=e?.config??{},n=Jl(r),s=Jl(fe.config??""),i={...n,...o,...s};O=e?.baseUrl??"/livecodes/",zt=e?.isHeadless??!1,mt=fe.mode==="lite"||fe.lite!=null&&fe.lite!==!1||i.mode==="lite"||!1,B=zt||mt||(e?.isEmbed??!1)||i.mode==="simple"||fe.mode==="simple",window.history.replaceState(null,"","./"),await Xy(J,B);let a=J.userConfig?.getValue()??{};se(vo({...x(),...a,...i})),XO({config:x(),isEmbed:B,isLite:mt}),it=window.compiler=await ql({config:x(),baseUrl:O,eventsManager:C}),sr=db(x(),O,B),Jr=ab({baseUrl:O,eventsManager:C}),await GM(x().appLanguage),Pw(x(),O,C,NN,gs,ds,hs),await Qu(x()),await t?.(),im(!0),LN(),await TM(pr()),Yr(x().theme,x().editorTheme),B||(am().then(()=>DM()),HM()),ds({config:x(),sdkConfig:s,configUrl:fe.config,template:fe.template,importUrl:Object.keys(n).length>0?"":r}).then(async l=>{l||(RM(),await sm(x(),!1)),Zu=!0}),qM(x()),JM()},rD=()=>{let e=async(p=!1)=>(await Qr(p,!0,!1)).url,t=async(p=!1)=>{ut();let f=p?Te(x()):x();return JSON.parse(JSON.stringify(f))},r=async p=>{let f=x(),g=vo({...f,...p}),w=p.appLanguage&&p.appLanguage!==Ge?.getLanguage(),S=p.mode!=null&&p.mode!=="editor"&&p.mode!=="codeblock",u=S&&it.isFake,b=!!(p.editor!=null&&!(p.editor in W.markup)||p.mode!=null&&(p.mode!=="result"&&W.markup.isFake||p.mode!=="codeblock"&&W.markup.codejar)),E=$a(p,f).every(P=>["markup.content","style.content","script.content"].includes(P));if(se(g),E){for(let P of["markup","style","script"]){let D=p[P]?.content;D!=null&&W[P].setValue(D)}return g}if(w)return KM(p.appLanguage),g;u&&await IM(g),b&&await Qu(g),await sm(p,!0);let k=Te(p);return Object.values(k).some(P=>P!=null)?await Ut(g):S&&g.autoupdate===!0&&await Je(),g},o=async()=>(ut(),wn(oe(),Te(x()))||await It({forExport:!0}),JSON.parse(JSON.stringify(So()))),n=async(p,{full:f=!1,line:g,column:w,zoom:S}={})=>{if(p==="toggle-result")kr()?.click(),S&&Ia(S);else if(p==="result")ve?.show("output",f),x().tools.status!=="none"&&setTimeout(()=>G?.close(),350),S&&Ia(S);else if(p==="editor")ve?.show("code",f);else if(p==="console"||p==="compiled"||p==="tests")ve?.show("output"),G?.setActiveTool(p),f?G?.maximize():G?.open();else if(Object.keys(W).includes(p)){if(us(p),ve?.show("code",f),typeof g=="number"&&g>0){let u=typeof w=="number"&&w>-1?w:0;Ve().setPosition({lineNumber:g,column:u}),Ve().focus()}}else throw new Error(window.deps.translateString("core.error.invalidPanelId","Invalid panel id"))},s=()=>new Promise(p=>{let f=nr.tests.subscribe(g=>{p(g),f.unsubscribe()});cs()}),i=(p,f)=>{if(!(p in nr))return{remove:()=>{}};if(f==="unsubscribe")return nr[p].unsubscribeAll(),{remove:()=>{}};let g=typeof f=="function"?f:()=>{};return{remove:nr[p].subscribe(g).unsubscribe}},a=async(p,...f)=>{if(p==="setBroadcastToken"){if(B)return{error:window.deps.translateString("core.error.unavailableForEmbeds","Command unavailable for embeds")};let g=Qe()?.broadcast;if(!g)return{error:window.deps.translateString("core.error.unavailable","Command unavailable")};let w=f[0];return typeof w!="string"?{error:window.deps.translateString("core.error.invalidToken","Invalid token!")}:(jt({broadcast:{...g,userToken:w}}),{output:window.deps.translateString("core.broadcast.successSetToken","Broadcast user token set successfully")})}return p==="showVersion"?{output:$M()}:{error:window.deps.translateString("core.error.invalidCommand","Invalid command!")}},l=async()=>{lm().forEach(p=>p?.destroy()),C.removeEventListeners(),Object.values(J).forEach(p=>p?.unsubscribeAll?.()),Object.values(nr).forEach(p=>p?.unsubscribeAll?.()),parent.dispatchEvent(new Event(De.destroy)),sr?.destroy(),document.body.innerHTML="",document.head.innerHTML="",Ca=!0},d="Cannot call API methods after calling `destroy()`.",c=()=>Promise.reject(d),m=()=>{throw new Error(d)},h=p=>Ca?c():p(),v=p=>Ca?m():p();return{run:()=>h(()=>Je()),format:p=>h(()=>nm(p)),getShareUrl:p=>h(()=>e(p)),getConfig:p=>h(()=>t(p)),setConfig:p=>h(()=>r(p)),getCode:()=>h(()=>o()),show:(p,f)=>h(()=>n(p,f)),runTests:()=>h(()=>s()),onChange:p=>v(()=>i("code",p)),watch:(p,f)=>v(()=>i(p,f)),exec:(p,...f)=>h(()=>a(p,...f)),destroy:()=>h(()=>l())}},ZM=async(e,t)=>(window.deps={showMode:MN,translateString:GO},await tD({config:e,baseUrl:t},async()=>{JO(),await zO(),await KO()}),rD());var uJ=ZM;export{uJ as app};
|