UNPKG

@eas-framework/server

Version:

Node.js framework, with a lot of built in features

55 lines 121 kB
var xo=Object.defineProperty;var bo=(r,t)=>{for(var e in t)xo(r,e,{get:t[e],enumerable:!0})};import{App as _c}from"@tinyhttp/app";import Bc from"compression";import{Dirent as Oc,promises as Q}from"fs";var yi=!0;function xi(r){yi=r}var k=new Proxy(console,{get(r,t,e){return t=="important"?r.error:yi&&t!="do-nothing"?r[t]:()=>{}}});import bi from"path";function tt(r,t){return new Promise(async e=>{try{e(t(null,await r))}catch(i){e(t(i))}})}function Ge(r,...t){return tt(Q[r](...t),e=>(e&&k.error(e),!e))}function wo(r){return tt(Q.stat(r),(t,e)=>!!e)}function wi(r,t,e,i={}){return tt(Q.stat(r),(n,s)=>(n&&!e&&k.error(n),t&&s?s[t]:s||i))}async function To(r,t=!0){return(await wi(r,void 0,!0)).isFile?.()&&t}function ko(r){return Ge("mkdir",r)}function vo(r){return Ge("rmdir",r)}function Co(r){return Ge("unlink",r)}async function Po(r){return tt(Q.unlink(r),t=>!t)}function Ao(r,t={}){return tt(Q.readdir(r,t),(e,i)=>(e&&k.error(e),i||[]))}async function _o(r){return tt(Q.mkdir(r),t=>!t)}function Ti(r,t){return tt(Q.writeFile(r,t),e=>(e&&k.error(e),!e))}async function Bo(r,t){try{return await Ti(r,JSON.stringify(t))}catch(e){k.error(e)}return!1}function ki(r,t="utf8",e=!1){return tt(Q.readFile(r,{encoding:t}),(i,n)=>(i&&!e&&k.error(i),n||""))}async function Mo(r,t){try{return JSON.parse(await ki(r,t))}catch(e){k.error(e)}return{}}async function Fo(r,t=""){return r=bi.dirname(r),tt(Q.mkdir(bi.join(t,r),{recursive:!0}),e=>!e)}var m={...Q,exists:wo,existsFile:To,stat:wi,mkdir:ko,mkdirIfNotExists:_o,writeFile:Ti,writeJsonFile:Bo,readFile:ki,readJsonFile:Mo,rmdir:vo,unlink:Co,unlinkIfExists:Po,readdir:Ao,makePathReal:Fo};import{cwd as Lo}from"process";import Tt from"path";import{fileURLToPath as Eo}from"url";function R(r,t){let e=t.indexOf(r);return e==-1?[t]:[t.substring(0,e),t.substring(e+r.length)]}function ne(r,t){return t.substring(0,t.lastIndexOf(r))}function vi(r,t){for(;t.startsWith(r);)t=t.substring(r.length);for(;t.endsWith(r);)t=t.substring(0,t.length-r.length);return t}function Do(r){return Tt.dirname(Eo(r))}var L=Tt.join(Do(import.meta.url),"/SystemData"),Xe="WebSite",U="eas",Dt="WWW",oe="Logs",ze="node_modules",Ci="Models",Pi="Components",$=Lo()+"/";function Ke(){return Tt.join($,Xe,"/")}function mt(r){return Tt.join(Ke(),r,"/")}function Qe(r){return Tt.join(L,r+"Compile","/")}var se=Ke(),Ve=Qe(Dt),d={Static:[mt(Dt),Ve,Dt],Logs:[mt(oe),Qe(oe),oe],Models:[mt(Ci),Ve,Ci],Components:[mt(Pi),Ve,Pi],node_modules:[mt(ze),Qe(ze),ze],get[Dt](){return d.Static}},pt={page:"page",model:"model",component:"integ"},h={pageTypes:pt,pageTypesArray:[],pageCodeFile:{page:[pt.page+".js",pt.page+".ts"],model:[pt.model+".js",pt.model+".ts"],component:[pt.component+".js",pt.component+".ts"]},pageCodeFileArray:[],partExtensions:["serv","api"],ReqFileTypes:{js:"serv.js",ts:"serv.ts","api-ts":"api.js","api-js":"api.ts"},ReqFileTypesArray:[],get WebSiteFolder(){return Xe},get fullWebSitePath(){return se},set WebSiteFolder(r){Xe=r,se=Ke(),d.Static[0]=mt(Dt),d.Logs[0]=mt(oe)},get tsConfig(){return se+"tsconfig.json"},async tsConfigFile(){if(await m.existsFile(this.tsConfig))return await m.readFile(this.tsConfig)},relative(r){return Tt.relative(se,r)}};h.pageTypesArray=Object.values(h.pageTypes);h.pageCodeFileArray=Object.values(h.pageCodeFile).flat();h.ReqFileTypesArray=Object.values(h.ReqFileTypes);async function $t(r){let t=await m.readdir(r,{withFileTypes:!0});for(let e of t){let i=e.name;if(e.isDirectory()){let n=r+i+"/";await $t(n),await m.rmdir(n)}else await m.unlink(r+i)}}function $o(r){return r.split("<line>").pop()}function ft(r){return ne(".",R("/",$o(r)).pop())}import ji from"path";import{SourceMapGenerator as Io,SourceMapConsumer as Oo}from"source-map";import ae from"path";import{fileURLToPath as jo}from"url";import{SourceMapConsumer as Ai,SourceMapGenerator as Ro}from"source-map";function gt(r,t){let e=`sourceMappingURL=data:application/json;charset=utf-8;base64,${Buffer.from(r.toString()).toString("base64")}`;return t?e=`/*# ${e}*/`:e="//# "+e,`\r `+e}async function _i(r,t){let e=await new Ai(t),i=new Ro;return(await new Ai(r)).eachMapping(n=>{let s=e.originalPositionFor({line:n.originalLine,column:n.originalColumn});s.source&&i.addMapping({generated:{column:n.generatedColumn,line:n.generatedLine},original:{column:s.column,line:s.line},source:s.source})}),i}var Rt=class{constructor(t,e=!0,i=!1,n=!1){this.filePath=t;this.httpSource=e;this.relative=i;this.isCss=n;this.lineCount=0;this.map=new Io({file:t.split(/\/|\\/).pop()}),e||(this.fileDirName=ae.dirname(this.filePath))}getSource(t){return t=t.split("<line>").pop().trim(),this.httpSource?(h.pageTypesArray.includes(ae.extname(t).substring(1))?t+=".source":t=R("/",t).pop()+"?source=true",ae.normalize((this.relative?"":"/")+t.replace(/\\/gi,"/"))):ae.relative(this.fileDirName,h.fullWebSitePath+t)}getRowSourceMap(){return this.map.toJSON()}mapAsURLComment(){return gt(this.map,this.isCss)}},dt=class r extends Rt{constructor(e,i=!0,n=!1,s=!0){super(e,s,!1,n);this.debug=i;this.metaMap={};this.storeString="";this.actionLoad=[]}notEmpty(){return this.actionLoad.length>0}addStringTracker(e,{text:i=e.eq}={}){this.actionLoad.push({name:"addStringTracker",data:[e,{text:i}]})}_addStringTracker(e,{text:i=e.eq}={}){if(!this.debug){this._addText(i);return}let n=e.getDataArray(),s=n.length,o=!1;for(let a=0;a<s;a++){let{text:l,line:c,info:u}=n[a];if(l==` `){this.lineCount++,o=!1;continue}!o&&c&&u&&l.trim()&&(o=!0,this.map.addMapping({original:{line:c,column:0},generated:{line:this.lineCount||1,column:0},source:this.getSource(u)}))}this.storeString+=i}addText(e){this.actionLoad.push({name:"addText",data:[e]})}_addText(e){this.debug&&(this.lineCount+=e.split(` `).length-1),this.storeString+=e}static fixURLSourceMap(e){for(let i=0;i<e.sources.length;i++)e.sources[i]=h.relative(jo(e.sources[i]));return e}addSourceMapWithStringTracker(e,i,n){this.actionLoad.push({name:"addSourceMapWithStringTracker",data:[e,i,n]})}async _addSourceMapWithStringTracker(e,i,n){if(!this.debug){this._addText(n);return}(await new Oo(e)).eachMapping(s=>{let o=i.getLine(s.originalLine).getDataArray()[0];s.source==this.filePath?this.map.addMapping({source:this.getSource(s.source),original:{line:o.line,column:s.originalColumn},generated:{line:s.generatedLine+this.lineCount,column:s.generatedColumn}}):this.map.addMapping({source:this.getSource(s.source),original:{line:s.originalLine,column:s.originalColumn},generated:{line:s.generatedLine,column:s.generatedColumn}})}),this._addText(n)}async buildAll(){for(let{name:e,data:i}of this.actionLoad)switch(e){case"addStringTracker":this._addStringTracker(...i);break;case"addText":this._addText(...i);break;case"addSourceMapWithStringTracker":await this._addSourceMapWithStringTracker(...i);break}}mapAsURLComment(){return this.buildAll(),super.mapAsURLComment()}async createDataWithMap(){return await this.buildAll(),this.debug?this.storeString+super.mapAsURLComment():this.storeString}clone(){let e=new r(this.filePath,this.debug,this.isCss,this.httpSource);return e.actionLoad.push(...this.actionLoad),e}};var le=class extends Rt{constructor(t,e=!1,i=!1){super(t,e,i),this.lineCount=1}addMappingFromTrack(t){let e=t.getDataArray(),i=e.length,n=!0;for(let s=0;s<i;s++){let{text:o,line:a,info:l}=e[s];if(o==` `){this.lineCount++,n=!1;continue}!n&&a&&l&&o.trim()&&(n=!0,this.map.addMapping({original:{line:a,column:0},generated:{line:this.lineCount,column:0},source:this.getSource(l)}))}}};function Bi(r,t,e,i){let n=new le(t,e,i);return n.addMappingFromTrack(r),n.getRowSourceMap()}function Mi(r,t){let e=new le(t);return e.addMappingFromTrack(r),r.eq+e.mapAsURLComment()}var f=class r{constructor(t,e){this.DataArray=[];this.InfoText=null;this.OnLine=1;this.OnChar=1;typeof t=="string"?this.InfoText=t:t&&this.setDefault(t),e&&this.AddFileText(e,this.InfoText)}static get emptyInfo(){return{info:"",line:0,char:0}}setDefault(t=this.DefaultInfoText){this.InfoText=t.info,this.OnLine=t.line,this.OnChar=t.char}getDataArray(){return this.DataArray}get DefaultInfoText(){return this.DataArray.find(t=>t.info)??r.emptyInfo}get DefaultInfoTextLast(){for(let t=this.DataArray.length-1;t>=0;t--)if(this.DataArray[t].info)return this.DataArray[t];return r.emptyInfo}get StartInfo(){return this.DataArray[0]??this.DefaultInfoText}get OneString(){let t="";for(let e of this.DataArray)t+=e.text;return t}get eq(){return this.OneString}get originalLineInfo(){let t=this.DefaultInfoText;return`${t.info}:${t.line}:${t.char}`}get lineInfo(){let t=this.originalLineInfo.split("<line>");return t.push(h.fullWebSitePath+t.pop()),t.join("<line>")}get length(){return this.DataArray.length}Clone(){let t=new r(this.StartInfo);for(let e of this.DataArray)t.AddTextAfter(e.text,e.info,e.line,e.char);return t}AddClone(t){this.DataArray=this.DataArray.concat(t.DataArray),this.setDefault({info:t.InfoText,line:t.OnLine,char:t.OnChar})}static concat(...t){let e=new r;for(let i of t)i instanceof r?e.AddClone(i):e.AddTextAfter(String(i));return e}ClonePlus(...t){return r.concat(this.Clone(),...t)}Plus(...t){for(let e of t)e instanceof r?this.AddClone(e):this.AddTextAfterNoTrack(String(e));return this}Plus$(t,...e){for(let i in e){let n=t[i],s=e[i];this.AddTextAfterNoTrack(n),s instanceof r?this.AddClone(s):s!=null&&this.AddTextAfterNoTrack(String(s))}return this.AddTextAfterNoTrack(t[t.length-1]),this}AddTextAction(t,e,i=this.DefaultInfoText.info,n=0,s=1){let o=[];for(let a of[...t])o.push({text:a,info:i,line:n,char:s}),s++,a==` `&&(n++,s=1);this.DataArray[e](...o)}AddTextAfter(t,e,i,n){return this.AddTextAction(t,"push",e,i,n),this}AddTextAfterNoTrack(t,e=""){for(let i of t)this.DataArray.push({text:i,info:e,line:0,char:0});return this}AddTextBefore(t,e,i,n){return this.AddTextAction(t,"unshift",e,i,n),this}AddTextBeforeNoTrack(t,e=""){let i=[];for(let n of t)i.push({text:n,info:e,line:0,char:0});return this.DataArray.unshift(...i),this}AddFileText(t,e=this.DefaultInfoText.info){let i=1,n=1;for(let s of[...t])this.DataArray.push({text:s,info:e,line:i,char:n}),n++,s==` `&&(i++,n=1)}CutString(t=0,e=this.length){let i=new r(this.StartInfo);return i.DataArray=i.DataArray.concat(this.DataArray.slice(t,e)),i}substring(t,e){return isNaN(e)?e=void 0:e=Math.abs(e),isNaN(t)?t=void 0:t=Math.abs(t),this.CutString(t,e)}substr(t,e){return t<0&&(t=this.length-t),this.substring(t,e!=null?e+t:e)}slice(t,e){return t<0&&(t=this.length-t),e<0&&(t=this.length-t),this.substring(t,e)}charAt(t){return t||(t=0),this.CutString(t,t+1)}at(t){return this.charAt(t)}charCodeAt(t){return this.charAt(t).OneString.charCodeAt(0)}codePointAt(t){return this.charAt(t).OneString.codePointAt(0)}*[Symbol.iterator](){for(let t of this.DataArray){let e=new r;e.DataArray.push(t),yield e}}getLine(t,e=!0){return this.split(` `)[t-+e]}charLength(t){if(t<=0)return t;let e=0;for(let i of this.DataArray)if(e++,t-=i.text.length,t<=0)return e;return e}indexOf(t){return this.charLength(this.OneString.indexOf(t))}lastIndexOf(t){return this.charLength(this.OneString.lastIndexOf(t))}unicodeMe(t){let e="";for(let i of t)e+="\\u"+("000"+i.charCodeAt(0).toString(16)).slice(-4);return e}get unicode(){let t=new r;for(let e of this.DataArray)t.AddTextAfter(this.unicodeMe(e.text),e.info,e.line,e.char);return t}search(t){return this.charLength(this.OneString.search(t))}startsWith(t,e){return this.OneString.startsWith(t,e)}endsWith(t,e){return this.OneString.endsWith(t,e)}includes(t,e){return this.OneString.includes(t,e)}trimStart(){let t=this.Clone();t.setDefault();for(let e=0;e<t.DataArray.length;e++){let i=t.DataArray[e];if(i.text.trim()=="")t.DataArray.shift(),e--;else{i.text=i.text.trimStart();break}}return t}trimLeft(){return this.trimStart()}trimEnd(){let t=this.Clone();t.setDefault();for(let e=t.DataArray.length-1;e>=0;e--){let i=t.DataArray[e];if(i.text.trim()=="")t.DataArray.pop();else{i.text=i.text.trimEnd();break}}return t}trimRight(){return this.trimEnd()}trim(){return this.trimStart().trimEnd()}SpaceOne(t){let e=this.at(0),i=this.at(this.length-1),n=this.Clone().trim();return e.eq&&n.AddTextBefore(t||e.eq,e.DefaultInfoText.info,e.DefaultInfoText.line,e.DefaultInfoText.char),i.eq&&n.AddTextAfter(t||i.eq,i.DefaultInfoText.info,i.DefaultInfoText.line,i.DefaultInfoText.char),n}ActionString(t){let e=this.Clone();for(let i of e.DataArray)i.text=t(i.text);return e}toLocaleLowerCase(t){return this.ActionString(e=>e.toLocaleLowerCase(t))}toLocaleUpperCase(t){return this.ActionString(e=>e.toLocaleUpperCase(t))}toUpperCase(){return this.ActionString(t=>t.toUpperCase())}toLowerCase(){return this.ActionString(t=>t.toLowerCase())}normalize(){return this.ActionString(t=>t.normalize())}StringIndexer(t,e){t instanceof RegExp&&(t=new RegExp(t,t.flags.replace("g","")));let i=[],n=this.OneString,s=n.match(t),o=0,a=0,l=this.Clone();for(;(e==null||a<e)&&s?.[0]?.length;){let c=[...s[0]].length,u=l.charLength(s.index);i.push({index:u+o,length:c}),n=n.slice(s.index+s[0].length),l=l.CutString(u+c),o+=u+c,s=n.match(t),a++}return i}RegexInString(t){return t instanceof RegExp?t:new r("n",t).unicode.eq}split(t,e){let i=this.StringIndexer(this.RegexInString(t),e),n=[],s=0;for(let o of i)n.push(this.CutString(s,o.index)),s=o.index+o.length;return n.push(this.CutString(s)),n}repeat(t){let e=this.Clone();for(let i=0;i<t;i++)e.AddClone(this.Clone());return e}static join(t){let e=new r;for(let i of t)e.AddClone(i);return e}replaceWithTimes(t,e,i){let n=this.StringIndexer(t,i),s=new r,o=0;for(let a of n)s=s.ClonePlus(this.CutString(o,a.index),e),o=a.index+a.length;return s.AddClone(this.CutString(o)),s}replace(t,e){return this.replaceWithTimes(this.RegexInString(t),e,t instanceof RegExp?void 0:1)}replacer(t,e){let i=this.Clone(),n;function s(){n=i.match(t)}s();let o=new r(i.StartInfo);for(;n;)o.Plus(i.substring(0,n.index)),o.Plus(e(n)),i=i.substring(n.index+n[0].length),s();return o.Plus(i),o}async replacerAsync(t,e){let i=this.Clone(),n;function s(){n=i.match(t)}s();let o=new r(i.StartInfo);for(;n;)o.Plus(i.substring(0,n.index)),o.Plus(await e(n)),i=i.substring(n.index+n[0].length),s();return o.Plus(i),o}replaceAll(t,e){return this.replaceWithTimes(this.RegexInString(t),e)}matchAll(t){let e=this.StringIndexer(t),i=[];for(let n of e)i.push(this.substr(n.index,n.length));return i}match(t){if(t instanceof RegExp&&t.global)return this.matchAll(t);let e=this.OneString.match(t);if(e==null)return null;let i=[];i[0]=this.substr(e.index,e.shift().length),i.index=e.index,i.input=this.Clone();let n=i[0].Clone();for(let s in e){if(isNaN(Number(s)))break;let o=e[s];if(o==null){i.push(o);continue}let a=n.indexOf(o);i.push(n.substr(a,o.length)),n=n.substring(a)}return i}toString(){return this.OneString}extractInfo(t="<line>"){return this.DefaultInfoText.info.split(t).pop().trim()}originalPositionFor(t,e){let i=this.getLine(t);return i.startsWith("//")&&(i=this.getLine(t-1),e=0),{...i.at(e-1).DefaultInfoText,searchLine:i}}debugLine({message:t,text:e,location:i,line:n,col:s}){let o=this.originalPositionFor(n??i?.line??1,s??i?.column??0);return`${e||t}, on file -><color>${h.fullWebSitePath+o.searchLine.extractInfo()}:${o.line}:${o.char}${i?.lineText?` Line: "`+i.lineText.trim()+'"':""}`}StringWithTack(t){return Mi(this,t)}StringTack(t,e,i){return Bi(this,t,e,i)}};import ce from"chalk";var ue={PreventErrors:[]},Ye=[],tr=()=>Ye.length=0;function A({id:r,text:t,type:e="warn",errorName:i}){if(!Ye.includes(r??t)&&!ue.PreventErrors.includes(i)){Ye.push(r??t);let n=e=="error"?"important":e,s=t.split("<color>"),o=ce.magenta(s.pop().replace(/<line>/gi," -> ")),a="-".repeat(10)+(e=="error"?ce.bold(e):e)+"-".repeat(10);return[n,a+` `+(ce.blue(s.shift()||"")+` `+o).trim()+` `+ce.red(`Error-Code: ${i}`)+` `+"-".repeat(e.length+20)+` `]}return["do-nothing"]}function Fi(r){return r.replace(/\n|<line>|<color>/,"<br/>")}var Ze=class{constructor(){this.events=[];this.eventLog=[];this.logAll=!1}event(t,e){this.events.push({name:t,func:e})}dispatch(t,e={}){e.date=new Date,this.eventLog.push(e),this.events.forEach(i=>i.name==t&&i.func(e)),this.simpleLog(t,e)}simpleLog(t,e){this.logAll&&console.log(t,e)}},K=new Ze;import{promises as No}from"fs";import{fileURLToPath as Wo}from"url";var qo="/../static/wasm/component/",Uo=new WebAssembly.Module(await No.readFile(Wo(import.meta.url+qo+"build.wasm"))),Jo=new WebAssembly.Instance(Uo,{}),I=Jo.exports,ht=0,pe;function er(){return pe.byteLength===0&&(pe=new Uint8Array(I.memory.buffer)),pe}var Ho=typeof TextEncoder>"u"?(0,module.require)("util").TextEncoder:TextEncoder,me=new Ho("utf-8"),Go=typeof me.encodeInto=="function"?function(r,t){return me.encodeInto(r,t)}:function(r,t){let e=me.encode(r);return t.set(e),{read:r.length,written:e.length}};function It(r,t,e){if(e===void 0){let a=me.encode(r),l=t(a.length);return er().subarray(l,l+a.length).set(a),ht=a.length,l}let i=r.length,n=t(i),s=er(),o=0;for(;o<i;o++){let a=r.charCodeAt(o);if(a>127)break;s[n+o]=a}if(o!==i){o!==0&&(r=r.slice(o)),n=e(n,i,i=o+r.length*3);let a=er().subarray(n+o,n+i),l=Go(r,a);o+=l.written}return ht=o,n}var zo;var Vo=typeof TextDecoder>"u"?(0,module.require)("util").TextDecoder:TextDecoder,Xo=new Vo("utf-8",{ignoreBOM:!0,fatal:!0});Xo.decode();function Li(r,t){let e=It(r,I.__wbindgen_malloc,I.__wbindgen_realloc),i=ht,n=It(t,I.__wbindgen_malloc,I.__wbindgen_realloc),s=ht;return I.find_end_block(e,i,n,s)}function Ei(r,t){let e=It(r,I.__wbindgen_malloc,I.__wbindgen_realloc),i=ht,n=It(t,I.__wbindgen_malloc,I.__wbindgen_realloc),s=ht;return I.find_end_of_def(e,i,n,s)}function Di(r,t){let e=It(r,I.__wbindgen_malloc,I.__wbindgen_realloc),i=ht;return I.find_end_of_q(e,i,t.codePointAt(0))>>>0}zo=new Int32Array(I.memory.buffer);pe=new Uint8Array(I.memory.buffer);var $i=["textarea","script","style"],Ri=[["%","%"],["#{debug}","{debug}#"]];import Ko from"workerpool";import{cpus as Yo}from"os";var nt=Ko.pool(L+"/../static/wasm/component/workerInsertComponent.js",{maxWorkers:Yo().length}),kt=class{static findEntOfQ(t,e){return Di(t,e)}static findEndOfDef(t,e){return Array.isArray(e)||(e=[e]),Ei(t,JSON.stringify(e))}static FindEndOfBlock(t,e,i){return Li(t,e+i)}},fe=class{constructor(t){this.printNew=t;this.SimpleSkip=$i;this.SkipSpecialTag=Ri}printErrors(t,e){if(this.printNew)for(let i of JSON.parse(e).reverse())this.printNew({text:` Warning, you didn't write right this tag: "${i.type_name}", used in: ${t.at(Number(i.index)).lineInfo} (the system will auto close it)`,errorName:"close-tag"})}async FindCloseChar(t,e){let[i,n]=await nt.exec("FindCloseChar",[t.eq,e]);return this.printErrors(t,n),i}async FindCloseCharHTML(t,e){let[i,n]=await nt.exec("FindCloseCharHTML",[t.eq,e]);return this.printErrors(t,n),i}};async function rr(r,t){return JSON.parse(await nt.exec(t?"RazorToEJSCompile":"RazorToEJS",[r]))}async function Ii(r,t,e){return JSON.parse(await nt.exec("EJSParser",[r,t,e]))}import Zo from"workerpool";import{cpus as ta}from"os";var sr=Zo.pool(L+"/../static/wasm/reader/worker.js",{maxWorkers:ta().length});async function ge(r){return JSON.parse(await sr.exec("build_stream",[r]))}async function or(r,t){return await sr.exec("find_end_of_def_skip_block",[r,JSON.stringify(t)])}async function Oi(r,t){return await sr.exec("end_of_block",[r,t.join("")])}var ir=class{ReplaceAll(t,e,i){let n="";for(let s of t.split(e))n+=i+s;return n.substring(i.length)}},nr=class extends ir{constructor(e){super();this.ParseArray=e}BuildCode(){let e="";for(let i of this.ParseArray)e+=i.text;return this.ReplaceAll(e,"<|-|>","<||>")}},vt=class extends nr{constructor(e){super(e);this.DataCode={text:"",inputs:[]},this.CreateDataCode()}get CodeBuildText(){return this.DataCode.text}set CodeBuildText(e){this.DataCode.text=e}get AllInputs(){return this.DataCode.inputs}CreateDataCode(){for(let e of this.ParseArray)e.is_skip?(this.DataCode.text+=`<|${this.DataCode.inputs.length}|${e.type_name??""}|>`,this.DataCode.inputs.push(e.text)):this.DataCode.text+=e.text}BuildCode(){let e=this.DataCode.text.replace(/<\|([0-9]+)\|[\w]*\|>/gi,(i,n)=>this.DataCode.inputs[n]);return super.ReplaceAll(e,"<|-|>","<||>")}};var C=class r{constructor(t,e,i="<%",n="%>",s="script"){this.forClientSide=!1;this.start=i,this.text=t,this.end=n,this.type=s,this.path=e}ReplaceValues(t,e){this.text=this.text.replaceAll(t,e)}findEndOfDefGlobal(t){let e=t.eq,i=kt.findEndOfDef(e,[";",` `,this.end]);return i!=-1?i+1:e.length}ScriptWithInfo(t){let e=new f,i=t.split(` `),n=i.length;e.Plus(` `);let s=1;for(let o of i)o.eq.trim().length&&e.Plus(new f(null,`//!${this.forClientSide?o.originalLineInfo:o.lineInfo} `),o),s!=n&&(e.Plus(` `),s++);return e}async findScripts(t){t??=await Ii(this.text.eq,this.start,this.end),this.values=[];for(let e of t){let i=this.text.substring(e.start,e.end),n=e.name;switch(e.name){case"print":i=new f().Plus$`write(${i})`,n="script";break;case"escape":i=new f().Plus$`writeSafe(${i})`,n="script";break;case"debug":i=new f().Plus$`\nrun_script_name = \`${r.fixText(i)}\``,n="no-track";break}n!="text"&&!i.endsWith(";")&&i.AddTextAfterNoTrack(";"),this.values.push({text:i,type:n})}}static fixText(t){return t.replace(/\\/gi,"\\\\").replace(/`/gi,"\\`").replace(/\u0024/gi,"\\u0024")}static fixTextSimpleQuotes(t){return t.replace(/\\/gi,"\\\\").replace(/"/gi,'\\"')}ReBuildText(){let t=new f(this.values[0]?.text?.StartInfo);for(let e of this.values)e.type=="text"?e.text.eq!=""&&t.Plus(e.text):e.type=="no-track"?t.Plus(this.start,"!",e.text,this.end):t.Plus(this.start,e.text,this.end);return t}BuildAll(t){let e=new f;if(!this.values.length)return e;for(let i of this.values)i.type=="text"?i.text.eq!=""&&e.Plus$`\nout_run_script.text+=\`${r.fixText(i.text)}\`;`:t&&i.type=="script"?(this.forClientSide||e.AddTextAfterNoTrack(` run_script_code=\`${r.fixText(i.text)}\`;`),e.Plus(this.ScriptWithInfo(i.text))):e.Plus(i.text);return e}static printError(t){return`<div style="color:red;text-align:left;font-size:16px;">${r.fixText(Fi(t))}</div>`}static async RunAndExport(t,e,i,n){let s=new r(t,e);return await s.findScripts(),s.forClientSide=n,s.BuildAll(i)}static split2FromEnd(t,e,i=1){for(let n=t.length-1;n>=0;n--)if(t[n]==e&&i--,i==0)return[t.substring(0,n),t.substring(n+1)];return[t]}},Ct=class{constructor(t=""){this.addText=t;this.savedBuildData=[];this.replacer=RegExp(`${t}\\/\\*!system--<\\|ejs\\|([0-9])\\|>\\*\\/|system--<\\|ejs\\|([0-9])\\|>`)}async load(t,e){this.buildCode=new vt(await ge(await this.ExtractAndSaveCode(t))),this.path=e}async ExtractAndSaveCode(t){let e=new C(t,this.path);await e.findScripts();let i="",n=0;for(let s of e.values)s.type=="text"?i+=s.text:(this.savedBuildData.push({type:s.type,text:s.text}),i+=`system--<|ejs|${n++}|>`);return i}ParseOutsideOfComment(t){return t.replacer(/system--<\|ejs\|([0-9])\|>/,e=>{let i=e[1];return new f(i.StartInfo).Plus$`${this.addText}/*!system--<|ejs|${i}|>*/`})}async StartBuild(){let t=new C(new f(null,this.buildCode.CodeBuildText),this.path,"/*","*/");await t.findScripts();for(let e of t.values)e.type=="text"&&(e.text=this.ParseOutsideOfComment(e.text));return this.buildCode.CodeBuildText=t.ReBuildText().eq,this.buildCode.BuildCode()}RestoreAsCode(t){return new f().Plus$`<%${t.type=="no-track"?"!":""}${t.text}%>`}RestoreCode(t){return t.replacer(this.replacer,e=>{let i=Number(e[1]??e[2]);return this.RestoreAsCode(this.savedBuildData[i])})}};async function ea(r,t){let e=new C(r,t,"<#{debug}","{debug}#>","debug info");await e.findScripts();let i=new f(r.DefaultInfoText);for(let n of e.values)n.type=="text"?i.Plus(n.text):i.Plus$`<%{?debug_file?}${n.text}%>`;return i}async function Wi(r,t){let e=new C(r,t,"<#{debug}","{debug}#>","debug info");await e.findScripts();let i=new f(r.DefaultInfoText);for(let n of e.values)n.type=="text"?i.Plus(n.text):i.Plus$`run_script_name=\`${C.fixText(n.text)}\`;`;return i}async function qi(r,t){let e=new C(r,t);await e.findScripts();for(let i of e.values)i.type=="text"?i.text=await ea(i.text,t):i.text=await Wi(i.text,t);return e.start="<%",e.end="%>",e.ReBuildText()}async function Ui(r,t){return await Wi(r,t)}async function Pt(r,t,e,i,n={}){return n.value||(n.value=await m.readFile(e,"utf8")),{allData:new f(`${t}<line>${i}`,r?`<%{%>${n.value}<%}%>`:n.value),stringInfo:`<%! run_script_name=\`${C.fixText(t+" -> "+i)}\`;%>`}}function Ni(r,t,e,i,n=0){if(i&&!t.endsWith("."+i)&&(t=`${t}.${i}`),t[0]=="^"){let[s,o]=R("/",t.substring(1));return(n==0?$:"")+`node_modules/${s}/${e}/${o}`}return t[0]=="."?(t[1]=="/"&&(t=t.substring(2)),t=`${ji.dirname(r)}/${t}`):t[0]=="/"?t=`${d.Static[n]}${t}`:t=`${n==0?$+h.WebSiteFolder+"/":""}${e}/${t}`,ji.normalize(t)}function At(r,t,e,i,n){return{SmallPath:Ni(t,e,i,n,2),FullPath:Ni(r,e,i,n)}}import{minify as ia}from"@swc/core";import{SourceMapConsumer as ra}from"source-map";function ar(r,t=(i,n,s)=>({line:i,char:n,info:s}),e=""){let i=r.stack.trim().split(` `),n=i.reverse().findIndex(c=>c.includes("//!"));if(n==-1){let c=r.message.replace(/(;[0-9]m)(.*?\.\w+)(\W\[0m:)([0-9]+):([0-9]+)\]/,(u,p,g,S,w,y)=>{let{line:b,char:v,info:T}=t(Number(w),Number(y),g);return`${p}${T+S+b}:${v}]`});return{errorCode:r.code,errorLines:i[0],errorFile:i[0],simpleMessage:c,fullMessage:`${e}, on file -><color> ${c}`}}let s=i[n].split("//!").pop(),o=i.slice(i.length-n,-3).map(c=>c.substring(c.indexOf("\u2502")+1)).join(` `),a=i.at(-2);a=a.substring(a.indexOf("`")).split("[0m").shift().trim();let l={get simpleMessage(){return`${l.errorCode}, on file -><color> ${l.errorFile}`},get fullMessage(){return`${l.simpleMessage} Lines: ${l.errorLines}`},errorFile:s,errorLines:o,errorCode:a};return l}function de(r){let t=ar(r),[e,i]=A({type:"error",errorName:"compilation-error",text:t.fullMessage});return k[e](i),t}async function Ji(r,t,e){let i=await new ra(t),n=ar(r,(a,l)=>{let c=i.originalPositionFor({line:a,column:l});return{line:c.line,char:c.column,info:e??c.source}}),[s,o]=A({type:"error",errorName:"compilation-error",text:n.fullMessage});return k[s](o),n}function H(r,t,e){let i=ar(t,(o,a,l)=>{let c=r.originalPositionFor(o,a);return{...c,info:c.searchLine.extractInfo()}},e),[n,s]=A({type:"error",errorName:"compilation-error",text:i.fullMessage});return k[n](s),i}async function Hi(r,t){try{return(await ia(r)).code}catch(e){H(t,e,t.extractInfo())}return r}var na="/serv/temp.js";async function sa(r,t,e,i,n,s,o){let a=await C.RunAndExport(n,s,o,!0);return new f().Plus$`function ${t}({${e}}, selector${i?` = "${i}"`:""}, out_run_script = {text: ''}){ const {write, writeSafe, setResponse, sendToSelector} = new buildTemplate(out_run_script); var exports = ${t}.exports; ${await r(a)} ${t}.exports = exports; return sendToSelector(selector, out_run_script.text); }\n${t}.exports = {};`}async function lr(r,t,e,i,n,s){i=await n.StartReplace(i,r,s),s.script(na,{defer:null});let o=await sa(s.BuildScriptWithPrams,e.popAnyTracker("fn-name","connect"),e.popAnyTracker("params",""),e.popAnyDefault("selector",""),i,r,s.debug&&!n.SomePlugins("SafeDebug")),a=s.addScriptStylePage("script",e,t);return n.SomePlugins("MinJS")||n.SomePlugins("MinAll")?a.addText(await Hi(o.eq,i)):a.addStringTracker(o),{compiledString:new f}}import{SourceMapConsumer as oa}from"source-map";import{fileURLToPath as aa}from"url";async function Ot(r,t){let e=typeof t=="string"?JSON.parse(t):t,i=new f(null,r),n=i.split(` `);return(await new oa(e)).eachMapping(s=>{let o=n[s.generatedLine-1];if(!o)return;let a=s.originalColumn||1;for(let l of o.substring(s.generatedColumn?s.generatedColumn-1:0,s.name?.length).getDataArray())l.info=s.source,l.line=s.originalLine,l.char=a++}),i}function la(r,t){let e=r.split(` `);for(let i of t.getDataArray()){let n=e[i.line-1],{line:s,char:o,info:a}=n&&n.at(i.char-1).DefaultInfoText||f.emptyInfo;i.char=o,i.line=s,i.info=a}}async function St(r,t,e){let i=await Ot(t,e);return la(r,i),i}function ca(r,t,e){let i=r.split(` `);for(let n of t.getDataArray())if(n.info==e){let{line:s,char:o,info:a}=i[n.line-1].at(n.char-1)?.DefaultInfoText??f.emptyInfo;n.line=s,n.info=a,n.char=o}else n.info&&(n.info=h.relative(aa(n.info)))}async function Gi(r,t,e,i){let n=await Ot(t,e);return ca(r,n,i),n}import{transform as ma}from"@swc/core";var ua="es2022";function he(r){return r.parser?.syntax!="typescript"||(r.transform??={},r.transform.decoratorMetadata=!0,r.parser.decorators=!0),r}function pa(r,t=!1){return{transform:{optimizer:{simplify:t,globals:{vars:r}}}}}function j(r,t,e){return Object.assign(r,pa(t??{},e)),he({target:ua,...r})}async function Se(r,t,e,i,n=r.eq,s){let o="",a,l={filename:r.extractInfo(),minify:N("Min"+t.toUpperCase())||N("MinAll"),sourceMaps:e,jsc:j({...s},{__DEBUG__:""+i}),...B("transformOptions")};try{switch(t){case"ts":he(l.jsc).parser={syntax:"typescript",...B("TSOptions")};break;case"jsx":l.jsc.parser={syntax:"ecmascript",jsx:!0,...B("JSXOptions")};break;case"tsx":he(l.jsc).parser={syntax:"ecmascript",jsx:!0,...B("TSXOptions")};break}let{map:c,code:u}=await ma(n,l);o=u,a=c}catch(c){H(r,c,r.extractInfo())}return{resultCode:o,resultMap:a}}async function cr(r,t,e,i,n,s){let o=n,a=new Ct("serv");await a.load(n,t);let l=await a.StartBuild(),{resultCode:c,resultMap:u}=await Se(n,r,!0,s,l,{preserveAllComments:!0});return o=a.RestoreCode(await Ot(c,u)),{compiledString:new f(e.DefaultInfoText).Plus$`<script${i.rebuildSpace()}>${o}</script>`}}async function ur(r,t,e,i){let n=e.eq,s=n.trim(),o=t.popString("type")=="module",a=o?"scriptModule":"script";if(i.cache[a].includes(s))return{compiledString:new f};i.cache[a].push(s);let{resultCode:l,resultMap:c}=await Se(e,r,i.debug,i.debug),u=i.addScriptStylePage(o?"module":"script",t,e);return c?u.addSourceMapWithStringTracker(JSON.parse(c),e,l):u.addText(l),{compiledString:new f}}async function pr(r,t,e,i,n){if(e.exists("src"))return{compiledString:new f(t.DefaultInfoText).Plus$`<script${e.rebuildSpace()}>${i}</script>`};let s=e.popAnyDefault("lang","js");return e.popBoolean("server")?cr(s,r,t,e,i,n.debug):ur(s,e,i,n)}import{fileURLToPath as mr,pathToFileURL as fr}from"url";import zi from"sass";function jt(r){return{findFileUrl(t){return t[0]=="/"||t[0]=="~"?new URL(t.substring(1),fr(t[0]=="/"?d.Static[0]:d.node_modules[0])):new URL(t,fr(r))}}}function Vi(r){return["scss","sass"].includes(r)?N("MinAll","MinSass"):N("MinCss","MinAll")}function ye(r){return Vi(r)?"compressed":"expanded"}function Nt(r){return r=="sass"?"indented":r}function gr(r,t){if(r)for(let e in r.sources)r.sources[e].startsWith("data:")&&(r.sources[e]=t)}function Xi({sassStack:r}){let t=r.match(/[0-9]+:[0-9]+/)[0].split(":").map(e=>Number(e));return{line:t[0],column:t[1]}}function dr(r,{line:t,column:e}=Xi(r)){let[i,n]=A({text:`${r.message}, on file -><color>${mr(r.span.url)}:${t??0}:${e??0}`,errorName:r?.status==5?"sass-warning":"sass-error",type:r?.status==5?"warn":"error"});k[i](n)}function hr(r,t){if(r.span.url)return dr(r);r.location=Xi(r);let[e,i]=A({text:t.debugLine(r),errorName:r?.status==5?"sass-warning":"sass-error",type:r?.status==5?"warn":"error"});k[e](i)}async function xe(r,t,e,i=t.eq,n=e.debug){let s=h.fullWebSitePath+t.extractInfo(),o=fr(s),a=Vi(r),l;try{l=await zi.compileStringAsync(i,{sourceMap:n,syntax:Nt(r),style:a?"compressed":"expanded",importer:jt(s),logger:zi.Logger.silent}),i=l?.css??i}catch(c){if(c.span.url){let u=mr(c.span.url);await e.dependence(h.relative(u),u)}return hr(c,t),{outStyle:"Sass Error (see console)"}}if(l?.loadedUrls)for(let c of l.loadedUrls){let u=mr(c);await e.dependence(h.relative(u),u)}return l?.sourceMap&&gr(l.sourceMap,o.href),{result:l,outStyle:i,compressed:a}}async function Sr(r,t,e,i,n,s){let o=new Ct;await o.load(n,t);let{outStyle:a,compressed:l}=await xe(r,n,s,await o.StartBuild());l||(a=` ${a} `);let c=o.RestoreCode(new f(n.StartInfo,a));return{compiledString:new f(e.DefaultInfoText).Plus$`<style${i.rebuildSpace()}>${c}</style>`}}async function yr(r,t,e,i){let n=e.eq;if(i.cache.style.includes(n))return{compiledString:new f};i.cache.style.push(n);let{result:s,outStyle:o}=await xe(r,e,i),a=i.addScriptStylePage("style",t,e);return s?.sourceMap?a.addSourceMapWithStringTracker(dt.fixURLSourceMap(s.sourceMap),e,o):a.addStringTracker(e,{text:o}),{compiledString:new f}}async function xr(r,t,e,i,n){let s=e.popAnyDefault("lang","css");return i=i?.trim(),e.popBoolean("server")?Sr(s,r,t,e,i,n):yr(s,e,i,n)}import Qi from"path";var G=class{constructor(t,e=!0){this.store={};this.savePath=`${L}/${t}.json`,e&&this.loadFile(),process.on("SIGINT",async()=>{await this.save(),setTimeout(()=>process.exit())})}async loadFile(){await m.existsFile(this.savePath)&&(this.store=JSON.parse(await m.readFile(this.savePath)||"{}"))}update(t,e){this.store[t]=e}have(t,e){let i=this.store[t];return i||!e||(i=e(),this.update(t,i)),i}clear(){for(let t in this.store)this.store[t]=void 0,delete this.store[t]}save(){return m.writeJsonFile(this.savePath,this.store)}};var W=new G("PagesInfo");async function st(r,t=W.store[r]){for(let e in t){let i=h.fullWebSitePath+(e=="thisPage"?r:e);if(await m.stat(i,"mtimeMs",!0)!=t[e])return!0}return!t}function fa(r,t){return r[0]=="/"?r=r.substring(1):r=Qi.join(t,"/../",r),Qi.extname(r)||(r+="."+h.pageTypes.page),r}var br={};async function wr(r,t,e,i,n,s){let o=e.popHaveDefault("from"),a=fa(o,ft(t.extractInfo())),l=d.Static[0]+a,c=d.Static[2]+"/"+a;if(!(await m.stat(l,null,!0)).isFile?.()){let[g,S]=A({text:` Page not found: <color>${t.at(0).lineInfo} -> ${l}`,errorName:"page-not-found",type:"error"});return k[g](S),{compiledString:new f(t.DefaultInfoText,C.printError(`Page not found: ${h.relative(t.lineInfo)} -> ${c}`))}}let u,p=br[a];if(!p||await st(null,p.newSession.dependencies)){let{CompiledData:g,sessionInfo:S}=await Tr(a,d.Static,{nestedPage:r,nestedPageData:e.popHaveDefault("object")});S.dependencies[c]=S.dependencies.thisPage,delete S.dependencies.thisPage,s.extends(S),br[a]={CompiledData:g,newSession:S},u=g}else{let{CompiledData:g,newSession:S}=br[a];Object.assign(s.dependencies,S.dependencies),s.extends(S),u=g}return{compiledString:u}}async function kr(r){let t=new f(r.StartInfo);return t.Plus$`<%{%>${r}<%}%>`,{compiledString:t,checkComponents:!0}}import{relative as _a}from"path";import{createHash as ga}from"node:crypto";function Wt(r,t=10){return Buffer.from(r).toString("base64").substring(0,t).replace(/\+/g,"_").replace(/\//g,"_")}function Ki(r){return ga("md5").update(r).digest("hex")}import an from"node:path";import{transform as ya}from"@swc/core";import{extname as xa}from"node:path";import en from"sass";import{v4 as ba}from"uuid";import wa from"path";import{fileURLToPath as Ta}from"node:url";import{transform as Yi}from"@swc/core";import da from"path";var qt={pathAliases:{}},ot=class r{async load(t){let e=await ge(t);this.Build=new vt(e),this.actionStringImport=this.actionStringImport.bind(this),this.actionStringImportAll=this.actionStringImportAll.bind(this),this.actionStringExport=this.actionStringExport.bind(this),this.actionStringExportAll=this.actionStringExportAll.bind(this)}changeAlias(t){let e=this.Build.AllInputs[t];for(let i in qt.pathAliases)if(e.substring(1).startsWith(i)){e=e[0]+da.join(qt.pathAliases[i],e.substring(i.length+1));break}this.Build.AllInputs[t]=e}actionStringImport(t,e,i){return this.changeAlias(i),`var ${e} = await ${t}(<|${i}||>)`}actionStringExport(t,e,i){let n=e.trim().slice(1,-1).split(",").map(s=>s.split(":").pop()).join(",");return`{${this.actionStringImport(t,e,i)};Object.assign(exports, {${n}})}`}actionStringImportAll(t,e){return this.changeAlias(e),`await ${t}(<|${e}||>)`}actionStringExportAll(t,e){return`Object.assign(exports, ${this.actionStringImportAll(t,e)})`}BuildImportType(t,e=t,i=this.actionStringImport){let n="",s=this.Build.CodeBuildText,o;function a(){o=s.match(new RegExp(`${t}(\\s+type)?[\\s]*((\\s([\\p{L}0-9_]+)\\s*,\\s*(\\{([\\p{L}0-9_,\\s]*)\\}))|((\\*\\s*as)?\\s+([\\p{L}0-9_]+)\\s)|(\\{([\\p{L}0-9_,\\s]*)\\}))[\\s]*from[\\s]*<\\|([0-9]+)\\|\\|>`,"u"))}for(a();o;){let l=o[2].trim();if(n+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),o[1]){a();continue}let c,u=p=>p.replace(/\sas\s/g,":");o[10]||l[0]=="*"?c=o[10]&&u(o[10])||o[9]:o[4]&&o[6]?c=`{default:${o[4]},${u(o[6])}}`:(o[4]??o[9])&&(c=`{default:${o[4]??o[9]}}`),n+=i(e,c,o[12]),a()}n+=s,this.Build.CodeBuildText=n}BuildInOneWord(t,e=t,i=this.actionStringImportAll){let n="",s=this.Build.CodeBuildText,o;function a(){o=s.match(new RegExp(t+"[\\s]*<\\|([0-9]+)\\|\\|>"))}for(a();o;)n+=s.substring(0,o.index),s=s.substring(o.index+o[0].length),n+=i(e,o[1]),a();n+=s,this.Build.CodeBuildText=n}replaceWithSpace(t){this.Build.CodeBuildText=t(" "+this.Build.CodeBuildText).substring(1)}Define(t){for(let[e,i]of Object.entries(t))this.replaceWithSpace(n=>n.replace(new RegExp(`([^\\p{L}])${e}([^\\p{L}])`,"gui"),(...s)=>s[1]+i+s[2]))}BuildInAsFunction(t,e){this.replaceWithSpace(i=>i.replace(new RegExp(`([^\\p{L}])${t}([\\s]*\\()`,"gui"),(...n)=>n[1]+e+n[2]))}async exportAnyFrom(t="require"){let e=this.Build.CodeBuildText,i;function n(){i=e.match(/export\s*\*\s*from\s*<\|([0-9]+)\|\|>/)}for(n();i;){let s=e.substring(0,i.index),o=e.substring(i.index+i[0].length),a=i[1];e=s+this.actionStringExportAll(t,a)+o,n()}this.Build.CodeBuildText=e}async exportVariable(){let t=this.Build.CodeBuildText,e;function i(){e=t.match(/(export[\s]+)(var|let|const)[\s]+([\p{L}\$_][\p{L}0-9\$_]*)/u)}for(i();e;){let n=t.substring(0,e.index),s=e[0].substring(e[1].length),o=t.substring(e.index+e[0].length),a=await or(o,[";",` `]);a==-1&&(a=o.length);let l=o.substring(0,a),c=o.substring(a);t=`${n+s+l};exports.${e[3]}=${e[3]}${c}`,i()}this.Build.CodeBuildText=t}async exportBlock(){let t=this.Build.CodeBuildText,e;function i(){e=t.match(/(export[\s]+)(default[\s|{|\[|\(][\s]*)?([^\s])/u)}for(i();e;){let n=t.substring(0,e.index),s=e[0].substring(e[1].length+(e[2]||" ").length-1),o=t.substring(e.index+e[0].length-1);if(/^(type|interface)\s/.test(o)){t=n+o,i();continue}let a=e[3][0],l=!!e[2];if(a=="{"||e[2]?.at?.(-1)=="{")if(o=o.substring(1),l)t=n+"exports.default="+s+o;else{let c=await Oi(o,["{","}"]);n+=`Object.assign(exports, ${s+o.substring(0,c+1)})`,t=n+o.substring(c+1)}else{s=s.slice(0,-1);let c=await or(o,[";",` `]);c==-1&&(c=o.trimEnd().length);let u=o.substring(0,c),p=u.match(/(function|class)[\s]+([\p{L}\$_][\p{L}0-9\$_]*)?/u);if(p?.[2]){let g=o.substring(c);t=`${n+s+u}exports.${l?"default":p[2]}=${p[2]}${g}`}else l?t=n+"exports.default="+s+o:t=`${n}exports.${u.split(/\s/,1).pop()}=${s+o}`}i()}this.Build.CodeBuildText=t}async BuildImports(t){this.BuildImportType("import","require"),this.exportAnyFrom("require"),this.BuildImportType("export","require",this.actionStringExport),this.BuildImportType("include"),this.BuildInOneWord("import","require"),this.BuildInOneWord("include"),this.BuildInAsFunction("import","require"),await this.exportVariable(),await this.exportBlock(),t&&this.Define(t)}BuiltString(){return this.Build.BuildCode()}static async BuildAndExportImports(t,e){let i=new r;return await i.load(` ${t} `),await i.BuildImports(e),t=i.BuiltString(),t.substring(1).trimEnd()}};import{v4 as ha}from"uuid";function Sa(r){return`module.exports = () => (DataObject) => DataObject.out_run_script.text += \`${C.printError(`Syntax Error: ${r}`)}\``}var _t={globals:{}};async function Zi(r,t,e){if(!t)return r;r=r.trim();let i={jsc:j({parser:{syntax:"typescript",...B((t?"TS":"JS")+"Options")}}),filename:e.smallPath,sourceMaps:!0},n,s=await ot.BuildAndExportImports(r.eq);try{let{code:o,map:a}=await Yi(s,i);n=a?await St(r,o,a):new f(null,o)}catch(o){return H(r,o,r.extractInfo()),new f(null,`/*Error -> ${r.extractInfo()}*/`)}return n}var vr=class{constructor(t){this.text=t;this.token="";for(;t.includes(this.token);)this.token="var__"+ha().replaceAll("-","_")}get variables(){return{stop:this.token}}makeReturn(t){let e=new RegExp(`${this.token}(\\s*\\(\\s*\\))?`,"g");return t.replace(e,"return ")}};async function tn(r,t,e){r=r.trim();let i=await ot.BuildAndExportImports(r.eq),n=new vr(i),s={jsc:j({parser:{syntax:t?"typescript":"ecmascript",...B((t?"TS":"JS")+"Options")}},{__DEBUG__:""+e.debug,..._t.globals,...n.variables},!0),minify:!e.debug,filename:e.smallPath,sourceMaps:!0},o;try{let{code:a,map:l}=await Yi(n.text,s),c=n.makeReturn(a);o=l?await St(r,c,l):new f(null,c)}catch(a){let l=H(r,a,r.extractInfo());e.debug&&(l.errorFile=h.relative(l.errorFile),o=new f(null,Sa(l.simpleMessage)))}return o}var be=new G("ShortScriptNames"),Bt=class r{constructor(t,e,i,n,s){this.smallPath=t;this.fullPath=e;this.typeName=i;this.debug=n;this._safeDebug=s;this.connectorArray=[];this.scriptURLSet=[];this.styleURLSet=[];this.inScriptStyle=[];this.headHTML="";this.cache={style:[],script:[],scriptModule:[]};this.cacheComponent={};this.compileRunTimeStore={};this.dependencies={};this.recordNames=[];this.runtimeScript=new f;this.sitemapBuild=new f;this.BuildScriptWithPrams=this.BuildScriptWithPrams.bind(this)}get safeDebug(){return this.debug&&this._safeDebug}unshiftRuntimeScript(t){this.runtimeScript=t.Plus(this.runtimeScript)}connectSitemapXML(t){t instanceof f&&this.sitemapBuild.Plus(t)}style(t,e){this.styleURLSet.find(i=>i.url==t&&JSON.stringify(i.attributes)==JSON.stringify(e))||this.styleURLSet.push({url:t,attributes:e})}script(t,e){this.scriptURLSet.find(i=>i.url==t&&JSON.stringify(i.attributes)==JSON.stringify(e))||this.scriptURLSet.push({url:t,attributes:e})}record(t){this.recordNames.includes(t)||this.recordNames.push(t)}async dependence(t,e=h.fullWebSitePath+t){if(this.dependencies[t])return!0;let i=await m.stat(e,"mtimeMs",!0,null);if(i)return this.dependencies[t]=i,!0}addScriptStyle(t,e=this.smallPath){let i=this.inScriptStyle.find(n=>n.type==t&&n.path==e);return i||(i={type:t,path:e,value:new dt(e,this.debug,t=="style",!0)},this.inScriptStyle.push(i)),i.value}addScriptStylePage(t,e,i){return this.addScriptStyle(t,e.popString("page")?this.smallPath:i.extractInfo())}static createName(t){let e=0,i,n=Object.values(be.store);for(;i==null||n.includes(i);)i=Wt(t,5+e).substring(e),e++;return i}async addHeadTags(){let t=this.typeName==d.Logs[2];for(let e of this.inScriptStyle){let i=t&&e.path==this.smallPath,n=i?d.Logs[1]:d.Static[1],s=i?"?t=l":"",o=be.have(e.path,()=>r.createName(e.path))+".pub";switch(e.type){case"script":o+=".js",this.script("/"+o+s,{defer:null});break;case"module":o+=".mjs",this.script("/"+o+s,{type:"module"});break;case"style":o+=".css",this.style("/"+o+s);break}m.writeFile(n+o,await e.value.createDataWithMap())}}async buildHead(){await this.addHeadTags();let t=i=>i.attributes?" "+Object.keys(i.attributes).map(n=>i.attributes[n]?n+`="${i.attributes[n]}"`:n).join(" "):"",e="";for(let i of this.styleURLSet)e+=`<link rel="stylesheet" href="${i.url}"${t(i)}/>`;for(let i of this.scriptURLSet)e+=`<script src="${i.url}"${t(i)}></script>`;return e+this.headHTML}extends(t){this.connectorArray.push(...t.connectorArray),this.scriptURLSet.push(...t.scriptURLSet),this.styleURLSet.push(...t.styleURLSet);for(let i of t.inScriptStyle)this.inScriptStyle.push({...i,value:i.value.clone()});let e=["cacheComponent","dependencies"];for(let i of e)Object.assign(this[i],t[i]);this.recordNames.push(...t.recordNames.filter(i=>!this.recordNames.includes(i))),this.headHTML+=t.headHTML,this.cache.style.push(...t.cache.style),this.cache.script.push(...t.cache.script),this.cache.scriptModule.push(...t.cache.scriptModule)}BuildScriptWithPrams(t){return Zi(t,at(),this)}};async function ka(r,t,e){try{let{css:i,sourceMap:n,loadedUrls:s}=await en.compileStringAsync(r.eq,{syntax:Nt(t),style:ye(t),importer:jt(e),logger:en.Logger.silent,sourceMap:!0});return{code:await Gi(r,i,n,n.sources.find(o=>o.startsWith("data:"))),dependencies:s.map(o=>Ta(o))}}catch(i){console.log("sassError",i),hr(i,r)}return{code:new f}}async function va(r,t,e,i,n=""){let s={};r=r.replacer(/((import({|\s*\(?)|((import\s*type|import|export)({|\s+)[\W\w]+?(}|\s+)from))(}|\s*))(["|'|`])([\W\w]+?)\9(\s*\))?/m,o=>{if(t=="ts"&&o[5].endsWith(" type"))return o[0];let a=xa(o[10].eq);a==""&&(t=="ts"?o[10].AddTextAfterNoTrack(".ts"):o[10].AddTextAfterNoTrack(".js"));let l=o[1].Plus(o[9],o[10],a==".svelte"?n:"",o[9],o[11]??"");if(a==".svelte")e.push(o[10].eq);else if(t!=="ts"||!o[4])return l;let c=ba();return s[c]=l,new f(null,`___toKen\`${c}\``)});try{let{code:o,map:a}=await ya(r.eq,{jsc:j({parser:{syntax:"typescript",...B(t.toUpperCase()+"Options")}},{__DEBUG__:""+i}),sourceMaps:!0,...B("transformOptions")});r=await St(r,o,a)}catch(o){return H(r,o,r.extractInfo()),new f}return t=="ts"&&(r=r.replacer(/___toKen`([\w\W]+?)`/mi,o=>s[o[1].eq]??new f)),r}async function we(r,t,e,i=t,n=!0,s=""){let o=new f(t,await m.readFile(r)),a="js",l="css",c=[],u=[];o=await o.replacerAsync(/(<script)[ ]*( lang=('|")?([A-Za-z]+)('|")?)?[ ]*(>\n?)(.*?)(\n?<\/script>)/s,async y=>(a=y[4]?.eq??"js",y[1].Plus(y[6],await va(y[7],a,c,e,s),y[8])));let p=c.map(y=>`@import "${y}.css";`).join(""),g=!1;o=await o.replacerAsync(/(<style)[ ]*( lang=('|")?([A-Za-z]+)('|")?)?[ ]*(>\n?)(.*?)(\n?<\/style>)/s,async y=>{if(l=y[4]?.eq??"css",l=="css")return y[0];let{code:b,dependencies:v}=await ka(y[7],l,r);return v&&u.push(...v),g=!0,p&&b.AddTextBeforeNoTrack(p),y[1].Plus(y[6],b,y[8])}),!g&&p&&o.AddTextAfterNoTrack(`<style>${p}</style>`);let S=new Bt(t,r),w=[S.dependence(t,r)];for(let y of u)w.push(S.dependence(h.relative(y),y));return{scriptLang:a,styleLang:l,code:o.eq,map:o.StringTack(i,n),dependencies:S.dependencies,svelteFiles:c.map(y=>y[0]=="/"?d.Static[0]+y:wa.normalize(r+"/../"+y))}}function rn(r){return r[0].toUpperCase()+r.slice(1)}import*as ln from"svelte/compiler";import{createRequire as Ca}from"module";import Cr from"clear-module";import Pa from"path";var nn=Ca(import.meta.url),sn=r=>nn.resolve(r);function lt(r){r=Pa.normalize(r);let t=nn(r);return Cr(r),t}import{SourceMapConsumer as Aa}from"source-map";var Te=class{constructor(t){this.map=new Aa(t)}async getLocation(t){let{line:e,column:i}=(await this.map).originalPositionFor(t);return`${e}:${i}`}};async function on({message:r,code:t,start:e,frame:i},n,s){let o=new Te(s),[a,l]=A({errorName:"svelte-"+t,type:"error",text:`${r} ${i}<color>${n}:${await o.getLocation(e)}`});k[a](l)}async function ke(r,t,e){let i=new Te(e);for(let{message:n,code:s,start:o,frame:a}of r){let[l,c]=A({errorName:"svelte-"+s,type:"warn",text:`${n} ${a}<color>${t}:${await i.getLocation(o)}`});k[l](c)}}async function ve(r,t,e){let i=an.parse(r).name.replace(/^\d/,"_$&").replace(/[^a-zA-Z0-9_$]/g,""),n={filename:r,name:rn(i),generate:"ssr",format:"cjs",dev:e.debug,errorMode:"warn"},s=an.relative(d.Static[2],t),o=d.Static[1]+s;await m.makePathReal(s,d.Static[1]);let a=o+".ssr.cjs",{svelteFiles:l,code:c,map:u,dependencies:p}=await we(r,t,e.debug,a,!1,".ssr.cjs");Object.assign(e.dependencies,p),n.sourcemap=u;let g=[];for(let b of l)Cr(sn(b)),g.push(ve(b,h.relative(b),e));await Promise.all(g);let{js:S,css:w,warnings:y}=ln.compile(c,n);return ke(y,r,u),await m.writeFile(a,S.code),w.code&&(w.map.sources[0]="/"+s.split(/\/|\//).pop()+"?source=true",w.code+=gt(w.map,!0)),await m.writeFile(o+".css",w.code??""),a}import{v4 as Ba}from"uuid";async function Ma(r,t,e,i){let n=c=>{let u=g=>r.getOBJ(g);return u("ssr-"+c)??u(c)??{}},s=await ve(t,e,i),o=await lt(s),{html:a,head:l}=o.default.render(n("props"),n("options"));return i.headHTML+=l,a}async function Pr(r,t,e){let i=r.extractInfo(),n=h.fullWebSitePath+i,{SmallPath:s,FullPath:o}=At(n,i,t.popHaveDefault("file"),d.Static[2],"svelte"),a=_a(d.Static[2],s).replace(/\\/gi,"/");e.style("/"+a+".css");let l=t.popAnyDefault("id",Wt(Ba())),c=w=>{let y=t.popAnyDefault(w,"").trim();return y?`,${w}:${y||"{}"}`:""},u=t.popHaveDefault("selector"),p=!u&&t.popBoolean("ssr")?await Ma(t,o,s,e):"",g=e.addScriptStylePage("module",t,r),S=g.metaMap[a];return S||(g.metaMap[a]=l),g.addText(`${S?"":`import App${l} from '/${a}';`} const target${l} = document.querySelector("${u||"#"+l}"); target${l} && new App${S??l}({ target: target${l} ${c("props")+c("options")}${p?", hydrate: true":""} });`),{compiledString:new f(null,u?"":`<div id="${l}">${p}</div>`),checkComponents:!0}}import Fa from"markdown-it";import cn from"highlight.js";import Ut from"path";import un from"markdown-it-anchor";import La from"@sindresorhus/slugify";import Ea from"markdown-it-attrs";import Da from"markdown-it-abbr";function $a(r,t){function e(i){return(...n)=>{let s=i(...n);return`<div class="code-copy"> <div> <a href="#copy-clipboard" onclick="markdownCopy(this)">${t}</a> </div> ${s} </div>`}}r.renderer.rules.code_block=e(r.renderer.rules.code_block),r.renderer.rules.fence=e(r.renderer.rules.fence)}async function Ar(r,t,e,i,n){let s=i.GetPlugin("markdown"),o=t.popBoolean("hljs-class",s?.hljsClass??!0)?' class="hljs"':"",a=!1,l=Fa({html:!0,xhtmlOut:!0,linkify:t.popBoolean("linkify",s?.linkify),breaks:t.popBoolean("breaks",s?.breaks??!0),typographer:t.popBoolean("typographer",s?.typographer??!0),highlight:function(v,T){if(T&&cn.getLanguage(T)){a=!0;try{return`<pre${o}><code>${cn.highlight(v,{language:T,ignoreIllegals:!0}).value}</code></pre>`}catch(P){let[F,q]=A({text:P,type:"error",errorName:"markdown-parser"});k[F](q)}}return`<pre${o}><code>${l.utils.escapeHtml(v)}</code></pre>`}}),c=t.popAnyDefault("copy-code",s?.copyCode??"\u{1F4CB}");c&&l.use(v=>$a(v,c)),t.popBoolean("header-link",s?.headerLink??!0)&&l.use(un,{slugify:v=>La(v),permalink:un.permalink.headerLink()}),t.popBoolean("attrs",s?.attrs??!0)&&l.use(Ea),t.popBoolean("abbr",s?.abbr??!0)&&l.use(Da);let u=e?.eq||"",p=t.popAnyDefault("file","./markdown");if(!u?.trim?.()&&p){let v=p[0]=="/"?Ut.join(d.Static[2],p):Ut.join(Ut.dirname(r.extractInfo("<line>")),p);Ut.extname(v)||(v+=".serv.md");let T=Ut.join(h.fullWebSitePath,v);u=await m.readFile(T),await n.dependence(v,T)}let g=l.render(u),S=new f(r.DefaultInfoText),w=await Ia(t.popString("code-theme")||s?.codeTheme||"atom-one");if(a){if(w!="none"){let v="/serv/md/code-theme/"+w+".css";n.style(v)}c&&n.script("/serv/md.js")}t.addClass("markdown-body");let y=t.popAnyDefault("theme",s?.theme??"auto"),b="/serv/md/theme/"+y+".css";return y!="none"&&n.style(b),S.Plus$`<div${t.rebuildSpace()}>${g}</div>`,{compiledString:S,checkCompone