crossnote 0.9.7 → 0.9.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/out/esm/index.mjs CHANGED
@@ -109,7 +109,7 @@ ${new Date().toString()}
109
109
 
110
110
  ---
111
111
 
112
- `+B,Td.writeFileSync(x,B,{encoding:"utf-8"})}function t3(p){return new Promise((b,x)=>{let T={Authorization:`Client-ID ${e3}`};VS.post({url:`${QU}image`,encoding:"utf8",formData:{image:Td.createReadStream(p)},json:!0,headers:T},(I,B,P)=>{if(I)return x(I);if(P.success){let F=P.data.link;return dD(p,F),b(F)}else return b(P.data.error.message)})})}function n3(p){return new Promise((b,x)=>{let T={authority:"sm.ms","user-agent":"crossnote",referer:""};VS.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:Td.createReadStream(p)},headers:T},(I,B,P)=>{try{if(P=JSON.parse(P),I)return x("Failed to upload image");if(P.code==="error")return x(P.msg);{let F=P.data.url;return dD(p,F),b(F)}}catch{return x("Failed to connect to sm.ms host")}})})}function a3(p,b,x,T,I){return new Promise((B,P)=>{if(!b)return P("Error: Qiniu AccessKey is missing");if(!x)return P("Error: Qiniu SecretKey is missing");if(!T)return P("Error: Qiniu Bucket is missing");if(!I)return P("Error: Qiniu Domain is missing");import("qiniu").then(F=>{let j=new F.auth.digest.Mac(b,x),V=new F.rs.PutPolicy({scope:T}).uploadToken(j),Q=new F.conf.Config,ae=cD.basename(p),pe=new F.form_up.FormUploader(Q),Z=new F.form_up.PutExtra;return pe.putFile(V,ae,p,Z,(te,ue,he)=>{if(te)return P(te.message);if(he.statusCode===200){let Re=new F.rs.BucketManager(j,Q).publicDownloadUrl(I,ae);return B(Re)}else return P(he.error)})}).catch(F=>P(F))})}function YS(p,{method:b="imgur",qiniu:x={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return b==="imgur"?t3(p):b==="qiniu"?a3(p,x.AccessKey,x.SecretKey,x.Bucket,x.Domain):n3(p)}"structuredClone"in globalThis||(globalThis.structuredClone=r3);Cw.track();function Yo(p){return new Promise((b,x)=>{Cw.open(p,(T,I)=>T?x(T.toString()):b(I))})}function Cd(p){if(process.platform==="win32")return p.match(/^[a-zA-Z]:\\/)&&(p="file:///"+p),p.startsWith("file:///")?ih.execFile("explorer.exe",[p]):ih.exec(`start ${p}`);process.platform==="darwin"?ih.execFile("open",[p]):ih.execFile("xdg-open",[p])}function Rw(p=""){p.startsWith("---")&&(p=p.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return pD.parse(p)}catch(b){return{error:b.toString()}}}var hD=(()=>typeof __dirname<"u"?fD.resolve(__dirname,"../"):"")();function mD(p){hD=p}function Et(){return hD}var KS=null;function gD(p){KS=p}function vn(p,b){return KS&&b?KS(p,b):(p.startsWith("file://")||(p="file:///"+p),p=p.replace(/^file:\/+/,"file:///"),p)}function Ms(p){let b=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return p.replace(b,(x,T,I)=>(T&&(I=I.replace(/^file\/+/,"")),process.platform!=="win32"&&!I.startsWith("/")?"/"+I:I))}function bD(p){let b=globalThis.eval;try{return globalThis.eval=x=>oh.runInThisContext(x),p()}finally{globalThis.eval=b}}function yD(p){let b=globalThis.Function;try{return globalThis.Function=XS,p()}finally{globalThis.Function=b}}async function vD(p){let b=globalThis.Function,x=globalThis.eval;try{return globalThis.Function=XS,globalThis.eval=T=>oh.runInThisContext(T),await p()}finally{globalThis.eval=x,globalThis.Function=b}}var n0=p=>p.attributes.cmd===!0?p.language:p.attributes.cmd;function XS(...p){let b="",x=[];if(p.length){b=p[p.length-1];for(let I=0;I<p.length-1;I++)x.push(p[I])}let T=[];for(let I=0,B=x.length;I<B;I++){let P=x[I];typeof P=="string"&&(P=P.split(/\s*,\s*/)),T.push.apply(T,P)}return oh.runInThisContext(`
112
+ `+B,Td.writeFileSync(x,B,{encoding:"utf-8"})}function t3(p){return new Promise((b,x)=>{let T={Authorization:`Client-ID ${e3}`};VS.post({url:`${QU}image`,encoding:"utf8",formData:{image:Td.createReadStream(p)},json:!0,headers:T},(I,B,P)=>{if(I)return x(I);if(P.success){let F=P.data.link;return dD(p,F),b(F)}else return b(P.data.error.message)})})}function n3(p){return new Promise((b,x)=>{let T={authority:"sm.ms","user-agent":"crossnote",referer:""};VS.post({url:"https://sm.ms/api/v2/upload",formData:{smfile:Td.createReadStream(p)},headers:T},(I,B,P)=>{try{if(P=JSON.parse(P),I)return x("Failed to upload image");if(P.code==="error")return x(P.msg);{let F=P.data.url;return dD(p,F),b(F)}}catch{return x("Failed to connect to sm.ms host")}})})}function a3(p,b,x,T,I){return new Promise((B,P)=>{if(!b)return P("Error: Qiniu AccessKey is missing");if(!x)return P("Error: Qiniu SecretKey is missing");if(!T)return P("Error: Qiniu Bucket is missing");if(!I)return P("Error: Qiniu Domain is missing");import("qiniu").then(F=>{let j=new F.auth.digest.Mac(b,x),V=new F.rs.PutPolicy({scope:T}).uploadToken(j),Q=new F.conf.Config,ae=cD.basename(p),pe=new F.form_up.FormUploader(Q),Z=new F.form_up.PutExtra;return pe.putFile(V,ae,p,Z,(te,ue,he)=>{if(te)return P(te.message);if(he.statusCode===200){let Re=new F.rs.BucketManager(j,Q).publicDownloadUrl(I,ae);return B(Re)}else return P(he.error)})}).catch(F=>P(F))})}function YS(p,{method:b="imgur",qiniu:x={AccessKey:"",SecretKey:"",Bucket:"",Domain:""}}){return b==="imgur"?t3(p):b==="qiniu"?a3(p,x.AccessKey,x.SecretKey,x.Bucket,x.Domain):n3(p)}"structuredClone"in globalThis||(globalThis.structuredClone=r3);Cw.track();function Yo(p){return new Promise((b,x)=>{Cw.open(p,(T,I)=>T?x(T.toString()):b(I))})}function Cd(p){if(process.platform==="win32")return p.match(/^[a-zA-Z]:\\/)&&(p="file:///"+p),p.startsWith("file:///")?ih.execFile("explorer.exe",[p]):ih.exec(`start ${p}`);process.platform==="darwin"?ih.execFile("open",[p]):ih.execFile("xdg-open",[p])}function Rw(p=""){p.startsWith("---")&&(p=p.trim().replace(/^---\r?\n/,"").replace(/\r?\n---$/,""));try{return pD.parse(p)}catch(b){return{error:b.toString()}}}var hD=typeof __dirname<"u"?fD.resolve(__dirname,"../"):"";function mD(p){hD=p}function Et(){return hD}var KS=null;function gD(p){KS=p}function vn(p,b){return KS&&b?KS(p,b):(p.startsWith("file://")||(p="file:///"+p),p=p.replace(/^file:\/+/,"file:///"),p)}function Ms(p){let b=/^(?:(?:file|(vscode)-(?:webview-)?resource|vscode--resource):\/+)(.*)/m;return p.replace(b,(x,T,I)=>(T&&(I=I.replace(/^file\/+/,"")),process.platform!=="win32"&&!I.startsWith("/")?"/"+I:I))}function bD(p){let b=globalThis.eval;try{return globalThis.eval=x=>oh.runInThisContext(x),p()}finally{globalThis.eval=b}}function yD(p){let b=globalThis.Function;try{return globalThis.Function=XS,p()}finally{globalThis.Function=b}}async function vD(p){let b=globalThis.Function,x=globalThis.eval;try{return globalThis.Function=XS,globalThis.eval=T=>oh.runInThisContext(T),await p()}finally{globalThis.eval=x,globalThis.Function=b}}var n0=p=>p.attributes.cmd===!0?p.language:p.attributes.cmd;function XS(...p){let b="",x=[];if(p.length){b=p[p.length-1];for(let I=0;I<p.length-1;I++)x.push(p[I])}let T=[];for(let I=0,B=x.length;I<B;I++){let P=x[I];typeof P=="string"&&(P=P.split(/\s*,\s*/)),T.push.apply(T,P)}return oh.runInThisContext(`
113
113
  (function(${T.join(", ")}) {
114
114
  ${b}
115
115
  })
@@ -122,7 +122,7 @@ ${new Date().toString()}
122
122
  ${W(V,he)}
123
123
  </div>
124
124
  </details>
125
- `:Z+=`<div class="md-toc-link-wrapper" style="${Re};display:list-item;list-style:square;margin-left:${ue.level===F?18:24+18}px">
125
+ `:Z+=`<div class="md-toc-link-wrapper" style="${Re};display:list-item;list-style:square;margin-left:${ue.level===F?18:42}px">
126
126
  <a
127
127
  href="#${Le}"
128
128
  class="md-toc-link"
@@ -150,7 +150,7 @@ ${I}`}var tA=null;function E3(p){return new Promise((b,x)=>{if(!p.match(/^https?
150
150
  `;continue}else{be=Ve,Se=Se+Dt,ke=ke+(F?`<p${Pe()?` data-source-line="${Se-Dt+1}"`:""}><span>[CROSSNOTESLIDE]</span></p> `:"<span>[CROSSNOTESLIDE]</span> ")+`
151
151
  `.repeat(Dt);continue}}else{let Zt=p.slice(be+4,Ve-3).match(/\n/g),Dt=Zt?Zt.length:0;be=Ve,Se=Se+Dt,ke=ke+`
152
152
  `.repeat(Dt);continue}}else{let yt=p.slice(be+4,Ve-3).match(/\n/g),Zt=yt?yt.length:0;be=Ve,Se=Se+Zt,ke=ke+`
153
- `.repeat(Zt);continue}}else if(cn=De.match(/^(#{1,7}).*/)){let Ve=De.replace(cn[1],"").trim(),Ze=cn[1],Xt=Ze.length,yt=Ve.match(/{[^{]+\}\s*$/),Zt="",Dt="",At=!1,ft={};if(yt){Ve=Ve.replace(yt[0],"").trim();try{ft=Vr(yt[0]),Zt=ft.class??"",Dt=ft.id??"",At=ft.ignore,delete ft.class,delete ft.id,delete ft.ignore}catch{Ve="OptionsError: "+yt[1],At=!0}}if(Dt||(Dt=Q.generateId(Ve),ae.config.usePandocParser&&(Dt=Dt.replace(/^[\d-]+/,""),Dt||(Dt="section"))),At||Ne.push({content:Ve,level:Xt,id:Dt,lineNo:Se+1}),P){be=gt+1,Se=Se+1,ke=ke+De+`
153
+ `.repeat(Zt);continue}}else if(cn=De.match(/^(#{1,7})\s.*/)){let Ve=De.replace(cn[1],"").trim(),Ze=cn[1],Xt=Ze.length,yt=Ve.match(/{[^{]+\}\s*$/),Zt="",Dt="",At=!1,ft={};if(yt){Ve=Ve.replace(yt[0],"").trim();try{ft=Vr(yt[0]),Zt=ft.class??"",Dt=ft.id??"",At=ft.ignore,delete ft.class,delete ft.id,delete ft.ignore}catch{Ve="OptionsError: "+yt[1],At=!0}}if(Dt||(Dt=Q.generateId(Ve),ae.config.usePandocParser&&(Dt=Dt.replace(/^[\d-]+/,""),Dt||(Dt="section"))),At||Ne.push({content:Ve,level:Xt,id:Dt,lineNo:Se+1}),P){be=gt+1,Se=Se+1,ke=ke+De+`
154
154
  `;continue}else{let Ce="{";if(Dt&&(Ce+=`#${Dt} `),Zt&&(Ce+="."+Zt.replace(/\s+/g," .")+" "),ft)for(let Ye in ft)typeof ft[Ye]=="number"?Ce+=" "+Ye+"="+ft[Ye]:Ce+=" "+Ye+'="'+ft[Ye]+'"';Pe()&&(Ce+=` data-source-line="${Se+1}"`),Ce+="}",Ce==="{}"&&(Ce=""),be=gt+1,Se=Se+1,ke=ke+`${Ze} ${Ve} ${Ce}
155
155
  `;continue}}else if(De.match(/^\s*\[toc\]\s*$/i)){Le=!0,be=gt+1,Se=Se+1,ke=ke+(F?`<p${Pe()?` data-source-line="${Se}"`:""}><span>[CROSSNOTETOC]</span></p>
156
156
  `:`<span>[CROSSNOTETOC]</span>
@@ -284,7 +284,7 @@ ${ue.plainResult}\`\`\`
284
284
 
285
285
  `+Le+`
286
286
 
287
- `)}p=Y3(p,b,x),V.find(Ne=>Ne.includes("pandoc-citeproc")||Ne.includes("--defaults"))===void 0&&(W.bibliography||W.references)&&V.push("--citeproc");let me=j.config.imageFolderPath;me[0]==="/"?me=Cr.resolve(x,"."+me):me=Cr.resolve(b,me),await lA.sync(me);let{outputString:Re}=await Gw(p,{fileDirectoryPath:b,projectDirectoryPath:x,imageDirectoryPath:me,imageFilePrefix:La(Z),useRelativeFilePath:!0,codeChunksData:P,graphsCache:F,addOptionsStr:!0,notebook:j});return await lA.sync(Cr.dirname(Z)),await new Promise((Ne,Le)=>{q3(j.config.pandocPath,V,{cwd:b},Ee=>Ee?Le(Ee.toString()):Ne(Z)).stdin?.end(Re)})}import{execFile as K3}from"child_process";function pM(p,b){return new Promise((x,T)=>{K3("prince",[p,"--javascript","-o",b],I=>{if(I){let B=I.toString();return I.message.indexOf("spawn prince ENOENT")>=0&&(B='"princexml" is required to be installed.'),T(B)}return x()})})}var X3=p=>typeof p=="string"?p.trim().toLowerCase():"",jw=p=>{let b=kD(p.attributes),x=X3(p.language);return b!==p.attributes||x!==p.language?{language:x,attributes:b}:p};var Hw=(p="")=>{let b,x,T,I=p.trim(),B=I.indexOf("{")!==-1?I.match(/^([^\s{]*)\s*\{(.*?)\}/):I.match(/^([^\s]+)\s+(.+?)$/);if(B?(B[1].length&&(b=B[1]),x=B[2]):(b=I,x=""),x)try{T=Vr(x)}catch{T={}}else T={};let P=T.class?T.class.split(/\s+/):[];return b||(b=P[0]||"text"),P.includes(b)||(T.class=[b,...P].join(" ")),{language:b,attributes:T}};import{Mutex as fz}from"async-mutex";import*as NM from"case-anything";import pz from"markdown-it";import hz from"markdown-it-abbr";import mz from"markdown-it-deflist";import gz from"markdown-it-footnote";import bz from"markdown-it-mark";import yz from"markdown-it-sub";import vz from"markdown-it-sup";import*as en from"path";import{URI as Ez,Utils as wz}from"vscode-uri";var hM=p=>{let T=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function I(){p.block.ruler.after("fence","admonition",P,{alt:[]}),p.renderer.rules.admonition_open=B,p.renderer.rules.admonition_title_open=B,p.renderer.rules.admonition_title_close=B,p.renderer.rules.admonition_close=B}function B(F,j,W,V,Q){let ae=F[j];return ae.type==="admonition_open"?F[j].attrPush(["class","admonition "+ae.info]):ae.type==="admonition_title_open"&&F[j].attrPush(["class","admonition-title"]),Q.renderToken(F,j,W)}function P(F,j,W,V){if(F.tShift[j]-F.blkIndent>=4)return!1;let Q=F.bMarks[j]+F.tShift[j],ae=F.eMarks[j],pe=F.src.charCodeAt(Q);if(pe!==33)return!1;let Z=Q;if(Q=F.skipChars(Q,pe),Q-Z<3)return!1;let ue=F.src.slice(Z,Q),he="",me="",Re=F.src.slice(Q,ae).trim().split(" ");if(he=(Re.shift()??"").toLowerCase(),me=Re.join(" "),T.indexOf(he)<0&&(he="note"),me||(me=he.substr(0,1).toUpperCase()+he.substr(1,he.length-1)),V)return!0;let Ne=F.parentType,Le=F.lineMax,ze=F.blkIndent;F.blkIndent+=4;let Ee=j;for(;Ee++,!(Ee>=W||(Q=Z=F.bMarks[Ee]+F.tShift[Ee],ae=F.eMarks[Ee],Q<ae&&F.sCount[Ee]<F.blkIndent)););F.parentType="admonition",F.lineMax=Ee;let ye=F.push("admonition_open","div",1);return ye.markup=ue,ye.block=!0,ye.info=he,ye.map=[j,j+1],me!=='""'&&(ye=F.push("admonition_title_open","p",1),ye.markup=ue+" "+he,ye.map=[j,j+1],ye=F.push("inline","",0),ye.content=me,ye.map=[j,j+1],ye.children=[],ye=F.push("admonition_title_close","p",-1),ye.markup=ue+" "+he),F.md.block.tokenize(F,j+1,Ee),ye=F.push("admonition_close","div",-1),ye.markup=ue,ye.map=[j,Ee],ye.block=!0,F.parentType=Ne,F.lineMax=Le,F.line=Ee,F.blkIndent=ze,!0}I()};import{escape as qw}from"html-escaper";var mM=p=>{p.renderer.rules.fence=(b,x)=>{let T=b[x],I=T.info.trim(),B=Hw(I),P=jw(B),F=qw(T.content),j=x<b.length&&b[x].type==="list_item_close"?`
287
+ `)}p=Y3(p,b,x),V.find(Ne=>Ne.includes("pandoc-citeproc")||Ne.includes("--defaults"))===void 0&&(W.bibliography||W.references)&&V.push("--citeproc");let me=j.config.imageFolderPath;me[0]==="/"?me=Cr.resolve(x,"."+me):me=Cr.resolve(b,me),await lA.sync(me);let{outputString:Re}=await Gw(p,{fileDirectoryPath:b,projectDirectoryPath:x,imageDirectoryPath:me,imageFilePrefix:La(Z),useRelativeFilePath:!0,codeChunksData:P,graphsCache:F,addOptionsStr:!0,notebook:j});return await lA.sync(Cr.dirname(Z)),await new Promise((Ne,Le)=>{q3(j.config.pandocPath,V,{cwd:b},Ee=>Ee?Le(Ee.toString()):Ne(Z)).stdin?.end(Re)})}import{execFile as K3}from"child_process";function pM(p,b){return new Promise((x,T)=>{K3("prince",[p,"--javascript","-o",b],I=>{if(I){let B=I.toString();return I.message.indexOf("spawn prince ENOENT")>=0&&(B='"princexml" is required to be installed.'),T(B)}return x()})})}var X3=p=>typeof p=="string"?p.trim().toLowerCase():"",jw=p=>{let b=kD(p.attributes),x=X3(p.language);return b!==p.attributes||x!==p.language?{language:x,attributes:b}:p};var Hw=(p="")=>{let b,x,T,I=p.trim(),B=I.indexOf("{")!==-1?I.match(/^([^\s{]*)\s*\{(.*?)\}/):I.match(/^([^\s]+)\s+(.+?)$/);if(B?(B[1].length&&(b=B[1]),x=B[2]):(b=I,x=""),x)try{T=Vr(x)}catch{T={}}else T={};let P=T.class?T.class.split(/\s+/):[];return b||(b=P[0]||""),P.includes(b)||(T.class=[b,...P].join(" ")),{language:b,attributes:T}};import{Mutex as fz}from"async-mutex";import*as NM from"case-anything";import pz from"markdown-it";import hz from"markdown-it-abbr";import mz from"markdown-it-deflist";import gz from"markdown-it-footnote";import bz from"markdown-it-mark";import yz from"markdown-it-sub";import vz from"markdown-it-sup";import*as en from"path";import{URI as Ez,Utils as wz}from"vscode-uri";var hM=p=>{let T=["note","summary","abstract","tldr","info","todo","tip","hint","success","check","done","question","help","faq","warning","attention","caution","failure","fail","missing","danger","error","bug","example","snippet","quote","cite"];function I(){p.block.ruler.after("fence","admonition",P,{alt:[]}),p.renderer.rules.admonition_open=B,p.renderer.rules.admonition_title_open=B,p.renderer.rules.admonition_title_close=B,p.renderer.rules.admonition_close=B}function B(F,j,W,V,Q){let ae=F[j];return ae.type==="admonition_open"?F[j].attrPush(["class","admonition "+ae.info]):ae.type==="admonition_title_open"&&F[j].attrPush(["class","admonition-title"]),Q.renderToken(F,j,W)}function P(F,j,W,V){if(F.tShift[j]-F.blkIndent>=4)return!1;let Q=F.bMarks[j]+F.tShift[j],ae=F.eMarks[j],pe=F.src.charCodeAt(Q);if(pe!==33)return!1;let Z=Q;if(Q=F.skipChars(Q,pe),Q-Z<3)return!1;let ue=F.src.slice(Z,Q),he="",me="",Re=F.src.slice(Q,ae).trim().split(" ");if(he=(Re.shift()??"").toLowerCase(),me=Re.join(" "),T.indexOf(he)<0&&(he="note"),me||(me=he.substr(0,1).toUpperCase()+he.substr(1,he.length-1)),V)return!0;let Ne=F.parentType,Le=F.lineMax,ze=F.blkIndent;F.blkIndent+=4;let Ee=j;for(;Ee++,!(Ee>=W||(Q=Z=F.bMarks[Ee]+F.tShift[Ee],ae=F.eMarks[Ee],Q<ae&&F.sCount[Ee]<F.blkIndent)););F.parentType="admonition",F.lineMax=Ee;let ye=F.push("admonition_open","div",1);return ye.markup=ue,ye.block=!0,ye.info=he,ye.map=[j,j+1],me!=='""'&&(ye=F.push("admonition_title_open","p",1),ye.markup=ue+" "+he,ye.map=[j,j+1],ye=F.push("inline","",0),ye.content=me,ye.map=[j,j+1],ye.children=[],ye=F.push("admonition_title_close","p",-1),ye.markup=ue+" "+he),F.md.block.tokenize(F,j+1,Ee),ye=F.push("admonition_close","div",-1),ye.markup=ue,ye.map=[j,Ee],ye.block=!0,F.parentType=Ne,F.lineMax=Le,F.line=Ee,F.blkIndent=ze,!0}I()};import{escape as qw}from"html-escaper";var mM=p=>{p.renderer.rules.fence=(b,x)=>{let T=b[x],I=T.info.trim(),B=Hw(I),P=jw(B),F=qw(T.content),j=x<b.length&&b[x].type==="list_item_close"?`
288
288
  `:"";return`<pre data-role="codeBlock" data-info="${qw(I)}" data-parsed-info="${qw(JSON.stringify(B))}" data-normalized-info="${qw(JSON.stringify(P))}" ${"data-source-line"in B.attributes?`data-source-line="${B.attributes["data-source-line"]}"`:""}>${F}</pre>${j}`}};var gM=(p,b)=>{p.inline.ruler.before("strikethrough","critic-markup",(x,T)=>{if(!b.config.enableCriticMarkupSyntax)return!1;let{src:B,pos:P}=x;if(B[P]==="{"&&(B[P+1]==="-"&&B[P+2]==="-"||B[P+1]==="+"&&B[P+2]==="+"||B[P+1]==="~"&&B[P+2]==="~"||B[P+1]==="="&&B[P+2]==="="||B[P+1]===">"&&B[P+2]===">")){let F=B.slice(P+1,P+3),j=F[0]===">"?"<<}":`${F}}`,W=P+3,V=-1,Q=null;for(;W<B.length;){if(B.startsWith(j,W)){V=W;break}W+=1}if(V>=0)Q=B.slice(P+3,V);else return!1;if(Q&&!T){let ae=x.push("critic-markup","",0);return ae.content=Q,ae.tag=F,x.pos=V+j.length,!0}else return!1}else return!1}),p.renderer.rules["critic-markup"]=(x,T)=>{let I=x[T],B=I.tag,P=I.content;if(B==="--")return`<del>${P}</del>`;if(B==="++")return`<ins>${P}</ins>`;if(B==="==")return`<mark>${P}</mark>`;if(B===">>")return`<span style="display:none">${P}</span>`;{let F=P.split("~>");return F.length===2?`<del>${F[0]}</del><ins>${F[1]}</ins>`:"<code>Error: ~> not found.</code>"}}};var bM=p=>{p.core.ruler.push("curly_bracket_attributes",x=>{let T=x.tokens;for(let I=0;I<T.length;I++)if(T[I].type==="heading_open"){let B=T[I+1];if(B.type==="inline"){if(b(B),!B.children||B.children.length===0)continue;let P=B.children[B.children.length-1];if(P.type==="text"){let F=P.content.match(/{([^}]+)}\s*$/);if(F){let j=Vr(F[1]);P.content=P.content.replace(F[0],"");for(let W in j)T[I].attrJoin(W,j[W])}}}}else T[I].type==="inline"&&b(T[I])});function b(x){let T=x.children;if(!(!T||T.length===0))for(let I=0;I<T.length;I++){let B=T[I];if(B.type==="image"&&T[I+1]?.type==="text"){let P=T[I+1].content.match(/^{([^}]+)}/);if(P){let F=Vr(P[1]);T[I+1].content=T[I+1].content.replace(P[0],"");for(let j in F)B.attrJoin(j,F[j])}}else if(B.type==="link_open"){let P=I+1;for(;P<T.length&&T[P].type!=="link_close";)P++;if(I=P,P<T.length-1&&T[P+1].type==="text"){let F=T[P+1].content.match(/^{([^}]+)}/);if(F){let j=Vr(F[1]);T[P+1].content=T[P+1].content.replace(F[0],"");for(let W in j)B.attrJoin(W,j[W])}}}}}};import Q3 from"markdown-it-emoji";import ez from"markdown-it-emoji/lib/data/full.json";var Z3=["fa-accessible-icon","fa-american-sign-language-interpreting","fa-assistive-listening-systems","fa-audio-description","fa-blind","fa-braille","fa-closed-captioning","fa-deaf","fa-low-vision","fa-phone-volume","fa-question-circle","fa-sign-language","fa-tty","fa-universal-access","fa-wheelchair","fa-bell","fa-bell-slash","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-radiation","fa-radiation-alt","fa-skull-crossbones","fa-cat","fa-crow","fa-dog","fa-dove","fa-dragon","fa-feather","fa-feather-alt","fa-fish","fa-frog","fa-hippo","fa-horse","fa-horse-head","fa-kiwi-bird","fa-otter","fa-paw","fa-spider","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-arrow-alt-circle-down","fa-arrow-alt-circle-left","fa-arrow-alt-circle-right","fa-arrow-alt-circle-up","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows-alt","fa-arrows-alt-h","fa-arrows-alt-v","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-down","fa-caret-square-left","fa-caret-square-right","fa-caret-square-up","fa-caret-up","fa-cart-arrow-down","fa-chart-line","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-cloud-download-alt","fa-cloud-upload-alt","fa-compress-alt","fa-compress-arrows-alt","fa-download","fa-exchange-alt","fa-expand-alt","fa-expand-arrows-alt","fa-external-link-alt","fa-external-link-square-alt","fa-hand-point-down","fa-hand-point-left","fa-hand-point-right","fa-hand-point-up","fa-hand-pointer","fa-history","fa-level-down-alt","fa-level-up-alt","fa-location-arrow","fa-long-arrow-alt-down","fa-long-arrow-alt-left","fa-long-arrow-alt-right","fa-long-arrow-alt-up","fa-mouse-pointer","fa-play","fa-random","fa-recycle","fa-redo","fa-redo-alt","fa-reply","fa-reply-all","fa-retweet","fa-share","fa-share-square","fa-sign-in-alt","fa-sign-out-alt","fa-sort","fa-sort-alpha-down","fa-sort-alpha-down-alt","fa-sort-alpha-up","fa-sort-alpha-up-alt","fa-sort-amount-down","fa-sort-amount-down-alt","fa-sort-amount-up","fa-sort-amount-up-alt","fa-sort-down","fa-sort-numeric-down","fa-sort-numeric-down-alt","fa-sort-numeric-up","fa-sort-numeric-up-alt","fa-sort-up","fa-sync","fa-sync-alt","fa-text-height","fa-text-width","fa-undo","fa-undo-alt","fa-upload","fa-audio-description","fa-backward","fa-broadcast-tower","fa-circle","fa-closed-captioning","fa-compress","fa-compress-alt","fa-compress-arrows-alt","fa-eject","fa-expand","fa-expand-alt","fa-expand-arrows-alt","fa-fast-backward","fa-fast-forward","fa-file-audio","fa-file-video","fa-film","fa-forward","fa-headphones","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-music","fa-pause","fa-pause-circle","fa-phone-volume","fa-photo-video","fa-play","fa-play-circle","fa-podcast","fa-random","fa-redo","fa-redo-alt","fa-rss","fa-rss-square","fa-step-backward","fa-step-forward","fa-stop","fa-stop-circle","fa-sync","fa-sync-alt","fa-tv","fa-undo","fa-undo-alt","fa-video","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-youtube","fa-air-freshener","fa-ambulance","fa-bus","fa-bus-alt","fa-car","fa-car-alt","fa-car-battery","fa-car-crash","fa-car-side","fa-caravan","fa-charging-station","fa-gas-pump","fa-motorcycle","fa-oil-can","fa-shuttle-van","fa-tachometer-alt","fa-taxi","fa-trailer","fa-truck","fa-truck-monster","fa-truck-pickup","fa-apple-alt","fa-campground","fa-cloud-sun","fa-drumstick-bite","fa-football-ball","fa-hiking","fa-mountain","fa-tractor","fa-tree","fa-wind","fa-wine-bottle","fa-beer","fa-blender","fa-cocktail","fa-coffee","fa-flask","fa-glass-cheers","fa-glass-martini","fa-glass-martini-alt","fa-glass-whiskey","fa-mug-hot","fa-wine-bottle","fa-wine-glass","fa-wine-glass-alt","fa-archway","fa-building","fa-campground","fa-church","fa-city","fa-clinic-medical","fa-dungeon","fa-gopuram","fa-home","fa-hospital","fa-hospital-alt","fa-hospital-user","fa-hotel","fa-house-damage","fa-igloo","fa-industry","fa-kaaba","fa-landmark","fa-monument","fa-mosque","fa-place-of-worship","fa-school","fa-store","fa-store-alt","fa-synagogue","fa-torii-gate","fa-university","fa-vihara","fa-warehouse","fa-address-book","fa-address-card","fa-archive","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-birthday-cake","fa-book","fa-briefcase","fa-building","fa-bullhorn","fa-bullseye","fa-business-time","fa-calculator","fa-calendar","fa-calendar-alt","fa-certificate","fa-chart-area","fa-chart-bar","fa-chart-line","fa-chart-pie","fa-city","fa-clipboard","fa-coffee","fa-columns","fa-compass","fa-copy","fa-copyright","fa-cut","fa-edit","fa-envelope","fa-envelope-open","fa-envelope-square","fa-eraser","fa-fax","fa-file","fa-file-alt","fa-folder","fa-folder-minus","fa-folder-open","fa-folder-plus","fa-glasses","fa-globe","fa-highlighter","fa-industry","fa-landmark","fa-laptop-house","fa-marker","fa-paperclip","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pen-square","fa-pencil-alt","fa-percent","fa-phone","fa-phone-alt","fa-phone-slash","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-print","fa-project-diagram","fa-registered","fa-save","fa-sitemap","fa-socks","fa-sticky-note","fa-stream","fa-table","fa-tag","fa-tags","fa-tasks","fa-thumbtack","fa-trademark","fa-wallet","fa-binoculars","fa-campground","fa-caravan","fa-compass","fa-faucet","fa-fire","fa-fire-alt","fa-first-aid","fa-frog","fa-hiking","fa-map","fa-map-marked","fa-map-marked-alt","fa-map-signs","fa-mountain","fa-route","fa-toilet-paper","fa-trailer","fa-tree","fa-dollar-sign","fa-donate","fa-dove","fa-gift","fa-globe","fa-hand-holding-heart","fa-hand-holding-usd","fa-hand-holding-water","fa-hands-helping","fa-handshake","fa-heart","fa-leaf","fa-parachute-box","fa-piggy-bank","fa-ribbon","fa-seedling","fa-comment","fa-comment-alt","fa-comment-dots","fa-comment-medical","fa-comment-slash","fa-comments","fa-frown","fa-icons","fa-meh","fa-phone","fa-phone-alt","fa-phone-slash","fa-poo","fa-quote-left","fa-quote-right","fa-smile","fa-sms","fa-video","fa-video-slash","fa-chess","fa-chess-bishop","fa-chess-board","fa-chess-king","fa-chess-knight","fa-chess-pawn","fa-chess-queen","fa-chess-rook","fa-square-full","fa-apple-alt","fa-baby","fa-baby-carriage","fa-bath","fa-biking","fa-birthday-cake","fa-cookie","fa-cookie-bite","fa-gamepad","fa-ice-cream","fa-mitten","fa-robot","fa-school","fa-shapes","fa-snowman","fa-graduation-cap","fa-hat-cowboy","fa-hat-cowboy-side","fa-hat-wizard","fa-mitten","fa-shoe-prints","fa-socks","fa-tshirt","fa-user-tie","fa-archive","fa-barcode","fa-bath","fa-bug","fa-code","fa-code-branch","fa-coffee","fa-file","fa-file-alt","fa-file-code","fa-filter","fa-fire-extinguisher","fa-folder","fa-folder-open","fa-keyboard","fa-laptop-code","fa-microchip","fa-project-diagram","fa-qrcode","fa-shield-alt","fa-sitemap","fa-stream","fa-terminal","fa-user-secret","fa-window-close","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-address-book","fa-address-card","fa-american-sign-language-interpreting","fa-assistive-listening-systems","fa-at","fa-bell","fa-bell-slash","fa-bluetooth","fa-bluetooth-b","fa-broadcast-tower","fa-bullhorn","fa-chalkboard","fa-comment","fa-comment-alt","fa-comments","fa-envelope","fa-envelope-open","fa-envelope-square","fa-fax","fa-inbox","fa-language","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-mobile","fa-mobile-alt","fa-paper-plane","fa-phone","fa-phone-alt","fa-phone-slash","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-rss","fa-rss-square","fa-tty","fa-voicemail","fa-wifi","fa-compact-disc","fa-database","fa-desktop","fa-download","fa-ethernet","fa-hdd","fa-headphones","fa-keyboard","fa-laptop","fa-laptop-house","fa-memory","fa-microchip","fa-mobile","fa-mobile-alt","fa-mouse","fa-plug","fa-power-off","fa-print","fa-satellite","fa-satellite-dish","fa-save","fa-sd-card","fa-server","fa-sim-card","fa-stream","fa-tablet","fa-tablet-alt","fa-tv","fa-upload","fa-brush","fa-drafting-compass","fa-dumpster","fa-hammer","fa-hard-hat","fa-paint-roller","fa-pencil-alt","fa-pencil-ruler","fa-ruler","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-screwdriver","fa-toolbox","fa-tools","fa-truck-pickup","fa-wrench","fa-bitcoin","fa-btc","fa-dollar-sign","fa-ethereum","fa-euro-sign","fa-gg","fa-gg-circle","fa-hryvnia","fa-lira-sign","fa-money-bill","fa-money-bill-alt","fa-money-bill-wave","fa-money-bill-wave-alt","fa-money-check","fa-money-check-alt","fa-pound-sign","fa-ruble-sign","fa-rupee-sign","fa-shekel-sign","fa-tenge","fa-won-sign","fa-yen-sign","fa-bell","fa-bell-slash","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-clock","fa-hourglass","fa-hourglass-end","fa-hourglass-half","fa-hourglass-start","fa-stopwatch","fa-adjust","fa-bezier-curve","fa-brush","fa-clone","fa-copy","fa-crop","fa-crop-alt","fa-crosshairs","fa-cut","fa-drafting-compass","fa-draw-polygon","fa-edit","fa-eraser","fa-eye","fa-eye-dropper","fa-eye-slash","fa-fill","fa-fill-drip","fa-highlighter","fa-icons","fa-layer-group","fa-magic","fa-marker","fa-object-group","fa-object-ungroup","fa-paint-brush","fa-paint-roller","fa-palette","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-pencil-ruler","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-save","fa-splotch","fa-spray-can","fa-stamp","fa-swatchbook","fa-tint","fa-tint-slash","fa-vector-square","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-bold","fa-border-all","fa-border-none","fa-border-style","fa-clipboard","fa-clone","fa-columns","fa-copy","fa-cut","fa-edit","fa-eraser","fa-file","fa-file-alt","fa-font","fa-glasses","fa-heading","fa-highlighter","fa-i-cursor","fa-icons","fa-indent","fa-italic","fa-link","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-marker","fa-outdent","fa-paper-plane","fa-paperclip","fa-paragraph","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-print","fa-quote-left","fa-quote-right","fa-redo","fa-redo-alt","fa-remove-format","fa-reply","fa-reply-all","fa-screwdriver","fa-share","fa-spell-check","fa-strikethrough","fa-subscript","fa-superscript","fa-sync","fa-sync-alt","fa-table","fa-tasks","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-tools","fa-trash","fa-trash-alt","fa-trash-restore","fa-trash-restore-alt","fa-underline","fa-undo","fa-undo-alt","fa-unlink","fa-wrench","fa-apple-alt","fa-atom","fa-award","fa-bell","fa-bell-slash","fa-book-open","fa-book-reader","fa-chalkboard","fa-chalkboard-teacher","fa-graduation-cap","fa-laptop-code","fa-microscope","fa-music","fa-school","fa-shapes","fa-theater-masks","fa-user-graduate","fa-angry","fa-dizzy","fa-flushed","fa-frown","fa-frown-open","fa-grimace","fa-grin","fa-grin-alt","fa-grin-beam","fa-grin-beam-sweat","fa-grin-hearts","fa-grin-squint","fa-grin-squint-tears","fa-grin-stars","fa-grin-tears","fa-grin-tongue","fa-grin-tongue-squint","fa-grin-tongue-wink","fa-grin-wink","fa-kiss","fa-kiss-beam","fa-kiss-wink-heart","fa-laugh","fa-laugh-beam","fa-laugh-squint","fa-laugh-wink","fa-meh","fa-meh-blank","fa-meh-rolling-eyes","fa-sad-cry","fa-sad-tear","fa-smile","fa-smile-beam","fa-smile-wink","fa-surprise","fa-tired","fa-atom","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-broadcast-tower","fa-burn","fa-charging-station","fa-fan","fa-fire","fa-fire-alt","fa-gas-pump","fa-industry","fa-leaf","fa-lightbulb","fa-plug","fa-poop","fa-power-off","fa-radiation","fa-radiation-alt","fa-seedling","fa-solar-panel","fa-sun","fa-water","fa-wind","fa-archive","fa-clone","fa-copy","fa-cut","fa-file","fa-file-alt","fa-file-archive","fa-file-audio","fa-file-code","fa-file-excel","fa-file-image","fa-file-pdf","fa-file-powerpoint","fa-file-video","fa-file-word","fa-folder","fa-folder-open","fa-paste","fa-photo-video","fa-save","fa-sticky-note","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-book","fa-cash-register","fa-chart-line","fa-chart-pie","fa-coins","fa-comment-dollar","fa-comments-dollar","fa-credit-card","fa-donate","fa-file-invoice","fa-file-invoice-dollar","fa-hand-holding-usd","fa-landmark","fa-money-bill","fa-money-bill-alt","fa-money-bill-wave","fa-money-bill-wave-alt","fa-money-check","fa-money-check-alt","fa-percentage","fa-piggy-bank","fa-receipt","fa-stamp","fa-wallet","fa-bicycle","fa-biking","fa-burn","fa-fire-alt","fa-heart","fa-heartbeat","fa-hiking","fa-running","fa-shoe-prints","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-spa","fa-swimmer","fa-walking","fa-apple-alt","fa-bacon","fa-bone","fa-bread-slice","fa-candy-cane","fa-carrot","fa-cheese","fa-cloud-meatball","fa-cookie","fa-drumstick-bite","fa-egg","fa-fish","fa-hamburger","fa-hotdog","fa-ice-cream","fa-lemon","fa-pepper-hot","fa-pizza-slice","fa-seedling","fa-stroopwafel","fa-apple-alt","fa-carrot","fa-leaf","fa-lemon","fa-pepper-hot","fa-seedling","fa-chess","fa-chess-bishop","fa-chess-board","fa-chess-king","fa-chess-knight","fa-chess-pawn","fa-chess-queen","fa-chess-rook","fa-dice","fa-dice-d20","fa-dice-d6","fa-dice-five","fa-dice-four","fa-dice-one","fa-dice-six","fa-dice-three","fa-dice-two","fa-gamepad","fa-ghost","fa-headset","fa-heart","fa-playstation","fa-puzzle-piece","fa-steam","fa-steam-square","fa-steam-symbol","fa-twitch","fa-xbox","fa-acquisitions-incorporated","fa-book-dead","fa-critical-role","fa-d-and-d","fa-d-and-d-beyond","fa-dice-d20","fa-dice-d6","fa-dragon","fa-dungeon","fa-fantasy-flight-games","fa-fist-raised","fa-hat-wizard","fa-penny-arcade","fa-ring","fa-scroll","fa-skull-crossbones","fa-wizards-of-the-coast","fa-genderless","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-mercury","fa-neuter","fa-transgender","fa-transgender-alt","fa-venus","fa-venus-double","fa-venus-mars","fa-book-dead","fa-broom","fa-cat","fa-cloud-moon","fa-crow","fa-ghost","fa-hat-wizard","fa-mask","fa-skull-crossbones","fa-spider","fa-toilet-paper","fa-allergies","fa-fist-raised","fa-hand-holding","fa-hand-holding-heart","fa-hand-holding-medical","fa-hand-holding-usd","fa-hand-holding-water","fa-hand-lizard","fa-hand-middle-finger","fa-hand-paper","fa-hand-peace","fa-hand-point-down","fa-hand-point-left","fa-hand-point-right","fa-hand-point-up","fa-hand-pointer","fa-hand-rock","fa-hand-scissors","fa-hand-sparkles","fa-hand-spock","fa-hands","fa-hands-helping","fa-hands-wash","fa-handshake","fa-handshake-alt-slash","fa-handshake-slash","fa-praying-hands","fa-thumbs-down","fa-thumbs-up","fa-accessible-icon","fa-ambulance","fa-h-square","fa-heart","fa-heartbeat","fa-hospital","fa-medkit","fa-plus-square","fa-prescription","fa-stethoscope","fa-user-md","fa-wheelchair","fa-candy-cane","fa-carrot","fa-cookie-bite","fa-gift","fa-gifts","fa-glass-cheers","fa-holly-berry","fa-mug-hot","fa-sleigh","fa-snowman","fa-baby-carriage","fa-bath","fa-bed","fa-briefcase","fa-car","fa-cocktail","fa-coffee","fa-concierge-bell","fa-dice","fa-dice-five","fa-door-closed","fa-door-open","fa-dumbbell","fa-glass-martini","fa-glass-martini-alt","fa-hot-tub","fa-hotel","fa-infinity","fa-key","fa-luggage-cart","fa-shower","fa-shuttle-van","fa-smoking","fa-smoking-ban","fa-snowflake","fa-spa","fa-suitcase","fa-suitcase-rolling","fa-swimmer","fa-swimming-pool","fa-tv","fa-umbrella-beach","fa-utensils","fa-wheelchair","fa-wifi","fa-bath","fa-bed","fa-bell","fa-blender","fa-box-tissue","fa-chair","fa-coffee","fa-couch","fa-door-closed","fa-door-open","fa-dungeon","fa-fan","fa-faucet","fa-house-user","fa-laptop-house","fa-lightbulb","fa-plug","fa-pump-soap","fa-shower","fa-sink","fa-snowflake","fa-soap","fa-toilet-paper","fa-toilet-paper-slash","fa-tv","fa-adjust","fa-bolt","fa-camera","fa-camera-retro","fa-chalkboard","fa-clone","fa-compress","fa-compress-arrows-alt","fa-expand","fa-eye","fa-eye-dropper","fa-eye-slash","fa-file-image","fa-film","fa-id-badge","fa-id-card","fa-image","fa-images","fa-photo-video","fa-portrait","fa-sliders-h","fa-tint","fa-unsplash","fa-award","fa-ban","fa-barcode","fa-bars","fa-beer","fa-bell","fa-bell-slash","fa-blog","fa-bug","fa-bullhorn","fa-bullseye","fa-calculator","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-certificate","fa-check","fa-check-circle","fa-check-double","fa-check-square","fa-circle","fa-clipboard","fa-clone","fa-cloud","fa-cloud-download-alt","fa-cloud-upload-alt","fa-coffee","fa-cog","fa-cogs","fa-copy","fa-cut","fa-database","fa-dot-circle","fa-download","fa-edit","fa-ellipsis-h","fa-ellipsis-v","fa-envelope","fa-envelope-open","fa-eraser","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-external-link-alt","fa-external-link-square-alt","fa-eye","fa-eye-slash","fa-file","fa-file-alt","fa-file-download","fa-file-export","fa-file-import","fa-file-upload","fa-filter","fa-fingerprint","fa-flag","fa-flag-checkered","fa-folder","fa-folder-open","fa-frown","fa-glasses","fa-grip-horizontal","fa-grip-lines","fa-grip-lines-vertical","fa-grip-vertical","fa-hashtag","fa-heart","fa-history","fa-home","fa-i-cursor","fa-info","fa-info-circle","fa-language","fa-magic","fa-marker","fa-medal","fa-meh","fa-microphone","fa-microphone-alt","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-paste","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pencil-alt","fa-plus","fa-plus-circle","fa-plus-square","fa-poo","fa-qrcode","fa-question","fa-question-circle","fa-quote-left","fa-quote-right","fa-redo","fa-redo-alt","fa-reply","fa-reply-all","fa-rss","fa-rss-square","fa-save","fa-screwdriver","fa-search","fa-search-minus","fa-search-plus","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-shield-alt","fa-sign-in-alt","fa-sign-out-alt","fa-signal","fa-sitemap","fa-sliders-h","fa-smile","fa-sort","fa-sort-alpha-down","fa-sort-alpha-down-alt","fa-sort-alpha-up","fa-sort-alpha-up-alt","fa-sort-amount-down","fa-sort-amount-down-alt","fa-sort-amount-up","fa-sort-amount-up-alt","fa-sort-down","fa-sort-numeric-down","fa-sort-numeric-down-alt","fa-sort-numeric-up","fa-sort-numeric-up-alt","fa-sort-up","fa-star","fa-star-half","fa-sync","fa-sync-alt","fa-thumbs-down","fa-thumbs-up","fa-times","fa-times-circle","fa-toggle-off","fa-toggle-on","fa-tools","fa-trash","fa-trash-alt","fa-trash-restore","fa-trash-restore-alt","fa-trophy","fa-undo","fa-undo-alt","fa-upload","fa-user","fa-user-alt","fa-user-circle","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-wifi","fa-wrench","fa-box","fa-boxes","fa-clipboard-check","fa-clipboard-list","fa-dolly","fa-dolly-flatbed","fa-hard-hat","fa-pallet","fa-shipping-fast","fa-truck","fa-warehouse","fa-ambulance","fa-anchor","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bath","fa-bed","fa-beer","fa-bell","fa-bell-slash","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-blind","fa-bomb","fa-book","fa-bookmark","fa-briefcase","fa-building","fa-car","fa-coffee","fa-crosshairs","fa-directions","fa-dollar-sign","fa-draw-polygon","fa-eye","fa-eye-slash","fa-fighter-jet","fa-fire","fa-fire-alt","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flask","fa-gamepad","fa-gavel","fa-gift","fa-glass-martini","fa-globe","fa-graduation-cap","fa-h-square","fa-heart","fa-heartbeat","fa-helicopter","fa-home","fa-hospital","fa-image","fa-images","fa-industry","fa-info","fa-info-circle","fa-key","fa-landmark","fa-layer-group","fa-leaf","fa-lemon","fa-life-ring","fa-lightbulb","fa-location-arrow","fa-low-vision","fa-magnet","fa-male","fa-map","fa-map-marker","fa-map-marker-alt","fa-map-pin","fa-map-signs","fa-medkit","fa-money-bill","fa-money-bill-alt","fa-motorcycle","fa-music","fa-newspaper","fa-parking","fa-paw","fa-phone","fa-phone-alt","fa-phone-square","fa-phone-square-alt","fa-phone-volume","fa-plane","fa-plug","fa-plus","fa-plus-square","fa-print","fa-recycle","fa-restroom","fa-road","fa-rocket","fa-route","fa-search","fa-search-minus","fa-search-plus","fa-ship","fa-shoe-prints","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-snowplow","fa-street-view","fa-subway","fa-suitcase","fa-tag","fa-tags","fa-taxi","fa-thumbtack","fa-ticket-alt","fa-tint","fa-traffic-light","fa-train","fa-tram","fa-tree","fa-trophy","fa-truck","fa-tty","fa-umbrella","fa-university","fa-utensil-spoon","fa-utensils","fa-vest","fa-vest-patches","fa-wheelchair","fa-wifi","fa-wine-glass","fa-wrench","fa-anchor","fa-binoculars","fa-compass","fa-dharmachakra","fa-frog","fa-ship","fa-skull-crossbones","fa-swimmer","fa-water","fa-wind","fa-ad","fa-bullhorn","fa-bullseye","fa-comment-dollar","fa-comments-dollar","fa-envelope-open-text","fa-funnel-dollar","fa-lightbulb","fa-mail-bulk","fa-poll","fa-poll-h","fa-search-dollar","fa-search-location","fa-calculator","fa-divide","fa-equals","fa-greater-than","fa-greater-than-equal","fa-infinity","fa-less-than","fa-less-than-equal","fa-minus","fa-not-equal","fa-percentage","fa-plus","fa-square-root-alt","fa-subscript","fa-superscript","fa-times","fa-wave-square","fa-allergies","fa-ambulance","fa-bacteria","fa-bacterium","fa-band-aid","fa-biohazard","fa-bone","fa-bong","fa-book-medical","fa-brain","fa-briefcase-medical","fa-burn","fa-cannabis","fa-capsules","fa-clinic-medical","fa-comment-medical","fa-crutch","fa-diagnoses","fa-disease","fa-dna","fa-file-medical","fa-file-medical-alt","fa-file-prescription","fa-first-aid","fa-hand-holding-medical","fa-head-side-cough","fa-head-side-cough-slash","fa-head-side-mask","fa-head-side-virus","fa-heart","fa-heartbeat","fa-hospital","fa-hospital-alt","fa-hospital-symbol","fa-hospital-user","fa-id-card-alt","fa-joint","fa-laptop-medical","fa-lungs","fa-lungs-virus","fa-microscope","fa-mortar-pestle","fa-notes-medical","fa-pager","fa-pills","fa-plus","fa-poop","fa-prescription","fa-prescription-bottle","fa-prescription-bottle-alt","fa-procedures","fa-pump-medical","fa-radiation","fa-radiation-alt","fa-shield-virus","fa-smoking","fa-smoking-ban","fa-star-of-life","fa-stethoscope","fa-syringe","fa-tablets","fa-teeth","fa-teeth-open","fa-thermometer","fa-tooth","fa-user-md","fa-user-nurse","fa-vial","fa-vials","fa-virus","fa-virus-slash","fa-viruses","fa-weight","fa-x-ray","fa-archive","fa-box-open","fa-caravan","fa-couch","fa-dolly","fa-people-carry","fa-route","fa-sign","fa-suitcase","fa-tape","fa-trailer","fa-truck-loading","fa-truck-moving","fa-wine-glass","fa-compact-disc","fa-drum","fa-drum-steelpan","fa-file-audio","fa-guitar","fa-headphones","fa-headphones-alt","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-music","fa-napster","fa-play","fa-record-vinyl","fa-sliders-h","fa-soundcloud","fa-spotify","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-ambulance","fa-anchor","fa-archive","fa-award","fa-baby-carriage","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bath","fa-bed","fa-beer","fa-bell","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-blender","fa-bomb","fa-book","fa-book-dead","fa-bookmark","fa-briefcase","fa-broadcast-tower","fa-bug","fa-building","fa-bullhorn","fa-bullseye","fa-bus","fa-calculator","fa-calendar","fa-calendar-alt","fa-camera","fa-camera-retro","fa-candy-cane","fa-car","fa-carrot","fa-church","fa-clipboard","fa-cloud","fa-coffee","fa-cog","fa-cogs","fa-compass","fa-cookie","fa-cookie-bite","fa-copy","fa-cube","fa-cubes","fa-cut","fa-dice","fa-dice-d20","fa-dice-d6","fa-dice-five","fa-dice-four","fa-dice-one","fa-dice-six","fa-dice-three","fa-dice-two","fa-digital-tachograph","fa-door-closed","fa-door-open","fa-drum","fa-drum-steelpan","fa-envelope","fa-envelope-open","fa-eraser","fa-eye","fa-eye-dropper","fa-fax","fa-feather","fa-feather-alt","fa-fighter-jet","fa-file","fa-file-alt","fa-file-prescription","fa-film","fa-fire","fa-fire-alt","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flask","fa-futbol","fa-gamepad","fa-gavel","fa-gem","fa-gift","fa-gifts","fa-glass-cheers","fa-glass-martini","fa-glass-whiskey","fa-glasses","fa-globe","fa-graduation-cap","fa-guitar","fa-hat-wizard","fa-hdd","fa-headphones","fa-headphones-alt","fa-headset","fa-heart","fa-heart-broken","fa-helicopter","fa-highlighter","fa-holly-berry","fa-home","fa-hospital","fa-hourglass","fa-igloo","fa-image","fa-images","fa-industry","fa-key","fa-keyboard","fa-laptop","fa-leaf","fa-lemon","fa-life-ring","fa-lightbulb","fa-lock","fa-lock-open","fa-magic","fa-magnet","fa-map","fa-map-marker","fa-map-marker-alt","fa-map-pin","fa-map-signs","fa-marker","fa-medal","fa-medkit","fa-memory","fa-microchip","fa-microphone","fa-microphone-alt","fa-mitten","fa-mobile","fa-mobile-alt","fa-money-bill","fa-money-bill-alt","fa-money-check","fa-money-check-alt","fa-moon","fa-motorcycle","fa-mug-hot","fa-newspaper","fa-paint-brush","fa-paper-plane","fa-paperclip","fa-paste","fa-paw","fa-pen","fa-pen-alt","fa-pen-fancy","fa-pen-nib","fa-pencil-alt","fa-phone","fa-phone-alt","fa-plane","fa-plug","fa-print","fa-puzzle-piece","fa-ring","fa-road","fa-rocket","fa-ruler-combined","fa-ruler-horizontal","fa-ruler-vertical","fa-satellite","fa-satellite-dish","fa-save","fa-school","fa-screwdriver","fa-scroll","fa-sd-card","fa-search","fa-shield-alt","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sim-card","fa-skull-crossbones","fa-sleigh","fa-snowflake","fa-snowplow","fa-space-shuttle","fa-star","fa-sticky-note","fa-stopwatch","fa-stroopwafel","fa-subway","fa-suitcase","fa-sun","fa-tablet","fa-tablet-alt","fa-tachometer-alt","fa-tag","fa-tags","fa-taxi","fa-thumbtack","fa-ticket-alt","fa-toilet","fa-toolbox","fa-tools","fa-train","fa-tram","fa-trash","fa-trash-alt","fa-tree","fa-trophy","fa-truck","fa-tv","fa-umbrella","fa-university","fa-unlock","fa-unlock-alt","fa-utensil-spoon","fa-utensils","fa-wallet","fa-weight","fa-wheelchair","fa-wine-glass","fa-wrench","fa-alipay","fa-amazon-pay","fa-apple-pay","fa-bell","fa-bitcoin","fa-bookmark","fa-btc","fa-bullhorn","fa-camera","fa-camera-retro","fa-cart-arrow-down","fa-cart-plus","fa-cc-amazon-pay","fa-cc-amex","fa-cc-apple-pay","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-credit-card","fa-ethereum","fa-gem","fa-gift","fa-google-pay","fa-google-wallet","fa-handshake","fa-heart","fa-key","fa-money-check","fa-money-check-alt","fa-paypal","fa-receipt","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-star","fa-stripe","fa-stripe-s","fa-tag","fa-tags","fa-thumbs-down","fa-thumbs-up","fa-trophy","fa-band-aid","fa-book-medical","fa-cannabis","fa-capsules","fa-clinic-medical","fa-disease","fa-eye-dropper","fa-file-medical","fa-file-prescription","fa-first-aid","fa-flask","fa-history","fa-joint","fa-laptop-medical","fa-mortar-pestle","fa-notes-medical","fa-pills","fa-prescription","fa-prescription-bottle","fa-prescription-bottle-alt","fa-receipt","fa-skull-crossbones","fa-syringe","fa-tablets","fa-thermometer","fa-vial","fa-vials","fa-award","fa-balance-scale","fa-balance-scale-left","fa-balance-scale-right","fa-bullhorn","fa-check-double","fa-democrat","fa-donate","fa-dove","fa-fist-raised","fa-flag-usa","fa-handshake","fa-person-booth","fa-piggy-bank","fa-republican","fa-vote-yea","fa-ankh","fa-atom","fa-bahai","fa-bible","fa-church","fa-cross","fa-dharmachakra","fa-dove","fa-gopuram","fa-hamsa","fa-hanukiah","fa-jedi","fa-journal-whills","fa-kaaba","fa-khanda","fa-menorah","fa-mosque","fa-om","fa-pastafarianism","fa-peace","fa-place-of-worship","fa-pray","fa-praying-hands","fa-quran","fa-star-and-crescent","fa-star-of-david","fa-synagogue","fa-torah","fa-torii-gate","fa-vihara","fa-yin-yang","fa-atom","fa-biohazard","fa-brain","fa-burn","fa-capsules","fa-clipboard-check","fa-disease","fa-dna","fa-eye-dropper","fa-filter","fa-fire","fa-fire-alt","fa-flask","fa-frog","fa-magnet","fa-microscope","fa-mortar-pestle","fa-pills","fa-prescription-bottle","fa-radiation","fa-radiation-alt","fa-seedling","fa-skull-crossbones","fa-syringe","fa-tablets","fa-temperature-high","fa-temperature-low","fa-vial","fa-vials","fa-atom","fa-galactic-republic","fa-galactic-senate","fa-globe","fa-hand-spock","fa-jedi","fa-jedi-order","fa-journal-whills","fa-meteor","fa-moon","fa-old-republic","fa-robot","fa-rocket","fa-satellite","fa-satellite-dish","fa-space-shuttle","fa-user-astronaut","fa-ban","fa-bug","fa-door-closed","fa-door-open","fa-dungeon","fa-eye","fa-eye-slash","fa-file-contract","fa-file-signature","fa-fingerprint","fa-id-badge","fa-id-card","fa-id-card-alt","fa-key","fa-lock","fa-lock-open","fa-mask","fa-passport","fa-shield-alt","fa-unlock","fa-unlock-alt","fa-user-lock","fa-user-secret","fa-user-shield","fa-bookmark","fa-calendar","fa-certificate","fa-circle","fa-cloud","fa-comment","fa-file","fa-folder","fa-heart","fa-heart-broken","fa-map-marker","fa-play","fa-shapes","fa-square","fa-star","fa-barcode","fa-cart-arrow-down","fa-cart-plus","fa-cash-register","fa-gift","fa-gifts","fa-person-booth","fa-receipt","fa-shipping-fast","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-store","fa-store-alt","fa-store-alt-slash","fa-store-slash","fa-truck","fa-tshirt","fa-bell","fa-birthday-cake","fa-camera","fa-comment","fa-comment-alt","fa-envelope","fa-hashtag","fa-heart","fa-icons","fa-image","fa-images","fa-map-marker","fa-map-marker-alt","fa-photo-video","fa-poll","fa-poll-h","fa-retweet","fa-share","fa-share-alt","fa-share-square","fa-star","fa-thumbs-down","fa-thumbs-up","fa-thumbtack","fa-user","fa-user-circle","fa-user-friends","fa-user-plus","fa-users","fa-video","fa-asterisk","fa-atom","fa-bahai","fa-certificate","fa-circle-notch","fa-cog","fa-compact-disc","fa-compass","fa-crosshairs","fa-dharmachakra","fa-fan","fa-life-ring","fa-palette","fa-ring","fa-slash","fa-snowflake","fa-spinner","fa-stroopwafel","fa-sun","fa-sync","fa-sync-alt","fa-yin-yang","fa-baseball-ball","fa-basketball-ball","fa-biking","fa-bowling-ball","fa-dumbbell","fa-football-ball","fa-futbol","fa-golf-ball","fa-hockey-puck","fa-quidditch","fa-running","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-swimmer","fa-table-tennis","fa-volleyball-ball","fa-allergies","fa-broom","fa-cloud-sun","fa-cloud-sun-rain","fa-frog","fa-rainbow","fa-seedling","fa-umbrella","fa-ban","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bell","fa-bell-slash","fa-calendar","fa-calendar-alt","fa-calendar-check","fa-calendar-day","fa-calendar-minus","fa-calendar-plus","fa-calendar-times","fa-calendar-week","fa-cart-arrow-down","fa-cart-plus","fa-comment","fa-comment-alt","fa-comment-slash","fa-compass","fa-door-closed","fa-door-open","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-eye","fa-eye-slash","fa-file","fa-file-alt","fa-folder","fa-folder-open","fa-gas-pump","fa-info","fa-info-circle","fa-lightbulb","fa-lock","fa-lock-open","fa-map-marker","fa-map-marker-alt","fa-microphone","fa-microphone-alt","fa-microphone-alt-slash","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-parking","fa-phone","fa-phone-alt","fa-phone-slash","fa-plus","fa-plus-circle","fa-plus-square","fa-print","fa-question","fa-question-circle","fa-shield-alt","fa-shopping-cart","fa-sign-in-alt","fa-sign-out-alt","fa-signal","fa-smoking-ban","fa-star","fa-star-half","fa-star-half-alt","fa-stream","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumbs-down","fa-thumbs-up","fa-tint","fa-tint-slash","fa-toggle-off","fa-toggle-on","fa-unlock","fa-unlock-alt","fa-user","fa-user-alt","fa-user-alt-slash","fa-user-slash","fa-video","fa-video-slash","fa-volume-down","fa-volume-mute","fa-volume-off","fa-volume-up","fa-wifi","fa-anchor","fa-biking","fa-fish","fa-hotdog","fa-ice-cream","fa-lemon","fa-sun","fa-swimmer","fa-swimming-pool","fa-umbrella-beach","fa-volleyball-ball","fa-water","fa-bullseye","fa-check-circle","fa-circle","fa-dot-circle","fa-microphone","fa-microphone-slash","fa-star","fa-star-half","fa-star-half-alt","fa-toggle-off","fa-toggle-on","fa-wifi","fa-archway","fa-atlas","fa-bed","fa-bus","fa-bus-alt","fa-caravan","fa-cocktail","fa-concierge-bell","fa-dumbbell","fa-glass-martini","fa-glass-martini-alt","fa-globe-africa","fa-globe-americas","fa-globe-asia","fa-globe-europe","fa-hot-tub","fa-hotel","fa-luggage-cart","fa-map","fa-map-marked","fa-map-marked-alt","fa-monument","fa-passport","fa-plane","fa-plane-arrival","fa-plane-departure","fa-shuttle-van","fa-spa","fa-suitcase","fa-suitcase-rolling","fa-swimmer","fa-swimming-pool","fa-taxi","fa-tram","fa-tv","fa-umbrella-beach","fa-wine-glass","fa-wine-glass-alt","fa-accessible-icon","fa-address-book","fa-address-card","fa-baby","fa-bed","fa-biking","fa-blind","fa-chalkboard-teacher","fa-child","fa-female","fa-frown","fa-hiking","fa-id-badge","fa-id-card","fa-id-card-alt","fa-male","fa-meh","fa-people-arrows","fa-people-carry","fa-person-booth","fa-poo","fa-portrait","fa-power-off","fa-pray","fa-restroom","fa-running","fa-skating","fa-skiing","fa-skiing-nordic","fa-smile","fa-snowboarding","fa-street-view","fa-swimmer","fa-user","fa-user-alt","fa-user-alt-slash","fa-user-astronaut","fa-user-check","fa-user-circle","fa-user-clock","fa-user-cog","fa-user-edit","fa-user-friends","fa-user-graduate","fa-user-injured","fa-user-lock","fa-user-md","fa-user-minus","fa-user-ninja","fa-user-nurse","fa-user-plus","fa-user-secret","fa-user-shield","fa-user-slash","fa-user-tag","fa-user-tie","fa-user-times","fa-users","fa-users-cog","fa-users-slash","fa-walking","fa-wheelchair","fa-accessible-icon","fa-ambulance","fa-baby-carriage","fa-bicycle","fa-bus","fa-bus-alt","fa-car","fa-car-alt","fa-car-crash","fa-car-side","fa-fighter-jet","fa-helicopter","fa-horse","fa-motorcycle","fa-paper-plane","fa-plane","fa-rocket","fa-ship","fa-shopping-cart","fa-shuttle-van","fa-sleigh","fa-snowplow","fa-space-shuttle","fa-subway","fa-taxi","fa-tractor","fa-train","fa-tram","fa-truck","fa-truck-monster","fa-truck-pickup","fa-wheelchair","fa-bolt","fa-cloud","fa-cloud-meatball","fa-cloud-moon","fa-cloud-moon-rain","fa-cloud-rain","fa-cloud-showers-heavy","fa-cloud-sun","fa-cloud-sun-rain","fa-meteor","fa-moon","fa-poo-storm","fa-rainbow","fa-smog","fa-snowflake","fa-sun","fa-temperature-high","fa-temperature-low","fa-umbrella","fa-water","fa-wind","fa-glass-whiskey","fa-icicles","fa-igloo","fa-mitten","fa-skating","fa-skiing","fa-skiing-nordic","fa-snowboarding","fa-snowplow","fa-tram","fa-archive","fa-blog","fa-book","fa-bookmark","fa-edit","fa-envelope","fa-envelope-open","fa-eraser","fa-file","fa-file-alt","fa-folder","fa-folder-open","fa-keyboard","fa-newspaper","fa-paper-plane","fa-paperclip","fa-paragraph","fa-pen","fa-pen-alt","fa-pen-square","fa-pencil-alt","fa-quote-left","fa-quote-right","fa-sticky-note","fa-thumbtack"],J3=["fa-500px","fa-accusoft","fa-adn","fa-adversal","fa-affiliatetheme","fa-airbnb","fa-algolia","fa-amazon","fa-amilia","fa-android","fa-angellist","fa-angrycreative","fa-angular","fa-app-store","fa-app-store-ios","fa-apper","fa-apple","fa-artstation","fa-asymmetrik","fa-atlassian","fa-audible","fa-autoprefixer","fa-avianex","fa-aviato","fa-aws","fa-backspace","fa-bandcamp","fa-battle-net","fa-behance","fa-behance-square","fa-bimobject","fa-bitbucket","fa-bity","fa-black-tie","fa-blackberry","fa-blender-phone","fa-blogger","fa-blogger-b","fa-bootstrap","fa-buffer","fa-buromobelexperte","fa-buy-n-large","fa-buysellads","fa-canadian-maple-leaf","fa-centercode","fa-centos","fa-chrome","fa-chromecast","fa-cloudflare","fa-cloudscale","fa-cloudsmith","fa-cloudversify","fa-codepen","fa-codiepie","fa-confluence","fa-connectdevelop","fa-contao","fa-cotton-bureau","fa-cpanel","fa-creative-commons","fa-creative-commons-by","fa-creative-commons-nc","fa-creative-commons-nc-eu","fa-creative-commons-nc-jp","fa-creative-commons-nd","fa-creative-commons-pd","fa-creative-commons-pd-alt","fa-creative-commons-remix","fa-creative-commons-sa","fa-creative-commons-sampling","fa-creative-commons-sampling-plus","fa-creative-commons-share","fa-creative-commons-zero","fa-crown","fa-css3","fa-css3-alt","fa-cuttlefish","fa-dailymotion","fa-dashcube","fa-deezer","fa-delicious","fa-deploydog","fa-deskpro","fa-dev","fa-deviantart","fa-dhl","fa-diaspora","fa-digg","fa-digital-ocean","fa-discord","fa-discourse","fa-dochub","fa-docker","fa-draft2digital","fa-dribbble","fa-dribbble-square","fa-dropbox","fa-drupal","fa-dumpster-fire","fa-dyalog","fa-earlybirds","fa-ebay","fa-edge","fa-edge-legacy","fa-elementor","fa-ello","fa-ember","fa-empire","fa-envira","fa-erlang","fa-etsy","fa-evernote","fa-expeditedssl","fa-facebook","fa-facebook-f","fa-facebook-messenger","fa-facebook-square","fa-fedex","fa-fedora","fa-figma","fa-file-csv","fa-firefox","fa-firefox-browser","fa-first-order","fa-first-order-alt","fa-firstdraft","fa-flickr","fa-flipboard","fa-fly","fa-font-awesome","fa-font-awesome-alt","fa-font-awesome-flag","fa-font-awesome-logo-full","fa-fonticons","fa-fonticons-fi","fa-fort-awesome","fa-fort-awesome-alt","fa-forumbee","fa-foursquare","fa-free-code-camp","fa-freebsd","fa-fulcrum","fa-get-pocket","fa-git","fa-git-alt","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitkraken","fa-gitlab","fa-gitter","fa-glide","fa-glide-g","fa-gofore","fa-goodreads","fa-goodreads-g","fa-google","fa-google-drive","fa-google-play","fa-google-plus","fa-google-plus-g","fa-google-plus-square","fa-gratipay","fa-grav","fa-gripfire","fa-grunt","fa-guilded","fa-gulp","fa-hacker-news","fa-hacker-news-square","fa-hackerrank","fa-hips","fa-hire-a-helper","fa-hive","fa-hooli","fa-hornbill","fa-hotjar","fa-houzz","fa-html5","fa-hubspot","fa-ideal","fa-imdb","fa-innosoft","fa-instagram","fa-instagram-square","fa-instalod","fa-intercom","fa-internet-explorer","fa-invision","fa-ioxhost","fa-itch-io","fa-itunes","fa-itunes-note","fa-java","fa-jenkins","fa-jira","fa-joget","fa-joomla","fa-js","fa-js-square","fa-jsfiddle","fa-kaggle","fa-keybase","fa-keycdn","fa-kickstarter","fa-kickstarter-k","fa-korvue","fa-laravel","fa-lastfm","fa-lastfm-square","fa-leanpub","fa-less","fa-line","fa-linkedin","fa-linkedin-in","fa-linode","fa-linux","fa-lyft","fa-magento","fa-mailchimp","fa-mandalorian","fa-markdown","fa-mastodon","fa-maxcdn","fa-mdb","fa-medapps","fa-medium","fa-medium-m","fa-medrt","fa-meetup","fa-megaport","fa-mendeley","fa-microblog","fa-microsoft","fa-mix","fa-mixcloud","fa-mixer","fa-mizuni","fa-modx","fa-monero","fa-neos","fa-network-wired","fa-nimblr","fa-node","fa-node-js","fa-npm","fa-ns8","fa-nutritionix","fa-octopus-deploy","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-orcid","fa-osi","fa-page4","fa-pagelines","fa-palfed","fa-patreon","fa-perbyte","fa-periscope","fa-phabricator","fa-phoenix-framework","fa-phoenix-squadron","fa-php","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-hat","fa-pied-piper-pp","fa-pied-piper-square","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane-slash","fa-product-hunt","fa-pushed","fa-python","fa-qq","fa-quinscape","fa-quora","fa-r-project","fa-raspberry-pi","fa-ravelry","fa-react","fa-reacteurope","fa-readme","fa-rebel","fa-red-river","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-redhat","fa-renren","fa-replyd","fa-researchgate","fa-resolving","fa-rev","fa-rocketchat","fa-rockrms","fa-rust","fa-safari","fa-salesforce","fa-sass","fa-schlix","fa-scribd","fa-searchengin","fa-sellcast","fa-sellsy","fa-servicestack","fa-shirtsinbulk","fa-shopify","fa-shopware","fa-signature","fa-simplybuilt","fa-sistrix","fa-sith","fa-sketch","fa-skull","fa-skyatlas","fa-skype","fa-slack","fa-slack-hash","fa-slideshare","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-sourcetree","fa-speakap","fa-speaker-deck","fa-squarespace","fa-stack-exchange","fa-stack-overflow","fa-stackpath","fa-staylinked","fa-sticker-mule","fa-stopwatch-20","fa-strava","fa-studiovinari","fa-stumbleupon","fa-stumbleupon-circle","fa-superpowers","fa-supple","fa-suse","fa-swift","fa-symfony","fa-teamspeak","fa-telegram","fa-telegram-plane","fa-tencent-weibo","fa-the-red-yeti","fa-themeco","fa-themeisle","fa-think-peaks","fa-tiktok","fa-trade-federation","fa-trello","fa-tumblr","fa-tumblr-square","fa-twitter","fa-twitter-square","fa-typo3","fa-uber","fa-ubuntu","fa-uikit","fa-umbraco","fa-uncharted","fa-uniregistry","fa-unity","fa-untappd","fa-ups","fa-usb","fa-usps","fa-ussunnah","fa-vaadin","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-viber","fa-vimeo","fa-vimeo-square","fa-vimeo-v","fa-vine","fa-vk","fa-vnv","fa-vr-cardboard","fa-vuejs","fa-watchman-monitoring","fa-waze","fa-weebly","fa-weibo","fa-weight-hanging","fa-weixin","fa-whatsapp","fa-whatsapp-square","fa-whmcs","fa-wikipedia-w","fa-windows","fa-wix","fa-wodu","fa-wolf-pack-battalion","fa-wordpress","fa-wordpress-simple","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wpressr","fa-xing","fa-xing-square","fa-y-combinator","fa-yahoo","fa-yammer","fa-yandex","fa-yandex-international","fa-yarn","fa-yelp","fa-yoast","fa-youtube-square","fa-zhihu"],Ww={},yM={};J3.forEach(p=>{yM[p]="",Ww[p]=""});Z3.forEach(p=>{Ww[p]=p});var vM=p=>p in yM;var EM=(p,b)=>{p.use(Q3,{defs:{...ez,...Ww}}),p.renderer.rules.emoji=(x,T)=>{let I=x[T];if(b.config.enableEmojiSyntax){let B=I.markup;return B.match("fa-")?`<i class="${vM(B)?"fa-brands":"fa-solid"} ${B}" aria-hidden="true"></i>`:I.content}else return`:${I.markup}:`}};import tz from"markdown-it-html5-embed";var nz=p=>({html5embed:{useImageSyntax:p.config.HTML5EmbedUseImageSyntax,useLinkSyntax:p.config.HTML5EmbedUseLinkSyntax,isAllowedHttp:p.config.HTML5EmbedIsAllowedHttp,attributes:{audio:p.config.HTML5EmbedAudioAttributes,video:p.config.HTML5EmbedVideoAttributes}}}),wM=(p,b)=>{b.config.enableHTML5Embed&&p.use(tz,nz(b))};import{escape as az}from"html-escaper";import rz from"katex";import"katex/contrib/mhchem";var Vw=({content:p,openTag:b,closeTag:x,displayMode:T=!1,renderingOption:I,katexConfig:B})=>{if(!p)return"";if(I==="KaTeX")try{return rz.renderToString(p,Object.assign({},structuredClone(B),{displayMode:T}))}catch(P){return`<span style="color: #ee7f49; font-weight: 500;">${P.toString()}</span>`}else if(I==="MathJax"){let P=(b+p+x).replace(/\n/g," "),F=T?"div":"span";return`<${F} class="mathjax-exps">${az(P)}</${F}>`}else return""};var _M=(p,b)=>{p.inline.ruler.before("escape","math",(x,T)=>{if(b.config.mathRenderingOption==="None")return!1;let I=null,B=null,P=!0,{mathBlockDelimiters:F,mathInlineDelimiters:j}=b.config;for(let ae of F)if(x.src.startsWith(ae[0],x.pos)){[I,B]=ae;break}if(!I){for(let ae of j)if(x.src.startsWith(ae[0],x.pos)){[I,B]=ae,P=!1;break}}if(!I||!B)return!1;let W=null,V=-1,Q=x.pos+I.length;for(;Q<x.src.length;){if(B&&x.src.startsWith(B,Q)){V=Q;break}else x.src[Q]==="\\"&&(Q+=1);Q+=1}if(V>=0)W=x.src.slice(x.pos+I.length,V);else return!1;if(W&&!T){let ae=x.push("math","",0);return ae.content=W.trim(),ae.meta=ae.meta||{},ae.meta.openTag=I,ae.meta.closeTag=B,ae.meta.displayMode=P,x.pos+=W.length+I.length+B.length,!0}else return!1}),p.renderer.rules.math=(x,T)=>{let I=x[T].content??"";return Vw({content:I,openTag:x[T].meta.openTag,closeTag:x[T].meta.closeTag,renderingOption:b.config.mathRenderingOption,displayMode:x[T].meta.displayMode,katexConfig:b.config.katexConfig})}};var kM=p=>{let b=p.renderer.renderToken.bind(p.renderer);p.renderer.renderToken=function(x,T,I){if(!I.sourceMap)return b(x,T,I);let B=x[T];return B.type.endsWith("_open")&&B.map!==null&&B.map[0]!==void 0&&B.attrSet("data-source-line",`${B.map[0]+1}`),b(x,T,I)}};var xM=(p,b)=>{let x=p.renderer.rules.image.bind(p.renderer);p.renderer.rules.image=(T,I,B,P,F)=>{let j=T[I];if(j.children&&j.children[0]?.content==="@embedding"){let W=j.attrGet("error")??"";if(W)return decodeURIComponent(atob(W));{let V=j.attrGet("embedding")??"",Q=decodeURIComponent(atob(V));return b.initMarkdownIt({...p.options,sourceMap:!1}).render(Q)}}return x(T,I,B,P,F)}};var SM=(p,b)=>{p.inline.ruler.before("autolink","wikilink",(x,T)=>{if(!b.config.enableWikiLinkSyntax||!x.src.startsWith("[[",x.pos))return!1;let I=null,B="]]",P=-1,F=x.pos+B.length;for(;F<x.src.length;){if(x.src[F]==="\\")F+=1;else if(x.src.startsWith(B,F)){P=F;break}F+=1}if(P>=0)I=x.src.slice(x.pos+B.length,P);else return!1;if(I&&!T){let j=x.push("wikilink","a",0);return j.content=I,x.pos+=I.length+2*B.length,!0}else return!1}),p.renderer.rules.wikilink=(x,T)=>{let{content:I}=x[T];if(!I)return"";let{text:B,link:P}=b.processWikilink(I);return`<a href="${P}">${B}</a>`}};import*as Yw from"fs";import*as TM from"less";import*as Nd from"path";var AM=typeof window>"u";function uA(){return{startOnLoad:!1}}function cA(){return{tex:{},options:{},loader:{}}}function dA(){return{macros:{}}}function fA(){return{onWillParseMarkdown:async function(p){return p},onDidParseMarkdown:async function(p){return p}}}function ch(){return{markdownFileExtensions:[".md",".markdown",".mdown",".mkdn",".mkd",".rmd",".qmd"],globalCss:"",includeInHeader:"",mermaidConfig:uA(),mathjaxConfig:cA(),katexConfig:dA(),parserConfig:fA(),enablePreviewZenMode:!1,usePandocParser:!1,breakOnSingleNewLine:!0,enableTypographer:!1,enableWikiLinkSyntax:!0,wikiLinkTargetFileExtension:".md",wikiLinkTargetFileNameChangeCase:"none",enableLinkify:!0,enableEmojiSyntax:!0,enableExtendedTableSyntax:!1,enableCriticMarkupSyntax:!1,useGitHubStylePipedLink:!1,protocolsWhiteList:"http://, https://, atom://, file://, mailto:, tel:",mathRenderingOption:"KaTeX",mathInlineDelimiters:[["$","$"]],mathBlockDelimiters:[["$$","$$"]],mathRenderingOnlineService:"https://latex.codecogs.com/gif.latex",mathjaxV3ScriptSrc:"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js",codeBlockTheme:"auto.css",previewTheme:"github-light.css",revealjsTheme:"white.css",mermaidTheme:"default",frontMatterRenderingOption:"none",imageFolderPath:"/assets",printBackground:!1,chromePath:"",imageMagickPath:"",pandocPath:"pandoc",pandocMarkdownFlavor:"markdown-raw_tex+tex_math_single_backslash",pandocArguments:[],latexEngine:"pdflatex",enableScriptExecution:!1,enableHTML5Embed:!1,HTML5EmbedUseImageSyntax:!0,HTML5EmbedUseLinkSyntax:!1,HTML5EmbedIsAllowedHttp:!1,HTML5EmbedAudioAttributes:'controls preload="metadata"',HTML5EmbedVideoAttributes:'controls preload="metadata"',puppeteerWaitForTimeout:0,puppeteerArgs:[],plantumlServer:"",plantumlJarPath:"",jsdelivrCdnHost:"cdn.jsdelivr.net",krokiServer:"https://kroki.io",isVSCode:!1,alwaysShowBacklinksInPreview:!1}}var iz=(T=>(T.SinglePreview="Single Preview",T.MultiplePreviews="Multiple Previews",T.PreviewsOnly="Previews Only",T))(iz||{});async function pA(p,b,x=!1){let T=ch(),I={globalCss:T.globalCss,includeInHeader:T.includeInHeader,mermaidConfig:T.mermaidConfig,mathjaxConfig:T.mathjaxConfig,katexConfig:T.katexConfig,parserConfig:T.parserConfig};return x&&await b.mkdir(p),await b.exists(p)&&(I.globalCss=await oz(p,b),I.parserConfig=await uz(p,b),I.includeInHeader=await sz(p,b),I={...I,...await lz(p,b)}),I}async function oz(p,b){let x=Nd.join(p,"./style.less"),T;try{T=await b.readFile(x)}catch{T=`
289
289
  /* Please visit the URL below for more information: */
290
290
  /* https://shd101wyy.github.io/markdown-preview-enhanced/#/customize-css */
@@ -325,7 +325,7 @@ ${x}
325
325
  ---
326
326
  ${p}`}var s0=class{constructor(){this.map={}}addReference(b,x,T){if(b===x&&!T){b in this.map||(this.map[b]={[x]:[]});return}if(T)if(b in this.map){let I=this.map[b];x in I?I[x].push(T):I[x]=[T]}else this.map[b]={[x]:[T]}}deleteReferences(b,x){if(b===x){delete this.map[b];return}b in this.map&&x in this.map[b]&&(delete this.map[b][x],Object.keys(this.map[b]).length===0&&delete this.map[b])}hasRelation(b,x){return b in this.map&&x in this.map[b]||x in this.map&&b in this.map[x]||b===x}getReferences(b,x){return b in this.map&&x in this.map[b]?this.map[b][x]:[]}noteHasReferences(b){return b in this.map}getReferredByNotesCount(b){if(b in this.map){let x=Object.keys(this.map[b]).length;return b in this.map[b]&&(x-=1),x}else return 0}};import cz from"minisearch";function dz(p,b="-"){return p.replace(/[.\s!@#$%^&*()\-=_+~`[\]{}\\<>?/|()【】::,。]+/g,b)}var dh=class{constructor(){this.miniSearch=new cz({fields:["title","aliases","filePath"],storeFields:["title","aliases","filePath"],extractField:(b,x)=>x==="aliases"?b.aliases.join("|"):b[x],tokenize:b=>dz(b," ").match(/([^\x00-\x7F]|\w+)/g)??[]}),this._cache={}}add(b,x,T=[]){if(!(b in this._cache)){let I={id:b+"#"+x,filePath:b,title:x,aliases:T};this.miniSearch.add(I),this._cache[b]=I}}remove(b){if(b in this._cache){let x=this._cache[b];x&&this.miniSearch.remove(x),delete this._cache[b]}}search(b,x){return this.miniSearch.search(b,x)}addAlias(b,x){let T=this._cache[b];T&&(this.remove(b),this.add(b,T.title,T.aliases.concat(x)))}deleteAlias(b,x){let T=this._cache[b];T&&(this.remove(b),this.add(b,T.title,T.aliases.filter(I=>I!==x)))}};var _z={html:!0,xhtmlOut:!1,breaks:!0,langPrefix:"language-",linkify:!0,typographer:!0,sourceMap:!0},IM=class p{constructor(){this.notes={};this.hasLoadedNotes=!1;this.referenceMap=new s0;this.refreshNotesIfNotLoadedMutex=new fz;this.search=new dh;this.markdownEngines={}}async init({notebookPath:b,config:x={},fs:T}){let I=Ez.parse(b);if(!en.isAbsolute(I.fsPath)||I.path.startsWith("/./"))throw new Error(`\`notebookPath\`: "${b}" must be an absolute path`);this.notebookPath=I,this.initFs(T),await this.initConfig(x),this.md=this.initMarkdownIt(),this.updateConfig({})}static async init(b){let x=new p;return await x.init(b),x}async initConfig(b){let x=await pA(en.join(this.notebookPath.fsPath,"./.crossnote"),this.fs);this.config={...ch(),...x,...b}}initMarkdownIt(b){let x=new pz(b??_z);return x.use(gz),x.use(yz),x.use(vz),x.use(mz),x.use(hz),x.use(bz),mM(x),bM(x),gM(x,this),EM(x,this),wM(x,this),_M(x,this),SM(x,this),hM(x),kM(x),xM(x,this),x}initFs(b){if(b)this.fs=b;else if(AM)this.fs=hA();else throw new Error("`fs` is required")}updateConfig(b){this.config={...this.config,...b},this.interpolateConfig(),this.md.set({typographer:!!this.config.enableTypographer,breaks:!!this.config.breakOnSingleNewLine,linkify:!!this.config.enableLinkify})}interpolateConfig(){let b={projectDir:this.notebookPath.fsPath,workspaceFolder:this.notebookPath.fsPath};this.config.imageFolderPath=sh(this.config.imageFolderPath,b),this.config.imageMagickPath=sh(this.config.imageMagickPath,b),this.config.chromePath=sh(this.config.chromePath,b),this.config.pandocPath=sh(this.config.pandocPath,b),this.config.plantumlJarPath=sh(this.config.plantumlJarPath,b)}async getBacklinkedNotes(b){if(b=this.resolveNoteRelativePath(b),b in this.referenceMap.map){let x=this.referenceMap.map[b],T={};for(let I in x){if(I===b)continue;let B=await this.getNote(I);B&&(T[I]=B)}return T}else return{}}async getNoteBacklinks(b){let x=await this.getBacklinkedNotes(b),T=[],I=Object.keys(x);for(let B of I){let P=x[B],F=await this.getReferences(b,B);T.push({note:{notebookPath:P.notebookPath,filePath:P.filePath,title:P.title,config:P.config},references:F,referenceHtmls:F.map(j=>{let W=[j.parentToken??j.token];return this.md.renderer.render(W,this.md.options,{})})})}return T}async getReferences(b,x){return this.referenceMap.getReferences(this.resolveNoteRelativePath(b),this.resolveNoteRelativePath(x))}async processNoteMentionsAndMentionedBy(b){let x=await this.getNote(b);if(!x)return;let T=this.md.parse(x.markdown,{}),I=V=>(V.endsWith(".md")||(V=V+".md"),V.startsWith("/")?en.relative(this.notebookPath.fsPath,en.join(this.notebookPath.fsPath,"."+V)):en.relative(this.notebookPath.fsPath,en.join(en.dirname(en.join(this.notebookPath.fsPath,x.filePath)),V))),B=V=>wz.joinPath(this.notebookPath,V).toString(),P=(V,Q,ae,pe)=>{for(let Z=0;Z<V.length;Z++){let te=V[Z];if(te.type==="wikilink"){let ue=this.processWikilink(te.content),{text:he}=ue,{link:me}=ue;if(me.match(/https?:\/\//))continue;me=I(me),this.config.useGitHubStylePipedLink?te.content=`${he} | ${B(me)}`:te.content=`${B(me)} | ${he}`,ae.push({elementId:te.attrGet("id")||"",text:he,link:me,parentToken:Q,token:te})}else if(te.type==="tag"){let ue=te.content.trim(),he=te.content.trim();ae.push({elementId:te.attrGet("id")||"",text:ue,link:I(he),parentToken:Q,token:te})}else if(te.type==="link_open"&&V[Z+1]&&V[Z+1].type==="text"){if(te.attrs?.length&&te.attrs[0][0]==="href"){let ue=decodeURI(te.attrs[0][1]),he=V[Z+1].content.trim();if(ue.match(/https?:\/\//)||!he.length||!ue.endsWith(".md"))continue;ue=I(ue),te.attrs[0][1]=B(ue),ae.push({elementId:te.attrGet("id")||"",text:he,link:ue,parentToken:Q,token:te})}}else te.children&&te.children.length&&P(te.children,te,ae,pe+1)}return ae},F=P(T,null,[],0),j=new Set,W=x.mentions;for(let V in W)this.referenceMap.deleteReferences(V,x.filePath);for(let V=0;V<F.length;V++){let{link:Q}=F[V];j[Q]=!0,this.referenceMap.addReference(Q,x.filePath,F[V])}this.referenceMap.addReference(x.filePath,x.filePath,void 0),x.mentions=j}async getNote(b,x=!1){if(b=this.resolveNoteRelativePath(b),!x&&b in this.notes)return this.notes[b];let T=this.resolveNoteAbsolutePath(b),I;try{I=await this.fs.stat(T)}catch{return null}if(I.isFile()&&this.config.markdownFileExtensions.includes(en.extname(b))){let B=await this.fs.readFile(T),P={createdAt:new Date(I.ctimeMs),modifiedAt:new Date(I.mtimeMs),aliases:[]};try{let V=CM(B),Q=Object.assign({},V.data);if(V.data.created&&(P.createdAt=new Date(V.data.created),delete Q.created),V.data.modified&&(P.modifiedAt=new Date(V.data.modified),delete Q.modified),V.data.pinned&&(P.pinned=V.data.pinned,delete Q.pinned),V.data.favorited&&(P.favorited=V.data.favorited,delete Q.favorited),V.data.icon&&(P.icon=V.data.icon,delete Q.icon),V.data.aliases){let ae=V.data.aliases||[];typeof ae=="string"?P.aliases=ae.split(",").map(pe=>pe.trim()):P.aliases=ae,delete Q.aliases}B=RM(V.content,Q)}catch{B=`Please fix front-matter. (\u{1F448} Don't forget to delete this line)
327
327
 
328
- `+B}let F=new Set,j=this.notes[b];j&&(F=j.mentions);let W={notebookPath:this.notebookPath,filePath:en.relative(this.notebookPath.fsPath,T),title:en.basename(T).replace(/\.md$/,""),markdown:B,config:P,mentions:F};return x&&(this.notes[W.filePath]=W,this.search.add(W.filePath,W.title,W.config.aliases),await this.processNoteMentionsAndMentionedBy(W.filePath)),W}else return null}async refreshNotesIfNotLoaded({dir:b="./",includeSubdirectories:x=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:b,includeSubdirectories:x,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:b="./",includeSubdirectories:x=!1,refreshRelations:T=!0}){T&&(this.notes={},this.referenceMap=new s0,this.search=new dh);let I=[];try{I=await this.fs.readdir(en.resolve(this.notebookPath.fsPath,b))}catch(P){console.error(P),I=[]}let B=[];for(let P=0;P<I.length;P++){let F=I[P];if(F.match(/^(node_modules|\.git)$/))continue;let j=en.resolve(this.notebookPath.fsPath,b,F),W=await this.getNote(en.relative(this.notebookPath.fsPath,j));W&&(this.notes[W.filePath]=W,this.search.add(W.filePath,W.title,W.config.aliases));let V;try{V=await this.fs.stat(j)}catch(Q){console.error(Q)}V&&V.isDirectory()&&x&&B.push(this.refreshNotes({dir:en.relative(this.notebookPath.fsPath,j),includeSubdirectories:x,refreshRelations:!1}))}if(await Promise.all(B),T)for(let P in this.notes)await this.processNoteMentionsAndMentionedBy(P);return this.notes}async removeNoteRelations(b){let x=await this.getNote(b);if(!x)return;let T=x.mentions;for(let I in T)this.referenceMap.deleteReferences(I,x.filePath);delete this.notes[x.filePath]}async deleteNote(b,x=!1){let T=this.resolveNoteAbsolutePath(b);(x||await this.fs.exists(T))&&(await this.fs.unlink(T),await this.removeNoteRelations(b),this.search.remove(b))}resolveNoteAbsolutePath(b){return en.isAbsolute(b)?b:en.resolve(this.notebookPath.fsPath,b)}resolveNoteRelativePath(b){return en.isAbsolute(b)?en.relative(this.notebookPath.fsPath,b):b}getNoteMarkdownEngine(b){return b=this.resolveNoteRelativePath(b),b in this.markdownEngines||(this.markdownEngines[b]=new Xw({notebook:this,filePath:this.resolveNoteAbsolutePath(b)})),this.markdownEngines[b]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let b in this.markdownEngines)this.markdownEngines[b].clearCaches()}processWikilink(b){let x=b.split("|"),T,I;x.length===1?(I=x[0].trim(),T=I):this.config.useGitHubStylePipedLink?(I=x[0].trim(),T=x[1].trim()):(I=x[1].trim(),T=x[0].trim());let B=T.lastIndexOf("#"),P="";B>=0&&(P=T.slice(B),T=T.slice(0,B));let F=en.parse(T),j=F.name,W=F.ext;return W.match(/^\.\d+$/)&&(j+=W,W=""),this.config.wikiLinkTargetFileNameChangeCase!=="none"&&this.config.wikiLinkTargetFileNameChangeCase in NM&&(j=NM[this.config.wikiLinkTargetFileNameChangeCase](j)),W||(W=this.config.wikiLinkTargetFileExtension),T=en.join(F.dir,j+W),P&&(T+=P),{link:T,text:I}}};import{escape as Sz}from"html-escaper";var kz={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function OM(p){return p=p.toLowerCase(),kz[p]||p}function DM(p){p.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function MM(p){p.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var fh=uD(LM());fh.default.hooks.add("wrap",p=>{p.type==="keyword"&&p.classes.push(`keyword-${p.content}`)});MM(fh.default);DM(fh.default);async function mA(p){p("pre>code").each((b,x)=>{let T=p(x),I=T.text(),B=T.parent();T.replaceWith(Sz(I)),B.addClass("language-text")}),p('[data-role="codeBlock"]').each((b,x)=>{let T=p(x);if(T.data("hiddenByEnhancer")||T.data("normalizedInfo").attributes.hide===!0){T.remove();return}let B=T.text(),P=T.data("normalizedInfo"),F=Az(OM(P.language),B);try{let j=fh.default.highlight(B,fh.default.languages[F],F);T.empty().append(p("<code></code>").html(j))}catch{T.empty().append(p("<code></code>").text(B))}T.addClass(`language-${F}`),P.attributes.class&&(T.addClass(P.attributes.class),Tz(T,B)),P.attributes.highlight&&Cz(T,B,P.attributes.highlight),T.removeAttr("data-parsed-info"),T.removeAttr("data-normalized-info")})}function Az(p,b){return p==="vega"||p==="vega-lite"?(b.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":p}function Tz(p,b){if(p.hasClass("numberLines")&&(p.addClass("line-numbers"),p.removeClass("numberLines")),p.hasClass("line-numbers")){if(!b.trim().length)return;let x=b.match(/\n(?!$)/g),T=x?x.length+1:1,I="";for(let B=0;B<T;B++)I+="<span></span>";p.append(`<span aria-hidden="true" class="line-numbers-rows">${I}</span>`)}}function Cz(p,b,x){if(!b.trim().length)return;typeof x=="number"?x=[x.toString()]:typeof x=="string"&&(x=x.split(","));let T=b.match(/\n(?!$)/g),I=T?T.length+1:1,B=[];x.forEach(P=>{if(P=P.toString(),P.indexOf("-")>0){let[F,j]=P.split("-").map(Q=>parseInt(Q,10));if(isNaN(F)||isNaN(j)||F<0||j<0||(F>j&&([F,j]=[j,F]),j>I))return;let W="";for(let Q=F;Q<=j;Q++)W+=`
328
+ `+B}let F=new Set,j=this.notes[b];j&&(F=j.mentions);let W={notebookPath:this.notebookPath,filePath:en.relative(this.notebookPath.fsPath,T),title:en.basename(T).replace(/\.md$/,""),markdown:B,config:P,mentions:F};return x&&(this.notes[W.filePath]=W,this.search.add(W.filePath,W.title,W.config.aliases),await this.processNoteMentionsAndMentionedBy(W.filePath)),W}else return null}async refreshNotesIfNotLoaded({dir:b="./",includeSubdirectories:x=!1}){return await this.refreshNotesIfNotLoadedMutex.runExclusive(async()=>{this.hasLoadedNotes||(await this.refreshNotes({dir:b,includeSubdirectories:x,refreshRelations:!0}),this.hasLoadedNotes=!0)}),this.notes}async refreshNotes({dir:b="./",includeSubdirectories:x=!1,refreshRelations:T=!0}){T&&(this.notes={},this.referenceMap=new s0,this.search=new dh);let I=[];try{I=await this.fs.readdir(en.resolve(this.notebookPath.fsPath,b))}catch(P){console.error(P),I=[]}let B=[];for(let P=0;P<I.length;P++){let F=I[P];if(F.match(/^(node_modules|\.git)$/))continue;let j=en.resolve(this.notebookPath.fsPath,b,F),W=await this.getNote(en.relative(this.notebookPath.fsPath,j));W&&(this.notes[W.filePath]=W,this.search.add(W.filePath,W.title,W.config.aliases));let V;try{V=await this.fs.stat(j)}catch(Q){console.error(Q)}V&&V.isDirectory()&&x&&B.push(this.refreshNotes({dir:en.relative(this.notebookPath.fsPath,j),includeSubdirectories:x,refreshRelations:!1}))}if(await Promise.all(B),T)for(let P in this.notes)await this.processNoteMentionsAndMentionedBy(P);return this.notes}async removeNoteRelations(b){let x=await this.getNote(b);if(!x)return;let T=x.mentions;for(let I in T)this.referenceMap.deleteReferences(I,x.filePath);delete this.notes[x.filePath]}async deleteNote(b,x=!1){let T=this.resolveNoteAbsolutePath(b);(x||await this.fs.exists(T))&&(await this.fs.unlink(T),await this.removeNoteRelations(b),this.search.remove(b))}resolveNoteAbsolutePath(b){return en.isAbsolute(b)?b:en.resolve(this.notebookPath.fsPath,b)}resolveNoteRelativePath(b){return en.isAbsolute(b)?en.relative(this.notebookPath.fsPath,b):b}getNoteMarkdownEngine(b){return b=this.resolveNoteRelativePath(b),b in this.markdownEngines||(this.markdownEngines[b]=new Xw({notebook:this,filePath:this.resolveNoteAbsolutePath(b)})),this.markdownEngines[b]}getNoteMarkdownEngines(){return this.markdownEngines}clearAllNoteMarkdownEngineCaches(){for(let b in this.markdownEngines)this.markdownEngines[b].clearCaches()}processWikilink(b){let x=b.split("|"),T,I;x.length===1?(I=x[0].trim(),T=I):this.config.useGitHubStylePipedLink?(I=x[0].trim(),T=x[1].trim()):(I=x[1].trim(),T=x[0].trim());let B=T.lastIndexOf("#"),P="";B>=0&&(P=T.slice(B),T=T.slice(0,B));let F=en.parse(T),j=F.name,W=F.ext;return W.match(/^\.\d+$/)&&(j+=W,W=""),this.config.wikiLinkTargetFileNameChangeCase!=="none"&&this.config.wikiLinkTargetFileNameChangeCase in NM&&(j=NM[this.config.wikiLinkTargetFileNameChangeCase](j)),W||(W=this.config.wikiLinkTargetFileExtension),T=en.join(F.dir,j+W),P&&(T+=P),{link:T,text:I}}};import{escape as Sz}from"html-escaper";var kz={sh:"bash",bash:"bash",c:"c","c++":"cpp",cpp:"cpp",coffee:"coffeescript",coffeescript:"coffeescript","coffee-script":"coffeescript",cs:"csharp",csharp:"csharp",css:"css",scss:"scss",sass:"sass",elm:"elm",elmlang:"elm","elm-lang":"elm",erlang:"erlang",go:"go",html:"html",java:"java",js:"javascript",javascript:"javascript",json:"json",less:"less",objc:"objectivec",objectivec:"objectivec","objective-c":"objectivec",php:"php",py:"python",python:"python",rb:"ruby",ruby:"ruby",text:"text",tex:"latex",xml:"xml",yaml:"yaml",yml:"yaml",yaml_table:"yaml",mermaid:"mermaid",plantuml:"plantuml",puml:"plantuml",wavedrom:"wavedrom",graphviz:"dot",viz:"dot",dot:"dot",erd:"erd",node:"javascript",md:"gfm",diff:"diff"};function OM(p){return p=p.toLowerCase(),kz[p]||p}function DM(p){p.languages.iele={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],variable:{pattern:/(@|%)([A-Za-z0-9\\_\\.\\-\\$])[a-zA-Z\\.\\_\\$][0-9a-zA-Z\\.\\_\\-\\$]*/,greedy:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/\b(?:load|store|sload|sstore|iszero|not|add|mul|sub|div|exp|mod|addmod|mulmod|expmod|byte|sext|twos|and|or|xor|shift|lt|le|gt|ge|eq|ne|cmp|sha3|br|call|staticcall|at|send|gaslimit|ret|void|revert|log|create|copycreate|selfdestruct|contract|external|define|public|log2|bswap|calladdress)\b/,label:/(?!\d)(?:[-$.\w]|\\[a-f\d]{2})+:/i,boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}function MM(p){p.languages.k={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":/\b(?:strict|avoid|prefer|bracket|non-assoc|seqstrict|left|right|macro-rec|macro|token|notInRules|autoReject|structural|latex|binder|klabel|symbol|format)\b/,keyword:{pattern:/\b(?:syntax\s+(?:priority|priorities|left|right|non-assoc|lexical)|syntax|rule|Id|Int|Bool|String|Token|Lexer|Float|configuration|import|imports|require|requires|Kresult|context\s+alias|context|module|endmodule|claim)\b/,greedy:!0},boolean:/\b(?:true|false)\b/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:{pattern:/[<>]=|=>|~>|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/},punctuation:/[{}[\];(),.:]/,tag:{pattern:/<\/?(?!\d)[^\s>/=$<%]+(?:\s(?:\s*[^\s>/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>/]+/,inside:{namespace:/^[^\s>/:]+:/}}}}}}var fh=uD(LM());fh.default.hooks.add("wrap",p=>{p.type==="keyword"&&p.classes.push(`keyword-${p.content}`)});MM(fh.default);DM(fh.default);async function mA(p){p("pre>code").each((b,x)=>{let T=p(x),I=T.text(),B=T.parent();T.replaceWith(Sz(I)),B.addClass("language-text")}),p('[data-role="codeBlock"]').each((b,x)=>{let T=p(x);if(T.data("hiddenByEnhancer")||T.data("normalizedInfo").attributes.hide===!0){T.remove();return}let B=T.text(),P=T.data("normalizedInfo"),F=Az(OM(P.language),B);try{let j=fh.default.highlight(B,fh.default.languages[F],F);T.empty().append(p("<code></code>").html(j))}catch{T.empty().append(p("<code></code>").text(B))}T.addClass(`language-${F||"text"}`),P.attributes.class&&(T.addClass(P.attributes.class),Tz(T,B)),P.attributes.highlight&&Cz(T,B,P.attributes.highlight),T.removeAttr("data-parsed-info"),T.removeAttr("data-normalized-info")})}function Az(p,b){return p==="vega"||p==="vega-lite"?(b.match(/^\s*(.)/)??[])[1]==="{"?"json":"yaml":p}function Tz(p,b){if(p.hasClass("numberLines")&&(p.addClass("line-numbers"),p.removeClass("numberLines")),p.hasClass("line-numbers")){if(!b.trim().length)return;let x=b.match(/\n(?!$)/g),T=x?x.length+1:1,I="";for(let B=0;B<T;B++)I+="<span></span>";p.append(`<span aria-hidden="true" class="line-numbers-rows">${I}</span>`)}}function Cz(p,b,x){if(!b.trim().length)return;typeof x=="number"?x=[x.toString()]:typeof x=="string"&&(x=x.split(","));let T=b.match(/\n(?!$)/g),I=T?T.length+1:1,B=[];x.forEach(P=>{if(P=P.toString(),P.indexOf("-")>0){let[F,j]=P.split("-").map(Q=>parseInt(Q,10));if(isNaN(F)||isNaN(j)||F<0||j<0||(F>j&&([F,j]=[j,F]),j>I))return;let W="";for(let Q=F;Q<=j;Q++)W+=`
329
329
  `;let V="";for(let Q=0;Q<F-1;Q++)V+=`
330
330
  `;B.push(`<div class="line-highlight-wrapper">${V}<div aria-hidden="true" class="line-highlight" data-range="${F}-${j}" data-start="${F}" data-end="${j}">${W}</div></div>`)}else{let F="",j=parseInt(P,10);if(isNaN(j)||j<0||j>I)return;for(let W=0;W<j-1;W++)F+=`
331
331
  `;B.push(`<div class="line-highlight-wrapper">${F}<div aria-hidden="true" class="line-highlight" data-range="${P}" data-start="${P}">
@@ -436,7 +436,7 @@ window["initRevealPresentation"] = async function() {
436
436
  window.MathJax = (${JSON.stringify(Se)});
437
437
  </script>
438
438
  <script type="text/javascript" async src="${this.notebook.config.mathjaxV3ScriptSrc}"></script>
439
- `}else this.notebook.config.mathRenderingOption==="KaTeX"?T.offline?P=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/katex/katex.min.css")}">`:P=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.9/dist/katex.min.css">`:P="";let F="";b.indexOf('<i class="fa')>=0&&(T.offline?F=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/font-awesome/css/all.min.css")}">`:F=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/@fortawesome/fontawesome-free@6.4.2/css/all.min.css">`);let j="",W="";b.indexOf(' class="mermaid')>=0&&(T.offline?j=`<script type="text/javascript" src="file:///${qe.resolve(Et(),"./dependencies/mermaid/mermaid.min.js")}" charset="UTF-8"></script>`:j=`<script src="https://${this.notebook.config.jsdelivrCdnHost}/npm/mermaid@10.6.0/dist/mermaid.min.js"></script>`,W+=`<script type="module">
439
+ `}else this.notebook.config.mathRenderingOption==="KaTeX"?T.offline?P=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/katex/katex.min.css")}">`:P=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/katex@0.16.9/dist/katex.min.css">`:P="";let F="";b.indexOf('<i class="fa')>=0&&(T.offline?F=`<link rel="stylesheet" href="file:///${qe.resolve(Et(),"./dependencies/font-awesome/css/all.min.css")}">`:F=`<link rel="stylesheet" href="https://${this.notebook.config.jsdelivrCdnHost}/npm/@fortawesome/fontawesome-free@6.4.2/css/all.min.css">`);let j="",W="";b.indexOf(' class="mermaid')>=0&&(T.offline?j=`<script type="text/javascript" src="file:///${qe.resolve(Et(),"./dependencies/mermaid/mermaid.min.js")}" charset="UTF-8"></script>`:j=`<script src="https://${this.notebook.config.jsdelivrCdnHost}/npm/mermaid@10.9.0/dist/mermaid.min.js"></script>`,W+=`<script type="module">
440
440
  // TODO: If ZenUML gets integrated into mermaid in the future,
441
441
  // we can remove the following lines.
442
442
  ${b.match(/zenuml/i)?`import zenuml from 'https://${this.notebook.config.jsdelivrCdnHost}/npm/@mermaid-js/mermaid-zenuml@0.1.0/dist/mermaid-zenuml.esm.min.mjs';
@@ -1 +1 @@
1
- body,html{width:100%}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}.crossnote::-webkit-scrollbar{width:8px}.crossnote::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.crossnote::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}.preview-container{width:100%;margin:0;padding:0;box-sizing:border-box}.preview-container ul{list-style:disc}.preview-container ol{list-style:decimal}.preview-container.show-sidebar-toc .md-sidebar-toc{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;position:fixed;top:0;right:0;width:268px;height:100%;padding:32px 0 12px 0;overflow:auto;background-color:#fff;font-size:14px;box-shadow:-4px 0 12px rgba(150,150,150,.33);box-sizing:border-box}.preview-container.show-sidebar-toc .md-sidebar-toc a{text-decoration:none}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc{padding:0 16px}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.preview-container.show-sidebar-toc .crossnote{width:calc(100% - 268px)}.preview-container .crossnote[data-for=preview]{left:0;top:0;margin:0;padding:2em;overflow:auto;display:block;box-sizing:border-box;position:relative}.preview-container .crossnote[data-for=preview] .code-chunk{position:relative}.preview-container .crossnote[data-for=preview] .code-chunk pre{cursor:text}.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group{position:absolute;right:28px;top:0;display:none}.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-all-btn,.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-btn{float:right;margin-left:4px;min-width:38px}.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-all-btn:hover,.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-btn:hover{cursor:pointer}.preview-container .crossnote[data-for=preview] .code-chunk:hover .code-chunk-btn-group{display:block}.preview-container .crossnote[data-for=preview] .code-chunk .status{position:absolute;right:0;top:0;font-size:.85em;color:inherit;padding:2px 6px;background-color:rgba(0,0,0,.04);display:none}.preview-container .crossnote[data-for=preview] .code-chunk.running .code-chunk-btn-group{display:none}.preview-container .crossnote[data-for=preview] .code-chunk.running .status{display:block}.preview-container .crossnote[data-for=preview] .highlight-line{position:relative}.preview-container .crossnote[data-for=preview] .highlight-line.highlight-active{box-shadow:0 0 2px 1px #95c258;border-radius:6px}body[data-presentation-mode] .crossnote[data-for=preview]{padding:0!important;width:100%;height:100%}body[data-presentation-mode] .final-line.end-of-document{display:none}body[data-presentation-mode] .footer,body[data-presentation-mode] .topbar{display:none}body:not([data-presentation-mode]) .crossnote[data-for=preview]{height:auto}body:not([data-presentation-mode]) .final-line.end-of-document{margin-top:64px!important;margin-bottom:64px!important;padding:8px;color:#bbb;cursor:pointer}body:not([data-presentation-mode]) .final-line.end-of-document::before{content:'End of document'}body:not([data-presentation-mode]) .crossnote.zen-mode .final-line.end-of-document{display:none}body:not([data-presentation-mode])[data-preview-theme=dark] .final-line.end-of-document{color:#555}.monaco-line-decoration{background:#70a22a;width:5px!important;margin-left:3px}body.floating-action-open.preview-container .code-chunk .code-chunk-btn-group,body.floating-action-open.preview-container .code-chunk .status{display:none!important}.highlight-element-being-edited>:not(.markdown-editor){visibility:hidden;max-width:100%}
1
+ body,html{width:100%}.scrollbar-style::-webkit-scrollbar{width:8px}.scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.scrollbar-style::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}.crossnote::-webkit-scrollbar{width:8px}.crossnote::-webkit-scrollbar-track{border-radius:10px;background-color:transparent}.crossnote::-webkit-scrollbar-thumb{border-radius:5px;background-color:rgba(150,150,150,.66);border:4px solid rgba(150,150,150,.66);background-clip:content-box}.preview-container{width:100%;margin:0;padding:0;box-sizing:border-box}.preview-container ul{list-style:disc}.preview-container ol{list-style:decimal}.preview-container.show-sidebar-toc .md-sidebar-toc{font-family:'Helvetica Neue',Helvetica,'Segoe UI',Arial,freesans,sans-serif;position:fixed;top:0;right:0;width:268px;height:100%;padding:32px 0;overflow:auto;background-color:#fff;font-size:14px;box-shadow:-4px 0 12px rgba(150,150,150,.33);box-sizing:border-box}.preview-container.show-sidebar-toc .md-sidebar-toc a{text-decoration:none}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc{padding:0 16px}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link{display:inline;padding:.25rem 0}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link div,.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper .md-toc-link p{display:inline}.preview-container.show-sidebar-toc .md-sidebar-toc .md-toc .md-toc-link-wrapper.highlighted .md-toc-link{font-weight:800}.preview-container.show-sidebar-toc .crossnote{width:calc(100% - 268px)}.preview-container .crossnote[data-for=preview]{left:0;top:0;margin:0;padding:2em;overflow:auto;display:block;box-sizing:border-box;position:relative}.preview-container .crossnote[data-for=preview] .code-chunk{position:relative}.preview-container .crossnote[data-for=preview] .code-chunk pre{cursor:text}.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group{position:absolute;right:28px;top:0;display:none}.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-all-btn,.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-btn{float:right;margin-left:4px;min-width:38px}.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-all-btn:hover,.preview-container .crossnote[data-for=preview] .code-chunk .code-chunk-btn-group .run-btn:hover{cursor:pointer}.preview-container .crossnote[data-for=preview] .code-chunk:hover .code-chunk-btn-group{display:block}.preview-container .crossnote[data-for=preview] .code-chunk .status{position:absolute;right:0;top:0;font-size:.85em;color:inherit;padding:2px 6px;background-color:rgba(0,0,0,.04);display:none}.preview-container .crossnote[data-for=preview] .code-chunk.running .code-chunk-btn-group{display:none}.preview-container .crossnote[data-for=preview] .code-chunk.running .status{display:block}.preview-container .crossnote[data-for=preview] .highlight-line{position:relative}.preview-container .crossnote[data-for=preview] .highlight-line.highlight-active{box-shadow:0 0 2px 1px #95c258;border-radius:6px}body[data-presentation-mode] .crossnote[data-for=preview]{padding:0!important;width:100%;height:100%}body[data-presentation-mode] .final-line.end-of-document{display:none}body[data-presentation-mode] .footer,body[data-presentation-mode] .topbar{display:none}body:not([data-presentation-mode]) .crossnote[data-for=preview]{height:auto}body:not([data-presentation-mode]) .final-line.end-of-document{margin-top:64px!important;margin-bottom:64px!important;padding:8px;color:#bbb;cursor:pointer}body:not([data-presentation-mode]) .final-line.end-of-document::before{content:'End of document'}body:not([data-presentation-mode]) .crossnote.zen-mode .final-line.end-of-document{display:none}body:not([data-presentation-mode])[data-preview-theme=dark] .final-line.end-of-document{color:#555}.monaco-line-decoration{background:#70a22a;width:5px!important;margin-left:3px}body.floating-action-open.preview-container .code-chunk .code-chunk-btn-group,body.floating-action-open.preview-container .code-chunk .status{display:none!important}.highlight-element-being-edited>:not(.markdown-editor){visibility:hidden;max-width:100%}pre span.token.table{display:inline}