diff --git a/S2/AnaMech/index.typ b/S2/AnaMech/index.typ
new file mode 100644
index 0000000..a789b7c
--- /dev/null
+++ b/S2/AnaMech/index.typ
@@ -0,0 +1 @@
+= Analytische Mechanik
diff --git a/S2/AnaMech/pdfs/AnaMech_skript-2.pdf b/S2/AnaMech/pdfs/AnaMech_skript-2.pdf
new file mode 100644
index 0000000..1c867c9
Binary files /dev/null and b/S2/AnaMech/pdfs/AnaMech_skript-2.pdf differ
diff --git a/S2/AnaMech/pdfs/UebungHA2.pdf b/S2/AnaMech/pdfs/UebungHA2.pdf
new file mode 100644
index 0000000..0e56be1
Binary files /dev/null and b/S2/AnaMech/pdfs/UebungHA2.pdf differ
diff --git a/S2/AnaMech/pdfs/UebungP2-1.pdf b/S2/AnaMech/pdfs/UebungP2-1.pdf
new file mode 100644
index 0000000..65707cf
Binary files /dev/null and b/S2/AnaMech/pdfs/UebungP2-1.pdf differ
diff --git a/S2/CWR/index.typ b/S2/CWR/index.typ
new file mode 100644
index 0000000..a789b7c
--- /dev/null
+++ b/S2/CWR/index.typ
@@ -0,0 +1 @@
+= Analytische Mechanik
diff --git a/S2/DiffII/VL/DiIIVL3.typ b/S2/DiffII/VL/DiIIVL3.typ
index fd26033..b686484 100644
--- a/S2/DiffII/VL/DiIIVL3.typ
+++ b/S2/DiffII/VL/DiIIVL3.typ
@@ -63,4 +63,30 @@ Hier bezeichnet $e_(n) $ den Einheitsvektor in Richtung $n$.
Sei $S^(n-1) := {x in RR^(n) | norm(x)_(2) =1}$ und $c := inf {norm(x) | x in S^(n-1) }$. Behauptung: es gilt $c>0$.
Angenommen $c=0$. Waehle $x_l in S^(n-1) , l in NN $ mit $lim_(l -> oo) norm(x_l )=0$.
+
+ #highlight[TODO: finish this proof]
+]
+
+= Stetige Abbildungen und normierte Raeume
+
+Wir nennen einen Metrischen Raum vollstaendig, falls jede Cauchy-Folge in $M$ einen Grenzwert in $M$ hat.
+
+#example[
+ - $RR^(n) "ist vollstaendig"$
+ - $QQ^(n) "ist nicht vollstaendig"$, da die Folge gegen $sqrt(2)$ keinen Grenzwert in $QQ$ hat
+ - abgeschlossene Teilmengen des $RR^n$ sind vollstaendig (Q: Folgt dies aus Punkt eins?)
+]
+
+#definition[
+ Sei $K in {RR,QQ}$ und $V$ ein normierter Vektroraum. Wir nennen $V$ Banachraum, falls $V$ vollstaendig ist.
+]
+
+#example[
+ - $(RR^(n) , norm(dot)_(p) )$ ist fuer jedes $p >= 1$ ein Banachraum (Q: Warum nicht fuer $p = 1/2$?)
+ - Fuer $[a,b]subset.eq RR$ betrachte den Raum der stetigen Funktionen $C ([a,b]) = {f: [a,b]-> RR | f "ist stetig"}$ mit den Normen $norm(f)_(C ([a,b])) := sup_(t in [a,b]) abs(f (t)) $
+ #highlight[TODO: Show that C([a,b]) is complete]
+]
+
+#lemma[
+ Sei $V$ ein K-VR mit Skalarprodukt, $K in {CC,RR}$ und $norm(x):= sqrt(angle.l dot\,dot angle.r)$
]
diff --git a/S2/DiffII/index.typ b/S2/DiffII/index.typ
new file mode 100644
index 0000000..a789b7c
--- /dev/null
+++ b/S2/DiffII/index.typ
@@ -0,0 +1 @@
+= Analytische Mechanik
diff --git a/S2/DiffII/pdfs/DiIIVL3.pdf b/S2/DiffII/pdfs/DiIIVL3.pdf
index 01430b7..096c4f0 100644
Binary files a/S2/DiffII/pdfs/DiIIVL3.pdf and b/S2/DiffII/pdfs/DiIIVL3.pdf differ
diff --git a/S2/ExPhyII/index.typ b/S2/ExPhyII/index.typ
new file mode 100644
index 0000000..a789b7c
--- /dev/null
+++ b/S2/ExPhyII/index.typ
@@ -0,0 +1 @@
+= Analytische Mechanik
diff --git a/S2/Neuro/index.typ b/S2/Neuro/index.typ
new file mode 100644
index 0000000..a789b7c
--- /dev/null
+++ b/S2/Neuro/index.typ
@@ -0,0 +1 @@
+= Analytische Mechanik
diff --git a/book.typ b/book.typ
index 9d3f397..10e1939 100644
--- a/book.typ
+++ b/book.typ
@@ -19,26 +19,26 @@
= Semester II
- == ExPhy II
- - #chapter("S2/ExPhyII/VL/ExIIVL1.typ")[VL1]
- - #chapter("S2/ExPhyII/VL/ExIIVL2.typ")[VL2]
+ - #chapter("S2/ExPhyII/index.typ")[ExPhy II]
+ - #chapter("S2/ExPhyII/VL/ExIIVL1.typ")[Einleitung und Historisches]
+ - #chapter("S2/ExPhyII/VL/ExIIVL2.typ")[Elektrostatik]
- == CWR
- - #chapter("S2/CWR/VL/CwrVL1.typ")[VL1]
- - #chapter("S2/CWR/VL/CwrVL2.typ")[VL2]
+ - #chapter("S2/CWR/index.typ")[CWR]
+ - #chapter("S2/CWR/VL/CwrVL1.typ")[Nullstellen und Integration]
+ - #chapter("S2/CWR/VL/CwrVL2.typ")[Differentialgleichungen]
- == AnaMech
- - #chapter("S2/AnaMech/VL/AnMeVL1.typ")[VL1]
- - #chapter("S2/AnaMech/VL/AnMeVL2.typ")[VL2]
- - #chapter("S2/AnaMech/VL/AnMeVL3.typ")[VL3]
+ - #chapter("S2/AnaMech/index.typ")[AnaMech]
+ - #chapter("S2/AnaMech/VL/AnMeVL1.typ")[Einleitung und Newton]
+ - #chapter("S2/AnaMech/VL/AnMeVL2.typ")[Phasenraum und Zwangsbedingungen]
+ - #chapter("S2/AnaMech/VL/AnMeVL3.typ")[Energiefunktionen]
- == Diff II
- - #chapter("S2/DiffII/VL/DiIIVL1.typ")[VL1]
- - #chapter("S2/DiffII/VL/DiIIVL2.typ")[VL2]
- - #chapter("S2/DiffII/VL/DiIIVL3.typ")[VL3]
+ - #chapter("S2/DiffII/index.typ")[Diff II]
+ - #chapter("S2/DiffII/VL/DiIIVL1.typ")[Metrik Cauchy-Schwarz]
+ - #chapter("S2/DiffII/VL/DiIIVL2.typ")[Hoelderungleichung]
+ - #chapter("S2/DiffII/VL/DiIIVL3.typ")[Aequivalenz von Normen]
- == Computational Neuroscience
- - #chapter("S2/Neuro/VL/NeuroVL1.typ")[VL1]
+ - #chapter("S2/Neuro/index.typ")[Computational Neuroscience]
+ - #chapter("S2/Neuro/VL/NeuroVL1.typ")[Verschiedene Ebenen]
= Semester III
diff --git a/dist/S2/ExPhyII/VL/ExIIVL1.ayu.multi.sir.in b/dist/S2/ExPhyII/VL/ExIIVL1.ayu.multi.sir.in
deleted file mode 100644
index 989cb7b..0000000
Binary files a/dist/S2/ExPhyII/VL/ExIIVL1.ayu.multi.sir.in and /dev/null differ
diff --git a/dist/S2/ExPhyII/VL/ExIIVL1.coal.multi.sir.in b/dist/S2/ExPhyII/VL/ExIIVL1.coal.multi.sir.in
deleted file mode 100644
index e5fdb0d..0000000
Binary files a/dist/S2/ExPhyII/VL/ExIIVL1.coal.multi.sir.in and /dev/null differ
diff --git a/dist/S2/ExPhyII/VL/ExIIVL1.html b/dist/S2/ExPhyII/VL/ExIIVL1.html
deleted file mode 100644
index 09421e1..0000000
--- a/dist/S2/ExPhyII/VL/ExIIVL1.html
+++ /dev/null
@@ -1,281 +0,0 @@
-
-
-
-
-
-
- shiroa
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dist/S2/ExPhyII/VL/ExIIVL1.light.multi.sir.in b/dist/S2/ExPhyII/VL/ExIIVL1.light.multi.sir.in
deleted file mode 100644
index bfc22d5..0000000
Binary files a/dist/S2/ExPhyII/VL/ExIIVL1.light.multi.sir.in and /dev/null differ
diff --git a/dist/S2/ExPhyII/VL/ExIIVL1.navy.multi.sir.in b/dist/S2/ExPhyII/VL/ExIIVL1.navy.multi.sir.in
deleted file mode 100644
index 5ca71fb..0000000
Binary files a/dist/S2/ExPhyII/VL/ExIIVL1.navy.multi.sir.in and /dev/null differ
diff --git a/dist/S2/ExPhyII/VL/ExIIVL1.rust.multi.sir.in b/dist/S2/ExPhyII/VL/ExIIVL1.rust.multi.sir.in
deleted file mode 100644
index 8d2a728..0000000
Binary files a/dist/S2/ExPhyII/VL/ExIIVL1.rust.multi.sir.in and /dev/null differ
diff --git a/dist/internal/elasticlunr.min.js b/dist/internal/elasticlunr.min.js
deleted file mode 100644
index 94b20dd..0000000
--- a/dist/internal/elasticlunr.min.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * elasticlunr - http://weixsong.github.io
- * Lightweight full-text search engine in Javascript for browser search and offline search. - 0.9.5
- *
- * Copyright (C) 2017 Oliver Nightingale
- * Copyright (C) 2017 Wei Song
- * MIT Licensed
- * @license
- */
-!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();o1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEach(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":""})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":""})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEach(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c': '>',
- '"': '"',
- "'": '''
- };
- var repl = function(c) { return MAP[c]; };
- return function(s) {
- return s.replace(/[&<>'"]/g, repl);
- };
- })();
-
- function formatSearchMetric(count, searchterm) {
- if (count == 1) {
- return count + " search result for '" + searchterm + "':";
- } else if (count == 0) {
- return "No search results for '" + searchterm + "'.";
- } else {
- return count + " search results for '" + searchterm + "':";
- }
- }
-
- function formatSearchResult(result, searchterms) {
- var teaser = makeTeaser(escapeHTML(result.doc.body), searchterms);
- teaser_count++;
-
- // The ?URL_MARK_PARAM= parameter belongs inbetween the page and the #heading-anchor
- var url = doc_urls[result.ref].split("#");
- if (url.length == 1) { // no anchor found
- url.push("");
- }
-
- // encodeURIComponent escapes all chars that could allow an XSS except
- // for '. Due to that we also manually replace ' with its url-encoded
- // representation (%27).
- var searchterms = encodeURIComponent(searchterms.join(" ")).replace(/\'/g, "%27");
-
- // todo: shiroa doesn't have highlight feature.
- // path_to_root + url[0] + '?' + URL_MARK_PARAM + '=' + searchterms + '#' + url[1]
-
- var goalUrl = url[0];
- if (goalUrl.startsWith('/')) {
- goalUrl = goalUrl.substring(1);
- }
-
- // + '?' + URL_MARK_PARAM + '=' + searchterms + '#' + url[1]
-
- return '' + result.doc.breadcrumbs + ''
- + ''
- + teaser + '';
- }
-
- function makeTeaser(body, searchterms) {
- // The strategy is as follows:
- // First, assign a value to each word in the document:
- // Words that correspond to search terms (stemmer aware): 40
- // Normal words: 2
- // First word in a sentence: 8
- // Then use a sliding window with a constant number of words and count the
- // sum of the values of the words within the window. Then use the window that got the
- // maximum sum. If there are multiple maximas, then get the last one.
- // Enclose the terms in .
- var stemmed_searchterms = searchterms.map(function(w) {
- return elasticlunr.stemmer(w.toLowerCase());
- });
- var searchterm_weight = 40;
- var weighted = []; // contains elements of ["word", weight, index_in_document]
- // split in sentences, then words
- var sentences = body.toLowerCase().split('. ');
- var index = 0;
- var value = 0;
- var searchterm_found = false;
- for (var sentenceindex in sentences) {
- var words = sentences[sentenceindex].split(' ');
- value = 8;
- for (var wordindex in words) {
- var word = words[wordindex];
- if (word.length > 0) {
- for (var searchtermindex in stemmed_searchterms) {
- if (elasticlunr.stemmer(word).startsWith(stemmed_searchterms[searchtermindex])) {
- value = searchterm_weight;
- searchterm_found = true;
- }
- };
- weighted.push([word, value, index]);
- value = 2;
- }
- index += word.length;
- index += 1; // ' ' or '.' if last word in sentence
- };
- index += 1; // because we split at a two-char boundary '. '
- };
-
- if (weighted.length == 0) {
- return body;
- }
-
- var window_weight = [];
- var window_size = Math.min(weighted.length, results_options.teaser_word_count);
-
- var cur_sum = 0;
- for (var wordindex = 0; wordindex < window_size; wordindex++) {
- cur_sum += weighted[wordindex][1];
- };
- window_weight.push(cur_sum);
- for (var wordindex = 0; wordindex < weighted.length - window_size; wordindex++) {
- cur_sum -= weighted[wordindex][1];
- cur_sum += weighted[wordindex + window_size][1];
- window_weight.push(cur_sum);
- };
-
- if (searchterm_found) {
- var max_sum = 0;
- var max_sum_window_index = 0;
- // backwards
- for (var i = window_weight.length - 1; i >= 0; i--) {
- if (window_weight[i] > max_sum) {
- max_sum = window_weight[i];
- max_sum_window_index = i;
- }
- };
- } else {
- max_sum_window_index = 0;
- }
-
- // add around searchterms
- var teaser_split = [];
- var index = weighted[max_sum_window_index][2];
- for (var i = max_sum_window_index; i < max_sum_window_index+window_size; i++) {
- var word = weighted[i];
- if (index < word[2]) {
- // missing text from index to start of `word`
- teaser_split.push(body.substring(index, word[2]));
- index = word[2];
- }
- if (word[1] == searchterm_weight) {
- teaser_split.push("")
- }
- index = word[2] + word[0].length;
- teaser_split.push(body.substring(word[2], index));
- if (word[1] == searchterm_weight) {
- teaser_split.push("")
- }
- };
-
- return teaser_split.join('');
- }
-
- function init(config) {
- results_options = config.results_options;
- search_options = config.search_options;
- searchbar_outer = config.searchbar_outer;
- doc_urls = config.doc_urls;
- searchindex = elasticlunr.Index.load(config.index);
-
- // Set up events
- searchicon.addEventListener('click', function(e) { searchIconClickHandler(); }, false);
- searchbar.addEventListener('keyup', function(e) { searchbarKeyUpHandler(); }, false);
- document.addEventListener('keydown', function(e) { globalKeyHandler(e); }, false);
- // If the user uses the browser buttons, do the same as if a reload happened
- window.onpopstate = function(e) { doSearchOrMarkFromUrl(); };
- // Suppress "submit" events so the page doesn't reload when the user presses Enter
- document.addEventListener('submit', function(e) { e.preventDefault(); }, false);
-
- // If reloaded, do the search or mark again, depending on the current url parameters
- doSearchOrMarkFromUrl();
- }
-
- function unfocusSearchbar() {
- // hacky, but just focusing a div only works once
- var tmp = document.createElement('input');
- tmp.setAttribute('style', 'position: absolute; opacity: 0;');
- searchicon.appendChild(tmp);
- tmp.focus();
- tmp.remove();
- }
-
- // On reload or browser history backwards/forwards events, parse the url and do search or mark
- function doSearchOrMarkFromUrl() {
- // Check current URL for search request
- var url = parseURL(window.location.href);
- if (url.params.hasOwnProperty(URL_SEARCH_PARAM)
- && url.params[URL_SEARCH_PARAM] != "") {
- showSearch(true);
- searchbar.value = decodeURIComponent(
- (url.params[URL_SEARCH_PARAM]+'').replace(/\+/g, '%20'));
- searchbarKeyUpHandler(); // -> doSearch()
- } else {
- showSearch(false);
- }
-
- if (url.params.hasOwnProperty(URL_MARK_PARAM)) {
- var words = decodeURIComponent(url.params[URL_MARK_PARAM]).split(' ');
- marker.mark(words, {
- exclude: mark_exclude
- });
-
- var markers = document.querySelectorAll("mark");
- function hide() {
- for (var i = 0; i < markers.length; i++) {
- markers[i].classList.add("fade-out");
- window.setTimeout(function(e) { marker.unmark(); }, 300);
- }
- }
- for (var i = 0; i < markers.length; i++) {
- markers[i].addEventListener('click', hide);
- }
- }
- }
-
- // Eventhandler for keyevents on `document`
- function globalKeyHandler(e) {
- if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.target.type === 'textarea' || e.target.type === 'text') { return; }
-
- if (e.keyCode === ESCAPE_KEYCODE) {
- e.preventDefault();
- searchbar.classList.remove("active");
- setSearchUrlParameters("",
- (searchbar.value.trim() !== "") ? "push" : "replace");
- if (hasFocus()) {
- unfocusSearchbar();
- }
- showSearch(false);
- marker.unmark();
- } else if (!hasFocus() && e.keyCode === SEARCH_HOTKEY_KEYCODE) {
- e.preventDefault();
- showSearch(true);
- window.scrollTo(0, 0);
- searchbar.select();
- } else if (hasFocus() && e.keyCode === DOWN_KEYCODE) {
- e.preventDefault();
- unfocusSearchbar();
- searchresults.firstElementChild.classList.add("focus");
- } else if (!hasFocus() && (e.keyCode === DOWN_KEYCODE
- || e.keyCode === UP_KEYCODE
- || e.keyCode === SELECT_KEYCODE)) {
- // not `:focus` because browser does annoying scrolling
- var focused = searchresults.querySelector("li.focus");
- if (!focused) return;
- e.preventDefault();
- if (e.keyCode === DOWN_KEYCODE) {
- var next = focused.nextElementSibling;
- if (next) {
- focused.classList.remove("focus");
- next.classList.add("focus");
- }
- } else if (e.keyCode === UP_KEYCODE) {
- focused.classList.remove("focus");
- var prev = focused.previousElementSibling;
- if (prev) {
- prev.classList.add("focus");
- } else {
- searchbar.select();
- }
- } else { // SELECT_KEYCODE
- window.location.assign(focused.querySelector('a'));
- }
- }
- }
-
- function showSearch(yes) {
- if (yes) {
- search_wrap.classList.remove('hidden');
- searchicon.setAttribute('aria-expanded', 'true');
- } else {
- search_wrap.classList.add('hidden');
- searchicon.setAttribute('aria-expanded', 'false');
- var results = searchresults.children;
- for (var i = 0; i < results.length; i++) {
- results[i].classList.remove("focus");
- }
- }
- }
-
- function showResults(yes) {
- if (yes) {
- searchresults_outer.classList.remove('hidden');
- } else {
- searchresults_outer.classList.add('hidden');
- }
- }
-
- // Eventhandler for search icon
- function searchIconClickHandler() {
- if (search_wrap.classList.contains('hidden')) {
- showSearch(true);
- window.scrollTo(0, 0);
- searchbar.select();
- } else {
- showSearch(false);
- }
- }
-
- // Eventhandler for keyevents while the searchbar is focused
- function searchbarKeyUpHandler() {
- var searchterm = searchbar.value.trim();
- if (searchterm != "") {
- searchbar.classList.add("active");
- doSearch(searchterm);
- } else {
- searchbar.classList.remove("active");
- showResults(false);
- removeChildren(searchresults);
- }
-
- setSearchUrlParameters(searchterm, "push_if_new_search_else_replace");
-
- // Remove marks
- marker.unmark();
- }
-
- // Update current url with ?URL_SEARCH_PARAM= parameter, remove ?URL_MARK_PARAM and #heading-anchor .
- // `action` can be one of "push", "replace", "push_if_new_search_else_replace"
- // and replaces or pushes a new browser history item.
- // "push_if_new_search_else_replace" pushes if there is no `?URL_SEARCH_PARAM=abc` yet.
- function setSearchUrlParameters(searchterm, action) {
- var url = parseURL(window.location.href);
- var first_search = ! url.params.hasOwnProperty(URL_SEARCH_PARAM);
- if (searchterm != "" || action == "push_if_new_search_else_replace") {
- url.params[URL_SEARCH_PARAM] = searchterm;
- delete url.params[URL_MARK_PARAM];
- url.hash = "";
- } else {
- delete url.params[URL_MARK_PARAM];
- delete url.params[URL_SEARCH_PARAM];
- }
- // A new search will also add a new history item, so the user can go back
- // to the page prior to searching. A updated search term will only replace
- // the url.
- if (action == "push" || (action == "push_if_new_search_else_replace" && first_search) ) {
- history.pushState({}, document.title, renderURL(url));
- } else if (action == "replace" || (action == "push_if_new_search_else_replace" && !first_search) ) {
- history.replaceState({}, document.title, renderURL(url));
- }
- }
-
- function doSearch(searchterm) {
-
- // Don't search the same twice
- if (current_searchterm == searchterm) { return; }
- else { current_searchterm = searchterm; }
-
- if (searchindex == null) { return; }
-
- // Do the actual search
- var results = searchindex.search(searchterm, search_options);
- var resultcount = Math.min(results.length, results_options.limit_results);
-
- // Display search metrics
- searchresults_header.innerText = formatSearchMetric(resultcount, searchterm);
-
- // Clear and insert results
- var searchterms = searchterm.split(' ');
- removeChildren(searchresults);
- for(var i = 0; i < resultcount ; i++){
- var resultElem = document.createElement('li');
- resultElem.innerHTML = formatSearchResult(results[i], searchterms);
- searchresults.appendChild(resultElem);
- }
-
- // Display results
- showResults(true);
- }
-
- fetch(path_to_root + 'searchindex.json')
- .then(response => response.json())
- .then(json => init(json))
- .catch(error => { // Try to load searchindex.js if fetch failed
- var script = document.createElement('script');
- script.src = path_to_root + 'searchindex.js';
- script.onload = () => init(window.search);
- document.head.appendChild(script);
- });
-
- // Exported functions
- search.hasFocus = hasFocus;
-})(window.search);
diff --git a/dist/internal/shiroa.js b/dist/internal/shiroa.js
deleted file mode 100644
index 575cc92..0000000
--- a/dist/internal/shiroa.js
+++ /dev/null
@@ -1,4482 +0,0 @@
-var __defProp = Object.defineProperty;
-var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
-var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
-var _a, _b;
-const kObject = Symbol.for("reflexo-obj");
-var TypstDefaultParams;
-(function(TypstDefaultParams2) {
- TypstDefaultParams2[TypstDefaultParams2["PIXEL_PER_PT"] = 3] = "PIXEL_PER_PT";
-})(TypstDefaultParams || (TypstDefaultParams = {}));
-class RenderView {
- constructor(pageInfos, container, options) {
- __publicField(this, "pageInfos");
- __publicField(this, "loadPageCount");
- __publicField(this, "imageScaleFactor");
- __publicField(this, "container");
- __publicField(this, "canvasList");
- __publicField(this, "textLayerList");
- __publicField(this, "commonList");
- __publicField(this, "textLayerParentList");
- __publicField(this, "semanticLayerList");
- this.pageInfos = pageInfos;
- this.imageScaleFactor = options.pixelPerPt ?? TypstDefaultParams.PIXEL_PER_PT;
- container.innerHTML = "";
- container.style.width = "100%";
- this.container = container;
- this.canvasList = new Array(this.loadPageCount);
- this.textLayerList = new Array(this.loadPageCount);
- this.commonList = new Array(this.loadPageCount);
- this.textLayerParentList = new Array(this.loadPageCount);
- this.semanticLayerList = new Array(this.loadPageCount);
- const createOver = (i, pageAst, commonDiv) => {
- const width = Math.ceil(pageAst.width) * this.imageScaleFactor;
- const height = Math.ceil(pageAst.height) * this.imageScaleFactor;
- const canvas = this.canvasList[i] = document.createElement("canvas");
- const semanticLayer = this.semanticLayerList[i] = document.createElement("div");
- const textLayer = this.textLayerList[i] = document.createElement("div");
- const textLayerParent = this.textLayerParentList[i] = document.createElement("div");
- const ctx = canvas.getContext("2d");
- if (ctx) {
- const canvasDiv = document.createElement("div");
- canvas.width = width;
- canvas.height = height;
- canvasDiv.appendChild(canvas);
- commonDiv.appendChild(canvasDiv);
- canvasDiv.style.position = "absolute";
- }
- {
- textLayerParent.appendChild(textLayer);
- textLayerParent.className = "typst-html-semantics";
- const containerWidth = container.offsetWidth;
- const originalScale = containerWidth / pageAst.width;
- textLayerParent.style.width = `${containerWidth}px`;
- textLayerParent.style.height = `${pageAst.height * originalScale}px`;
- textLayerParent.style.setProperty("--data-text-width", `${originalScale}px`);
- textLayerParent.style.setProperty("--data-text-height", `${originalScale}px`);
- commonDiv.classList.add("typst-page");
- commonDiv.classList.add("canvas");
- commonDiv.style.width = `${containerWidth}px`;
- commonDiv.style.height = `${height * originalScale}px`;
- commonDiv.style.position = "relative";
- semanticLayer.appendChild(textLayerParent);
- commonDiv.appendChild(semanticLayer);
- }
- };
- for (let i = 0; i < this.pageInfos.length; i++) {
- const pageAst = this.pageInfos[i];
- let commonDiv = void 0;
- commonDiv = this.commonList[i] = document.createElement("div");
- container.appendChild(commonDiv);
- createOver(i, pageAst, commonDiv);
- }
- }
- resetLayout() {
- for (let i = 0; i < this.pageInfos.length; i++) {
- const pageAst = this.pageInfos[i];
- const width = Math.ceil(pageAst.width) * this.imageScaleFactor;
- const height = Math.ceil(pageAst.height) * this.imageScaleFactor;
- const canvasDiv = this.canvasList[i].parentElement;
- if (!canvasDiv) {
- throw new Error(`canvasDiv is null for page ${i}, canvas list length ${this.canvasList.length}`);
- }
- const commonDiv = this.commonList[i];
- const textLayerParent = this.textLayerParentList[i];
- const containerWidth = this.container.offsetWidth;
- const originalScale = containerWidth / width;
- textLayerParent.style.width = `${containerWidth}px`;
- textLayerParent.style.height = `${height * originalScale}px`;
- commonDiv.style.width = `${containerWidth}px`;
- commonDiv.style.height = `${height * originalScale}px`;
- const currentScale = this.container.offsetWidth / width;
- canvasDiv.style.transformOrigin = "0px 0px";
- canvasDiv.style.transform = `scale(${currentScale})`;
- }
- }
-}
-const once = (fn) => {
- let called = false;
- let res;
- return () => {
- if (called) {
- return res;
- }
- called = true;
- return res = fn();
- };
-};
-class LazyWasmModule {
- constructor(initFn) {
- __publicField(this, "wasmBin");
- __publicField(this, "initOnce");
- if (typeof initFn !== "function") {
- throw new Error("initFn is not a function");
- }
- this.initOnce = once(async () => {
- await initFn(this.wasmBin);
- });
- }
- async init(module) {
- this.wasmBin = module;
- await this.initOnce();
- }
-}
-const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);
-let idbProxyableTypes;
-let cursorAdvanceMethods;
-function getIdbProxyableTypes() {
- return idbProxyableTypes || (idbProxyableTypes = [
- IDBDatabase,
- IDBObjectStore,
- IDBIndex,
- IDBCursor,
- IDBTransaction
- ]);
-}
-function getCursorAdvanceMethods() {
- return cursorAdvanceMethods || (cursorAdvanceMethods = [
- IDBCursor.prototype.advance,
- IDBCursor.prototype.continue,
- IDBCursor.prototype.continuePrimaryKey
- ]);
-}
-const cursorRequestMap = /* @__PURE__ */ new WeakMap();
-const transactionDoneMap = /* @__PURE__ */ new WeakMap();
-const transactionStoreNamesMap = /* @__PURE__ */ new WeakMap();
-const transformCache = /* @__PURE__ */ new WeakMap();
-const reverseTransformCache = /* @__PURE__ */ new WeakMap();
-function promisifyRequest(request) {
- const promise = new Promise((resolve, reject) => {
- const unlisten = () => {
- request.removeEventListener("success", success);
- request.removeEventListener("error", error);
- };
- const success = () => {
- resolve(wrap(request.result));
- unlisten();
- };
- const error = () => {
- reject(request.error);
- unlisten();
- };
- request.addEventListener("success", success);
- request.addEventListener("error", error);
- });
- promise.then((value) => {
- if (value instanceof IDBCursor) {
- cursorRequestMap.set(value, request);
- }
- }).catch(() => {
- });
- reverseTransformCache.set(promise, request);
- return promise;
-}
-function cacheDonePromiseForTransaction(tx) {
- if (transactionDoneMap.has(tx))
- return;
- const done = new Promise((resolve, reject) => {
- const unlisten = () => {
- tx.removeEventListener("complete", complete);
- tx.removeEventListener("error", error);
- tx.removeEventListener("abort", error);
- };
- const complete = () => {
- resolve();
- unlisten();
- };
- const error = () => {
- reject(tx.error || new DOMException("AbortError", "AbortError"));
- unlisten();
- };
- tx.addEventListener("complete", complete);
- tx.addEventListener("error", error);
- tx.addEventListener("abort", error);
- });
- transactionDoneMap.set(tx, done);
-}
-let idbProxyTraps = {
- get(target, prop, receiver) {
- if (target instanceof IDBTransaction) {
- if (prop === "done")
- return transactionDoneMap.get(target);
- if (prop === "objectStoreNames") {
- return target.objectStoreNames || transactionStoreNamesMap.get(target);
- }
- if (prop === "store") {
- return receiver.objectStoreNames[1] ? void 0 : receiver.objectStore(receiver.objectStoreNames[0]);
- }
- }
- return wrap(target[prop]);
- },
- set(target, prop, value) {
- target[prop] = value;
- return true;
- },
- has(target, prop) {
- if (target instanceof IDBTransaction && (prop === "done" || prop === "store")) {
- return true;
- }
- return prop in target;
- }
-};
-function replaceTraps(callback) {
- idbProxyTraps = callback(idbProxyTraps);
-}
-function wrapFunction(func) {
- if (func === IDBDatabase.prototype.transaction && !("objectStoreNames" in IDBTransaction.prototype)) {
- return function(storeNames, ...args) {
- const tx = func.call(unwrap(this), storeNames, ...args);
- transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);
- return wrap(tx);
- };
- }
- if (getCursorAdvanceMethods().includes(func)) {
- return function(...args) {
- func.apply(unwrap(this), args);
- return wrap(cursorRequestMap.get(this));
- };
- }
- return function(...args) {
- return wrap(func.apply(unwrap(this), args));
- };
-}
-function transformCachableValue(value) {
- if (typeof value === "function")
- return wrapFunction(value);
- if (value instanceof IDBTransaction)
- cacheDonePromiseForTransaction(value);
- if (instanceOfAny(value, getIdbProxyableTypes()))
- return new Proxy(value, idbProxyTraps);
- return value;
-}
-function wrap(value) {
- if (value instanceof IDBRequest)
- return promisifyRequest(value);
- if (transformCache.has(value))
- return transformCache.get(value);
- const newValue = transformCachableValue(value);
- if (newValue !== value) {
- transformCache.set(value, newValue);
- reverseTransformCache.set(newValue, value);
- }
- return newValue;
-}
-const unwrap = (value) => reverseTransformCache.get(value);
-const readMethods = ["get", "getKey", "getAll", "getAllKeys", "count"];
-const writeMethods = ["put", "add", "delete", "clear"];
-const cachedMethods = /* @__PURE__ */ new Map();
-function getMethod(target, prop) {
- if (!(target instanceof IDBDatabase && !(prop in target) && typeof prop === "string")) {
- return;
- }
- if (cachedMethods.get(prop))
- return cachedMethods.get(prop);
- const targetFuncName = prop.replace(/FromIndex$/, "");
- const useIndex = prop !== targetFuncName;
- const isWrite = writeMethods.includes(targetFuncName);
- if (
- // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.
- !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) || !(isWrite || readMethods.includes(targetFuncName))
- ) {
- return;
- }
- const method = async function(storeName, ...args) {
- const tx = this.transaction(storeName, isWrite ? "readwrite" : "readonly");
- let target2 = tx.store;
- if (useIndex)
- target2 = target2.index(args.shift());
- return (await Promise.all([
- target2[targetFuncName](...args),
- isWrite && tx.done
- ]))[0];
- };
- cachedMethods.set(prop, method);
- return method;
-}
-replaceTraps((oldTraps) => ({
- ...oldTraps,
- get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),
- has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop)
-}));
-class ComponentBuilder {
- constructor() {
- __publicField(this, "loadedFonts", /* @__PURE__ */ new Set());
- __publicField(this, "fetcher", fetch);
- }
- setFetcher(fetcher) {
- this.fetcher = fetcher;
- }
- async loadFonts(builder, fonts) {
- const escapeImport = new Function("m", "return import(m)");
- const fetcher = this.fetcher || (this.fetcher = await async function() {
- const { fetchBuilder, FileSystemCache } = await escapeImport("node-fetch-cache");
- const cache = new FileSystemCache({
- /// By default, we don't have a complicated cache policy.
- cacheDirectory: ".cache/typst/fonts"
- });
- const cachedFetcher = fetchBuilder.withCache(cache);
- return function(input, init) {
- const timeout = setTimeout(() => {
- console.warn("font fetching is stucking:", input);
- }, 15e3);
- return cachedFetcher(input, init).finally(() => {
- clearTimeout(timeout);
- });
- };
- }());
- const fontsToLoad = fonts.filter((font) => {
- if (font instanceof Uint8Array) {
- return true;
- }
- if (this.loadedFonts.has(font)) {
- return false;
- }
- this.loadedFonts.add(font);
- return true;
- });
- const fontLists = await Promise.all(fontsToLoad.map(async (font) => {
- if (font instanceof Uint8Array) {
- await builder.add_raw_font(font);
- return;
- }
- return new Uint8Array(await (await fetcher(font)).arrayBuffer());
- }));
- for (const font of fontLists) {
- if (!font) {
- continue;
- }
- await builder.add_raw_font(font);
- }
- }
- async build(options, builder, hooks) {
- const buildCtx = { ref: this, builder, hooks };
- for (const fn of (options == null ? void 0 : options.beforeBuild) ?? []) {
- await fn(void 0, buildCtx);
- }
- if (hooks.latelyBuild) {
- hooks.latelyBuild(buildCtx);
- }
- const component = await builder.build();
- return component;
- }
-}
-async function buildComponent(options, gModule, Builder, hooks) {
- var _a2;
- await gModule.init((_a2 = options == null ? void 0 : options.getModule) == null ? void 0 : _a2.call(options));
- return await new ComponentBuilder().build(options, new Builder(), hooks);
-}
-var PreviewMode;
-(function(PreviewMode2) {
- PreviewMode2[PreviewMode2["Doc"] = 0] = "Doc";
- PreviewMode2[PreviewMode2["Slide"] = 1] = "Slide";
-})(PreviewMode || (PreviewMode = {}));
-class TypstDocumentContext {
- constructor(opts) {
- __publicField(this, "hookedElem");
- __publicField(this, "kModule");
- __publicField(this, "opts");
- __publicField(this, "modes", []);
- /// Configuration fields
- /// enable partial rendering
- __publicField(this, "partialRendering", true);
- /// underlying renderer
- __publicField(this, "renderMode", "svg");
- __publicField(this, "r");
- /// preview mode
- __publicField(this, "previewMode", PreviewMode.Doc);
- /// whether this is a content preview
- __publicField(this, "isContentPreview", false);
- /// whether this content preview will mix outline titles
- __publicField(this, "isMixinOutline", false);
- /// background color
- __publicField(this, "backgroundColor", "black");
- /// default page color (empty string means transparent)
- __publicField(this, "pageColor", "white");
- /// pixel per pt
- __publicField(this, "pixelPerPt", 3);
- /// customized way to retrieving dom state
- __publicField(this, "retrieveDOMState");
- /// State fields
- /// whether svg is updating (in triggerSvgUpdate)
- __publicField(this, "isRendering", false);
- /// whether kModule is initialized
- __publicField(this, "moduleInitialized", false);
- /// patch queue for updating data.
- __publicField(this, "patchQueue", []);
- /// resources to dispose
- __publicField(this, "disposeList", []);
- /// canvas render ctoken
- __publicField(this, "canvasRenderCToken");
- /// There are two scales in this class: The real scale is to adjust the size
- /// of `hookedElem` to fit the svg. The virtual scale (scale ratio) is to let
- /// user zoom in/out the svg. For example:
- /// + the default value of virtual scale is 1, which means the svg is totally
- /// fit in `hookedElem`.
- /// + if user set virtual scale to 0.5, then the svg will be zoomed out to fit
- /// in half width of `hookedElem`. "real" current scale of `hookedElem`
- __publicField(this, "currentRealScale", 1);
- /// "virtual" current scale of `hookedElem`
- __publicField(this, "currentScaleRatio", 1);
- /// timeout for delayed viewport change
- __publicField(this, "vpTimeout");
- /// sampled by last render time.
- __publicField(this, "sampledRenderTime", 0);
- /// page to partial render
- __publicField(this, "partialRenderPage", 0);
- /// outline data
- __publicField(this, "outline");
- /// cursor position in form of [page, x, y]
- __publicField(this, "cursorPosition");
- // id: number = rnd++;
- /// Cache fields
- /// cached state of container, default to retrieve state from `this.hookedElem`
- __publicField(this, "cachedDOMState", {
- width: 0,
- height: 0,
- window: {
- innerWidth: 0,
- innerHeight: 0
- },
- boundingRect: {
- left: 0,
- top: 0,
- right: 0
- }
- });
- var _a2, _b2;
- this.hookedElem = opts.hookedElem;
- this.kModule = opts.kModule;
- this.opts = opts || {};
- {
- const { renderMode, previewMode, isContentPreview, retrieveDOMState } = opts || {};
- this.partialRendering = false;
- this.renderMode = renderMode ?? this.renderMode;
- this.previewMode = previewMode ?? this.previewMode;
- this.isContentPreview = isContentPreview || false;
- this.retrieveDOMState = retrieveDOMState ?? (() => {
- return {
- width: this.hookedElem.offsetWidth,
- height: this.hookedElem.offsetHeight,
- window: {
- innerWidth: window.innerWidth,
- innerHeight: window.innerHeight
- },
- boundingRect: this.hookedElem.getBoundingClientRect()
- };
- });
- this.backgroundColor = getComputedStyle(document.documentElement).getPropertyValue("--typst-preview-background-color");
- }
- this.hookedElem.classList.add("hide-scrollbar-x");
- (_a2 = this.hookedElem.parentElement) == null ? void 0 : _a2.classList.add("hide-scrollbar-x");
- if (this.previewMode === PreviewMode.Slide) {
- this.hookedElem.classList.add("hide-scrollbar-y");
- (_b2 = this.hookedElem.parentElement) == null ? void 0 : _b2.classList.add("hide-scrollbar-y");
- }
- this.installCtrlWheelHandler();
- }
- reset() {
- this.kModule.reset();
- this.moduleInitialized = false;
- }
- dispose() {
- const disposeList = this.disposeList;
- this.disposeList = [];
- disposeList.forEach((x) => x());
- }
- static derive(ctx, mode) {
- return ["rescale", "rerender", "postRender"].reduce((acc, x) => {
- acc[x] = ctx[`${x}$${mode}`].bind(ctx);
- console.assert(acc[x] !== void 0, `${x}$${mode} is undefined`);
- return acc;
- }, {});
- }
- registerMode(mode) {
- const facade = TypstDocumentContext.derive(this, mode);
- this.modes.push([mode, facade]);
- if (mode === this.renderMode) {
- this.r = facade;
- }
- }
- installCtrlWheelHandler() {
- const factors = [
- 0.1,
- 0.2,
- 0.3,
- 0.4,
- 0.5,
- 0.6,
- 0.7,
- 0.8,
- 0.9,
- 1,
- 1.1,
- 1.3,
- 1.5,
- 1.7,
- 1.9,
- 2.1,
- 2.4,
- 2.7,
- 3,
- 3.3,
- 3.7,
- 4.1,
- 4.6,
- 5.1,
- 5.7,
- 6.3,
- 7,
- 7.7,
- 8.5,
- 9.4,
- 10
- ];
- const wheelEventHandler = (event) => {
- var _a2, _b2, _c, _d;
- if (event.ctrlKey) {
- event.preventDefault();
- this.cachedDOMState = this.retrieveDOMState();
- if (window.onresize !== null) {
- window.onresize = null;
- }
- const prevScaleRatio = this.currentScaleRatio;
- if (event.deltaY < 0) {
- if (this.currentScaleRatio >= factors.at(-1)) {
- return;
- } else {
- this.currentScaleRatio = factors.filter((x) => x > this.currentScaleRatio).at(0);
- }
- } else if (event.deltaY > 0) {
- if (this.currentScaleRatio <= factors.at(0)) {
- return;
- } else {
- this.currentScaleRatio = factors.filter((x) => x < this.currentScaleRatio).at(-1);
- }
- } else {
- return;
- }
- const scrollFactor = this.currentScaleRatio / prevScaleRatio;
- const scrollX = event.pageX * (scrollFactor - 1);
- const scrollY = event.pageY * (scrollFactor - 1);
- if (Math.abs(this.currentScaleRatio - 1) < 1e-5) {
- this.hookedElem.classList.add("hide-scrollbar-x");
- (_a2 = this.hookedElem.parentElement) == null ? void 0 : _a2.classList.add("hide-scrollbar-x");
- if (this.previewMode === PreviewMode.Slide) {
- this.hookedElem.classList.add("hide-scrollbar-y");
- (_b2 = this.hookedElem.parentElement) == null ? void 0 : _b2.classList.add("hide-scrollbar-y");
- }
- } else {
- this.hookedElem.classList.remove("hide-scrollbar-x");
- (_c = this.hookedElem.parentElement) == null ? void 0 : _c.classList.remove("hide-scrollbar-x");
- if (this.previewMode === PreviewMode.Slide) {
- this.hookedElem.classList.remove("hide-scrollbar-y");
- (_d = this.hookedElem.parentElement) == null ? void 0 : _d.classList.remove("hide-scrollbar-y");
- }
- }
- const svg = this.hookedElem.firstElementChild;
- if (svg) {
- const scaleRatio = this.getSvgScaleRatio();
- const dataHeight = Number.parseFloat(svg.getAttribute("data-height"));
- const scaledHeight = Math.ceil(dataHeight * scaleRatio);
- this.hookedElem.style.height = `${scaledHeight * 2}px`;
- }
- window.scrollBy(scrollX, scrollY);
- this.addViewportChange();
- return false;
- }
- };
- if (this.renderMode !== "dom") {
- const vscodeAPI = typeof acquireVsCodeApi !== "undefined";
- if (vscodeAPI) {
- window.addEventListener("wheel", wheelEventHandler, {
- passive: false
- });
- this.disposeList.push(() => {
- window.removeEventListener("wheel", wheelEventHandler);
- });
- } else {
- document.body.addEventListener("wheel", wheelEventHandler, {
- passive: false
- });
- this.disposeList.push(() => {
- document.body.removeEventListener("wheel", wheelEventHandler);
- });
- }
- }
- }
- /// Get current scale from html to svg
- // Note: one should retrieve dom state before rescale
- getSvgScaleRatio() {
- const svg = this.hookedElem.firstElementChild;
- if (!svg) {
- return 0;
- }
- const container = this.cachedDOMState;
- const svgWidth = Number.parseFloat(svg.getAttribute("data-width") || svg.getAttribute("width") || "1");
- const svgHeight = Number.parseFloat(svg.getAttribute("data-height") || svg.getAttribute("height") || "1");
- this.currentRealScale = this.previewMode === PreviewMode.Slide ? Math.min(container.width / svgWidth, container.height / svgHeight) : container.width / svgWidth;
- return this.currentRealScale * this.currentScaleRatio;
- }
- processQueue(svgUpdateEvent) {
- const eventName = svgUpdateEvent[0];
- switch (eventName) {
- case "new":
- case "diff-v1": {
- if (eventName === "new") {
- this.reset();
- }
- this.kModule.manipulateData({
- action: "merge",
- data: svgUpdateEvent[1]
- });
- this.moduleInitialized = true;
- return true;
- }
- case "viewport-change": {
- if (!this.moduleInitialized) {
- console.log("viewport-change before initialization");
- return false;
- }
- return true;
- }
- default:
- console.log("svgUpdateEvent", svgUpdateEvent);
- return false;
- }
- }
- triggerUpdate() {
- if (this.isRendering) {
- return;
- }
- this.isRendering = true;
- const doUpdate = async () => {
- this.cachedDOMState = this.retrieveDOMState();
- if (this.patchQueue.length === 0) {
- this.isRendering = false;
- this.postprocessChanges();
- return;
- }
- try {
- let t0 = performance.now();
- const ctoken = this.canvasRenderCToken;
- if (ctoken) {
- await ctoken.cancel();
- await ctoken.wait();
- this.canvasRenderCToken = void 0;
- console.log("cancel canvas rendering");
- }
- let needRerender = false;
- while (this.patchQueue.length > 0) {
- needRerender = this.processQueue(this.patchQueue.shift()) || needRerender;
- }
- let t1 = performance.now();
- if (needRerender) {
- this.r.rescale();
- await this.r.rerender();
- this.r.rescale();
- }
- let t2 = performance.now();
- const d = (e, x, y) => `${e} ${(y - x).toFixed(2)} ms`;
- this.sampledRenderTime = t2 - t0;
- console.log([d("parse", t0, t1), d("rerender", t1, t2), d("total", t0, t2)].join(", "));
- requestAnimationFrame(doUpdate);
- } catch (e) {
- console.error(e);
- this.isRendering = false;
- this.postprocessChanges();
- }
- };
- requestAnimationFrame(doUpdate);
- }
- postprocessChanges() {
- this.r.postRender();
- if (this.previewMode === PreviewMode.Slide) {
- document.querySelectorAll(".typst-page-number-indicator").forEach((x) => {
- x.textContent = `${this.kModule.retrievePagesInfo().length}`;
- });
- }
- }
- addChangement(change) {
- if (change[0] === "new") {
- this.patchQueue.splice(0, this.patchQueue.length);
- }
- const pushChange = () => {
- this.vpTimeout = void 0;
- this.patchQueue.push(change);
- this.triggerUpdate();
- };
- if (this.vpTimeout !== void 0) {
- clearTimeout(this.vpTimeout);
- }
- if (change[0] === "viewport-change" && this.isRendering) {
- this.vpTimeout = setTimeout(pushChange, this.sampledRenderTime || 100);
- } else {
- pushChange();
- }
- }
- addViewportChange() {
- this.addChangement(["viewport-change", ""]);
- }
-}
-function provideDoc(Base) {
- return class TypstDocument {
- constructor(options) {
- __publicField(this, "impl");
- __publicField(this, "kModule");
- if (options.isContentPreview) {
- options.renderMode = "canvas";
- }
- this.kModule = options.kModule;
- this.impl = new Base(options);
- if (!this.impl.r) {
- throw new Error(`mode is not supported, ${options == null ? void 0 : options.renderMode}`);
- }
- if (options.isContentPreview) {
- this.impl.partialRendering = true;
- this.impl.pixelPerPt = 1;
- this.impl.isMixinOutline = true;
- }
- }
- dispose() {
- this.impl.dispose();
- }
- reset() {
- this.impl.reset();
- }
- addChangement(change) {
- this.impl.addChangement(change);
- }
- addViewportChange() {
- this.impl.addViewportChange();
- }
- setPageColor(color) {
- this.impl.pageColor = color;
- this.addViewportChange();
- }
- setPartialRendering(partialRendering) {
- this.impl.partialRendering = partialRendering;
- }
- setCursor(page, x, y) {
- this.impl.cursorPosition = [page, x, y];
- }
- setPartialPageNumber(page) {
- if (page <= 0 || page > this.kModule.retrievePagesInfo().length) {
- return false;
- }
- this.impl.partialRenderPage = page - 1;
- this.addViewportChange();
- return true;
- }
- getPartialPageNumber() {
- return this.impl.partialRenderPage + 1;
- }
- setOutineData(outline) {
- this.impl.outline = outline;
- this.addViewportChange();
- }
- };
-}
-function composeDoc(Base, ...mixins) {
- return mixins.reduce((acc, mixin) => mixin(acc), Base);
-}
-class TypstCancellationToken {
- constructor() {
- __publicField(this, "isCancellationRequested", false);
- __publicField(this, "_onCancelled");
- __publicField(this, "_onCancelledResolveResolved");
- let resolveT = void 0;
- let resolveX = void 0;
- this._onCancelled = new Promise((resolve) => {
- resolveT = resolve;
- if (resolveX) {
- resolveX(resolve);
- }
- });
- this._onCancelledResolveResolved = new Promise((resolve) => {
- resolveX = resolve;
- if (resolveT) {
- resolve(resolveT);
- }
- });
- }
- async cancel() {
- await this._onCancelledResolveResolved;
- this.isCancellationRequested = true;
- }
- isCancelRequested() {
- return this.isCancellationRequested;
- }
- async consume() {
- (await this._onCancelledResolveResolved)();
- }
- wait() {
- return this._onCancelled;
- }
-}
-const animationFrame = () => new Promise((resolve) => requestAnimationFrame(resolve));
-var TrackMode;
-(function(TrackMode2) {
- TrackMode2[TrackMode2["Doc"] = 0] = "Doc";
- TrackMode2[TrackMode2["Pages"] = 1] = "Pages";
-})(TrackMode || (TrackMode = {}));
-var RepaintStage;
-(function(RepaintStage2) {
- RepaintStage2[RepaintStage2["Layout"] = 0] = "Layout";
- RepaintStage2[RepaintStage2["Svg"] = 1] = "Svg";
- RepaintStage2[RepaintStage2["Semantics"] = 2] = "Semantics";
- RepaintStage2[RepaintStage2["PrepareCanvas"] = 3] = "PrepareCanvas";
- RepaintStage2[RepaintStage2["Canvas"] = 4] = "Canvas";
-})(RepaintStage || (RepaintStage = {}));
-function provideDomDoc(Base) {
- return class DomDocument extends Base {
- constructor(...args) {
- super(...args);
- /// The template element for creating DOM by string.
- __publicField(this, "tmpl", document.createElement("template"));
- /// The stub element for replacing an invisible element.
- __publicField(this, "stub", this.createElement(""));
- /// Typescript side of lib.
- __publicField(this, "plugin");
- /// Rust side of kernel.
- __publicField(this, "docKernel");
- /// The element to track.
- __publicField(this, "resourceHeader");
- /// Expected exact state of the current DOM.
- /// Initially it is empty meaning no any page is rendered.
- __publicField(this, "pages", []);
- /// The virtual scale of the document.
- __publicField(this, "domScale", 1);
- /// Track mode.
- __publicField(this, "track_mode", TrackMode.Doc);
- /// Current executing task.
- __publicField(this, "current_task");
- /// The currently maintained viewport.
- __publicField(this, "viewport");
- this.registerMode("dom");
- this.disposeList.push(() => {
- this.dispose();
- });
- this.plugin = this.opts.renderer;
- if (this.opts.domScale !== void 0) {
- if (this.opts.domScale <= 0) {
- throw new Error("domScale must be positive");
- }
- this.domScale = this.opts.domScale;
- }
- }
- dispose() {
- for (const page of this.pages) {
- page.dispose();
- }
- if (this.docKernel) {
- this.docKernel.free();
- }
- }
- createElement(tmpl) {
- this.tmpl.innerHTML = tmpl;
- return this.tmpl.content.firstElementChild;
- }
- async mountDom(pixelPerPt) {
- console.log("mountDom", pixelPerPt);
- if (this.docKernel) {
- throw new Error("already mounted");
- }
- this.hookedElem.innerHTML = ``;
- this.resourceHeader = this.hookedElem.querySelector(".typst-svg-resources");
- this.docKernel = await this.plugin.renderer.mount_dom(this.kModule[kObject], this.hookedElem);
- this.docKernel.bind_functions({
- populateGlyphs: (data) => {
- let svg = this.createElement(data);
- console.log("populateGlyphs", svg);
- let content = svg.firstElementChild;
- this.resourceHeader.append(content);
- }
- });
- }
- async cancelAnyway$dom() {
- console.log("cancelAnyway$dom");
- if (this.current_task) {
- const task = this.current_task;
- this.current_task = void 0;
- await task.cancel();
- }
- }
- retrieveDOMPages() {
- return Array.from(this.hookedElem.querySelectorAll(".typst-dom-page"));
- }
- // doesn't need to postRender
- postRender$dom() {
- }
- // doesn't need to rescale
- rescale$dom() {
- }
- getDomViewport(cachedWindow, cachedBoundingRect) {
- const left = cachedBoundingRect.left;
- const top = -cachedBoundingRect.top;
- const right = cachedBoundingRect.right;
- const bottom = cachedWindow.innerHeight - cachedBoundingRect.top;
- const rect = {
- x: 0,
- y: top / this.domScale,
- width: Math.max(right - left, 0) / this.domScale,
- height: Math.max(bottom - top, 0) / this.domScale
- };
- if (rect.width <= 0 || rect.height <= 0) {
- rect.x = rect.y = rect.width = rect.height = 0;
- }
- return rect;
- }
- // fast mode
- async rerender$dom() {
- const domState = this.retrieveDOMState();
- const { x, y, width, height } = this.getDomViewport(domState.window, domState.boundingRect);
- let dirty = await this.docKernel.relayout(x, y, width, height);
- if (!dirty) {
- return;
- }
- const cancel = new TypstCancellationToken();
- this.doRender$dom(cancel);
- this.current_task = cancel;
- }
- async doRender$dom(ctx) {
- const condOrExit = (needFrame, cb) => {
- if (needFrame && !ctx.isCancelRequested() && cb) {
- return cb();
- }
- };
- const pages = this.retrieveDOMPages().map((page) => {
- const { innerWidth, innerHeight } = window;
- const browserBBox = page.getBoundingClientRect();
- return {
- inWindow: !(browserBBox.left > innerWidth || browserBBox.right < 0 || browserBBox.top > innerHeight || browserBBox.bottom < 0),
- page
- };
- });
- const renderPage = async (i) => {
- await animationFrame();
- if (ctx.isCancelRequested()) {
- console.log("cancel stage", RepaintStage.Layout, i);
- return void 0;
- }
- const page = pages[i].page;
- const browserBBox = page.getBoundingClientRect();
- const v = this.getDomViewport(window, browserBBox);
- const needCalc = (stage) => this.docKernel.need_repaint(i, v.x, v.y, v.width, v.height, stage);
- const repaint = (stage) => this.docKernel.repaint(i, v.x, v.y, v.width, v.height, stage);
- const calc = (stage) => {
- if (ctx.isCancelRequested()) {
- return void 0;
- }
- return condOrExit(needCalc(stage), () => repaint(stage));
- };
- await calc(RepaintStage.Layout);
- const wScale = (browserBBox.width ? Number.parseFloat(page.getAttribute("data-width")) / browserBBox.width : 1) * this.domScale;
- const hScale = (browserBBox.height ? Number.parseFloat(page.getAttribute("data-height")) / browserBBox.height : 1) * this.domScale;
- v.x *= wScale;
- v.y *= hScale;
- v.y -= 100;
- v.width *= wScale;
- v.height *= hScale;
- v.height += 200;
- await calc(RepaintStage.Svg);
- await calc(RepaintStage.Semantics);
- if (ctx.isCancelRequested()) {
- console.log("cancel stage", RepaintStage.Semantics, i);
- return void 0;
- }
- if (needCalc(RepaintStage.PrepareCanvas)) {
- const calcCanvasAfterPreparing = async () => {
- await repaint(RepaintStage.PrepareCanvas);
- if (ctx.isCancelRequested()) {
- return void 0;
- }
- return calc(RepaintStage.Canvas);
- };
- calcCanvasAfterPreparing();
- } else {
- await calc(RepaintStage.Canvas);
- }
- };
- const renderPages = async (inWindow) => {
- for (let idx = 0; idx < pages.length; ++idx) {
- if (ctx.isCancelRequested()) {
- console.log("cancel page", RepaintStage.Layout, idx);
- return;
- }
- if (pages[idx].inWindow === inWindow) {
- await renderPage(idx);
- }
- }
- };
- this.cancelAnyway$dom();
- await renderPages(true);
- await renderPages(false);
- if (ctx.isCancelRequested()) {
- return;
- }
- console.log("finished", RepaintStage.Layout);
- }
- };
-}
-class TypstDomDocument extends provideDoc(composeDoc(TypstDocumentContext, provideDomDoc)) {
-}
-let RenderSession$1 = (_a = kObject, class RenderSession {
- /**
- * @internal
- */
- constructor(plugin, o) {
- __publicField(this, "plugin");
- /**
- * @internal
- */
- __publicField(this, _a);
- this.plugin = plugin;
- this[kObject] = o;
- }
- /**
- * @deprecated set in {@link RenderToCanvasOptions} instead
- *
- * Set the background color of the Typst document.
- * @param {string} t - The background color in format of `^#?[0-9a-f]{6}$`
- *
- * Note: Default to `#ffffff`.
- *
- * Note: Only available in canvas rendering mode.
- */
- set backgroundColor(t) {
- if (t !== void 0) {
- this[kObject].background_color = t;
- }
- }
- /**
- * Get the background color of the Typst document.
- *
- * Note: Default to `#ffffff`.
- *
- * Note: Only available in canvas rendering mode.
- */
- get backgroundColor() {
- return this[kObject].background_color;
- }
- /**
- * Set the pixel per point scale up the canvas panel.
- *
- * Note: Default to `3`.
- *
- * Note: Only available in canvas rendering mode.
- */
- set pixelPerPt(t) {
- if (t !== void 0) {
- this[kObject].pixel_per_pt = t;
- }
- }
- /**
- * @deprecated set in {@link RenderToCanvasOptions} instead
- *
- * Get the pixel per point scale up the canvas panel.
- *
- * Note: Default to `3`.
- *
- * Note: Only available in canvas rendering mode.
- */
- get pixelPerPt() {
- return this[kObject].pixel_per_pt;
- }
- /**
- * Reset state
- */
- reset() {
- this.plugin.resetSession(this);
- }
- /**
- * @deprecated
- * use {@link docWidth} instead
- */
- get doc_width() {
- return this[kObject].doc_width;
- }
- get docWidth() {
- return this[kObject].doc_width;
- }
- /**
- * @deprecated
- * use {@link docHeight} instead
- */
- get doc_height() {
- return this[kObject].doc_height;
- }
- get docHeight() {
- return this[kObject].doc_height;
- }
- retrievePagesInfo() {
- const pages_info = this[kObject].pages_info;
- const pageInfos = [];
- const pageCount = pages_info.page_count;
- for (let i = 0; i < pageCount; i++) {
- const pageAst = pages_info.page(i);
- pageInfos.push({
- pageOffset: pageAst.page_off,
- width: pageAst.width_pt,
- height: pageAst.height_pt
- });
- }
- return pageInfos;
- }
- getSourceLoc(path) {
- return this[kObject].source_span(path);
- }
- /**
- * See {@link TypstRenderer#renderSvg} for more details.
- */
- renderSvg(options) {
- return this.plugin.renderSvg({
- renderSession: this,
- ...options
- });
- }
- /**
- * See {@link TypstRenderer#renderToSvg} for more details.
- */
- renderToSvg(options) {
- return this.plugin.renderToSvg({
- renderSession: this,
- ...options
- });
- }
- /**
- * See {@link TypstRenderer#renderCanvas} for more details.
- */
- renderCanvas(options) {
- return this.plugin.renderCanvas({
- renderSession: this,
- ...options
- });
- }
- /**
- * See {@link TypstRenderer#manipulateData} for more details.
- */
- manipulateData(opts) {
- this.plugin.manipulateData({
- renderSession: this,
- ...opts
- });
- }
- /**
- * See {@link TypstRenderer#renderSvgDiff} for more details.
- */
- renderSvgDiff(opts) {
- return this.plugin.renderSvgDiff({
- renderSession: this,
- ...opts
- });
- }
- /**
- * @deprecated
- * use {@link getSourceLoc} instead
- */
- get_source_loc(path) {
- return this[kObject].source_span(path);
- }
- /**
- * @deprecated
- * use {@link renderSvgDiff} instead
- */
- render_in_window(rect_lo_x, rect_lo_y, rect_hi_x, rect_hi_y) {
- return this[kObject].render_in_window(rect_lo_x, rect_lo_y, rect_hi_x, rect_hi_y);
- }
- /**
- * @deprecated
- * use {@link manipulateData} instead
- */
- merge_delta(data) {
- this.plugin.manipulateData({
- renderSession: this,
- action: "merge",
- data
- });
- }
-});
-var ManageStatus;
-(function(ManageStatus2) {
- ManageStatus2[ManageStatus2["Delete"] = 0] = "Delete";
- ManageStatus2[ManageStatus2["New"] = 1] = "New";
- ManageStatus2[ManageStatus2["Update"] = 2] = "Update";
-})(ManageStatus || (ManageStatus = {}));
-let TypstWorker$1 = (_b = kObject, class TypstWorker {
- /**
- * @internal
- */
- constructor(plugin, o) {
- __publicField(this, "plugin");
- /**
- * @internal
- */
- __publicField(this, _b);
- /**
- * @internal
- */
- __publicField(this, "managedCanvasElemList", /* @__PURE__ */ new Map());
- /**
- * @internal
- */
- __publicField(this, "canvasCounter", Math.random());
- this.plugin = plugin;
- this[kObject] = o;
- }
- /**
- * See {@link TypstRenderer#manipulateData} for more details.
- */
- manipulateData(action, data) {
- return this[kObject].manipulate_data(action, data);
- }
- /**
- * You must submit all canvas in pages to ensure synchronization with the background worker
- *
- * See {@link TypstRenderer#renderCanvas} for more details.
- */
- renderCanvas(canvasElemList) {
- const m = this.managedCanvasElemList;
- for (const [_, elem] of m) {
- elem[0] = ManageStatus.Delete;
- }
- for (const elem of canvasElemList) {
- const canvas = elem.canvas;
- let elemId = canvas.dataset.manageId;
- let action = ManageStatus.Update;
- if (!elemId) {
- elemId = this.canvasCounter.toFixed(5);
- this.canvasCounter += 1;
- canvas.dataset.manageId = elemId;
- action = ManageStatus.New;
- }
- let prev = m.get(elemId);
- if (prev && prev[0] !== ManageStatus.Delete) {
- throw new Error("cannot update a canvas for two times in batch");
- }
- m.set(elemId, [action, { ...elem }]);
- }
- const entries = Array.from(m.entries());
- const actions = new Uint8Array(entries.length);
- const elements = new Array(entries.length);
- const options = entries.map(([key, [action, elem]], index) => {
- if (!action) {
- m.delete(key);
- }
- actions[index] = action;
- elements[index] = elem.canvas;
- return this.plugin.canvasOptionsToRust(elem);
- });
- return this[kObject].render_canvas(actions, elements, options);
- }
- async retrievePagesInfo() {
- const pages_info = await this[kObject].get_pages_info();
- console.log(pages_info);
- const pageInfos = [];
- const pageCount = pages_info.page_count;
- for (let i = 0; i < pageCount; i++) {
- const pageAst = pages_info.page(i);
- pageInfos.push({
- pageOffset: pageAst.page_off,
- width: pageAst.width_pt,
- height: pageAst.height_pt
- });
- }
- return pageInfos;
- }
-});
-const gRendererModule = (module) => new LazyWasmModule(async (bin) => {
- return await module.default(bin);
-});
-function createTypstRenderer() {
- return new TypstRendererDriver();
-}
-let warnOnceCanvasSet = true;
-class TypstRendererDriver {
- constructor() {
- __publicField(this, "renderer");
- __publicField(this, "rendererJs");
- }
- async init(options) {
- var _a2;
- this.rendererJs = await (((_a2 = options == null ? void 0 : options.getWrapper) == null ? void 0 : _a2.call(options)) || Promise.resolve().then(() => wasmPackShim));
- const TypstRendererBuilder2 = this.rendererJs.TypstRendererBuilder;
- this.renderer = await buildComponent(options, gRendererModule(this.rendererJs), TypstRendererBuilder2, {});
- }
- loadGlyphPack(_pack) {
- return Promise.resolve();
- }
- createOptionsToRust(options) {
- const rustOptions = new this.rendererJs.CreateSessionOptions();
- if (options.format !== void 0) {
- rustOptions.format = options.format;
- }
- if (options.artifactContent !== void 0) {
- rustOptions.artifact_content = options.artifactContent;
- }
- return rustOptions;
- }
- canvasOptionsToRust(options) {
- const rustOptions = new this.rendererJs.RenderPageImageOptions();
- if (options.pageOffset === void 0) {
- throw new Error("pageOffset is required in reflexo v0.5.0");
- } else {
- rustOptions.page_off = options.pageOffset;
- }
- if (options.cacheKey !== void 0) {
- rustOptions.cache_key = options.cacheKey;
- }
- if (options.backgroundColor !== void 0) {
- rustOptions.background_color = options.backgroundColor;
- }
- if (options.pixelPerPt !== void 0) {
- rustOptions.pixel_per_pt = options.pixelPerPt;
- }
- if (options.dataSelection !== void 0) {
- let encoded = 0;
- if (options.dataSelection.body) {
- encoded |= 1 << 0;
- } else if (options.canvas && warnOnceCanvasSet) {
- warnOnceCanvasSet = false;
- console.warn("dataSelection.body is not set but providing canvas for body");
- }
- if (options.dataSelection.text || options.dataSelection.annotation) {
- console.error("dataSelection.text and dataSelection.annotation are deprecated");
- }
- if (options.dataSelection.semantics) {
- encoded |= 1 << 3;
- }
- rustOptions.data_selection = encoded;
- }
- return rustOptions;
- }
- retrievePagesInfoFromSession(session) {
- return session.retrievePagesInfo();
- }
- /**
- * Render a Typst document to canvas.
- */
- renderCanvas(options) {
- return this.withinOptionSession(options, async (sessionRef) => {
- return this.renderer.render_page_to_canvas(sessionRef[kObject], options.canvas || void 0, this.canvasOptionsToRust(options));
- });
- }
- // async renderPdf(artifactContent: string): Promise {
- // return this.renderer.render_to_pdf(artifactContent);
- // }
- async inAnimationFrame(fn) {
- return new Promise((resolve, reject) => {
- requestAnimationFrame(() => {
- try {
- resolve(fn());
- } catch (e) {
- reject(e);
- }
- });
- });
- }
- async renderDisplayLayer(session, canvasList, options) {
- const pages_info = session[kObject].pages_info;
- const page_count = pages_info.page_count;
- const doRender = async (i, page_off) => {
- const canvas = canvasList[i];
- const ctx = canvas.getContext("2d");
- if (!ctx) {
- throw new Error("canvas context is null");
- }
- return await this.renderCanvas({
- ...options,
- canvas: ctx,
- renderSession: session,
- pageOffset: page_off
- });
- };
- const t = performance.now();
- const textContentList = await (async () => {
- const results = [];
- for (let i = 0; i < page_count; i++) {
- results.push(await this.inAnimationFrame(() => doRender(i, i)));
- }
- return results;
- })();
- const t2 = performance.now();
- console.log(`display layer used: render = ${(t2 - t).toFixed(1)}ms`);
- return textContentList;
- }
- renderTextLayer(layerList, textSourceList) {
- const t2 = performance.now();
- layerList.forEach((layer, i) => {
- layer.innerHTML = textSourceList[i].htmlSemantics[0];
- });
- const t3 = performance.now();
- console.log(`text layer used: render = ${(t3 - t2).toFixed(1)}ms`);
- }
- async render(options) {
- if ("format" in options) {
- if (options.format !== "vector") {
- const artifactFormats = ["serde_json", "js", "ir"];
- if (artifactFormats.includes(options.format)) {
- throw new Error(`deprecated format ${options.format}, please use vector format`);
- }
- }
- }
- return this.renderToCanvas(options);
- }
- async renderDom(options) {
- if ("format" in options) {
- if (options.format !== "vector") {
- const artifactFormats = ["serde_json", "js", "ir"];
- if (artifactFormats.includes(options.format)) {
- throw new Error(`deprecated format ${options.format}, please use vector format`);
- }
- }
- }
- return this.withinOptionSession(options, async (sessionRef) => {
- const t = new TypstDomDocument({
- ...options,
- renderMode: "dom",
- hookedElem: options.container,
- kModule: sessionRef,
- renderer: this
- });
- await t.impl.mountDom(options.pixelPerPt);
- return t;
- });
- }
- async renderToCanvas(options) {
- let session;
- let renderPageResults;
- const mountContainer = options.container;
- mountContainer.style.visibility = "hidden";
- const doRenderDisplayLayer = async (canvasList, resetLayout) => {
- try {
- renderPageResults = await this.renderDisplayLayer(session, canvasList, options);
- resetLayout();
- } finally {
- mountContainer.style.visibility = "visible";
- }
- };
- return this.withinOptionSession(options, async (sessionRef) => {
- session = sessionRef;
- if (session[kObject].pages_info.page_count === 0) {
- throw new Error(`No page found in session`);
- }
- if (options.pixelPerPt !== void 0 && options.pixelPerPt <= 0) {
- throw new Error("Invalid typst.RenderOptions.pixelPerPt, should be a positive number " + options.pixelPerPt);
- }
- let backgroundColor = options.backgroundColor;
- if (backgroundColor !== void 0) {
- if (!/^#[0-9a-f]{6}$/.test(backgroundColor)) {
- throw new Error("Invalid typst.backgroundColor color for matching ^#?[0-9a-f]{6}$ " + backgroundColor);
- }
- }
- session.pixelPerPt = options.pixelPerPt ?? TypstDefaultParams.PIXEL_PER_PT;
- session.backgroundColor = backgroundColor ?? "#ffffff";
- const t = performance.now();
- const pageView = new RenderView(this.retrievePagesInfoFromSession(session), mountContainer, options);
- const t2 = performance.now();
- console.log(`layer used: retrieve = ${(t2 - t).toFixed(1)}ms`);
- await doRenderDisplayLayer(pageView.canvasList, () => pageView.resetLayout());
- this.renderTextLayer(pageView.textLayerList, renderPageResults);
- return;
- });
- }
- createModule(b) {
- return Promise.resolve(new RenderSession$1(this, this.renderer.create_session(b && this.createOptionsToRust({
- format: "vector",
- artifactContent: b
- }))));
- }
- async createWorkerV0(worker) {
- return new TypstWorker$1(this, await this.renderer.create_worker(worker));
- }
- workerBridge() {
- return this.renderer.create_worker_bridge();
- }
- renderSvg(options, container) {
- if (options instanceof RenderSession$1 || container) {
- throw new Error("removed api, please use renderToSvg({ renderSession, container }) instead");
- }
- return this.withinOptionSession(options, async (sessionRef) => {
- let parts = void 0;
- if (options.data_selection) {
- parts = 0;
- if (options.data_selection.body) {
- parts |= 1 << 0;
- }
- if (options.data_selection.defs) {
- parts |= 1 << 1;
- }
- if (options.data_selection.css) {
- parts |= 1 << 2;
- }
- if (options.data_selection.js) {
- parts |= 1 << 3;
- }
- }
- return Promise.resolve(this.renderer.svg_data(sessionRef[kObject], parts));
- });
- }
- renderSvgDiff(options) {
- if (!options.window) {
- return this.renderer.render_svg_diff(options.renderSession[kObject], 0, 0, 1e33, 1e33);
- }
- return this.renderer.render_svg_diff(options.renderSession[kObject], options.window.lo.x, options.window.lo.y, options.window.hi.x, options.window.hi.y);
- }
- renderToSvg(options) {
- return this.withinOptionSession(options, async (sessionRef) => {
- return Promise.resolve(this.renderer.render_svg(sessionRef[kObject], options.container));
- });
- }
- getCustomV1(options) {
- return Promise.resolve(this.renderer.get_customs(options.renderSession[kObject]));
- }
- resetSession(session) {
- return this.renderer.reset(session[kObject]);
- }
- manipulateData(opts) {
- return this.renderer.manipulate_data(opts.renderSession[kObject], opts.action ?? "reset", opts.data);
- }
- withinOptionSession(options, fn) {
- function isRenderByContentOption(options2) {
- return "artifactContent" in options2;
- }
- if ("renderSession" in options) {
- return fn(options.renderSession);
- }
- if (isRenderByContentOption(options)) {
- return this.runWithSession(options, fn);
- }
- throw new Error("Invalid render options, should be one of RenderByContentOptions|RenderBySessionOptions");
- }
- async runWithSession(arg1, arg2) {
- let options = arg1;
- let fn = arg2;
- if (!arg2) {
- options = void 0;
- fn = arg1;
- }
- const session = this.renderer.create_session(
- /* moved */
- options && this.createOptionsToRust(options)
- );
- try {
- const res = await fn(new RenderSession$1(this, session));
- session.free();
- return res;
- } catch (e) {
- session.free();
- throw e;
- }
- }
-}
-window.TypstRenderModule = {
- createTypstRenderer
-};
-let initialRender = true;
-let jumppedCrossLink = false;
-function postProcessCrossLinks(appElem, reEnters) {
- function processLink(a) {
- if (origin) {
- const onclick2 = a.getAttribute("onclick");
- if (onclick2 === null) {
- let target = a.getAttribute("target");
- if (target === "_blank") {
- a.removeAttribute("target");
- }
- } else if (globalSemaLabels) {
- if (onclick2.startsWith("handleTypstLocation")) {
- const [u, x, y] = onclick2.split("(")[1].split(")")[0].split(",").slice(1).map((s) => Number.parseFloat(s.trim()));
- for (const [label, _dom, pos] of globalSemaLabels) {
- const [u1, x1, y1] = pos;
- if (u === u1 && Math.abs(x - x1) < 0.01 && Math.abs(y - y1) < 0.01) {
- a.id = `typst-label-${label}`;
- a.setAttribute("href", `#label-${label}`);
- a.setAttribute("xlink:href", `#label-${label}`);
- break;
- }
- }
- }
- }
- }
- const decodeTypstUrlc = (s) => s.split("-").map((s2) => {
- const n = Number.parseInt(s2);
- if (Number.isNaN(n)) {
- return s2;
- } else {
- return String.fromCharCode(n);
- }
- }).join("");
- const href = a.getAttribute("href") || a.getAttribute("xlink:href");
- if (href == null && a.tagName !== "A") {
- const sub = a.getElementsByTagName("a");
- if (sub.length > 0) {
- for (const s of sub) {
- processLink(s);
- }
- }
- return;
- }
- if (!href) {
- return;
- }
- if (href.startsWith("cross-link")) {
- const url = new URL(href);
- const pathLabelUnicodes = url.searchParams.get("path-label");
- const labelUnicodes = url.searchParams.get("label");
- const plb = decodeTypstUrlc(pathLabelUnicodes).replace(".typ", ".html").replace(/^\//g, "");
- let absolutePath = window.typstPathToRoot ? window.typstPathToRoot.replace(/\/$/g, "") : "";
- absolutePath = new URL(`${absolutePath}/${plb}`, window.location.href).href;
- if (labelUnicodes) {
- absolutePath += "#label-" + encodeURIComponent(decodeTypstUrlc(labelUnicodes));
- }
- a.setAttribute("href", absolutePath);
- a.setAttribute("xlink:href", absolutePath);
- }
- const onclick = a.getAttribute("onclick");
- if (onclick && onclick.includes("document.querySelector")) {
- a.setAttribute(
- "onclick",
- onclick.replace("return false", "window.updateHovers([sel]); return false")
- );
- }
- }
- const links = appElem.querySelectorAll(".typst-content-link");
- if (links.length === 0) {
- console.log("no links found, probe after a while");
- setTimeout(() => postProcessCrossLinks(appElem, reEnters * 1.5), reEnters);
- return;
- }
- links.forEach(processLink);
- if (window.location.hash && !jumppedCrossLink) {
- const hash = window.location.hash;
- const firstSep = hash.indexOf("-");
- if (firstSep != -1 && hash.slice(0, firstSep) === "#label") {
- const labelTarget = hash.slice(firstSep + 1);
- {
- let sel = document.querySelector(
- `[data-typst-label=${JSON.stringify(decodeURIComponent(labelTarget))}]`
- );
- if (sel) {
- window.scroll({
- top: sel.getBoundingClientRect().top + window.scrollY - window.innerHeight * 0.382
- });
- updateHovers([sel]);
- initialRender = false;
- jumppedCrossLink = true;
- return;
- }
- }
- for (const [label, dom, pos] of globalSemaLabels) {
- if (label === labelTarget) {
- const [_, x, y] = pos;
- window.handleTypstLocation(dom, 1, x, y, {
- behavior: initialRender ? "smooth" : "instant"
- });
- initialRender = false;
- jumppedCrossLink = true;
- break;
- }
- }
- }
- }
-}
-let prevHovers = void 0;
-function updateHovers(elems) {
- if (prevHovers) {
- for (const h of prevHovers) {
- h.classList.remove("focus");
- }
- }
- if (elems) {
- for (const h of elems) {
- h.classList.add("focus");
- }
- }
- prevHovers = elems;
-}
-window.updateHovers = updateHovers;
-let globalSemaLabels = [];
-function findLinkInSvg(r, xy) {
- const bbox = r.getBoundingClientRect();
- if (xy[0] < bbox.left - 1 || xy[0] > bbox.right + 1 || xy[1] < bbox.top - 1 || xy[1] > bbox.bottom + 1) {
- return;
- }
- if (r.classList.contains("pseudo-link")) {
- return r;
- }
- for (let i = 0; i < r.children.length; i++) {
- const a = findLinkInSvg(r.children[i], xy);
- if (a) {
- return a;
- }
- }
- return void 0;
-}
-const findAncestor = (el, cls) => {
- while (el && !el.classList.contains(cls)) el = el.parentElement;
- return el;
-};
-window.typstBookRenderHtmlPage = function(relPath, appContainer) {
- const getTheme = () => window.getTypstTheme();
- let currTheme = getTheme();
- async function reloadArtifact(theme) {
- const preloadContent = appContainer == null ? void 0 : appContainer.querySelector(".typst-preload-content");
- if (!preloadContent) {
- console.error("no preload content found");
- return;
- }
- preloadContent.innerHTML = "";
- preloadContent.removeAttribute("data-applied-width");
- const artifactData = await fetch(`${relPath}.${theme}.html`).then((response) => response.text());
- const themePreloadContent = document.createElement("div");
- themePreloadContent.className = "typst-preload-content";
- themePreloadContent.innerHTML = artifactData;
- preloadContent.replaceWith(themePreloadContent);
- themePreloadContent.style.display = "block";
- postProcessCrossLinks(themePreloadContent, 100);
- }
- reloadArtifact(currTheme).then(() => {
- let base = Promise.resolve();
- window.typstChangeTheme = () => {
- const nextTheme = getTheme();
- if (nextTheme === currTheme) {
- return base;
- }
- currTheme = nextTheme;
- return reloadArtifact(currTheme);
- };
- window.typstChangeTheme();
- });
-};
-window.typstBookRenderPage = function(plugin, relPath, appContainer) {
- const getTheme = () => window.getTypstTheme();
- let currTheme = getTheme();
- let session = void 0;
- let dom = void 0;
- let disposeSession = () => {
- };
- const appElem = document.createElement("div");
- if (appElem && appContainer) {
- appElem.className = "typst-app";
- appContainer.appendChild(appElem);
- }
- const dec = new TextDecoder();
- window.typstBindSvgDom = async (_elem, _dom) => {
- };
- let runningSemantics = {};
- const typstBindCustomSemantics = async (root, svg, semantics) => {
- const index = root == null ? void 0 : root.getAttribute("data-index");
- const key = `${index}`;
- const width = root == null ? void 0 : root.getAttribute("data-width");
- const keyResolving = `${width}`;
- if (runningSemantics[key] === keyResolving) {
- return;
- }
- runningSemantics[key] = keyResolving;
- console.log("bind custom semantics", key, keyResolving, svg == null ? void 0 : svg.viewBox);
- const customs = await plugin.getCustomV1({
- renderSession: session
- });
- const semaLabel = customs.find((k) => k[0] === "sema-label");
- if (semaLabel) {
- const labelBin = semaLabel[1];
- const labels = JSON.parse(dec.decode(labelBin));
- globalSemaLabels = labels.map(([label, pos]) => {
- const [_, u, x, y] = pos.split(/[pxy]/).map(Number.parseFloat);
- return [encodeURIComponent(label), svg, [u, x, y]];
- });
- }
- postProcessCrossLinks(semantics, 100);
- };
- let semanticHandlers = [];
- window.typstBindCustomSemantics = (root, svg, semantics) => setTimeout(() => {
- const semanticHandler = () => {
- typstBindCustomSemantics(root, svg, semantics);
- };
- semanticHandler();
- semanticHandlers.push(semanticHandler);
- }, 0);
- const baseHandleTypstLocation = window.handleTypstLocation;
- window.handleTypstLocation = (elem, page, x, y, options) => {
- const docRoot = findAncestor(elem, "typst-app");
- if (!docRoot) {
- console.warn("no typst-app found", elem);
- return;
- }
- console.log(docRoot);
- options = options || {};
- options.isDom = true;
- for (const h of docRoot.children) {
- if (h.classList.contains("typst-dom-page")) {
- const idx = Number.parseInt(h.getAttribute("data-index"));
- if (idx + 1 === page) {
- const svg = h.querySelector(".typst-svg-page");
- if (svg) {
- baseHandleTypstLocation(svg, page, x, y, options);
- }
- return;
- }
- }
- }
- };
- window.assignSemaHash = (u, x, y) => {
- var _a2;
- for (const [label, dom2, pos] of globalSemaLabels) {
- const [u1, x1, y1] = pos;
- if (u === u1 && Math.abs(x - x1) < 0.01 && Math.abs(y - y1) < 0.01) {
- location.hash = `label-${label}`;
- (_a2 = window.typstCheckAndRerender) == null ? void 0 : _a2.call(window, false, new Error("assignSemaHash")).then(() => {
- const width = dom2.viewBox.baseVal.width;
- const height = dom2.viewBox.baseVal.height;
- const bbox = dom2.getBoundingClientRect();
- const domX1 = bbox.left + x1 / width * bbox.width;
- const domY1 = bbox.top + y1 / height * bbox.height;
- const lnk = findLinkInSvg(dom2, [domX1, domY1]);
- if (!lnk) {
- return;
- }
- const relatedElems = window.typstGetRelatedElements(lnk);
- updateHovers(relatedElems);
- return;
- });
- return;
- }
- }
- updateHovers([]);
- location.hash = `loc-${u}x${x.toFixed(2)}x${y.toFixed(2)}`;
- };
- async function reloadArtifact(theme) {
- if (dom) {
- dom.dispose();
- dom = void 0;
- }
- if (session) {
- disposeSession();
- session = void 0;
- }
- appElem.innerHTML = "";
- appElem.removeAttribute("data-applied-width");
- const artifactData = await fetch(`${relPath}.${theme}.multi.sir.in`).then((response) => response.arrayBuffer()).then((buffer) => new Uint8Array(buffer));
- const t1 = performance.now();
- return new Promise((resolve) => {
- return plugin.runWithSession((sessionRef) => {
- return new Promise(async (doDisposeSession) => {
- disposeSession = doDisposeSession;
- session = sessionRef;
- const t2 = performance.now();
- jumppedCrossLink = false;
- semanticHandlers.splice(0, semanticHandlers.length);
- runningSemantics = {};
- dom = await plugin.renderDom({
- renderSession: sessionRef,
- container: appElem,
- pixelPerPt: 4.5
- });
- const mod = dom.impl.modes.find(([k, _]) => k == "dom");
- const postRender = mod[1].postRender;
- mod[1].postRender = function() {
- console.log("hack run semantic handlers");
- postRender.apply(this);
- for (const h of semanticHandlers) {
- h();
- }
- return;
- };
- console.log(
- `theme = ${theme}, load artifact took ${t2 - t1} milliseconds, parse artifact took ${t2 - t1} milliseconds`
- );
- dom.addChangement(["new", artifactData]);
- resolve(dom);
- });
- });
- });
- }
- reloadArtifact(currTheme).then((dom2) => {
- let base = Promise.resolve();
- window.typstChangeTheme = () => {
- const nextTheme = getTheme();
- if (nextTheme === currTheme) {
- return base;
- }
- currTheme = nextTheme;
- return reloadArtifact(currTheme);
- };
- const viewportHandler = () => dom2.addViewportChange();
- window.addEventListener("resize", viewportHandler);
- window.addEventListener("scroll", viewportHandler);
- dom2.impl.disposeList.push(() => {
- window.removeEventListener("resize", viewportHandler);
- window.removeEventListener("scroll", viewportHandler);
- });
- window.typstRerender = viewportHandler;
- window.typstChangeTheme();
- });
-};
-let wasm;
-const heap = new Array(128).fill(void 0);
-heap.push(void 0, null, true, false);
-function getObject(idx) {
- return heap[idx];
-}
-let heap_next = heap.length;
-function addHeapObject(obj) {
- if (heap_next === heap.length) heap.push(heap.length + 1);
- const idx = heap_next;
- heap_next = heap[idx];
- if (typeof heap_next !== "number") throw new Error("corrupt heap");
- heap[idx] = obj;
- return idx;
-}
-function handleError(f, args) {
- try {
- return f.apply(this, args);
- } catch (e) {
- wasm.__wbindgen_export_0(addHeapObject(e));
- }
-}
-function logError(f, args) {
- try {
- return f.apply(this, args);
- } catch (e) {
- let error = function() {
- try {
- return e instanceof Error ? `${e.message}
-
-Stack:
-${e.stack}` : e.toString();
- } catch (_) {
- return "";
- }
- }();
- console.error("wasm-bindgen: imported JS function that was not marked as `catch` threw an error:", error);
- throw e;
- }
-}
-function _assertNum(n) {
- if (typeof n !== "number") throw new Error(`expected a number argument, found ${typeof n}`);
-}
-const cachedTextDecoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) : { decode: () => {
- throw Error("TextDecoder not available");
-} };
-if (typeof TextDecoder !== "undefined") {
- cachedTextDecoder.decode();
-}
-let cachedUint8ArrayMemory0 = null;
-function getUint8ArrayMemory0() {
- if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
- cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
- }
- return cachedUint8ArrayMemory0;
-}
-function getStringFromWasm0(ptr, len) {
- ptr = ptr >>> 0;
- return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
-}
-let WASM_VECTOR_LEN = 0;
-const cachedTextEncoder = typeof TextEncoder !== "undefined" ? new TextEncoder("utf-8") : { encode: () => {
- throw Error("TextEncoder not available");
-} };
-const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
- return cachedTextEncoder.encodeInto(arg, view);
-} : function(arg, view) {
- const buf = cachedTextEncoder.encode(arg);
- view.set(buf);
- return {
- read: arg.length,
- written: buf.length
- };
-};
-function passStringToWasm0(arg, malloc, realloc) {
- if (typeof arg !== "string") throw new Error(`expected a string argument, found ${typeof arg}`);
- if (realloc === void 0) {
- const buf = cachedTextEncoder.encode(arg);
- const ptr2 = malloc(buf.length, 1) >>> 0;
- getUint8ArrayMemory0().subarray(ptr2, ptr2 + buf.length).set(buf);
- WASM_VECTOR_LEN = buf.length;
- return ptr2;
- }
- let len = arg.length;
- let ptr = malloc(len, 1) >>> 0;
- const mem = getUint8ArrayMemory0();
- let offset = 0;
- for (; offset < len; offset++) {
- const code = arg.charCodeAt(offset);
- if (code > 127) break;
- mem[ptr + offset] = code;
- }
- if (offset !== len) {
- if (offset !== 0) {
- arg = arg.slice(offset);
- }
- ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
- const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
- const ret = encodeString(arg, view);
- if (ret.read !== arg.length) throw new Error("failed to pass whole string");
- offset += ret.written;
- ptr = realloc(ptr, len, offset, 1) >>> 0;
- }
- WASM_VECTOR_LEN = offset;
- return ptr;
-}
-let cachedDataViewMemory0 = null;
-function getDataViewMemory0() {
- if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === void 0 && cachedDataViewMemory0.buffer !== wasm.memory.buffer) {
- cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
- }
- return cachedDataViewMemory0;
-}
-function isLikeNone(x) {
- return x === void 0 || x === null;
-}
-function _assertBoolean(n) {
- if (typeof n !== "boolean") {
- throw new Error(`expected a boolean argument, found ${typeof n}`);
- }
-}
-function dropObject(idx) {
- if (idx < 132) return;
- heap[idx] = heap_next;
- heap_next = idx;
-}
-function takeObject(idx) {
- const ret = getObject(idx);
- dropObject(idx);
- return ret;
-}
-const CLOSURE_DTORS = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((state) => {
- wasm.__wbindgen_export_4.get(state.dtor)(state.a, state.b);
-});
-function makeClosure(arg0, arg1, dtor, f) {
- const state = { a: arg0, b: arg1, cnt: 1, dtor };
- const real = (...args) => {
- state.cnt++;
- try {
- return f(state.a, state.b, ...args);
- } finally {
- if (--state.cnt === 0) {
- wasm.__wbindgen_export_4.get(state.dtor)(state.a, state.b);
- state.a = 0;
- CLOSURE_DTORS.unregister(state);
- }
- }
- };
- real.original = state;
- CLOSURE_DTORS.register(real, state, state);
- return real;
-}
-function makeMutClosure(arg0, arg1, dtor, f) {
- const state = { a: arg0, b: arg1, cnt: 1, dtor };
- const real = (...args) => {
- state.cnt++;
- const a = state.a;
- state.a = 0;
- try {
- return f(a, state.b, ...args);
- } finally {
- if (--state.cnt === 0) {
- wasm.__wbindgen_export_4.get(state.dtor)(a, state.b);
- CLOSURE_DTORS.unregister(state);
- } else {
- state.a = a;
- }
- }
- };
- real.original = state;
- CLOSURE_DTORS.register(real, state, state);
- return real;
-}
-function debugString(val) {
- const type = typeof val;
- if (type == "number" || type == "boolean" || val == null) {
- return `${val}`;
- }
- if (type == "string") {
- return `"${val}"`;
- }
- if (type == "symbol") {
- const description = val.description;
- if (description == null) {
- return "Symbol";
- } else {
- return `Symbol(${description})`;
- }
- }
- if (type == "function") {
- const name = val.name;
- if (typeof name == "string" && name.length > 0) {
- return `Function(${name})`;
- } else {
- return "Function";
- }
- }
- if (Array.isArray(val)) {
- const length = val.length;
- let debug = "[";
- if (length > 0) {
- debug += debugString(val[0]);
- }
- for (let i = 1; i < length; i++) {
- debug += ", " + debugString(val[i]);
- }
- debug += "]";
- return debug;
- }
- const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
- let className;
- if (builtInMatches && builtInMatches.length > 1) {
- className = builtInMatches[1];
- } else {
- return toString.call(val);
- }
- if (className == "Object") {
- try {
- return "Object(" + JSON.stringify(val) + ")";
- } catch (_) {
- return "Object";
- }
- }
- if (val instanceof Error) {
- return `${val.name}: ${val.message}
-${val.stack}`;
- }
- return className;
-}
-function passArray8ToWasm0(arg, malloc) {
- const ptr = malloc(arg.length * 1, 1) >>> 0;
- getUint8ArrayMemory0().set(arg, ptr / 1);
- WASM_VECTOR_LEN = arg.length;
- return ptr;
-}
-function passArrayJsValueToWasm0(array, malloc) {
- const ptr = malloc(array.length * 4, 4) >>> 0;
- const mem = getDataViewMemory0();
- for (let i = 0; i < array.length; i++) {
- mem.setUint32(ptr + 4 * i, addHeapObject(array[i]), true);
- }
- WASM_VECTOR_LEN = array.length;
- return ptr;
-}
-function _assertClass(instance, klass) {
- if (!(instance instanceof klass)) {
- throw new Error(`expected instance of ${klass.name}`);
- }
-}
-function renderer_build_info() {
- const ret = wasm.renderer_build_info();
- return takeObject(ret);
-}
-let cachedUint32ArrayMemory0 = null;
-function getUint32ArrayMemory0() {
- if (cachedUint32ArrayMemory0 === null || cachedUint32ArrayMemory0.byteLength === 0) {
- cachedUint32ArrayMemory0 = new Uint32Array(wasm.memory.buffer);
- }
- return cachedUint32ArrayMemory0;
-}
-function passArray32ToWasm0(arg, malloc) {
- const ptr = malloc(arg.length * 4, 4) >>> 0;
- getUint32ArrayMemory0().set(arg, ptr / 4);
- WASM_VECTOR_LEN = arg.length;
- return ptr;
-}
-function __wbg_adapter_26(arg0, arg1) {
- _assertNum(arg0);
- _assertNum(arg1);
- wasm.__wbindgen_export_5(arg0, arg1);
-}
-function __wbg_adapter_29(arg0, arg1, arg2) {
- _assertNum(arg0);
- _assertNum(arg1);
- wasm.__wbindgen_export_6(arg0, arg1, addHeapObject(arg2));
-}
-function __wbg_adapter_32(arg0, arg1, arg2) {
- _assertNum(arg0);
- _assertNum(arg1);
- wasm.__wbindgen_export_7(arg0, arg1, addHeapObject(arg2));
-}
-function __wbg_adapter_66(arg0, arg1, arg2, arg3) {
- _assertNum(arg0);
- _assertNum(arg1);
- wasm.__wbindgen_export_8(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
-}
-const __wbindgen_enum_CanvasWindingRule = ["nonzero", "evenodd"];
-const CreateSessionOptionsFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_createsessionoptions_free(ptr >>> 0, 1));
-class CreateSessionOptions {
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- CreateSessionOptionsFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_createsessionoptions_free(ptr, 0);
- }
- constructor() {
- const ret = wasm.createsessionoptions_new();
- this.__wbg_ptr = ret >>> 0;
- CreateSessionOptionsFinalization.register(this, this.__wbg_ptr, this);
- return this;
- }
- /**
- * @param {string} format
- */
- set format(format) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ptr0 = passStringToWasm0(format, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len0 = WASM_VECTOR_LEN;
- wasm.createsessionoptions_set_format(this.__wbg_ptr, ptr0, len0);
- }
- /**
- * @param {Uint8Array} artifact_content
- */
- set artifact_content(artifact_content) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ptr0 = passArray8ToWasm0(artifact_content, wasm.__wbindgen_export_1);
- const len0 = WASM_VECTOR_LEN;
- wasm.createsessionoptions_set_artifact_content(this.__wbg_ptr, ptr0, len0);
- }
-}
-const IncrDomDocClientFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_incrdomdocclient_free(ptr >>> 0, 1));
-class IncrDomDocClient {
- constructor() {
- throw new Error("cannot invoke `new` directly");
- }
- static __wrap(ptr) {
- ptr = ptr >>> 0;
- const obj = Object.create(IncrDomDocClient.prototype);
- obj.__wbg_ptr = ptr;
- IncrDomDocClientFinalization.register(obj, obj.__wbg_ptr, obj);
- return obj;
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- IncrDomDocClientFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_incrdomdocclient_free(ptr, 0);
- }
- /**
- * @param {any} functions
- */
- bind_functions(functions) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- wasm.incrdomdocclient_bind_functions(this.__wbg_ptr, addHeapObject(functions));
- }
- /**
- * Relayout the document in the given window.
- * @param {number} x
- * @param {number} y
- * @param {number} w
- * @param {number} h
- * @returns {Promise}
- */
- relayout(x, y, w, h) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.incrdomdocclient_relayout(this.__wbg_ptr, x, y, w, h);
- return takeObject(ret);
- }
- /**
- * @param {number} page_num
- * @param {number} x
- * @param {number} y
- * @param {number} w
- * @param {number} h
- * @param {number} stage
- * @returns {boolean}
- */
- need_repaint(page_num, x, y, w, h, stage) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertNum(page_num);
- _assertNum(stage);
- wasm.incrdomdocclient_need_repaint(retptr, this.__wbg_ptr, page_num, x, y, w, h, stage);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return r0 !== 0;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {number} page_num
- * @param {number} x
- * @param {number} y
- * @param {number} w
- * @param {number} h
- * @param {number} stage
- * @returns {any}
- */
- repaint(page_num, x, y, w, h, stage) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertNum(page_num);
- _assertNum(stage);
- wasm.incrdomdocclient_repaint(retptr, this.__wbg_ptr, page_num, x, y, w, h, stage);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return takeObject(r0);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
-}
-const PageInfoFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_pageinfo_free(ptr >>> 0, 1));
-class PageInfo {
- constructor() {
- throw new Error("cannot invoke `new` directly");
- }
- static __wrap(ptr) {
- ptr = ptr >>> 0;
- const obj = Object.create(PageInfo.prototype);
- obj.__wbg_ptr = ptr;
- PageInfoFinalization.register(obj, obj.__wbg_ptr, obj);
- return obj;
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- PageInfoFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_pageinfo_free(ptr, 0);
- }
- /**
- * @returns {number}
- */
- get page_off() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.pageinfo_page_off(this.__wbg_ptr);
- return ret >>> 0;
- }
- /**
- * @returns {number}
- */
- get width_pt() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.pageinfo_width_pt(this.__wbg_ptr);
- return ret;
- }
- /**
- * @returns {number}
- */
- get height_pt() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.pageinfo_height_pt(this.__wbg_ptr);
- return ret;
- }
-}
-const PagesInfoFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_pagesinfo_free(ptr >>> 0, 1));
-class PagesInfo {
- constructor() {
- throw new Error("cannot invoke `new` directly");
- }
- static __wrap(ptr) {
- ptr = ptr >>> 0;
- const obj = Object.create(PagesInfo.prototype);
- obj.__wbg_ptr = ptr;
- PagesInfoFinalization.register(obj, obj.__wbg_ptr, obj);
- return obj;
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- PagesInfoFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_pagesinfo_free(ptr, 0);
- }
- /**
- * @returns {number}
- */
- get page_count() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.pagesinfo_page_count(this.__wbg_ptr);
- return ret >>> 0;
- }
- /**
- * @param {number} num
- * @returns {PageInfo | undefined}
- */
- page_by_number(num) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- _assertNum(num);
- const ret = wasm.pagesinfo_page_by_number(this.__wbg_ptr, num);
- return ret === 0 ? void 0 : PageInfo.__wrap(ret);
- }
- /**
- * @param {number} i
- * @returns {PageInfo}
- */
- page(i) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- _assertNum(i);
- const ret = wasm.pagesinfo_page(this.__wbg_ptr, i);
- return PageInfo.__wrap(ret);
- }
- /**
- * @returns {number}
- */
- width() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.pagesinfo_width(this.__wbg_ptr);
- return ret;
- }
- /**
- * @returns {number}
- */
- height() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.pagesinfo_height(this.__wbg_ptr);
- return ret;
- }
-}
-const RenderPageImageOptionsFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_renderpageimageoptions_free(ptr >>> 0, 1));
-class RenderPageImageOptions {
- static __unwrap(jsValue) {
- if (!(jsValue instanceof RenderPageImageOptions)) {
- return 0;
- }
- return jsValue.__destroy_into_raw();
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- RenderPageImageOptionsFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_renderpageimageoptions_free(ptr, 0);
- }
- constructor() {
- const ret = wasm.renderpageimageoptions_new();
- this.__wbg_ptr = ret >>> 0;
- RenderPageImageOptionsFinalization.register(this, this.__wbg_ptr, this);
- return this;
- }
- /**
- * @returns {number | undefined}
- */
- get pixel_per_pt() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.renderpageimageoptions_pixel_per_pt(this.__wbg_ptr);
- return ret === 4294967297 ? void 0 : ret;
- }
- /**
- * @param {number | null} [pixel_per_pt]
- */
- set pixel_per_pt(pixel_per_pt) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- if (!isLikeNone(pixel_per_pt)) {
- _assertNum(pixel_per_pt);
- }
- wasm.renderpageimageoptions_set_pixel_per_pt(this.__wbg_ptr, isLikeNone(pixel_per_pt) ? 4294967297 : Math.fround(pixel_per_pt));
- }
- /**
- * @returns {string | undefined}
- */
- get background_color() {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.renderpageimageoptions_background_color(retptr, this.__wbg_ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- let v1;
- if (r0 !== 0) {
- v1 = getStringFromWasm0(r0, r1).slice();
- wasm.__wbindgen_export_3(r0, r1 * 1, 1);
- }
- return v1;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {string | null} [background_color]
- */
- set background_color(background_color) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- var ptr0 = isLikeNone(background_color) ? 0 : passStringToWasm0(background_color, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len0 = WASM_VECTOR_LEN;
- wasm.renderpageimageoptions_set_background_color(this.__wbg_ptr, ptr0, len0);
- }
- /**
- * @returns {number}
- */
- get page_off() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.renderpageimageoptions_page_off(this.__wbg_ptr);
- return ret >>> 0;
- }
- /**
- * @param {number} page_off
- */
- set page_off(page_off) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- _assertNum(page_off);
- wasm.renderpageimageoptions_set_page_off(this.__wbg_ptr, page_off);
- }
- /**
- * @returns {string | undefined}
- */
- get cache_key() {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.renderpageimageoptions_cache_key(retptr, this.__wbg_ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- let v1;
- if (r0 !== 0) {
- v1 = getStringFromWasm0(r0, r1).slice();
- wasm.__wbindgen_export_3(r0, r1 * 1, 1);
- }
- return v1;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {string | null} [cache_key]
- */
- set cache_key(cache_key) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- var ptr0 = isLikeNone(cache_key) ? 0 : passStringToWasm0(cache_key, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len0 = WASM_VECTOR_LEN;
- wasm.renderpageimageoptions_set_cache_key(this.__wbg_ptr, ptr0, len0);
- }
- /**
- * @returns {number | undefined}
- */
- get data_selection() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.renderpageimageoptions_data_selection(this.__wbg_ptr);
- return ret === 4294967297 ? void 0 : ret;
- }
- /**
- * @param {number | null} [data_selection]
- */
- set data_selection(data_selection) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- if (!isLikeNone(data_selection)) {
- _assertNum(data_selection);
- }
- wasm.renderpageimageoptions_set_data_selection(this.__wbg_ptr, isLikeNone(data_selection) ? 4294967297 : data_selection >>> 0);
- }
-}
-const RenderSessionFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_rendersession_free(ptr >>> 0, 1));
-class RenderSession2 {
- constructor() {
- throw new Error("cannot invoke `new` directly");
- }
- static __wrap(ptr) {
- ptr = ptr >>> 0;
- const obj = Object.create(RenderSession2.prototype);
- obj.__wbg_ptr = ptr;
- RenderSessionFinalization.register(obj, obj.__wbg_ptr, obj);
- return obj;
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- RenderSessionFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_rendersession_free(ptr, 0);
- }
- /**
- * @param {number} rect_lo_x
- * @param {number} rect_lo_y
- * @param {number} rect_hi_x
- * @param {number} rect_hi_y
- * @returns {string}
- */
- render_in_window(rect_lo_x, rect_lo_y, rect_hi_x, rect_hi_y) {
- let deferred1_0;
- let deferred1_1;
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.rendersession_render_in_window(retptr, this.__wbg_ptr, rect_lo_x, rect_lo_y, rect_hi_x, rect_hi_y);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- deferred1_0 = r0;
- deferred1_1 = r1;
- return getStringFromWasm0(r0, r1);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
- }
- }
- /**
- * @returns {number | undefined}
- */
- get pixel_per_pt() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.renderpageimageoptions_pixel_per_pt(this.__wbg_ptr);
- return ret === 4294967297 ? void 0 : ret;
- }
- /**
- * @param {number | null} [pixel_per_pt]
- */
- set pixel_per_pt(pixel_per_pt) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- if (!isLikeNone(pixel_per_pt)) {
- _assertNum(pixel_per_pt);
- }
- wasm.renderpageimageoptions_set_pixel_per_pt(this.__wbg_ptr, isLikeNone(pixel_per_pt) ? 4294967297 : Math.fround(pixel_per_pt));
- }
- /**
- * @returns {string | undefined}
- */
- get background_color() {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.rendersession_background_color(retptr, this.__wbg_ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- let v1;
- if (r0 !== 0) {
- v1 = getStringFromWasm0(r0, r1).slice();
- wasm.__wbindgen_export_3(r0, r1 * 1, 1);
- }
- return v1;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {string | null} [background_color]
- */
- set background_color(background_color) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- var ptr0 = isLikeNone(background_color) ? 0 : passStringToWasm0(background_color, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len0 = WASM_VECTOR_LEN;
- wasm.rendersession_set_background_color(this.__wbg_ptr, ptr0, len0);
- }
- /**
- * @returns {PagesInfo}
- */
- get pages_info() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.rendersession_pages_info(this.__wbg_ptr);
- return PagesInfo.__wrap(ret);
- }
- /**
- * @returns {number}
- */
- get doc_width() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.rendersession_doc_width(this.__wbg_ptr);
- return ret;
- }
- /**
- * @returns {number}
- */
- get doc_height() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.rendersession_doc_height(this.__wbg_ptr);
- return ret;
- }
- /**
- * @param {Uint32Array} path
- * @returns {string | undefined}
- */
- source_span(path) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- const ptr0 = passArray32ToWasm0(path, wasm.__wbindgen_export_1);
- const len0 = WASM_VECTOR_LEN;
- wasm.rendersession_source_span(retptr, this.__wbg_ptr, ptr0, len0);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
- if (r3) {
- throw takeObject(r2);
- }
- let v2;
- if (r0 !== 0) {
- v2 = getStringFromWasm0(r0, r1).slice();
- wasm.__wbindgen_export_3(r0, r1 * 1, 1);
- }
- return v2;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
-}
-const RenderSessionOptionsFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_rendersessionoptions_free(ptr >>> 0, 1));
-class RenderSessionOptions {
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- RenderSessionOptionsFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_rendersessionoptions_free(ptr, 0);
- }
- constructor() {
- const ret = wasm.rendersessionoptions_new();
- this.__wbg_ptr = ret >>> 0;
- RenderSessionOptionsFinalization.register(this, this.__wbg_ptr, this);
- return this;
- }
- /**
- * @returns {number | undefined}
- */
- get pixel_per_pt() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.renderpageimageoptions_pixel_per_pt(this.__wbg_ptr);
- return ret === 4294967297 ? void 0 : ret;
- }
- /**
- * @param {number | null} [pixel_per_pt]
- */
- set pixel_per_pt(pixel_per_pt) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- if (!isLikeNone(pixel_per_pt)) {
- _assertNum(pixel_per_pt);
- }
- wasm.renderpageimageoptions_set_pixel_per_pt(this.__wbg_ptr, isLikeNone(pixel_per_pt) ? 4294967297 : Math.fround(pixel_per_pt));
- }
- /**
- * @returns {string | undefined}
- */
- get background_color() {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.rendersessionoptions_background_color(retptr, this.__wbg_ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- let v1;
- if (r0 !== 0) {
- v1 = getStringFromWasm0(r0, r1).slice();
- wasm.__wbindgen_export_3(r0, r1 * 1, 1);
- }
- return v1;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {string | null} [background_color]
- */
- set background_color(background_color) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- var ptr0 = isLikeNone(background_color) ? 0 : passStringToWasm0(background_color, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len0 = WASM_VECTOR_LEN;
- wasm.rendersessionoptions_set_background_color(this.__wbg_ptr, ptr0, len0);
- }
- /**
- * @returns {string | undefined}
- */
- get format() {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.rendersessionoptions_format(retptr, this.__wbg_ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- let v1;
- if (r0 !== 0) {
- v1 = getStringFromWasm0(r0, r1).slice();
- wasm.__wbindgen_export_3(r0, r1 * 1, 1);
- }
- return v1;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {string | null} [format]
- */
- set format(format) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- var ptr0 = isLikeNone(format) ? 0 : passStringToWasm0(format, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len0 = WASM_VECTOR_LEN;
- wasm.rendersessionoptions_set_format(this.__wbg_ptr, ptr0, len0);
- }
-}
-const TypstRendererFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_typstrenderer_free(ptr >>> 0, 1));
-class TypstRenderer {
- static __wrap(ptr) {
- ptr = ptr >>> 0;
- const obj = Object.create(TypstRenderer.prototype);
- obj.__wbg_ptr = ptr;
- TypstRendererFinalization.register(obj, obj.__wbg_ptr, obj);
- return obj;
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- TypstRendererFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_typstrenderer_free(ptr, 0);
- }
- /**
- * @param {any} _w
- * @returns {Promise}
- */
- create_worker(_w) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.typstrenderer_create_worker(this.__wbg_ptr, addHeapObject(_w));
- return takeObject(ret);
- }
- /**
- * @returns {WorkerBridge}
- */
- create_worker_bridge() {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const ptr = this.__destroy_into_raw();
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(ptr);
- wasm.typstrenderer_create_worker_bridge(retptr, ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return WorkerBridge.__wrap(r0);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {RenderSession} ses
- * @param {HTMLElement} elem
- * @returns {Promise}
- */
- mount_dom(ses, elem) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- _assertClass(ses, RenderSession2);
- if (ses.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- const ret = wasm.typstrenderer_mount_dom(this.__wbg_ptr, ses.__wbg_ptr, addHeapObject(elem));
- return takeObject(ret);
- }
- constructor() {
- const ret = wasm.typstrenderer_new();
- this.__wbg_ptr = ret >>> 0;
- TypstRendererFinalization.register(this, this.__wbg_ptr, this);
- return this;
- }
- /**
- * @param {CreateSessionOptions | null} [options]
- * @returns {RenderSession}
- */
- create_session(options) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- let ptr0 = 0;
- if (!isLikeNone(options)) {
- _assertClass(options, CreateSessionOptions);
- if (options.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- ptr0 = options.__destroy_into_raw();
- }
- wasm.typstrenderer_create_session(retptr, this.__wbg_ptr, ptr0);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return RenderSession2.__wrap(r0);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {RenderSession} session
- */
- reset(session) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertClass(session, RenderSession2);
- if (session.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- wasm.typstrenderer_reset(retptr, this.__wbg_ptr, session.__wbg_ptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- if (r1) {
- throw takeObject(r0);
- }
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {RenderSession} session
- * @param {string} action
- * @param {Uint8Array} data
- */
- manipulate_data(session, action, data) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertClass(session, RenderSession2);
- if (session.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- const ptr0 = passStringToWasm0(action, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len0 = WASM_VECTOR_LEN;
- const ptr1 = passArray8ToWasm0(data, wasm.__wbindgen_export_1);
- const len1 = WASM_VECTOR_LEN;
- wasm.typstrenderer_manipulate_data(retptr, this.__wbg_ptr, session.__wbg_ptr, ptr0, len0, ptr1, len1);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- if (r1) {
- throw takeObject(r0);
- }
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {Uint8Array} artifact_content
- * @param {string} decoder
- * @returns {RenderSession}
- */
- session_from_artifact(artifact_content, decoder) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- const ptr0 = passArray8ToWasm0(artifact_content, wasm.__wbindgen_export_1);
- const len0 = WASM_VECTOR_LEN;
- const ptr1 = passStringToWasm0(decoder, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- wasm.typstrenderer_session_from_artifact(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return RenderSession2.__wrap(r0);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {any} _v
- */
- load_glyph_pack(_v) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- wasm.typstrenderer_load_glyph_pack(retptr, this.__wbg_ptr, addHeapObject(_v));
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- if (r1) {
- throw takeObject(r0);
- }
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {RenderSession} session
- * @param {number} rect_lo_x
- * @param {number} rect_lo_y
- * @param {number} rect_hi_x
- * @param {number} rect_hi_y
- * @returns {string}
- */
- render_svg_diff(session, rect_lo_x, rect_lo_y, rect_hi_x, rect_hi_y) {
- let deferred1_0;
- let deferred1_1;
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertClass(session, RenderSession2);
- if (session.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- wasm.typstrenderer_render_svg_diff(retptr, this.__wbg_ptr, session.__wbg_ptr, rect_lo_x, rect_lo_y, rect_hi_x, rect_hi_y);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- deferred1_0 = r0;
- deferred1_1 = r1;
- return getStringFromWasm0(r0, r1);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);
- }
- }
- /**
- * @param {RenderSession} session
- * @param {number | null} [parts]
- * @returns {string}
- */
- svg_data(session, parts) {
- let deferred2_0;
- let deferred2_1;
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertClass(session, RenderSession2);
- if (session.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- if (!isLikeNone(parts)) {
- _assertNum(parts);
- }
- wasm.typstrenderer_svg_data(retptr, this.__wbg_ptr, session.__wbg_ptr, isLikeNone(parts) ? 4294967297 : parts >>> 0);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
- var ptr1 = r0;
- var len1 = r1;
- if (r3) {
- ptr1 = 0;
- len1 = 0;
- throw takeObject(r2);
- }
- deferred2_0 = ptr1;
- deferred2_1 = len1;
- return getStringFromWasm0(ptr1, len1);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);
- }
- }
- /**
- * @param {RenderSession} session
- * @returns {Array | undefined}
- */
- get_customs(session) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- _assertClass(session, RenderSession2);
- if (session.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- const ret = wasm.typstrenderer_get_customs(this.__wbg_ptr, session.__wbg_ptr);
- return takeObject(ret);
- }
- /**
- * @param {RenderSession} session
- * @param {HTMLElement} root
- * @returns {boolean}
- */
- render_svg(session, root) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- _assertClass(session, RenderSession2);
- if (session.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- wasm.typstrenderer_render_svg(retptr, this.__wbg_ptr, session.__wbg_ptr, addHeapObject(root));
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return r0 !== 0;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @param {RenderSession} ses
- * @param {any} canvas
- * @param {RenderPageImageOptions | null} [options]
- * @returns {Promise}
- */
- render_page_to_canvas(ses, canvas, options) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- _assertClass(ses, RenderSession2);
- if (ses.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- let ptr0 = 0;
- if (!isLikeNone(options)) {
- _assertClass(options, RenderPageImageOptions);
- if (options.__wbg_ptr === 0) {
- throw new Error("Attempt to use a moved value");
- }
- ptr0 = options.__destroy_into_raw();
- }
- const ret = wasm.typstrenderer_render_page_to_canvas(this.__wbg_ptr, ses.__wbg_ptr, addHeapObject(canvas), ptr0);
- return takeObject(ret);
- }
-}
-const TypstRendererBuilderFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_typstrendererbuilder_free(ptr >>> 0, 1));
-class TypstRendererBuilder {
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- TypstRendererBuilderFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_typstrendererbuilder_free(ptr, 0);
- }
- constructor() {
- try {
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- wasm.typstrendererbuilder_new(retptr);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- this.__wbg_ptr = r0 >>> 0;
- TypstRendererBuilderFinalization.register(this, this.__wbg_ptr, this);
- return this;
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @returns {Promise}
- */
- build() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const ptr = this.__destroy_into_raw();
- _assertNum(ptr);
- const ret = wasm.typstrendererbuilder_build(ptr);
- return takeObject(ret);
- }
- /**
- * @param {any} _pack
- * @returns {Promise}
- */
- add_glyph_pack(_pack) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.typstrendererbuilder_add_glyph_pack(this.__wbg_ptr, addHeapObject(_pack));
- return takeObject(ret);
- }
- /**
- * @param {Uint8Array} _font_buffer
- * @returns {Promise}
- */
- add_raw_font(_font_buffer) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.typstrendererbuilder_add_raw_font(this.__wbg_ptr, addHeapObject(_font_buffer));
- return takeObject(ret);
- }
- /**
- * @param {Array} _fonts
- * @returns {Promise}
- */
- add_web_fonts(_fonts) {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.typstrendererbuilder_add_web_fonts(this.__wbg_ptr, addHeapObject(_fonts));
- return takeObject(ret);
- }
-}
-const TypstWorkerFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_typstworker_free(ptr >>> 0, 1));
-class TypstWorker2 {
- constructor() {
- throw new Error("cannot invoke `new` directly");
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- TypstWorkerFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_typstworker_free(ptr, 0);
- }
- /**
- * @param {string} _action
- * @param {Uint8Array} _data
- * @returns {Promise}
- */
- manipulate_data(_action, _data) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- const ptr0 = passStringToWasm0(_action, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len0 = WASM_VECTOR_LEN;
- wasm.typstworker_manipulate_data(retptr, this.__wbg_ptr, ptr0, len0, addHeapObject(_data));
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return takeObject(r0);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
- /**
- * @returns {Promise}
- */
- get_pages_info() {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- _assertNum(this.__wbg_ptr);
- const ret = wasm.typstworker_get_pages_info(this.__wbg_ptr);
- return takeObject(ret);
- }
- /**
- * @param {Uint8Array} _actions
- * @param {HTMLCanvasElement[]} _canvas_list
- * @param {RenderPageImageOptions[]} _data
- * @returns {Promise}
- */
- render_canvas(_actions, _canvas_list, _data) {
- try {
- if (this.__wbg_ptr == 0) throw new Error("Attempt to use a moved value");
- const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
- _assertNum(this.__wbg_ptr);
- const ptr0 = passArray8ToWasm0(_actions, wasm.__wbindgen_export_1);
- const len0 = WASM_VECTOR_LEN;
- const ptr1 = passArrayJsValueToWasm0(_canvas_list, wasm.__wbindgen_export_1);
- const len1 = WASM_VECTOR_LEN;
- const ptr2 = passArrayJsValueToWasm0(_data, wasm.__wbindgen_export_1);
- const len2 = WASM_VECTOR_LEN;
- wasm.typstworker_render_canvas(retptr, this.__wbg_ptr, ptr0, len0, ptr1, len1, ptr2, len2);
- var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
- var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
- var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
- if (r2) {
- throw takeObject(r1);
- }
- return takeObject(r0);
- } finally {
- wasm.__wbindgen_add_to_stack_pointer(16);
- }
- }
-}
-const WorkerBridgeFinalization = typeof FinalizationRegistry === "undefined" ? { register: () => {
-}, unregister: () => {
-} } : new FinalizationRegistry((ptr) => wasm.__wbg_workerbridge_free(ptr >>> 0, 1));
-class WorkerBridge {
- constructor() {
- throw new Error("cannot invoke `new` directly");
- }
- static __wrap(ptr) {
- ptr = ptr >>> 0;
- const obj = Object.create(WorkerBridge.prototype);
- obj.__wbg_ptr = ptr;
- WorkerBridgeFinalization.register(obj, obj.__wbg_ptr, obj);
- return obj;
- }
- __destroy_into_raw() {
- const ptr = this.__wbg_ptr;
- this.__wbg_ptr = 0;
- WorkerBridgeFinalization.unregister(this);
- return ptr;
- }
- free() {
- const ptr = this.__destroy_into_raw();
- wasm.__wbg_workerbridge_free(ptr, 0);
- }
-}
-async function __wbg_load(module, imports) {
- if (typeof Response === "function" && module instanceof Response) {
- if (typeof WebAssembly.instantiateStreaming === "function") {
- try {
- return await WebAssembly.instantiateStreaming(module, imports);
- } catch (e) {
- if (module.headers.get("Content-Type") != "application/wasm") {
- console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
- } else {
- throw e;
- }
- }
- }
- const bytes = await module.arrayBuffer();
- return await WebAssembly.instantiate(bytes, imports);
- } else {
- const instance = await WebAssembly.instantiate(module, imports);
- if (instance instanceof WebAssembly.Instance) {
- return { instance, module };
- } else {
- return instance;
- }
- }
-}
-function __wbg_get_imports() {
- const imports = {};
- imports.wbg = {};
- imports.wbg.__wbg_appendChild_8204974b7328bf98 = function() {
- return handleError(function(arg0, arg1) {
- const ret = getObject(arg0).appendChild(getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_buffer_609cc3eee51ed158 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).buffer;
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_call_672a4d21634d4a24 = function() {
- return handleError(function(arg0, arg1) {
- const ret = getObject(arg0).call(getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_call_7cccdd69e0791ae2 = function() {
- return handleError(function(arg0, arg1, arg2) {
- const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_call_833bed5770ea2041 = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_call_b8adc8b1d0a0d8eb = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4) {
- const ret = getObject(arg0).call(getObject(arg1), getObject(arg2), getObject(arg3), getObject(arg4));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_clearRect_8e4ba7ea0e06711a = function() {
- return logError(function(arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).clearRect(arg1, arg2, arg3, arg4);
- }, arguments);
- };
- imports.wbg.__wbg_clientWidth_ce67a04dc15fce39 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).clientWidth;
- _assertNum(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_clip_8e8cfb00a055cd03 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).clip(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_clip_f584e320f8a2b022 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).clip(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_cloneNode_e35b333b87d51340 = function() {
- return handleError(function(arg0) {
- const ret = getObject(arg0).cloneNode();
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_content_537e4105afcd9cee = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).content;
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_createElement_8c9931a732ee2fea = function() {
- return handleError(function(arg0, arg1, arg2) {
- const ret = getObject(arg0).createElement(getStringFromWasm0(arg1, arg2));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_createImageBitmap_705010fb21a22922 = function() {
- return handleError(function(arg0, arg1) {
- const ret = getObject(arg0).createImageBitmap(getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_createImageBitmap_b814e27800576bdb = function() {
- return handleError(function(arg0, arg1) {
- const ret = getObject(arg0).createImageBitmap(getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_createObjectURL_6e98d2f9c7bd9764 = function() {
- return handleError(function(arg0, arg1) {
- const ret = URL.createObjectURL(getObject(arg1));
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- }, arguments);
- };
- imports.wbg.__wbg_document_d249400bd7bd996d = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).document;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_0915f348c5d54848 = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_16485aae76d89dbf = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4, arg5) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3, arg4, arg5);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_468585e3ecfa189a = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4, arg5) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3, arg4, arg5);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_472a4d5b6df3739a = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_473e6602e24e18aa = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_86fd8465c00c7bc6 = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4, arg5) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3, arg4, arg5);
- }, arguments);
- };
- imports.wbg.__wbg_drawImage_ff273710b96c85cc = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4, arg5) {
- getObject(arg0).drawImage(getObject(arg1), arg2, arg3, arg4, arg5);
- }, arguments);
- };
- imports.wbg.__wbg_error_7534b8e9a36f1ab4 = function() {
- return logError(function(arg0, arg1) {
- let deferred0_0;
- let deferred0_1;
- try {
- deferred0_0 = arg0;
- deferred0_1 = arg1;
- console.error(getStringFromWasm0(arg0, arg1));
- } finally {
- wasm.__wbindgen_export_3(deferred0_0, deferred0_1, 1);
- }
- }, arguments);
- };
- imports.wbg.__wbg_fillRect_b1529535ac758d4c = function() {
- return logError(function(arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).fillRect(arg1, arg2, arg3, arg4);
- }, arguments);
- };
- imports.wbg.__wbg_fillRect_c38d5d56492a2368 = function() {
- return logError(function(arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).fillRect(arg1, arg2, arg3, arg4);
- }, arguments);
- };
- imports.wbg.__wbg_fill_51814702df845abd = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).fill(getObject(arg1), __wbindgen_enum_CanvasWindingRule[arg2]);
- }, arguments);
- };
- imports.wbg.__wbg_fill_5d26765e6d1d8f6b = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).fill(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_fill_64902335a40baa8d = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).fill(getObject(arg1), __wbindgen_enum_CanvasWindingRule[arg2]);
- }, arguments);
- };
- imports.wbg.__wbg_fill_cbb22e6ac4da5b1b = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).fill(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_firstElementChild_21331181ca115bcc = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).firstElementChild;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_firstElementChild_d75d385f5abd1414 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).firstElementChild;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_getAttribute_ea5166be2deba45e = function() {
- return logError(function(arg0, arg1, arg2, arg3) {
- const ret = getObject(arg1).getAttribute(getStringFromWasm0(arg2, arg3));
- var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- }, arguments);
- };
- imports.wbg.__wbg_getContext_e9cf379449413580 = function() {
- return handleError(function(arg0, arg1, arg2) {
- const ret = getObject(arg0).getContext(getStringFromWasm0(arg1, arg2));
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_getContext_f65a0debd1e8f8e8 = function() {
- return handleError(function(arg0, arg1, arg2) {
- const ret = getObject(arg0).getContext(getStringFromWasm0(arg1, arg2));
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_get_67b2ba62fc30de12 = function() {
- return handleError(function(arg0, arg1) {
- const ret = Reflect.get(getObject(arg0), getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_globalCompositeOperation_154b0f30008caa5e = function() {
- return handleError(function(arg0, arg1) {
- const ret = getObject(arg1).globalCompositeOperation;
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- }, arguments);
- };
- imports.wbg.__wbg_globalCompositeOperation_1f405e2ef7c5118b = function() {
- return handleError(function(arg0, arg1) {
- const ret = getObject(arg1).globalCompositeOperation;
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- }, arguments);
- };
- imports.wbg.__wbg_height_d3f39e12f0f62121 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).height;
- _assertNum(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_incrdomdocclient_new = function() {
- return logError(function(arg0) {
- const ret = IncrDomDocClient.__wrap(arg0);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_CanvasRenderingContext2d_df82a4d3437bf1cc = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof CanvasRenderingContext2D;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_Element_0af65443936d5154 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof Element;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_HtmlCanvasElement_2ea67072a7624ac5 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof HTMLCanvasElement;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_HtmlDivElement_dbc6eb62eb772174 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof HTMLDivElement;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_HtmlElement_51378c201250b16c = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof HTMLElement;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_HtmlTemplateElement_7929a67c77198607 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof HTMLTemplateElement;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_ImageBitmap_d093d508663e313d = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof ImageBitmap;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_OffscreenCanvasRenderingContext2d_a070fdde7ba760a3 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof OffscreenCanvasRenderingContext2D;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_OffscreenCanvas_d55760945f91bf51 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof OffscreenCanvas;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_Promise_935168b8f4b49db3 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof Promise;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_SvgGraphicsElement_8b2cbd8116680c53 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof SVGGraphicsElement;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_SvgsvgElement_6a0d878e0d0f979c = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof SVGSVGElement;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_Window_def73ea0955fc569 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof Window;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_instanceof_WorkerGlobalScope_dbdbdea7e3b56493 = function() {
- return logError(function(arg0) {
- let result;
- try {
- result = getObject(arg0) instanceof WorkerGlobalScope;
- } catch (_) {
- result = false;
- }
- const ret = result;
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_lastElementChild_1269b660ec3e6985 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).lastElementChild;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_length_a446193dc22c12f8 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).length;
- _assertNum(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_log_1ae1e9f741096e91 = function() {
- return logError(function(arg0, arg1) {
- console.log(getObject(arg0), getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_log_c222819a41e063d3 = function() {
- return logError(function(arg0) {
- console.log(getObject(arg0));
- }, arguments);
- };
- imports.wbg.__wbg_measureText_f0f078704231c37f = function() {
- return handleError(function(arg0, arg1, arg2) {
- const ret = getObject(arg0).measureText(getStringFromWasm0(arg1, arg2));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_23a2665fac83c611 = function() {
- return logError(function(arg0, arg1) {
- try {
- var state0 = { a: arg0, b: arg1 };
- var cb0 = (arg02, arg12) => {
- const a = state0.a;
- state0.a = 0;
- try {
- return __wbg_adapter_66(a, state0.b, arg02, arg12);
- } finally {
- state0.a = a;
- }
- };
- const ret = new Promise(cb0);
- return addHeapObject(ret);
- } finally {
- state0.a = state0.b = 0;
- }
- }, arguments);
- };
- imports.wbg.__wbg_new_2ef971087cb43792 = function() {
- return handleError(function(arg0, arg1) {
- const ret = new OffscreenCanvas(arg0 >>> 0, arg1 >>> 0);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_405e22f390576ce2 = function() {
- return logError(function() {
- const ret = new Object();
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_6377da097a44ce6e = function() {
- return handleError(function() {
- const ret = new Image();
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_78feb108b6472713 = function() {
- return logError(function() {
- const ret = new Array();
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_8a6f238a6ece86ea = function() {
- return logError(function() {
- const ret = new Error();
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_a12002a7f91c75be = function() {
- return logError(function(arg0) {
- const ret = new Uint8Array(getObject(arg0));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_new_c68d7209be747379 = function() {
- return logError(function(arg0, arg1) {
- const ret = new Error(getStringFromWasm0(arg0, arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_newnoargs_105ed471475aaf50 = function() {
- return logError(function(arg0, arg1) {
- const ret = new Function(getStringFromWasm0(arg0, arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_newwithbyteoffsetandlength_d97e637ebe145a9a = function() {
- return logError(function(arg0, arg1, arg2) {
- const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_newwithlength_a381634e90c276d4 = function() {
- return logError(function(arg0) {
- const ret = new Uint8Array(arg0 >>> 0);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_newwithpathstring_e9586ab3affcd4fd = function() {
- return handleError(function(arg0, arg1) {
- const ret = new Path2D(getStringFromWasm0(arg0, arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_newwithu8arraysequenceandoptions_068570c487f69127 = function() {
- return handleError(function(arg0, arg1) {
- const ret = new Blob(getObject(arg0), getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_nextElementSibling_8472709bec4de113 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).nextElementSibling;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_push_737cfc8c1432c2c6 = function() {
- return logError(function(arg0, arg1) {
- const ret = getObject(arg0).push(getObject(arg1));
- _assertNum(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_putImageData_4c5aa10f3b3e4924 = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- getObject(arg0).putImageData(getObject(arg1), arg2, arg3);
- }, arguments);
- };
- imports.wbg.__wbg_putImageData_6d5d5ef6ee83898b = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- getObject(arg0).putImageData(getObject(arg1), arg2, arg3);
- }, arguments);
- };
- imports.wbg.__wbg_queueMicrotask_97d92b4fcc8a61c5 = function() {
- return logError(function(arg0) {
- queueMicrotask(getObject(arg0));
- }, arguments);
- };
- imports.wbg.__wbg_queueMicrotask_d3219def82552485 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).queueMicrotask;
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_removeProperty_0e85471f4dfc00ae = function() {
- return handleError(function(arg0, arg1, arg2, arg3) {
- const ret = getObject(arg1).removeProperty(getStringFromWasm0(arg2, arg3));
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- }, arguments);
- };
- imports.wbg.__wbg_remove_e2d2659f3128c045 = function() {
- return logError(function(arg0) {
- getObject(arg0).remove();
- }, arguments);
- };
- imports.wbg.__wbg_renderpageimageoptions_unwrap = function() {
- return logError(function(arg0) {
- const ret = RenderPageImageOptions.__unwrap(takeObject(arg0));
- _assertNum(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_replaceWith_9ce9927e3141d0f6 = function() {
- return handleError(function(arg0, arg1) {
- getObject(arg0).replaceWith(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_resolve_4851785c9c5f573d = function() {
- return logError(function(arg0) {
- const ret = Promise.resolve(getObject(arg0));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_restore_1ef50af0835a4649 = function() {
- return logError(function(arg0) {
- getObject(arg0).restore();
- }, arguments);
- };
- imports.wbg.__wbg_restore_cc5ae2746f7b5043 = function() {
- return logError(function(arg0) {
- getObject(arg0).restore();
- }, arguments);
- };
- imports.wbg.__wbg_revokeObjectURL_27267efebeb457c7 = function() {
- return handleError(function(arg0, arg1) {
- URL.revokeObjectURL(getStringFromWasm0(arg0, arg1));
- }, arguments);
- };
- imports.wbg.__wbg_save_5f563096e64939da = function() {
- return logError(function(arg0) {
- getObject(arg0).save();
- }, arguments);
- };
- imports.wbg.__wbg_save_c675a7a4bbd44e4a = function() {
- return logError(function(arg0) {
- getObject(arg0).save();
- }, arguments);
- };
- imports.wbg.__wbg_setAttribute_2704501201f15687 = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
- }, arguments);
- };
- imports.wbg.__wbg_setLineDash_0e3f3e194352a774 = function() {
- return handleError(function(arg0, arg1) {
- getObject(arg0).setLineDash(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_setLineDash_325e094206df53e9 = function() {
- return handleError(function(arg0, arg1) {
- getObject(arg0).setLineDash(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_setProperty_f2cf326652b9a713 = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4) {
- getObject(arg0).setProperty(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));
- }, arguments);
- };
- imports.wbg.__wbg_setTransform_8c4d954cafb34b75 = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
- getObject(arg0).setTransform(arg1, arg2, arg3, arg4, arg5, arg6);
- }, arguments);
- };
- imports.wbg.__wbg_setTransform_da2f0baec3f09522 = function() {
- return handleError(function(arg0, arg1, arg2, arg3, arg4, arg5, arg6) {
- getObject(arg0).setTransform(arg1, arg2, arg3, arg4, arg5, arg6);
- }, arguments);
- };
- imports.wbg.__wbg_set_37837023f3d740e8 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
- }, arguments);
- };
- imports.wbg.__wbg_set_65595bdd868b3009 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).set(getObject(arg1), arg2 >>> 0);
- }, arguments);
- };
- imports.wbg.__wbg_set_bb8cecf6a62b9f46 = function() {
- return handleError(function(arg0, arg1, arg2) {
- const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
- _assertBoolean(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_setfillStyle_2205fca942c641ba = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).fillStyle = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setfillStyle_cb059a69ce15cc28 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).fillStyle = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setfont_4c3584ef2f5c9f7e = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).font = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setglobalCompositeOperation_9a7a92bac2fb7ffd = function() {
- return handleError(function(arg0, arg1, arg2) {
- getObject(arg0).globalCompositeOperation = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setglobalCompositeOperation_b000e874f8f4a9d3 = function() {
- return handleError(function(arg0, arg1, arg2) {
- getObject(arg0).globalCompositeOperation = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setheight_da683a33fa99843c = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).height = arg1 >>> 0;
- }, arguments);
- };
- imports.wbg.__wbg_setinnerHTML_31bde41f835786f7 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).innerHTML = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setlineCap_3a3987ad3f03b31d = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).lineCap = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setlineCap_52b6d742c95a5630 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).lineCap = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setlineDashOffset_030d80d07cd52ee4 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).lineDashOffset = arg1;
- }, arguments);
- };
- imports.wbg.__wbg_setlineDashOffset_59f274962f6a0553 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).lineDashOffset = arg1;
- }, arguments);
- };
- imports.wbg.__wbg_setlineJoin_79ca64e7e9efaff7 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).lineJoin = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setlineJoin_7e005d90ef83d627 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).lineJoin = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setlineWidth_3c8b7156949a9f4b = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).lineWidth = arg1;
- }, arguments);
- };
- imports.wbg.__wbg_setlineWidth_ec730c524f09baa9 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).lineWidth = arg1;
- }, arguments);
- };
- imports.wbg.__wbg_setmiterLimit_26162c359bb28eb2 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).miterLimit = arg1;
- }, arguments);
- };
- imports.wbg.__wbg_setmiterLimit_9ffca64ec692501d = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).miterLimit = arg1;
- }, arguments);
- };
- imports.wbg.__wbg_setonerror_e94ca1221abc457f = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).onerror = getObject(arg1);
- }, arguments);
- };
- imports.wbg.__wbg_setonload_264a0d330b7166fb = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).onload = getObject(arg1);
- }, arguments);
- };
- imports.wbg.__wbg_setsrc_c239193cc7ab0470 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).src = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setstrokeStyle_070920f27992b9a6 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).strokeStyle = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setstrokeStyle_415833f3f0eb5076 = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).strokeStyle = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_settype_39ed370d3edd403c = function() {
- return logError(function(arg0, arg1, arg2) {
- getObject(arg0).type = getStringFromWasm0(arg1, arg2);
- }, arguments);
- };
- imports.wbg.__wbg_setwidth_c5fed9f5e7f0b406 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).width = arg1 >>> 0;
- }, arguments);
- };
- imports.wbg.__wbg_stack_0ed75d68575b0f3c = function() {
- return logError(function(arg0, arg1) {
- const ret = getObject(arg1).stack;
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- }, arguments);
- };
- imports.wbg.__wbg_static_accessor_GLOBAL_88a902d13a557d07 = function() {
- return logError(function() {
- const ret = typeof global === "undefined" ? null : global;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_static_accessor_GLOBAL_THIS_56578be7e9f832b0 = function() {
- return logError(function() {
- const ret = typeof globalThis === "undefined" ? null : globalThis;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_static_accessor_SELF_37c5d418e4bf5819 = function() {
- return logError(function() {
- const ret = typeof self === "undefined" ? null : self;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_static_accessor_WINDOW_5de37043a91a9c40 = function() {
- return logError(function() {
- const ret = typeof window === "undefined" ? null : window;
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_stringify_f7ed6987935b4a24 = function() {
- return handleError(function(arg0) {
- const ret = JSON.stringify(getObject(arg0));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_stroke_1b0348380fb5a54b = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).stroke(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_stroke_e9b15e77122a9be9 = function() {
- return logError(function(arg0, arg1) {
- getObject(arg0).stroke(getObject(arg1));
- }, arguments);
- };
- imports.wbg.__wbg_style_fb30c14e5815805c = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).style;
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_then_44b73946d2fb3e7d = function() {
- return logError(function(arg0, arg1) {
- const ret = getObject(arg0).then(getObject(arg1));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_then_48b406749878a531 = function() {
- return logError(function(arg0, arg1, arg2) {
- const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_transferToImageBitmap_4b1cc41c0f7e5de5 = function() {
- return handleError(function(arg0) {
- const ret = getObject(arg0).transferToImageBitmap();
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_typstrenderer_new = function() {
- return logError(function(arg0) {
- const ret = TypstRenderer.__wrap(arg0);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbg_warn_4ca3906c248c47c4 = function() {
- return logError(function(arg0) {
- console.warn(getObject(arg0));
- }, arguments);
- };
- imports.wbg.__wbg_width_2fafd30484634e26 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).width;
- return ret;
- }, arguments);
- };
- imports.wbg.__wbg_width_4f334fc47ef03de1 = function() {
- return logError(function(arg0) {
- const ret = getObject(arg0).width;
- _assertNum(ret);
- return ret;
- }, arguments);
- };
- imports.wbg.__wbindgen_cb_drop = function(arg0) {
- const obj = takeObject(arg0).original;
- if (obj.cnt-- == 1) {
- obj.a = 0;
- return true;
- }
- const ret = false;
- _assertBoolean(ret);
- return ret;
- };
- imports.wbg.__wbindgen_closure_wrapper1642 = function() {
- return logError(function(arg0, arg1, arg2) {
- const ret = makeClosure(arg0, arg1, 144, __wbg_adapter_26);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbindgen_closure_wrapper1643 = function() {
- return logError(function(arg0, arg1, arg2) {
- const ret = makeClosure(arg0, arg1, 144, __wbg_adapter_29);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbindgen_closure_wrapper2286 = function() {
- return logError(function(arg0, arg1, arg2) {
- const ret = makeMutClosure(arg0, arg1, 144, __wbg_adapter_32);
- return addHeapObject(ret);
- }, arguments);
- };
- imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
- const ret = debugString(getObject(arg1));
- const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- const len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- };
- imports.wbg.__wbindgen_is_function = function(arg0) {
- const ret = typeof getObject(arg0) === "function";
- _assertBoolean(ret);
- return ret;
- };
- imports.wbg.__wbindgen_is_undefined = function(arg0) {
- const ret = getObject(arg0) === void 0;
- _assertBoolean(ret);
- return ret;
- };
- imports.wbg.__wbindgen_jsval_eq = function(arg0, arg1) {
- const ret = getObject(arg0) === getObject(arg1);
- _assertBoolean(ret);
- return ret;
- };
- imports.wbg.__wbindgen_memory = function() {
- const ret = wasm.memory;
- return addHeapObject(ret);
- };
- imports.wbg.__wbindgen_number_new = function(arg0) {
- const ret = arg0;
- return addHeapObject(ret);
- };
- imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
- const ret = getObject(arg0);
- return addHeapObject(ret);
- };
- imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
- takeObject(arg0);
- };
- imports.wbg.__wbindgen_string_get = function(arg0, arg1) {
- const obj = getObject(arg1);
- const ret = typeof obj === "string" ? obj : void 0;
- var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_1, wasm.__wbindgen_export_2);
- var len1 = WASM_VECTOR_LEN;
- getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
- getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
- };
- imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
- const ret = getStringFromWasm0(arg0, arg1);
- return addHeapObject(ret);
- };
- imports.wbg.__wbindgen_throw = function(arg0, arg1) {
- throw new Error(getStringFromWasm0(arg0, arg1));
- };
- return imports;
-}
-function __wbg_finalize_init(instance, module) {
- wasm = instance.exports;
- __wbg_init.__wbindgen_wasm_module = module;
- cachedDataViewMemory0 = null;
- cachedUint32ArrayMemory0 = null;
- cachedUint8ArrayMemory0 = null;
- return wasm;
-}
-function initSync(module) {
- if (wasm !== void 0) return wasm;
- if (typeof module !== "undefined") {
- if (Object.getPrototypeOf(module) === Object.prototype) {
- ({ module } = module);
- } else {
- console.warn("using deprecated parameters for `initSync()`; pass a single object instead");
- }
- }
- const imports = __wbg_get_imports();
- if (!(module instanceof WebAssembly.Module)) {
- module = new WebAssembly.Module(module);
- }
- const instance = new WebAssembly.Instance(module, imports);
- return __wbg_finalize_init(instance, module);
-}
-async function __wbg_init(module_or_path) {
- if (wasm !== void 0) return wasm;
- if (typeof module_or_path !== "undefined") {
- if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
- ({ module_or_path } = module_or_path);
- } else {
- console.warn("using deprecated parameters for the initialization function; pass a single object instead");
- }
- }
- if (typeof module_or_path === "undefined") {
- module_or_path = importWasmModule("typst_ts_renderer_bg.wasm", import.meta.url);
- }
- const imports = __wbg_get_imports();
- if (typeof module_or_path === "string" || typeof Request === "function" && module_or_path instanceof Request || typeof URL === "function" && module_or_path instanceof URL) {
- module_or_path = fetch(module_or_path);
- }
- const { instance, module } = await __wbg_load(await module_or_path, imports);
- return __wbg_finalize_init(instance, module);
-}
-let importWasmModule = async function(wasm_name, url) {
- throw new Error("Cannot import wasm module without importer: " + wasm_name + " " + url);
-};
-function setImportWasmModule(importer) {
- importWasmModule = importer;
-}
-let nodeJsImportWasmModule = async function(wasm_name, url) {
- const escapeImport = new Function("m", "return import(m)");
- const path = await escapeImport("path");
- const { readFileSync } = await escapeImport("fs");
- const wasmPath = new URL(path.join(path.dirname(url), wasm_name));
- return await readFileSync(wasmPath).buffer;
-};
-const isNode = typeof process !== "undefined" && process.versions != null && process.versions.node != null;
-if (isNode) {
- setImportWasmModule(nodeJsImportWasmModule);
-}
-const wasmPackShim = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
- __proto__: null,
- CreateSessionOptions,
- IncrDomDocClient,
- PageInfo,
- PagesInfo,
- RenderPageImageOptions,
- RenderSession: RenderSession2,
- RenderSessionOptions,
- TypstRenderer,
- TypstRendererBuilder,
- TypstWorker: TypstWorker2,
- WorkerBridge,
- default: __wbg_init,
- initSync,
- renderer_build_info,
- setImportWasmModule
-}, Symbol.toStringTag, { value: "Module" }));
diff --git a/dist/internal/svg_utils.js b/dist/internal/svg_utils.js
deleted file mode 100644
index 3ec84e7..0000000
--- a/dist/internal/svg_utils.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";const O=function(){const t={};let e,s;return function(o,l,r){s=new Date().getTime(),r=r||"ignored event",e=t[r]?s-t[r]:s,e>l&&(t[r]=s,o())}}(),G=(t,e)=>{const s=[];for(let o=0;o!(t.righte.right||t.bottome.bottom),V=(t,e)=>{const s=t.getBoundingClientRect(),o=e.getBoundingClientRect();return X(s,o)&&Math.abs(s.left-o.left)+Math.abs(s.right-o.right)<.5*Math.max(s.width,o.width)&&Math.abs(s.bottom-o.bottom)+Math.abs(s.top-o.top)<.5*Math.max(s.height,o.height)},Y=window.typstGetRelatedElements=t=>{let e=t.relatedElements;return e==null&&(e=t.relatedElements=K(t)),e},k=(t,e)=>{for(;t&&!t.classList.contains(e);)t=t.parentElement;return t};function J(t){const e=k(t,"typst-text");return e&&G(e.children,s=>s.tagName==="use")}const K=function(t){const e=k(t,"typst-group");return e&&G(e.children,s=>V(s,t))};function Q(t){return t.map(e=>{const s=e.getAttribute("href"),o=document.getElementById(s.slice(1));return 1+Number.parseInt((o==null?void 0:o.getAttribute("data-liga-len"))||"0")})}function U(t){return t.map(e=>Number.parseInt(e.getAttribute("x")||"0"))}const I=t=>O(()=>{var e;return(e=Y(t))==null?void 0:e.forEach(s=>s.classList.add("hover"))},200,"mouse-move"),H=t=>{var e;return(e=Y(t))==null?void 0:e.forEach(s=>s.classList.remove("hover"))},Z=(t,e)=>()=>{var o,l;const s=((o=e.parentElement)==null?void 0:o.getAttribute("href"))||((l=e.parentElement)==null?void 0:l.getAttribute("xlink:href"));t.getAttribute("href")!==s&&t.setAttribute("href",s||"")};window.typstProcessSvg=function(t,e){for(var s=t.getElementsByClassName("pseudo-link"),o=0;oI(h.target)),l.addEventListener("mouseleave",h=>H(h.target))}if(((e==null?void 0:e.layoutText)??!0)&&setTimeout(()=>{const h=document.createElement("style");h.innerHTML=`.tsel { font-family: monospace; text-align-last: left !important; -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none; overflow: hidden; }
-.tsel span { position: relative !important; width: fit-content !important; }`,document.getElementsByTagName("head")[0].appendChild(h),window.layoutText(t)},0),t.addEventListener("click",h=>{let p=h.target;for(;p;){const y=p.getAttribute("data-span");if(y){console.log("source-span of this svg element",y);const a=document.body||document.firstElementChild,B=a.getBoundingClientRect(),c=window.innerWidth||0,L=h.clientX-B.left+.015*c,C=h.clientY-B.top+.015*c;D(a,L,C,"typst-debug-react-ripple","typst-debug-react-ripple-effect .4s linear");return}p=p.parentElement}}),window.location.hash){const p=window.location.hash.split("-");if(p.length===2&&p[0]==="#loc"){const y=p[1].split("x");if(y.length===3){const a=Number.parseInt(y[0]),B=Number.parseFloat(y[1]),c=Number.parseFloat(y[2]);window.handleTypstLocation(t,a,B,c)}}}};const W=`
-`.codePointAt(0);window.layoutText=async function(t){var M;const e=Array.from(t.querySelectorAll(".tsel, .typst-content-hint, .pseudo-link")),s=performance.now(),o=document.createElementNS("http://www.w3.org/1999/xhtml","canvas").getContext("2d");o.font="128px monospace";const l=o.measureText("A").width,r=t.getBoundingClientRect(),h=r.left+window.scrollX,p=r.top+window.scrollY,y=(d,m,u)=>{var n=d.getScreenCTM();return n?{x:n.a*m+n.c*u+n.e-h,y:n.b*m+n.d*u+n.f-p}:{x:0,y:0}};let a;const B=t.parentElement;if(!B)a=void 0;else if((M=t.nextElementSibling)!=null&&M.classList.contains("typst-semantic-layer"))a=t.nextElementSibling;else{a=document.createElement("div");const d=document.createElement("div");d.style.position="relative",B.replaceChild(d,t),d.appendChild(t),d.appendChild(a),a.classList.add("typst-semantic-layer"),a.style.position="absolute",a.style.left="0",a.style.top="0",a.style.zIndex="1",a.style.float="left";const m=t.getAttribute("width");a.style.width=`${m}px`;const u=t.getAttribute("height");a.style.height=`${u}px`}let c={left:0,right:0,bottom:0,top:0},L=[];const C=(d,m="span")=>{const u=document.createElement(m),n=d.getBBox(),f=y(d,n.x,n.y),i=y(d,n.x+n.width,n.y+n.height),b=Math.min(f.x,i.x)+window.scrollX,v=Math.min(f.y,i.y)+window.scrollY,E=Math.abs(f.x-i.x),S=Math.abs(f.y-i.y),g=S/2,A={left:b-g,top:v-g,right:b+E+g,bottom:v+S+g};return X(c,A)?(c.left=Math.min(c.left,A.left),c.top=Math.min(c.top,A.top),c.right=Math.max(c.right,A.right),c.bottom=Math.max(c.bottom,A.bottom)):(L.push([u,c]),c=A),u.classList.add("tsel"),u.style.position="absolute",u.style.left=`${b}px`,u.style.top=`${v}px`,u.style.width=`${E}px`,u.style.height=`${S}px`,u},$=(d,m)=>{const u=e.slice(d,m);for(let n of u){const f=n.parentElement;if(a){if(n.classList.contains("typst-content-hint")){const i=C(n);i.style.fontSize="0.1px",i.style.width="0.1px",i.style.height="0.1px";const x=Number.parseInt(n.getAttribute("data-hint")||"0",16)||W;i.innerHTML=x===W?"
":`${x.toString(16)};`,a.append(i);continue}else if(n.classList.contains("pseudo-link")){const i=C(n,"a");i.style.cursor="pointer",i.addEventListener("mousemove",()=>I(n)),i.addEventListener("mouseleave",()=>H(n)),i.onclick=()=>{n.dispatchEvent(new MouseEvent("click",{bubbles:!0}))},i.addEventListener("mouseenter",()=>{var b,w;const x=((b=n.parentElement)==null?void 0:b.getAttribute("href"))||((w=n.parentElement)==null?void 0:w.getAttribute("xlink:href"));i.getAttribute("href")!==x&&i.setAttribute("href",x||"")}),a.append(i);continue}}if(n.style.fontSize){const i=[],x=n.innerText,b=l*Number.parseFloat(n.style.fontSize)/128;{const w=J(n);if(!w)continue;const v=Q(w),E=U(w).map(R=>R/16);let S=!1,g=0,A=0,z,P=0;for(let R of x){if(g>=E.length){S=!0;break}let F=E[g];v[g]>1&&(F+=A*b),A++,A>=v[g]&&(g++,A=0);const N=document.createElement("span");N.textContent=R,N.classList.add("tsel-tok"),z&&(z.style.letterSpacing=`${F-P-b}px`),z=N,P=F,i.push(N)}if(S)continue}if(n.innerHTML="",a){const w=Number.parseFloat(n.style.fontSize||"0"),v=Math.abs(y(f,0,w).y-y(f,0,0).y);{const S=v/w;for(let g of i)g.style.letterSpacing=`${Number.parseFloat(g.style.letterSpacing||"0")*S}px`}const E=C(f);E.style.fontSize=`${v}px`,E.append(...i),a.append(E)}else n.append(...i)}}console.log(`layoutText ${e.length} elements used since ${performance.now()-s} ms`)},T=100;for(let d=0;d{setTimeout(()=>{$(m,m+T),u(void 0)})})}if(a&&c.right!=0&&L.push([null,c]),a){const d=performance.now();let m=0;for(let[u,n]of L){if(m{location.hash=`loc-${c}x${L.toFixed(2)}x${C.toFixed(2)}`});let p=t;const y=c=>{var E,S,g;const L=window.innerWidth*.01,C=window.innerHeight*.01,$=Number.parseFloat(p.getAttribute("data-width")||p.getAttribute("width")||"0")||0,T=Number.parseFloat(p.getAttribute("data-height")||p.getAttribute("height")||"0")||0,M=p.getBoundingClientRect(),d={left:M.left,top:M.top,width:M.width,height:M.height},m=7*L,u=38.2*C,n=(g=(S=(E=c.transform)==null?void 0:E.baseVal)==null?void 0:S.consolidate())==null?void 0:g.matrix;n&&(d.left+=n.e/$*d.width,d.top+=n.f/T*d.height);const f=document.body||document.firstElementChild,i=f.getBoundingClientRect(),x=d.left-i.left+s/$*d.width-m,b=d.top-i.top+o/T*d.height-u,w=x+m,v=b+u;window.scrollTo({behavior:r,left:x,top:b}),r!=="instant"&&D(f,w,v,"typst-jump-ripple","typst-jump-ripple-effect .4s linear"),h(e,s,o)};if(l!=null&&l.isDom){y(p);return}if(p=k(t,"typst-doc"),!p){console.warn("no typst-doc or typst-svg-page found",t);return}const a=p.children;let B=0;for(let c=0;c{t.removeChild(r)}}var j=document.currentScript;if(j){console.log("new svg util updated 37 ",performance.now());const t=k(j,"typst-doc");t&&window.typstProcessSvg(t)}function q(t,e,s){const o=t.getBoundingClientRect();if(!(e[0]o.right+1||e[1]o.bottom+1)){if(t.classList.contains("pseudo-link"))return t;for(let l=0;l{O(()=>{var l;if(((l=o.target)==null?void 0:l.tagName)==="A"){const r=o.target;if(r.cachedTarget)return;const h=q(e,[o.clientX,o.clientY],o.target);if(h){h.dispatchEvent(new MouseEvent("mousemove",{bubbles:!0}));const p=Z(h,r);r.addEventListener("mouseenter",()=>{h.dispatchEvent(new MouseEvent("mouseenter",{bubbles:!0})),p()}),r.addEventListener("mousemove",()=>{h.dispatchEvent(new MouseEvent("mousemove",{bubbles:!0})),I(h)}),r.addEventListener("mouseleave",()=>{h.dispatchEvent(new MouseEvent("mouseleave",{bubbles:!0})),H(h)})}}},100,"mouseenter")})};
diff --git a/dist/internal/typst_ts_renderer_bg.wasm b/dist/internal/typst_ts_renderer_bg.wasm
deleted file mode 100644
index e6fccb7..0000000
Binary files a/dist/internal/typst_ts_renderer_bg.wasm and /dev/null differ
diff --git a/dist/searchindex.js b/dist/searchindex.js
deleted file mode 100644
index 2582a30..0000000
--- a/dist/searchindex.js
+++ /dev/null
@@ -1 +0,0 @@
-Object.assign(window.search, {"doc_urls":["S2/ExPhyII/VL/ExIIVL1.html"],"index":{"documentStore":{"docInfo":{"0":{"body":15,"breadcrumbs":1,"title":1}},"docs":{"0":{"body":"ExPhy II\nVorlesung 1\n16.04.2025\nJonas Hahn\nInhaltsverzeichnisOrganisatorisches ......................................................................................... 1Behandelte Themen ................................................................................... 1Literatur ................................................................................................ 10. Einleitung ............................................................................................... 10.1 Vektrora","breadcrumbs":"Installation","id":"0","title":"Installation"}},"length":1,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"1":{"0":{".":{"1":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"0":{"tf":1.0}}},"6":{".":{"0":{"4":{".":{"2":{"0":{"2":{"5":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"0":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}}}},"breadcrumbs":{"root":{"1":{"0":{".":{"1":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"0":{"tf":1.0}}},"6":{".":{"0":{"4":{".":{"2":{"0":{"2":{"5":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"0":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}}}},"title":{"root":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}});
\ No newline at end of file
diff --git a/dist/searchindex.json b/dist/searchindex.json
deleted file mode 100644
index fd1fe8b..0000000
--- a/dist/searchindex.json
+++ /dev/null
@@ -1 +0,0 @@
-{"doc_urls":["S2/ExPhyII/VL/ExIIVL1.html"],"index":{"documentStore":{"docInfo":{"0":{"body":15,"breadcrumbs":1,"title":1}},"docs":{"0":{"body":"ExPhy II\nVorlesung 1\n16.04.2025\nJonas Hahn\nInhaltsverzeichnisOrganisatorisches ......................................................................................... 1Behandelte Themen ................................................................................... 1Literatur ................................................................................................ 10. Einleitung ............................................................................................... 10.1 Vektrora","breadcrumbs":"Installation","id":"0","title":"Installation"}},"length":1,"save":true},"fields":["title","body","breadcrumbs"],"index":{"body":{"root":{"1":{"0":{".":{"1":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"0":{"tf":1.0}}},"6":{".":{"0":{"4":{".":{"2":{"0":{"2":{"5":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"0":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}}}},"breadcrumbs":{"root":{"1":{"0":{".":{"1":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":1,"docs":{"0":{"tf":1.0}}},"6":{".":{"0":{"4":{".":{"2":{"0":{"2":{"5":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"df":0,"docs":{}},"b":{"df":0,"docs":{},"e":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"n":{"d":{"df":0,"docs":{},"e":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}},"df":0,"docs":{}}}},"df":1,"docs":{"0":{"tf":1.0}},"l":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"r":{"df":1,"docs":{"0":{"tf":1.0}}}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"df":0,"docs":{},"t":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}},"x":{"df":0,"docs":{},"p":{"df":0,"docs":{},"h":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}}}}}},"h":{"a":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}},"df":0,"docs":{}},"i":{"df":0,"docs":{},"i":{"df":1,"docs":{"0":{"tf":1.0}}},"n":{"df":0,"docs":{},"h":{"a":{"df":0,"docs":{},"l":{"df":0,"docs":{},"t":{"df":0,"docs":{},"s":{"df":0,"docs":{},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"r":{"df":0,"docs":{},"z":{"df":0,"docs":{},"e":{"df":0,"docs":{},"i":{"c":{"df":0,"docs":{},"h":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"g":{"a":{"df":0,"docs":{},"n":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"a":{"df":0,"docs":{},"t":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"i":{"df":0,"docs":{},"s":{"c":{"df":0,"docs":{},"h":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}}}},"df":0,"docs":{}}}}},"df":0,"docs":{}}}}}}}}},"df":0,"docs":{}}}}}}}}}}},"df":0,"docs":{}},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.4142135623730951}}}},"df":0,"docs":{}}}}},"j":{"df":0,"docs":{},"o":{"df":0,"docs":{},"n":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}},"t":{"df":0,"docs":{},"h":{"df":0,"docs":{},"e":{"df":0,"docs":{},"m":{"df":0,"docs":{},"e":{"df":0,"docs":{},"n":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}},"v":{"df":0,"docs":{},"e":{"df":0,"docs":{},"k":{"df":0,"docs":{},"t":{"df":0,"docs":{},"r":{"df":0,"docs":{},"o":{"df":0,"docs":{},"r":{"a":{"df":1,"docs":{"0":{"tf":1.0}}},"df":0,"docs":{}}}}}}},"o":{"df":0,"docs":{},"r":{"df":0,"docs":{},"l":{"df":0,"docs":{},"e":{"df":0,"docs":{},"s":{"df":0,"docs":{},"u":{"df":0,"docs":{},"n":{"df":0,"docs":{},"g":{"df":1,"docs":{"0":{"tf":1.0}}}}}}}}}}}}},"title":{"root":{"df":0,"docs":{},"i":{"df":0,"docs":{},"n":{"df":0,"docs":{},"s":{"df":0,"docs":{},"t":{"a":{"df":0,"docs":{},"l":{"df":1,"docs":{"0":{"tf":1.0}}}},"df":0,"docs":{}}}}}}}},"lang":"English","pipeline":["trimmer","stopWordFilter","stemmer"],"ref":"id","version":"0.9.5"},"results_options":{"limit_results":30,"teaser_word_count":30},"search_options":{"bool":"OR","expand":true,"fields":{"body":{"boost":1},"breadcrumbs":{"boost":1},"title":{"boost":2}}}}
\ No newline at end of file
diff --git a/dist/theme/FontAwesome/css/font-awesome.css b/dist/theme/FontAwesome/css/font-awesome.css
deleted file mode 100644
index e6573a9..0000000
--- a/dist/theme/FontAwesome/css/font-awesome.css
+++ /dev/null
@@ -1,3049 +0,0 @@
-/*!
- * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
- * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- */
-@font-face {
- font-family: 'FontAwesome';
- src: url('../fonts/fontawesome-webfont.eot?v=4.7.0');
- src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),
- url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
- url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),
- url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),
- url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
- font-weight: normal;
- font-style: normal;
-}
-
-.fa {
- display: inline-block;
- font: normal normal normal 14px/1 FontAwesome;
- font-size: inherit;
- text-rendering: auto;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
-}
-
-.fa-lg {
- font-size: 1.33333333em;
- line-height: 0.75em;
- vertical-align: -15%;
-}
-
-.fa-2x {
- font-size: 2em;
-}
-
-.fa-3x {
- font-size: 3em;
-}
-
-.fa-4x {
- font-size: 4em;
-}
-
-.fa-5x {
- font-size: 5em;
-}
-
-.fa-fw {
- width: 1.28571429em;
- text-align: center;
-}
-
-.fa-ul {
- padding-left: 0;
- margin-left: 2.14285714em;
- list-style-type: none;
-}
-
-.fa-ul > li {
- position: relative;
-}
-
-.fa-li {
- position: absolute;
- left: -2.14285714em;
- width: 2.14285714em;
- top: 0.14285714em;
- text-align: center;
-}
-
-.fa-li.fa-lg {
- left: -1.85714286em;
-}
-
-.fa-border {
- padding: 0.2em 0.25em 0.15em;
- border: solid 0.08em #eee;
- border-radius: 0.1em;
-}
-
-.fa-pull-left {
- float: left;
-}
-
-.fa-pull-right {
- float: right;
-}
-
-.fa.fa-pull-left {
- margin-right: 0.3em;
-}
-
-.fa.fa-pull-right {
- margin-left: 0.3em;
-}
-
-.pull-right {
- float: right;
-}
-
-.pull-left {
- float: left;
-}
-
-.fa.pull-left {
- margin-right: 0.3em;
-}
-
-.fa.pull-right {
- margin-left: 0.3em;
-}
-
-.fa-spin {
- -webkit-animation: fa-spin 2s infinite linear;
- animation: fa-spin 2s infinite linear;
-}
-
-.fa-pulse {
- -webkit-animation: fa-spin 1s infinite steps(8);
- animation: fa-spin 1s infinite steps(8);
-}
-
-@-webkit-keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
-
- 100% {
- -webkit-transform: rotate(359deg);
- transform: rotate(359deg);
- }
-}
-
-@keyframes fa-spin {
- 0% {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg);
- }
-
- 100% {
- -webkit-transform: rotate(359deg);
- transform: rotate(359deg);
- }
-}
-
-.fa-rotate-90 {
- -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';
- -webkit-transform: rotate(90deg);
- -ms-transform: rotate(90deg);
- transform: rotate(90deg);
-}
-
-.fa-rotate-180 {
- -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';
- -webkit-transform: rotate(180deg);
- -ms-transform: rotate(180deg);
- transform: rotate(180deg);
-}
-
-.fa-rotate-270 {
- -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';
- -webkit-transform: rotate(270deg);
- -ms-transform: rotate(270deg);
- transform: rotate(270deg);
-}
-
-.fa-flip-horizontal {
- -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)';
- -webkit-transform: scale(-1, 1);
- -ms-transform: scale(-1, 1);
- transform: scale(-1, 1);
-}
-
-.fa-flip-vertical {
- -ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)';
- -webkit-transform: scale(1, -1);
- -ms-transform: scale(1, -1);
- transform: scale(1, -1);
-}
-
-:root .fa-rotate-90,
-:root .fa-rotate-180,
-:root .fa-rotate-270,
-:root .fa-flip-horizontal,
-:root .fa-flip-vertical {
- filter: none;
-}
-
-.fa-stack {
- position: relative;
- display: inline-block;
- width: 2em;
- height: 2em;
- line-height: 2em;
- vertical-align: middle;
-}
-
-.fa-stack-1x,
-.fa-stack-2x {
- position: absolute;
- left: 0;
- width: 100%;
- text-align: center;
-}
-
-.fa-stack-1x {
- line-height: inherit;
-}
-
-.fa-stack-2x {
- font-size: 2em;
-}
-
-.fa-inverse {
- color: #fff;
-}
-
-.fa-glass:before {
- content: '\f000';
-}
-
-.fa-music:before {
- content: '\f001';
-}
-
-.fa-search:before {
- content: '\f002';
-}
-
-.fa-envelope-o:before {
- content: '\f003';
-}
-
-.fa-heart:before {
- content: '\f004';
-}
-
-.fa-star:before {
- content: '\f005';
-}
-
-.fa-star-o:before {
- content: '\f006';
-}
-
-.fa-user:before {
- content: '\f007';
-}
-
-.fa-film:before {
- content: '\f008';
-}
-
-.fa-th-large:before {
- content: '\f009';
-}
-
-.fa-th:before {
- content: '\f00a';
-}
-
-.fa-th-list:before {
- content: '\f00b';
-}
-
-.fa-check:before {
- content: '\f00c';
-}
-
-.fa-remove:before,
-.fa-close:before,
-.fa-times:before {
- content: '\f00d';
-}
-
-.fa-search-plus:before {
- content: '\f00e';
-}
-
-.fa-search-minus:before {
- content: '\f010';
-}
-
-.fa-power-off:before {
- content: '\f011';
-}
-
-.fa-signal:before {
- content: '\f012';
-}
-
-.fa-gear:before,
-.fa-cog:before {
- content: '\f013';
-}
-
-.fa-trash-o:before {
- content: '\f014';
-}
-
-.fa-home:before {
- content: '\f015';
-}
-
-.fa-file-o:before {
- content: '\f016';
-}
-
-.fa-clock-o:before {
- content: '\f017';
-}
-
-.fa-road:before {
- content: '\f018';
-}
-
-.fa-download:before {
- content: '\f019';
-}
-
-.fa-arrow-circle-o-down:before {
- content: '\f01a';
-}
-
-.fa-arrow-circle-o-up:before {
- content: '\f01b';
-}
-
-.fa-inbox:before {
- content: '\f01c';
-}
-
-.fa-play-circle-o:before {
- content: '\f01d';
-}
-
-.fa-rotate-right:before,
-.fa-repeat:before {
- content: '\f01e';
-}
-
-.fa-refresh:before {
- content: '\f021';
-}
-
-.fa-list-alt:before {
- content: '\f022';
-}
-
-.fa-lock:before {
- content: '\f023';
-}
-
-.fa-flag:before {
- content: '\f024';
-}
-
-.fa-headphones:before {
- content: '\f025';
-}
-
-.fa-volume-off:before {
- content: '\f026';
-}
-
-.fa-volume-down:before {
- content: '\f027';
-}
-
-.fa-volume-up:before {
- content: '\f028';
-}
-
-.fa-qrcode:before {
- content: '\f029';
-}
-
-.fa-barcode:before {
- content: '\f02a';
-}
-
-.fa-tag:before {
- content: '\f02b';
-}
-
-.fa-tags:before {
- content: '\f02c';
-}
-
-.fa-book:before {
- content: '\f02d';
-}
-
-.fa-bookmark:before {
- content: '\f02e';
-}
-
-.fa-print:before {
- content: '\f02f';
-}
-
-.fa-camera:before {
- content: '\f030';
-}
-
-.fa-font:before {
- content: '\f031';
-}
-
-.fa-bold:before {
- content: '\f032';
-}
-
-.fa-italic:before {
- content: '\f033';
-}
-
-.fa-text-height:before {
- content: '\f034';
-}
-
-.fa-text-width:before {
- content: '\f035';
-}
-
-.fa-align-left:before {
- content: '\f036';
-}
-
-.fa-align-center:before {
- content: '\f037';
-}
-
-.fa-align-right:before {
- content: '\f038';
-}
-
-.fa-align-justify:before {
- content: '\f039';
-}
-
-.fa-list:before {
- content: '\f03a';
-}
-
-.fa-dedent:before,
-.fa-outdent:before {
- content: '\f03b';
-}
-
-.fa-indent:before {
- content: '\f03c';
-}
-
-.fa-video-camera:before {
- content: '\f03d';
-}
-
-.fa-photo:before,
-.fa-image:before,
-.fa-picture-o:before {
- content: '\f03e';
-}
-
-.fa-pencil:before {
- content: '\f040';
-}
-
-.fa-map-marker:before {
- content: '\f041';
-}
-
-.fa-adjust:before {
- content: '\f042';
-}
-
-.fa-tint:before {
- content: '\f043';
-}
-
-.fa-edit:before,
-.fa-pencil-square-o:before {
- content: '\f044';
-}
-
-.fa-share-square-o:before {
- content: '\f045';
-}
-
-.fa-check-square-o:before {
- content: '\f046';
-}
-
-.fa-arrows:before {
- content: '\f047';
-}
-
-.fa-step-backward:before {
- content: '\f048';
-}
-
-.fa-fast-backward:before {
- content: '\f049';
-}
-
-.fa-backward:before {
- content: '\f04a';
-}
-
-.fa-play:before {
- content: '\f04b';
-}
-
-.fa-pause:before {
- content: '\f04c';
-}
-
-.fa-stop:before {
- content: '\f04d';
-}
-
-.fa-forward:before {
- content: '\f04e';
-}
-
-.fa-fast-forward:before {
- content: '\f050';
-}
-
-.fa-step-forward:before {
- content: '\f051';
-}
-
-.fa-eject:before {
- content: '\f052';
-}
-
-.fa-chevron-left:before {
- content: '\f053';
-}
-
-.fa-chevron-right:before {
- content: '\f054';
-}
-
-.fa-plus-circle:before {
- content: '\f055';
-}
-
-.fa-minus-circle:before {
- content: '\f056';
-}
-
-.fa-times-circle:before {
- content: '\f057';
-}
-
-.fa-check-circle:before {
- content: '\f058';
-}
-
-.fa-question-circle:before {
- content: '\f059';
-}
-
-.fa-info-circle:before {
- content: '\f05a';
-}
-
-.fa-crosshairs:before {
- content: '\f05b';
-}
-
-.fa-times-circle-o:before {
- content: '\f05c';
-}
-
-.fa-check-circle-o:before {
- content: '\f05d';
-}
-
-.fa-ban:before {
- content: '\f05e';
-}
-
-.fa-arrow-left:before {
- content: '\f060';
-}
-
-.fa-arrow-right:before {
- content: '\f061';
-}
-
-.fa-arrow-up:before {
- content: '\f062';
-}
-
-.fa-arrow-down:before {
- content: '\f063';
-}
-
-.fa-mail-forward:before,
-.fa-share:before {
- content: '\f064';
-}
-
-.fa-expand:before {
- content: '\f065';
-}
-
-.fa-compress:before {
- content: '\f066';
-}
-
-.fa-plus:before {
- content: '\f067';
-}
-
-.fa-minus:before {
- content: '\f068';
-}
-
-.fa-asterisk:before {
- content: '\f069';
-}
-
-.fa-exclamation-circle:before {
- content: '\f06a';
-}
-
-.fa-gift:before {
- content: '\f06b';
-}
-
-.fa-leaf:before {
- content: '\f06c';
-}
-
-.fa-fire:before {
- content: '\f06d';
-}
-
-.fa-eye:before {
- content: '\f06e';
-}
-
-.fa-eye-slash:before {
- content: '\f070';
-}
-
-.fa-warning:before,
-.fa-exclamation-triangle:before {
- content: '\f071';
-}
-
-.fa-plane:before {
- content: '\f072';
-}
-
-.fa-calendar:before {
- content: '\f073';
-}
-
-.fa-random:before {
- content: '\f074';
-}
-
-.fa-comment:before {
- content: '\f075';
-}
-
-.fa-magnet:before {
- content: '\f076';
-}
-
-.fa-chevron-up:before {
- content: '\f077';
-}
-
-.fa-chevron-down:before {
- content: '\f078';
-}
-
-.fa-retweet:before {
- content: '\f079';
-}
-
-.fa-shopping-cart:before {
- content: '\f07a';
-}
-
-.fa-folder:before {
- content: '\f07b';
-}
-
-.fa-folder-open:before {
- content: '\f07c';
-}
-
-.fa-arrows-v:before {
- content: '\f07d';
-}
-
-.fa-arrows-h:before {
- content: '\f07e';
-}
-
-.fa-bar-chart-o:before,
-.fa-bar-chart:before {
- content: '\f080';
-}
-
-.fa-twitter-square:before {
- content: '\f081';
-}
-
-.fa-facebook-square:before {
- content: '\f082';
-}
-
-.fa-camera-retro:before {
- content: '\f083';
-}
-
-.fa-key:before {
- content: '\f084';
-}
-
-.fa-gears:before,
-.fa-cogs:before {
- content: '\f085';
-}
-
-.fa-comments:before {
- content: '\f086';
-}
-
-.fa-thumbs-o-up:before {
- content: '\f087';
-}
-
-.fa-thumbs-o-down:before {
- content: '\f088';
-}
-
-.fa-star-half:before {
- content: '\f089';
-}
-
-.fa-heart-o:before {
- content: '\f08a';
-}
-
-.fa-sign-out:before {
- content: '\f08b';
-}
-
-.fa-linkedin-square:before {
- content: '\f08c';
-}
-
-.fa-thumb-tack:before {
- content: '\f08d';
-}
-
-.fa-external-link:before {
- content: '\f08e';
-}
-
-.fa-sign-in:before {
- content: '\f090';
-}
-
-.fa-trophy:before {
- content: '\f091';
-}
-
-.fa-github-square:before {
- content: '\f092';
-}
-
-.fa-upload:before {
- content: '\f093';
-}
-
-.fa-lemon-o:before {
- content: '\f094';
-}
-
-.fa-phone:before {
- content: '\f095';
-}
-
-.fa-square-o:before {
- content: '\f096';
-}
-
-.fa-bookmark-o:before {
- content: '\f097';
-}
-
-.fa-phone-square:before {
- content: '\f098';
-}
-
-.fa-twitter:before {
- content: '\f099';
-}
-
-.fa-facebook-f:before,
-.fa-facebook:before {
- content: '\f09a';
-}
-
-.fa-github:before {
- content: '\f09b';
-}
-
-.fa-unlock:before {
- content: '\f09c';
-}
-
-.fa-credit-card:before {
- content: '\f09d';
-}
-
-.fa-feed:before,
-.fa-rss:before {
- content: '\f09e';
-}
-
-.fa-hdd-o:before {
- content: '\f0a0';
-}
-
-.fa-bullhorn:before {
- content: '\f0a1';
-}
-
-.fa-bell:before {
- content: '\f0f3';
-}
-
-.fa-certificate:before {
- content: '\f0a3';
-}
-
-.fa-hand-o-right:before {
- content: '\f0a4';
-}
-
-.fa-hand-o-left:before {
- content: '\f0a5';
-}
-
-.fa-hand-o-up:before {
- content: '\f0a6';
-}
-
-.fa-hand-o-down:before {
- content: '\f0a7';
-}
-
-.fa-arrow-circle-left:before {
- content: '\f0a8';
-}
-
-.fa-arrow-circle-right:before {
- content: '\f0a9';
-}
-
-.fa-arrow-circle-up:before {
- content: '\f0aa';
-}
-
-.fa-arrow-circle-down:before {
- content: '\f0ab';
-}
-
-.fa-globe:before {
- content: '\f0ac';
-}
-
-.fa-wrench:before {
- content: '\f0ad';
-}
-
-.fa-tasks:before {
- content: '\f0ae';
-}
-
-.fa-filter:before {
- content: '\f0b0';
-}
-
-.fa-briefcase:before {
- content: '\f0b1';
-}
-
-.fa-arrows-alt:before {
- content: '\f0b2';
-}
-
-.fa-group:before,
-.fa-users:before {
- content: '\f0c0';
-}
-
-.fa-chain:before,
-.fa-link:before {
- content: '\f0c1';
-}
-
-.fa-cloud:before {
- content: '\f0c2';
-}
-
-.fa-flask:before {
- content: '\f0c3';
-}
-
-.fa-cut:before,
-.fa-scissors:before {
- content: '\f0c4';
-}
-
-.fa-copy:before,
-.fa-files-o:before {
- content: '\f0c5';
-}
-
-.fa-paperclip:before {
- content: '\f0c6';
-}
-
-.fa-save:before,
-.fa-floppy-o:before {
- content: '\f0c7';
-}
-
-.fa-square:before {
- content: '\f0c8';
-}
-
-.fa-navicon:before,
-.fa-reorder:before,
-.fa-bars:before {
- content: '\f0c9';
-}
-
-.fa-list-ul:before {
- content: '\f0ca';
-}
-
-.fa-list-ol:before {
- content: '\f0cb';
-}
-
-.fa-strikethrough:before {
- content: '\f0cc';
-}
-
-.fa-underline:before {
- content: '\f0cd';
-}
-
-.fa-table:before {
- content: '\f0ce';
-}
-
-.fa-magic:before {
- content: '\f0d0';
-}
-
-.fa-truck:before {
- content: '\f0d1';
-}
-
-.fa-pinterest:before {
- content: '\f0d2';
-}
-
-.fa-pinterest-square:before {
- content: '\f0d3';
-}
-
-.fa-google-plus-square:before {
- content: '\f0d4';
-}
-
-.fa-google-plus:before {
- content: '\f0d5';
-}
-
-.fa-money:before {
- content: '\f0d6';
-}
-
-.fa-caret-down:before {
- content: '\f0d7';
-}
-
-.fa-caret-up:before {
- content: '\f0d8';
-}
-
-.fa-caret-left:before {
- content: '\f0d9';
-}
-
-.fa-caret-right:before {
- content: '\f0da';
-}
-
-.fa-columns:before {
- content: '\f0db';
-}
-
-.fa-unsorted:before,
-.fa-sort:before {
- content: '\f0dc';
-}
-
-.fa-sort-down:before,
-.fa-sort-desc:before {
- content: '\f0dd';
-}
-
-.fa-sort-up:before,
-.fa-sort-asc:before {
- content: '\f0de';
-}
-
-.fa-envelope:before {
- content: '\f0e0';
-}
-
-.fa-linkedin:before {
- content: '\f0e1';
-}
-
-.fa-rotate-left:before,
-.fa-undo:before {
- content: '\f0e2';
-}
-
-.fa-legal:before,
-.fa-gavel:before {
- content: '\f0e3';
-}
-
-.fa-dashboard:before,
-.fa-tachometer:before {
- content: '\f0e4';
-}
-
-.fa-comment-o:before {
- content: '\f0e5';
-}
-
-.fa-comments-o:before {
- content: '\f0e6';
-}
-
-.fa-flash:before,
-.fa-bolt:before {
- content: '\f0e7';
-}
-
-.fa-sitemap:before {
- content: '\f0e8';
-}
-
-.fa-umbrella:before {
- content: '\f0e9';
-}
-
-.fa-paste:before,
-.fa-clipboard:before {
- content: '\f0ea';
-}
-
-.fa-lightbulb-o:before {
- content: '\f0eb';
-}
-
-.fa-exchange:before {
- content: '\f0ec';
-}
-
-.fa-cloud-download:before {
- content: '\f0ed';
-}
-
-.fa-cloud-upload:before {
- content: '\f0ee';
-}
-
-.fa-user-md:before {
- content: '\f0f0';
-}
-
-.fa-stethoscope:before {
- content: '\f0f1';
-}
-
-.fa-suitcase:before {
- content: '\f0f2';
-}
-
-.fa-bell-o:before {
- content: '\f0a2';
-}
-
-.fa-coffee:before {
- content: '\f0f4';
-}
-
-.fa-cutlery:before {
- content: '\f0f5';
-}
-
-.fa-file-text-o:before {
- content: '\f0f6';
-}
-
-.fa-building-o:before {
- content: '\f0f7';
-}
-
-.fa-hospital-o:before {
- content: '\f0f8';
-}
-
-.fa-ambulance:before {
- content: '\f0f9';
-}
-
-.fa-medkit:before {
- content: '\f0fa';
-}
-
-.fa-fighter-jet:before {
- content: '\f0fb';
-}
-
-.fa-beer:before {
- content: '\f0fc';
-}
-
-.fa-h-square:before {
- content: '\f0fd';
-}
-
-.fa-plus-square:before {
- content: '\f0fe';
-}
-
-.fa-angle-double-left:before {
- content: '\f100';
-}
-
-.fa-angle-double-right:before {
- content: '\f101';
-}
-
-.fa-angle-double-up:before {
- content: '\f102';
-}
-
-.fa-angle-double-down:before {
- content: '\f103';
-}
-
-.fa-angle-left:before {
- content: '\f104';
-}
-
-.fa-angle-right:before {
- content: '\f105';
-}
-
-.fa-angle-up:before {
- content: '\f106';
-}
-
-.fa-angle-down:before {
- content: '\f107';
-}
-
-.fa-desktop:before {
- content: '\f108';
-}
-
-.fa-laptop:before {
- content: '\f109';
-}
-
-.fa-tablet:before {
- content: '\f10a';
-}
-
-.fa-mobile-phone:before,
-.fa-mobile:before {
- content: '\f10b';
-}
-
-.fa-circle-o:before {
- content: '\f10c';
-}
-
-.fa-quote-left:before {
- content: '\f10d';
-}
-
-.fa-quote-right:before {
- content: '\f10e';
-}
-
-.fa-spinner:before {
- content: '\f110';
-}
-
-.fa-circle:before {
- content: '\f111';
-}
-
-.fa-mail-reply:before,
-.fa-reply:before {
- content: '\f112';
-}
-
-.fa-github-alt:before {
- content: '\f113';
-}
-
-.fa-folder-o:before {
- content: '\f114';
-}
-
-.fa-folder-open-o:before {
- content: '\f115';
-}
-
-.fa-smile-o:before {
- content: '\f118';
-}
-
-.fa-frown-o:before {
- content: '\f119';
-}
-
-.fa-meh-o:before {
- content: '\f11a';
-}
-
-.fa-gamepad:before {
- content: '\f11b';
-}
-
-.fa-keyboard-o:before {
- content: '\f11c';
-}
-
-.fa-flag-o:before {
- content: '\f11d';
-}
-
-.fa-flag-checkered:before {
- content: '\f11e';
-}
-
-.fa-terminal:before {
- content: '\f120';
-}
-
-.fa-code:before {
- content: '\f121';
-}
-
-.fa-mail-reply-all:before,
-.fa-reply-all:before {
- content: '\f122';
-}
-
-.fa-star-half-empty:before,
-.fa-star-half-full:before,
-.fa-star-half-o:before {
- content: '\f123';
-}
-
-.fa-location-arrow:before {
- content: '\f124';
-}
-
-.fa-crop:before {
- content: '\f125';
-}
-
-.fa-code-fork:before {
- content: '\f126';
-}
-
-.fa-unlink:before,
-.fa-chain-broken:before {
- content: '\f127';
-}
-
-.fa-question:before {
- content: '\f128';
-}
-
-.fa-info:before {
- content: '\f129';
-}
-
-.fa-exclamation:before {
- content: '\f12a';
-}
-
-.fa-superscript:before {
- content: '\f12b';
-}
-
-.fa-subscript:before {
- content: '\f12c';
-}
-
-.fa-eraser:before {
- content: '\f12d';
-}
-
-.fa-puzzle-piece:before {
- content: '\f12e';
-}
-
-.fa-microphone:before {
- content: '\f130';
-}
-
-.fa-microphone-slash:before {
- content: '\f131';
-}
-
-.fa-shield:before {
- content: '\f132';
-}
-
-.fa-calendar-o:before {
- content: '\f133';
-}
-
-.fa-fire-extinguisher:before {
- content: '\f134';
-}
-
-.fa-rocket:before {
- content: '\f135';
-}
-
-.fa-maxcdn:before {
- content: '\f136';
-}
-
-.fa-chevron-circle-left:before {
- content: '\f137';
-}
-
-.fa-chevron-circle-right:before {
- content: '\f138';
-}
-
-.fa-chevron-circle-up:before {
- content: '\f139';
-}
-
-.fa-chevron-circle-down:before {
- content: '\f13a';
-}
-
-.fa-html5:before {
- content: '\f13b';
-}
-
-.fa-css3:before {
- content: '\f13c';
-}
-
-.fa-anchor:before {
- content: '\f13d';
-}
-
-.fa-unlock-alt:before {
- content: '\f13e';
-}
-
-.fa-bullseye:before {
- content: '\f140';
-}
-
-.fa-ellipsis-h:before {
- content: '\f141';
-}
-
-.fa-ellipsis-v:before {
- content: '\f142';
-}
-
-.fa-rss-square:before {
- content: '\f143';
-}
-
-.fa-play-circle:before {
- content: '\f144';
-}
-
-.fa-ticket:before {
- content: '\f145';
-}
-
-.fa-minus-square:before {
- content: '\f146';
-}
-
-.fa-minus-square-o:before {
- content: '\f147';
-}
-
-.fa-level-up:before {
- content: '\f148';
-}
-
-.fa-level-down:before {
- content: '\f149';
-}
-
-.fa-check-square:before {
- content: '\f14a';
-}
-
-.fa-pencil-square:before {
- content: '\f14b';
-}
-
-.fa-external-link-square:before {
- content: '\f14c';
-}
-
-.fa-share-square:before {
- content: '\f14d';
-}
-
-.fa-compass:before {
- content: '\f14e';
-}
-
-.fa-toggle-down:before,
-.fa-caret-square-o-down:before {
- content: '\f150';
-}
-
-.fa-toggle-up:before,
-.fa-caret-square-o-up:before {
- content: '\f151';
-}
-
-.fa-toggle-right:before,
-.fa-caret-square-o-right:before {
- content: '\f152';
-}
-
-.fa-euro:before,
-.fa-eur:before {
- content: '\f153';
-}
-
-.fa-gbp:before {
- content: '\f154';
-}
-
-.fa-dollar:before,
-.fa-usd:before {
- content: '\f155';
-}
-
-.fa-rupee:before,
-.fa-inr:before {
- content: '\f156';
-}
-
-.fa-cny:before,
-.fa-rmb:before,
-.fa-yen:before,
-.fa-jpy:before {
- content: '\f157';
-}
-
-.fa-ruble:before,
-.fa-rouble:before,
-.fa-rub:before {
- content: '\f158';
-}
-
-.fa-won:before,
-.fa-krw:before {
- content: '\f159';
-}
-
-.fa-bitcoin:before,
-.fa-btc:before {
- content: '\f15a';
-}
-
-.fa-file:before {
- content: '\f15b';
-}
-
-.fa-file-text:before {
- content: '\f15c';
-}
-
-.fa-sort-alpha-asc:before {
- content: '\f15d';
-}
-
-.fa-sort-alpha-desc:before {
- content: '\f15e';
-}
-
-.fa-sort-amount-asc:before {
- content: '\f160';
-}
-
-.fa-sort-amount-desc:before {
- content: '\f161';
-}
-
-.fa-sort-numeric-asc:before {
- content: '\f162';
-}
-
-.fa-sort-numeric-desc:before {
- content: '\f163';
-}
-
-.fa-thumbs-up:before {
- content: '\f164';
-}
-
-.fa-thumbs-down:before {
- content: '\f165';
-}
-
-.fa-youtube-square:before {
- content: '\f166';
-}
-
-.fa-youtube:before {
- content: '\f167';
-}
-
-.fa-xing:before {
- content: '\f168';
-}
-
-.fa-xing-square:before {
- content: '\f169';
-}
-
-.fa-youtube-play:before {
- content: '\f16a';
-}
-
-.fa-dropbox:before {
- content: '\f16b';
-}
-
-.fa-stack-overflow:before {
- content: '\f16c';
-}
-
-.fa-instagram:before {
- content: '\f16d';
-}
-
-.fa-flickr:before {
- content: '\f16e';
-}
-
-.fa-adn:before {
- content: '\f170';
-}
-
-.fa-bitbucket:before {
- content: '\f171';
-}
-
-.fa-bitbucket-square:before {
- content: '\f172';
-}
-
-.fa-tumblr:before {
- content: '\f173';
-}
-
-.fa-tumblr-square:before {
- content: '\f174';
-}
-
-.fa-long-arrow-down:before {
- content: '\f175';
-}
-
-.fa-long-arrow-up:before {
- content: '\f176';
-}
-
-.fa-long-arrow-left:before {
- content: '\f177';
-}
-
-.fa-long-arrow-right:before {
- content: '\f178';
-}
-
-.fa-apple:before {
- content: '\f179';
-}
-
-.fa-windows:before {
- content: '\f17a';
-}
-
-.fa-android:before {
- content: '\f17b';
-}
-
-.fa-linux:before {
- content: '\f17c';
-}
-
-.fa-dribbble:before {
- content: '\f17d';
-}
-
-.fa-skype:before {
- content: '\f17e';
-}
-
-.fa-foursquare:before {
- content: '\f180';
-}
-
-.fa-trello:before {
- content: '\f181';
-}
-
-.fa-female:before {
- content: '\f182';
-}
-
-.fa-male:before {
- content: '\f183';
-}
-
-.fa-gittip:before,
-.fa-gratipay:before {
- content: '\f184';
-}
-
-.fa-sun-o:before {
- content: '\f185';
-}
-
-.fa-moon-o:before {
- content: '\f186';
-}
-
-.fa-archive:before {
- content: '\f187';
-}
-
-.fa-bug:before {
- content: '\f188';
-}
-
-.fa-vk:before {
- content: '\f189';
-}
-
-.fa-weibo:before {
- content: '\f18a';
-}
-
-.fa-renren:before {
- content: '\f18b';
-}
-
-.fa-pagelines:before {
- content: '\f18c';
-}
-
-.fa-stack-exchange:before {
- content: '\f18d';
-}
-
-.fa-arrow-circle-o-right:before {
- content: '\f18e';
-}
-
-.fa-arrow-circle-o-left:before {
- content: '\f190';
-}
-
-.fa-toggle-left:before,
-.fa-caret-square-o-left:before {
- content: '\f191';
-}
-
-.fa-dot-circle-o:before {
- content: '\f192';
-}
-
-.fa-wheelchair:before {
- content: '\f193';
-}
-
-.fa-vimeo-square:before {
- content: '\f194';
-}
-
-.fa-turkish-lira:before,
-.fa-try:before {
- content: '\f195';
-}
-
-.fa-plus-square-o:before {
- content: '\f196';
-}
-
-.fa-space-shuttle:before {
- content: '\f197';
-}
-
-.fa-slack:before {
- content: '\f198';
-}
-
-.fa-envelope-square:before {
- content: '\f199';
-}
-
-.fa-wordpress:before {
- content: '\f19a';
-}
-
-.fa-openid:before {
- content: '\f19b';
-}
-
-.fa-institution:before,
-.fa-bank:before,
-.fa-university:before {
- content: '\f19c';
-}
-
-.fa-mortar-board:before,
-.fa-graduation-cap:before {
- content: '\f19d';
-}
-
-.fa-yahoo:before {
- content: '\f19e';
-}
-
-.fa-google:before {
- content: '\f1a0';
-}
-
-.fa-reddit:before {
- content: '\f1a1';
-}
-
-.fa-reddit-square:before {
- content: '\f1a2';
-}
-
-.fa-stumbleupon-circle:before {
- content: '\f1a3';
-}
-
-.fa-stumbleupon:before {
- content: '\f1a4';
-}
-
-.fa-delicious:before {
- content: '\f1a5';
-}
-
-.fa-digg:before {
- content: '\f1a6';
-}
-
-.fa-pied-piper-pp:before {
- content: '\f1a7';
-}
-
-.fa-pied-piper-alt:before {
- content: '\f1a8';
-}
-
-.fa-drupal:before {
- content: '\f1a9';
-}
-
-.fa-joomla:before {
- content: '\f1aa';
-}
-
-.fa-language:before {
- content: '\f1ab';
-}
-
-.fa-fax:before {
- content: '\f1ac';
-}
-
-.fa-building:before {
- content: '\f1ad';
-}
-
-.fa-child:before {
- content: '\f1ae';
-}
-
-.fa-paw:before {
- content: '\f1b0';
-}
-
-.fa-spoon:before {
- content: '\f1b1';
-}
-
-.fa-cube:before {
- content: '\f1b2';
-}
-
-.fa-cubes:before {
- content: '\f1b3';
-}
-
-.fa-behance:before {
- content: '\f1b4';
-}
-
-.fa-behance-square:before {
- content: '\f1b5';
-}
-
-.fa-steam:before {
- content: '\f1b6';
-}
-
-.fa-steam-square:before {
- content: '\f1b7';
-}
-
-.fa-recycle:before {
- content: '\f1b8';
-}
-
-.fa-automobile:before,
-.fa-car:before {
- content: '\f1b9';
-}
-
-.fa-cab:before,
-.fa-taxi:before {
- content: '\f1ba';
-}
-
-.fa-tree:before {
- content: '\f1bb';
-}
-
-.fa-spotify:before {
- content: '\f1bc';
-}
-
-.fa-deviantart:before {
- content: '\f1bd';
-}
-
-.fa-soundcloud:before {
- content: '\f1be';
-}
-
-.fa-database:before {
- content: '\f1c0';
-}
-
-.fa-file-pdf-o:before {
- content: '\f1c1';
-}
-
-.fa-file-word-o:before {
- content: '\f1c2';
-}
-
-.fa-file-excel-o:before {
- content: '\f1c3';
-}
-
-.fa-file-powerpoint-o:before {
- content: '\f1c4';
-}
-
-.fa-file-photo-o:before,
-.fa-file-picture-o:before,
-.fa-file-image-o:before {
- content: '\f1c5';
-}
-
-.fa-file-zip-o:before,
-.fa-file-archive-o:before {
- content: '\f1c6';
-}
-
-.fa-file-sound-o:before,
-.fa-file-audio-o:before {
- content: '\f1c7';
-}
-
-.fa-file-movie-o:before,
-.fa-file-video-o:before {
- content: '\f1c8';
-}
-
-.fa-file-code-o:before {
- content: '\f1c9';
-}
-
-.fa-vine:before {
- content: '\f1ca';
-}
-
-.fa-codepen:before {
- content: '\f1cb';
-}
-
-.fa-jsfiddle:before {
- content: '\f1cc';
-}
-
-.fa-life-bouy:before,
-.fa-life-buoy:before,
-.fa-life-saver:before,
-.fa-support:before,
-.fa-life-ring:before {
- content: '\f1cd';
-}
-
-.fa-circle-o-notch:before {
- content: '\f1ce';
-}
-
-.fa-ra:before,
-.fa-resistance:before,
-.fa-rebel:before {
- content: '\f1d0';
-}
-
-.fa-ge:before,
-.fa-empire:before {
- content: '\f1d1';
-}
-
-.fa-git-square:before {
- content: '\f1d2';
-}
-
-.fa-git:before {
- content: '\f1d3';
-}
-
-.fa-y-combinator-square:before,
-.fa-yc-square:before,
-.fa-hacker-news:before {
- content: '\f1d4';
-}
-
-.fa-tencent-weibo:before {
- content: '\f1d5';
-}
-
-.fa-qq:before {
- content: '\f1d6';
-}
-
-.fa-wechat:before,
-.fa-weixin:before {
- content: '\f1d7';
-}
-
-.fa-send:before,
-.fa-paper-plane:before {
- content: '\f1d8';
-}
-
-.fa-send-o:before,
-.fa-paper-plane-o:before {
- content: '\f1d9';
-}
-
-.fa-history:before {
- content: '\f1da';
-}
-
-.fa-circle-thin:before {
- content: '\f1db';
-}
-
-.fa-header:before {
- content: '\f1dc';
-}
-
-.fa-paragraph:before {
- content: '\f1dd';
-}
-
-.fa-sliders:before {
- content: '\f1de';
-}
-
-.fa-share-alt:before {
- content: '\f1e0';
-}
-
-.fa-share-alt-square:before {
- content: '\f1e1';
-}
-
-.fa-bomb:before {
- content: '\f1e2';
-}
-
-.fa-soccer-ball-o:before,
-.fa-futbol-o:before {
- content: '\f1e3';
-}
-
-.fa-tty:before {
- content: '\f1e4';
-}
-
-.fa-binoculars:before {
- content: '\f1e5';
-}
-
-.fa-plug:before {
- content: '\f1e6';
-}
-
-.fa-slideshare:before {
- content: '\f1e7';
-}
-
-.fa-twitch:before {
- content: '\f1e8';
-}
-
-.fa-yelp:before {
- content: '\f1e9';
-}
-
-.fa-newspaper-o:before {
- content: '\f1ea';
-}
-
-.fa-wifi:before {
- content: '\f1eb';
-}
-
-.fa-calculator:before {
- content: '\f1ec';
-}
-
-.fa-paypal:before {
- content: '\f1ed';
-}
-
-.fa-google-wallet:before {
- content: '\f1ee';
-}
-
-.fa-cc-visa:before {
- content: '\f1f0';
-}
-
-.fa-cc-mastercard:before {
- content: '\f1f1';
-}
-
-.fa-cc-discover:before {
- content: '\f1f2';
-}
-
-.fa-cc-amex:before {
- content: '\f1f3';
-}
-
-.fa-cc-paypal:before {
- content: '\f1f4';
-}
-
-.fa-cc-stripe:before {
- content: '\f1f5';
-}
-
-.fa-bell-slash:before {
- content: '\f1f6';
-}
-
-.fa-bell-slash-o:before {
- content: '\f1f7';
-}
-
-.fa-trash:before {
- content: '\f1f8';
-}
-
-.fa-copyright:before {
- content: '\f1f9';
-}
-
-.fa-at:before {
- content: '\f1fa';
-}
-
-.fa-eyedropper:before {
- content: '\f1fb';
-}
-
-.fa-paint-brush:before {
- content: '\f1fc';
-}
-
-.fa-birthday-cake:before {
- content: '\f1fd';
-}
-
-.fa-area-chart:before {
- content: '\f1fe';
-}
-
-.fa-pie-chart:before {
- content: '\f200';
-}
-
-.fa-line-chart:before {
- content: '\f201';
-}
-
-.fa-lastfm:before {
- content: '\f202';
-}
-
-.fa-lastfm-square:before {
- content: '\f203';
-}
-
-.fa-toggle-off:before {
- content: '\f204';
-}
-
-.fa-toggle-on:before {
- content: '\f205';
-}
-
-.fa-bicycle:before {
- content: '\f206';
-}
-
-.fa-bus:before {
- content: '\f207';
-}
-
-.fa-ioxhost:before {
- content: '\f208';
-}
-
-.fa-angellist:before {
- content: '\f209';
-}
-
-.fa-cc:before {
- content: '\f20a';
-}
-
-.fa-shekel:before,
-.fa-sheqel:before,
-.fa-ils:before {
- content: '\f20b';
-}
-
-.fa-meanpath:before {
- content: '\f20c';
-}
-
-.fa-buysellads:before {
- content: '\f20d';
-}
-
-.fa-connectdevelop:before {
- content: '\f20e';
-}
-
-.fa-dashcube:before {
- content: '\f210';
-}
-
-.fa-forumbee:before {
- content: '\f211';
-}
-
-.fa-leanpub:before {
- content: '\f212';
-}
-
-.fa-sellsy:before {
- content: '\f213';
-}
-
-.fa-shirtsinbulk:before {
- content: '\f214';
-}
-
-.fa-simplybuilt:before {
- content: '\f215';
-}
-
-.fa-skyatlas:before {
- content: '\f216';
-}
-
-.fa-cart-plus:before {
- content: '\f217';
-}
-
-.fa-cart-arrow-down:before {
- content: '\f218';
-}
-
-.fa-diamond:before {
- content: '\f219';
-}
-
-.fa-ship:before {
- content: '\f21a';
-}
-
-.fa-user-secret:before {
- content: '\f21b';
-}
-
-.fa-motorcycle:before {
- content: '\f21c';
-}
-
-.fa-street-view:before {
- content: '\f21d';
-}
-
-.fa-heartbeat:before {
- content: '\f21e';
-}
-
-.fa-venus:before {
- content: '\f221';
-}
-
-.fa-mars:before {
- content: '\f222';
-}
-
-.fa-mercury:before {
- content: '\f223';
-}
-
-.fa-intersex:before,
-.fa-transgender:before {
- content: '\f224';
-}
-
-.fa-transgender-alt:before {
- content: '\f225';
-}
-
-.fa-venus-double:before {
- content: '\f226';
-}
-
-.fa-mars-double:before {
- content: '\f227';
-}
-
-.fa-venus-mars:before {
- content: '\f228';
-}
-
-.fa-mars-stroke:before {
- content: '\f229';
-}
-
-.fa-mars-stroke-v:before {
- content: '\f22a';
-}
-
-.fa-mars-stroke-h:before {
- content: '\f22b';
-}
-
-.fa-neuter:before {
- content: '\f22c';
-}
-
-.fa-genderless:before {
- content: '\f22d';
-}
-
-.fa-facebook-official:before {
- content: '\f230';
-}
-
-.fa-pinterest-p:before {
- content: '\f231';
-}
-
-.fa-whatsapp:before {
- content: '\f232';
-}
-
-.fa-server:before {
- content: '\f233';
-}
-
-.fa-user-plus:before {
- content: '\f234';
-}
-
-.fa-user-times:before {
- content: '\f235';
-}
-
-.fa-hotel:before,
-.fa-bed:before {
- content: '\f236';
-}
-
-.fa-viacoin:before {
- content: '\f237';
-}
-
-.fa-train:before {
- content: '\f238';
-}
-
-.fa-subway:before {
- content: '\f239';
-}
-
-.fa-medium:before {
- content: '\f23a';
-}
-
-.fa-yc:before,
-.fa-y-combinator:before {
- content: '\f23b';
-}
-
-.fa-optin-monster:before {
- content: '\f23c';
-}
-
-.fa-opencart:before {
- content: '\f23d';
-}
-
-.fa-expeditedssl:before {
- content: '\f23e';
-}
-
-.fa-battery-4:before,
-.fa-battery:before,
-.fa-battery-full:before {
- content: '\f240';
-}
-
-.fa-battery-3:before,
-.fa-battery-three-quarters:before {
- content: '\f241';
-}
-
-.fa-battery-2:before,
-.fa-battery-half:before {
- content: '\f242';
-}
-
-.fa-battery-1:before,
-.fa-battery-quarter:before {
- content: '\f243';
-}
-
-.fa-battery-0:before,
-.fa-battery-empty:before {
- content: '\f244';
-}
-
-.fa-mouse-pointer:before {
- content: '\f245';
-}
-
-.fa-i-cursor:before {
- content: '\f246';
-}
-
-.fa-object-group:before {
- content: '\f247';
-}
-
-.fa-object-ungroup:before {
- content: '\f248';
-}
-
-.fa-sticky-note:before {
- content: '\f249';
-}
-
-.fa-sticky-note-o:before {
- content: '\f24a';
-}
-
-.fa-cc-jcb:before {
- content: '\f24b';
-}
-
-.fa-cc-diners-club:before {
- content: '\f24c';
-}
-
-.fa-clone:before {
- content: '\f24d';
-}
-
-.fa-balance-scale:before {
- content: '\f24e';
-}
-
-.fa-hourglass-o:before {
- content: '\f250';
-}
-
-.fa-hourglass-1:before,
-.fa-hourglass-start:before {
- content: '\f251';
-}
-
-.fa-hourglass-2:before,
-.fa-hourglass-half:before {
- content: '\f252';
-}
-
-.fa-hourglass-3:before,
-.fa-hourglass-end:before {
- content: '\f253';
-}
-
-.fa-hourglass:before {
- content: '\f254';
-}
-
-.fa-hand-grab-o:before,
-.fa-hand-rock-o:before {
- content: '\f255';
-}
-
-.fa-hand-stop-o:before,
-.fa-hand-paper-o:before {
- content: '\f256';
-}
-
-.fa-hand-scissors-o:before {
- content: '\f257';
-}
-
-.fa-hand-lizard-o:before {
- content: '\f258';
-}
-
-.fa-hand-spock-o:before {
- content: '\f259';
-}
-
-.fa-hand-pointer-o:before {
- content: '\f25a';
-}
-
-.fa-hand-peace-o:before {
- content: '\f25b';
-}
-
-.fa-trademark:before {
- content: '\f25c';
-}
-
-.fa-registered:before {
- content: '\f25d';
-}
-
-.fa-creative-commons:before {
- content: '\f25e';
-}
-
-.fa-gg:before {
- content: '\f260';
-}
-
-.fa-gg-circle:before {
- content: '\f261';
-}
-
-.fa-tripadvisor:before {
- content: '\f262';
-}
-
-.fa-odnoklassniki:before {
- content: '\f263';
-}
-
-.fa-odnoklassniki-square:before {
- content: '\f264';
-}
-
-.fa-get-pocket:before {
- content: '\f265';
-}
-
-.fa-wikipedia-w:before {
- content: '\f266';
-}
-
-.fa-safari:before {
- content: '\f267';
-}
-
-.fa-chrome:before {
- content: '\f268';
-}
-
-.fa-firefox:before {
- content: '\f269';
-}
-
-.fa-opera:before {
- content: '\f26a';
-}
-
-.fa-internet-explorer:before {
- content: '\f26b';
-}
-
-.fa-tv:before,
-.fa-television:before {
- content: '\f26c';
-}
-
-.fa-contao:before {
- content: '\f26d';
-}
-
-.fa-500px:before {
- content: '\f26e';
-}
-
-.fa-amazon:before {
- content: '\f270';
-}
-
-.fa-calendar-plus-o:before {
- content: '\f271';
-}
-
-.fa-calendar-minus-o:before {
- content: '\f272';
-}
-
-.fa-calendar-times-o:before {
- content: '\f273';
-}
-
-.fa-calendar-check-o:before {
- content: '\f274';
-}
-
-.fa-industry:before {
- content: '\f275';
-}
-
-.fa-map-pin:before {
- content: '\f276';
-}
-
-.fa-map-signs:before {
- content: '\f277';
-}
-
-.fa-map-o:before {
- content: '\f278';
-}
-
-.fa-map:before {
- content: '\f279';
-}
-
-.fa-commenting:before {
- content: '\f27a';
-}
-
-.fa-commenting-o:before {
- content: '\f27b';
-}
-
-.fa-houzz:before {
- content: '\f27c';
-}
-
-.fa-vimeo:before {
- content: '\f27d';
-}
-
-.fa-black-tie:before {
- content: '\f27e';
-}
-
-.fa-fonticons:before {
- content: '\f280';
-}
-
-.fa-reddit-alien:before {
- content: '\f281';
-}
-
-.fa-edge:before {
- content: '\f282';
-}
-
-.fa-credit-card-alt:before {
- content: '\f283';
-}
-
-.fa-codiepie:before {
- content: '\f284';
-}
-
-.fa-modx:before {
- content: '\f285';
-}
-
-.fa-fort-awesome:before {
- content: '\f286';
-}
-
-.fa-usb:before {
- content: '\f287';
-}
-
-.fa-product-hunt:before {
- content: '\f288';
-}
-
-.fa-mixcloud:before {
- content: '\f289';
-}
-
-.fa-scribd:before {
- content: '\f28a';
-}
-
-.fa-pause-circle:before {
- content: '\f28b';
-}
-
-.fa-pause-circle-o:before {
- content: '\f28c';
-}
-
-.fa-stop-circle:before {
- content: '\f28d';
-}
-
-.fa-stop-circle-o:before {
- content: '\f28e';
-}
-
-.fa-shopping-bag:before {
- content: '\f290';
-}
-
-.fa-shopping-basket:before {
- content: '\f291';
-}
-
-.fa-hashtag:before {
- content: '\f292';
-}
-
-.fa-bluetooth:before {
- content: '\f293';
-}
-
-.fa-bluetooth-b:before {
- content: '\f294';
-}
-
-.fa-percent:before {
- content: '\f295';
-}
-
-.fa-gitlab:before {
- content: '\f296';
-}
-
-.fa-wpbeginner:before {
- content: '\f297';
-}
-
-.fa-wpforms:before {
- content: '\f298';
-}
-
-.fa-envira:before {
- content: '\f299';
-}
-
-.fa-universal-access:before {
- content: '\f29a';
-}
-
-.fa-wheelchair-alt:before {
- content: '\f29b';
-}
-
-.fa-question-circle-o:before {
- content: '\f29c';
-}
-
-.fa-blind:before {
- content: '\f29d';
-}
-
-.fa-audio-description:before {
- content: '\f29e';
-}
-
-.fa-volume-control-phone:before {
- content: '\f2a0';
-}
-
-.fa-braille:before {
- content: '\f2a1';
-}
-
-.fa-assistive-listening-systems:before {
- content: '\f2a2';
-}
-
-.fa-asl-interpreting:before,
-.fa-american-sign-language-interpreting:before {
- content: '\f2a3';
-}
-
-.fa-deafness:before,
-.fa-hard-of-hearing:before,
-.fa-deaf:before {
- content: '\f2a4';
-}
-
-.fa-glide:before {
- content: '\f2a5';
-}
-
-.fa-glide-g:before {
- content: '\f2a6';
-}
-
-.fa-signing:before,
-.fa-sign-language:before {
- content: '\f2a7';
-}
-
-.fa-low-vision:before {
- content: '\f2a8';
-}
-
-.fa-viadeo:before {
- content: '\f2a9';
-}
-
-.fa-viadeo-square:before {
- content: '\f2aa';
-}
-
-.fa-snapchat:before {
- content: '\f2ab';
-}
-
-.fa-snapchat-ghost:before {
- content: '\f2ac';
-}
-
-.fa-snapchat-square:before {
- content: '\f2ad';
-}
-
-.fa-pied-piper:before {
- content: '\f2ae';
-}
-
-.fa-first-order:before {
- content: '\f2b0';
-}
-
-.fa-yoast:before {
- content: '\f2b1';
-}
-
-.fa-themeisle:before {
- content: '\f2b2';
-}
-
-.fa-google-plus-circle:before,
-.fa-google-plus-official:before {
- content: '\f2b3';
-}
-
-.fa-fa:before,
-.fa-font-awesome:before {
- content: '\f2b4';
-}
-
-.fa-handshake-o:before {
- content: '\f2b5';
-}
-
-.fa-envelope-open:before {
- content: '\f2b6';
-}
-
-.fa-envelope-open-o:before {
- content: '\f2b7';
-}
-
-.fa-linode:before {
- content: '\f2b8';
-}
-
-.fa-address-book:before {
- content: '\f2b9';
-}
-
-.fa-address-book-o:before {
- content: '\f2ba';
-}
-
-.fa-vcard:before,
-.fa-address-card:before {
- content: '\f2bb';
-}
-
-.fa-vcard-o:before,
-.fa-address-card-o:before {
- content: '\f2bc';
-}
-
-.fa-user-circle:before {
- content: '\f2bd';
-}
-
-.fa-user-circle-o:before {
- content: '\f2be';
-}
-
-.fa-user-o:before {
- content: '\f2c0';
-}
-
-.fa-id-badge:before {
- content: '\f2c1';
-}
-
-.fa-drivers-license:before,
-.fa-id-card:before {
- content: '\f2c2';
-}
-
-.fa-drivers-license-o:before,
-.fa-id-card-o:before {
- content: '\f2c3';
-}
-
-.fa-quora:before {
- content: '\f2c4';
-}
-
-.fa-free-code-camp:before {
- content: '\f2c5';
-}
-
-.fa-telegram:before {
- content: '\f2c6';
-}
-
-.fa-thermometer-4:before,
-.fa-thermometer:before,
-.fa-thermometer-full:before {
- content: '\f2c7';
-}
-
-.fa-thermometer-3:before,
-.fa-thermometer-three-quarters:before {
- content: '\f2c8';
-}
-
-.fa-thermometer-2:before,
-.fa-thermometer-half:before {
- content: '\f2c9';
-}
-
-.fa-thermometer-1:before,
-.fa-thermometer-quarter:before {
- content: '\f2ca';
-}
-
-.fa-thermometer-0:before,
-.fa-thermometer-empty:before {
- content: '\f2cb';
-}
-
-.fa-shower:before {
- content: '\f2cc';
-}
-
-.fa-bathtub:before,
-.fa-s15:before,
-.fa-bath:before {
- content: '\f2cd';
-}
-
-.fa-podcast:before {
- content: '\f2ce';
-}
-
-.fa-window-maximize:before {
- content: '\f2d0';
-}
-
-.fa-window-minimize:before {
- content: '\f2d1';
-}
-
-.fa-window-restore:before {
- content: '\f2d2';
-}
-
-.fa-times-rectangle:before,
-.fa-window-close:before {
- content: '\f2d3';
-}
-
-.fa-times-rectangle-o:before,
-.fa-window-close-o:before {
- content: '\f2d4';
-}
-
-.fa-bandcamp:before {
- content: '\f2d5';
-}
-
-.fa-grav:before {
- content: '\f2d6';
-}
-
-.fa-etsy:before {
- content: '\f2d7';
-}
-
-.fa-imdb:before {
- content: '\f2d8';
-}
-
-.fa-ravelry:before {
- content: '\f2d9';
-}
-
-.fa-eercast:before {
- content: '\f2da';
-}
-
-.fa-microchip:before {
- content: '\f2db';
-}
-
-.fa-snowflake-o:before {
- content: '\f2dc';
-}
-
-.fa-superpowers:before {
- content: '\f2dd';
-}
-
-.fa-wpexplorer:before {
- content: '\f2de';
-}
-
-.fa-meetup:before {
- content: '\f2e0';
-}
-
-.sr-only {
- position: absolute;
- width: 1px;
- height: 1px;
- padding: 0;
- margin: -1px;
- overflow: hidden;
- clip: rect(0, 0, 0, 0);
- border: 0;
-}
-
-.sr-only-focusable:active,
-.sr-only-focusable:focus {
- position: static;
- width: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- clip: auto;
-}
diff --git a/dist/theme/FontAwesome/fonts/FontAwesome.otf b/dist/theme/FontAwesome/fonts/FontAwesome.otf
deleted file mode 100644
index 401ec0f..0000000
Binary files a/dist/theme/FontAwesome/fonts/FontAwesome.otf and /dev/null differ
diff --git a/dist/theme/FontAwesome/fonts/fontawesome-webfont.eot b/dist/theme/FontAwesome/fonts/fontawesome-webfont.eot
deleted file mode 100644
index e9f60ca..0000000
Binary files a/dist/theme/FontAwesome/fonts/fontawesome-webfont.eot and /dev/null differ
diff --git a/dist/theme/FontAwesome/fonts/fontawesome-webfont.svg b/dist/theme/FontAwesome/fonts/fontawesome-webfont.svg
deleted file mode 100644
index 855c845..0000000
--- a/dist/theme/FontAwesome/fonts/fontawesome-webfont.svg
+++ /dev/null
@@ -1,2671 +0,0 @@
-
-
-
diff --git a/dist/theme/FontAwesome/fonts/fontawesome-webfont.ttf b/dist/theme/FontAwesome/fonts/fontawesome-webfont.ttf
deleted file mode 100644
index 35acda2..0000000
Binary files a/dist/theme/FontAwesome/fonts/fontawesome-webfont.ttf and /dev/null differ
diff --git a/dist/theme/FontAwesome/fonts/fontawesome-webfont.woff b/dist/theme/FontAwesome/fonts/fontawesome-webfont.woff
deleted file mode 100644
index 400014a..0000000
Binary files a/dist/theme/FontAwesome/fonts/fontawesome-webfont.woff and /dev/null differ
diff --git a/dist/theme/FontAwesome/fonts/fontawesome-webfont.woff2 b/dist/theme/FontAwesome/fonts/fontawesome-webfont.woff2
deleted file mode 100644
index 4d13fc6..0000000
Binary files a/dist/theme/FontAwesome/fonts/fontawesome-webfont.woff2 and /dev/null differ
diff --git a/dist/theme/css/chrome.css b/dist/theme/css/chrome.css
deleted file mode 100644
index 6eee18f..0000000
--- a/dist/theme/css/chrome.css
+++ /dev/null
@@ -1,567 +0,0 @@
-/* CSS for UI elements (a.k.a. chrome) */
-
-@import 'variables.css';
-
-html {
- scrollbar-color: var(--scrollbar) var(--bg);
- scrollbar-width: 25px;
-}
-#searchresults a,
-.content a:link,
-a:visited,
-a > .hljs {
- color: var(--links);
-}
-
-/*
- body-container is necessary because mobile browsers don't seem to like
- overflow-x on the body tag when there is a tag.
-*/
-#body-container {
- /*
- This is used when the sidebar pushes the body content off the side of
- the screen on small screens. Without it, dragging on mobile Safari
- will want to reposition the viewport in a weird way.
- */
- overflow-x: clip;
-}
-
-/* Menu Bar */
-
-#menu-bar,
-#menu-bar-hover-placeholder {
- z-index: 101;
- margin: auto calc(0px - var(--page-padding));
-}
-#menu-bar {
- position: relative;
- display: flex;
- flex-wrap: wrap;
- background-color: var(--bg);
- border-bottom-color: var(--bg);
- border-bottom-width: 1px;
- border-bottom-style: solid;
-}
-#menu-bar.sticky,
-.js #menu-bar-hover-placeholder:hover + #menu-bar,
-.js #menu-bar:hover,
-.js.sidebar-visible #menu-bar {
- position: -webkit-sticky;
- position: sticky;
- top: 0 !important;
-}
-#menu-bar-hover-placeholder {
- position: sticky;
- position: -webkit-sticky;
- top: 0;
- height: var(--menu-bar-height);
-}
-#menu-bar.bordered {
- border-bottom-color: var(--table-border-color);
-}
-#menu-bar i,
-#menu-bar .icon-button {
- position: relative;
- padding: 0 8px;
- z-index: 10;
- line-height: var(--menu-bar-height);
- cursor: pointer;
- transition: color 0.5s;
-}
-@media only screen and (max-width: 420px) {
- #menu-bar i,
- #menu-bar .icon-button {
- padding: 0 5px;
- }
-}
-
-.icon-button {
- border: none;
- background: none;
- padding: 0;
- color: inherit;
-}
-.icon-button i {
- margin: 0;
-}
-
-.right-buttons {
- margin: 0 15px;
-}
-.right-buttons a {
- text-decoration: none;
-}
-
-.left-buttons {
- display: flex;
- margin: 0 5px;
-}
-.no-js .left-buttons {
- display: none;
-}
-
-.menu-title {
- display: inline-block;
- font-weight: 200;
- font-size: 2.4rem;
- line-height: var(--menu-bar-height);
- text-align: center;
- margin: 0;
- flex: 1;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-.js .menu-title {
- cursor: pointer;
-}
-
-.menu-bar,
-.menu-bar:visited,
-.nav-chapters,
-.nav-chapters:visited,
-.mobile-nav-chapters,
-.mobile-nav-chapters:visited,
-.menu-bar .icon-button,
-.menu-bar a i {
- color: var(--icons);
-}
-
-.menu-bar i:hover,
-.menu-bar .icon-button:hover,
-.nav-chapters:hover,
-.mobile-nav-chapters i:hover {
- color: var(--icons-hover);
-}
-
-/* Nav Icons */
-
-.nav-chapters {
- font-size: 2.5em;
- text-align: center;
- text-decoration: none;
-
- position: fixed;
- top: 0;
- bottom: 0;
- margin: 0;
- max-width: 150px;
- min-width: 90px;
-
- display: flex;
- justify-content: center;
- align-content: center;
- flex-direction: column;
-
- transition: color 0.5s, background-color 0.5s;
-}
-
-.nav-chapters:hover {
- text-decoration: none;
- background-color: var(--theme-hover);
- transition: background-color 0.15s, color 0.15s;
-}
-
-.nav-wrapper {
- margin-top: 50px;
- display: none;
-}
-
-.mobile-nav-chapters {
- font-size: 2.5em;
- text-align: center;
- text-decoration: none;
- width: 90px;
- border-radius: 5px;
- background-color: var(--sidebar-bg);
-}
-
-.previous {
- float: left;
-}
-
-.next {
- float: right;
- right: var(--page-padding);
-}
-
-@media only screen and (max-width: 1080px) {
- .nav-wide-wrapper {
- display: none;
- }
- .nav-wrapper {
- display: block;
- }
-}
-
-@media only screen and (max-width: 1380px) {
- .sidebar-visible .nav-wide-wrapper {
- display: none;
- }
- .sidebar-visible .nav-wrapper {
- display: block;
- }
-}
-
-/* Inline code */
-
-:not(pre) > .hljs {
- display: inline;
- padding: 0.1em 0.3em;
- border-radius: 3px;
-}
-
-:not(pre):not(a) > .hljs {
- color: var(--inline-code-color);
- overflow-x: initial;
-}
-
-a:hover > .hljs {
- text-decoration: underline;
-}
-
-pre {
- position: relative;
-}
-pre > .buttons {
- position: absolute;
- z-index: 100;
- right: 0px;
- top: 2px;
- margin: 0px;
- padding: 2px 0px;
-
- color: var(--sidebar-fg);
- cursor: pointer;
- visibility: hidden;
- opacity: 0;
- transition: visibility 0.1s linear, opacity 0.1s linear;
-}
-pre:hover > .buttons {
- visibility: visible;
- opacity: 1;
-}
-pre > .buttons :hover {
- color: var(--sidebar-active);
- border-color: var(--icons-hover);
- background-color: var(--theme-hover);
-}
-pre > .buttons i {
- margin-left: 8px;
-}
-pre > .buttons button {
- cursor: inherit;
- margin: 0px 5px;
- padding: 3px 5px;
- font-size: 14px;
-
- border-style: solid;
- border-width: 1px;
- border-radius: 4px;
- border-color: var(--icons);
- background-color: var(--theme-popup-bg);
- transition: 100ms;
- transition-property: color, border-color, background-color;
- color: var(--icons);
-}
-@media (pointer: coarse) {
- pre > .buttons button {
- /* On mobile, make it easier to tap buttons. */
- padding: 0.3rem 1rem;
- }
-}
-pre > code {
- padding: 1rem;
-}
-
-/* FIXME: ACE editors overlap their buttons because ACE does absolute
- positioning within the code block which breaks padding. The only solution I
- can think of is to move the padding to the outer pre tag (or insert a div
- wrapper), but that would require fixing a whole bunch of CSS rules.
-*/
-.hljs.ace_editor {
- padding: 0rem 0rem;
-}
-
-pre > .result {
- margin-top: 10px;
-}
-
-/* Search */
-
-#searchresults a {
- text-decoration: none;
-}
-
-mark {
- border-radius: 2px;
- padding: 0 3px 1px 3px;
- margin: 0 -3px -1px -3px;
- background-color: var(--search-mark-bg);
- transition: background-color 300ms linear;
- cursor: pointer;
-}
-
-mark.fade-out {
- background-color: rgba(0, 0, 0, 0) !important;
- cursor: auto;
-}
-
-.searchbar-outer {
- margin-left: auto;
- margin-right: auto;
- max-width: var(--content-max-width);
-}
-
-#searchbar {
- width: 100%;
- margin: 5px auto 0px auto;
- padding: 10px 16px;
- transition: box-shadow 300ms ease-in-out;
- border: 1px solid var(--searchbar-border-color);
- border-radius: 3px;
- background-color: var(--searchbar-bg);
- color: var(--searchbar-fg);
-}
-#searchbar:focus,
-#searchbar.active {
- box-shadow: 0 0 3px var(--searchbar-shadow-color);
-}
-
-.searchresults-header {
- font-weight: bold;
- font-size: 1em;
- padding: 18px 0 0 5px;
- color: var(--searchresults-header-fg);
-}
-
-.searchresults-outer {
- margin-left: auto;
- margin-right: auto;
- max-width: var(--content-max-width);
- border-bottom: 1px dashed var(--searchresults-border-color);
-}
-
-ul#searchresults {
- list-style: none;
- padding-left: 20px;
-}
-ul#searchresults li {
- margin: 10px 0px;
- padding: 2px;
- border-radius: 2px;
-}
-ul#searchresults li.focus {
- background-color: var(--searchresults-li-bg);
-}
-ul#searchresults span.teaser {
- display: block;
- clear: both;
- margin: 5px 0 0 20px;
- font-size: 0.8em;
-}
-ul#searchresults span.teaser em {
- font-weight: bold;
- font-style: normal;
-}
-
-/* Sidebar */
-
-.sidebar {
- position: fixed;
- left: 0;
- top: 0;
- bottom: 0;
- width: var(--sidebar-width);
- font-size: 0.875em;
- box-sizing: border-box;
- -webkit-overflow-scrolling: touch;
- overscroll-behavior-y: contain;
- background-color: var(--sidebar-bg);
- color: var(--sidebar-fg);
-}
-.sidebar-resizing {
- -moz-user-select: none;
- -webkit-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-.js:not(.sidebar-resizing) .sidebar {
- transition: transform 0.3s; /* Animation: slide away */
-}
-.sidebar code {
- line-height: 2em;
-}
-.sidebar .sidebar-scrollbox {
- overflow-y: auto;
- position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- padding: 10px 10px;
-}
-.sidebar .sidebar-resize-handle {
- position: absolute;
- cursor: col-resize;
- width: 0;
- right: 0;
- top: 0;
- bottom: 0;
-}
-.js .sidebar .sidebar-resize-handle {
- cursor: col-resize;
- width: 5px;
-}
-.sidebar-hidden .sidebar {
- transform: translateX(calc(0px - var(--sidebar-width)));
-}
-.sidebar::-webkit-scrollbar {
- background: var(--sidebar-bg);
- width: 25px;
-}
-.sidebar::-webkit-scrollbar-thumb {
- background: var(--scrollbar);
- width: 25px;
-}
-
-.sidebar-visible .page-wrapper {
- transform: translateX(var(--sidebar-width));
-}
-
-.page-wrapper {
- min-height: 110vh;
-}
-
-@media only screen and (min-width: 620px) {
- .sidebar-visible .page-wrapper {
- transform: none;
- margin-left: var(--sidebar-width);
- }
-}
-
-.chapter {
- list-style: none outside none;
- padding-left: 0;
- line-height: 2.2em;
-}
-
-.chapter ol {
- width: 100%;
-}
-
-.chapter li {
- display: flex;
- color: var(--sidebar-non-existant);
-}
-.chapter li a {
- display: block;
- padding: 0;
- text-decoration: none;
- color: var(--sidebar-fg);
-}
-
-.chapter li a:hover {
- color: var(--sidebar-active);
-}
-
-.chapter li a.active {
- color: var(--sidebar-active);
-}
-
-.chapter li > a.toggle {
- cursor: pointer;
- display: block;
- margin-left: auto;
- padding: 0 10px;
- user-select: none;
- opacity: 0.68;
-}
-
-.chapter li > a.toggle div {
- transition: transform 0.5s;
-}
-
-/* collapse the section */
-.chapter li:not(.expanded) + li > ol {
- display: none;
-}
-
-.chapter li.chapter-item {
- line-height: 1.5em;
- margin-top: 0.6em;
-}
-
-.chapter li.expanded > a.toggle div {
- transform: rotate(90deg);
-}
-
-.spacer {
- width: 100%;
- height: 3px;
- margin: 5px 0px;
-}
-.chapter .spacer {
- background-color: var(--sidebar-spacer);
-}
-
-@media (-moz-touch-enabled: 1), (pointer: coarse) {
- .chapter li a {
- padding: 5px 0;
- }
- .spacer {
- margin: 10px 0;
- }
-}
-
-.section {
- list-style: none outside none;
- padding-left: 20px;
- line-height: 1.9em;
-}
-
-/* Theme Menu Popup */
-
-.theme-popup {
- position: absolute;
- left: 10px;
- top: var(--menu-bar-height);
- z-index: 1000;
- border-radius: 4px;
- font-size: 0.7em;
- color: var(--fg);
- background: var(--theme-popup-bg);
- border: 1px solid var(--theme-popup-border);
- margin: 0;
- padding: 0;
- list-style: none;
- display: none;
- /* Don't let the children's background extend past the rounded corners. */
- overflow: hidden;
-}
-.theme-popup .default {
- color: var(--icons);
-}
-.theme-popup .theme {
- width: 100%;
- border: 0;
- margin: 0;
- padding: 2px 20px;
- line-height: 25px;
- white-space: nowrap;
- text-align: left;
- cursor: pointer;
- color: inherit;
- background: inherit;
- font-size: inherit;
-}
-.theme-popup .theme:hover {
- background-color: var(--theme-hover);
-}
-
-.theme-selected::before {
- display: inline-block;
- content: '✓';
- margin-left: -14px;
- width: 14px;
-}
diff --git a/dist/theme/css/general.css b/dist/theme/css/general.css
deleted file mode 100644
index 7ca2f11..0000000
--- a/dist/theme/css/general.css
+++ /dev/null
@@ -1,395 +0,0 @@
-/* Base styles and content styles */
-
-@import 'variables.css';
-
-:root {
- /* Browser default font-size is 16px, this way 1 rem = 10px */
- font-size: 62.5%;
- color-scheme: var(--color-scheme);
-}
-
-html {
- font-family: 'Open Sans', sans-serif;
- color: var(--fg);
- background-color: var(--bg);
- text-size-adjust: none;
- -webkit-text-size-adjust: none;
-}
-
-body {
- margin: 0;
- font-size: 1.6rem;
- overflow-x: auto;
-}
-
-code {
- font-family: var(--mono-font) !important;
- font-size: var(--code-font-size);
-}
-
-/* make long words/inline code not x overflow */
-main {
- overflow-wrap: break-word;
-}
-
-/* make wide tables scroll if they overflow */
-.table-wrapper {
- overflow-x: auto;
-}
-
-/* Don't change font size in headers. */
-h1 code,
-h2 code,
-h3 code,
-h4 code,
-h5 code,
-h6 code {
- font-size: unset;
-}
-
-.left {
- float: left;
-}
-.right {
- float: right;
-}
-.boring {
- opacity: 0.6;
-}
-.hide-boring .boring {
- display: none;
-}
-.hidden {
- display: none !important;
-}
-
-h2,
-h3 {
- margin-top: 2.5em;
-}
-h4,
-h5 {
- margin-top: 2em;
-}
-
-.header + .header h3,
-.header + .header h4,
-.header + .header h5 {
- margin-top: 1em;
-}
-
-h1:target::before,
-h2:target::before,
-h3:target::before,
-h4:target::before,
-h5:target::before,
-h6:target::before {
- display: inline-block;
- content: '»';
- margin-left: -30px;
- width: 30px;
-}
-
-/* This is broken on Safari as of version 14, but is fixed
- in Safari Technology Preview 117 which I think will be Safari 14.2.
- https://bugs.webkit.org/show_bug.cgi?id=218076
-*/
-:target {
- scroll-margin-top: calc(var(--menu-bar-height) + 0.5em);
-}
-
-.page {
- outline: 0;
- padding: 0 var(--page-padding);
- margin-top: calc(
- 0px - var(--menu-bar-height)
- ); /* Compensate for the #menu-bar-hover-placeholder */
-}
-.page-wrapper {
- box-sizing: border-box;
-}
-.js:not(.sidebar-resizing) .page-wrapper {
- transition:
- margin-left 0.3s ease,
- transform 0.3s ease; /* Animation: slide away */
-}
-
-.content {
- overflow-y: auto;
- padding: 0 5px 50px 5px;
-}
-.content main {
- margin-left: auto;
- margin-right: auto;
- max-width: var(--content-max-width);
-}
-.content p {
- line-height: 1.45em;
-}
-.content ol {
- line-height: 1.45em;
-}
-.content ul {
- line-height: 1.45em;
-}
-.content a {
- text-decoration: none;
-}
-.content a:hover {
- text-decoration: underline;
-}
-.content img,
-.content video {
- max-width: 100%;
-}
-.content .header:link,
-.content .header:visited {
- color: var(--fg);
-}
-.content .header:link,
-.content .header:visited:hover {
- text-decoration: none;
-}
-
-table {
- margin: 0 auto;
- border-collapse: collapse;
-}
-table td {
- padding: 3px 20px;
- border: 1px var(--table-border-color) solid;
-}
-table thead {
- background: var(--table-header-bg);
-}
-table thead td {
- font-weight: 700;
- border: none;
-}
-table thead th {
- padding: 3px 20px;
-}
-table thead tr {
- border: 1px var(--table-header-bg) solid;
-}
-/* Alternate background colors for rows */
-table tbody tr:nth-child(2n) {
- background: var(--table-alternate-bg);
-}
-
-blockquote {
- margin: 20px 0;
- padding: 0 20px;
- color: var(--fg);
- background-color: var(--quote-bg);
- border-top: 0.1em solid var(--quote-border);
- border-bottom: 0.1em solid var(--quote-border);
-}
-
-kbd {
- background-color: var(--table-border-color);
- border-radius: 4px;
- border: solid 1px var(--theme-popup-border);
- box-shadow: inset 0 -1px 0 var(--theme-hover);
- display: inline-block;
- font-size: var(--code-font-size);
- font-family: var(--mono-font);
- line-height: 10px;
- padding: 4px 5px;
- vertical-align: middle;
-}
-
-:not(.footnote-definition) + .footnote-definition,
-.footnote-definition + :not(.footnote-definition) {
- margin-top: 2em;
-}
-.footnote-definition {
- font-size: 0.9em;
- margin: 0.5em 0;
-}
-.footnote-definition p {
- display: inline;
-}
-
-.tooltiptext {
- position: absolute;
- visibility: hidden;
- color: #fff;
- background-color: #333;
- transform: translateX(-50%); /* Center by moving tooltip 50% of its width left */
- left: -8px; /* Half of the width of the icon */
- top: -35px;
- font-size: 0.8em;
- text-align: center;
- border-radius: 6px;
- padding: 5px 8px;
- margin: 5px;
- z-index: 1000;
-}
-.tooltipped .tooltiptext {
- visibility: visible;
-}
-
-.chapter li.part-title {
- color: var(--sidebar-fg);
- margin: 5px 0px;
- font-weight: bold;
-}
-
-.result-no-output {
- font-style: italic;
-}
-
-.typst-dom-page {
- width: var(--data-page-width, 100%);
- height: var(--data-page-height);
- --data-text-width: 1px;
- --data-text-height: 1px;
- margin: auto;
-}
-
-.typst-back-canvas {
- position: absolute;
- z-index: -1;
- width: var(--data-page-width, 100%);
- height: var(--data-page-height);
- pointer-events: none;
-}
-
-.typst-svg-page {
- position: absolute;
- z-index: 0;
- width: var(--data-page-width, 100%);
- height: var(--data-page-height);
-}
-
-.typst-html-semantics {
- position: absolute;
- z-index: 2;
- width: var(--data-page-width, 100%);
- height: var(--data-page-height);
- color: transparent;
- font-family: monospace;
- white-space: pre;
-}
-
-.typst-html-semantics span {
- color: transparent;
- font-family: monospace;
- transform-origin: left top;
- position: absolute;
- display: inline-block;
- left: 0;
- top: 0;
-}
-
-.typst-content-hint {
- position: absolute;
- display: inline-block;
- width: 1px;
- height: 1px;
- overflow: hidden;
-}
-
-.typst-html-semantics a {
- position: absolute;
- display: inline-block;
-}
-
-/* set transparent itself */
-.typst-content-group {
- pointer-events: visible;
-}
-
-.typst-html-semantics span::-moz-selection {
- color: transparent;
- background: #7db9dea0;
-}
-
-.typst-html-semantics span::selection {
- color: transparent;
- background: #7db9dea0;
-}
-
-.typst-html-semantics *::-moz-selection {
- color: transparent;
- background: transparent;
-}
-
-.typst-html-semantics *::selection {
- color: transparent;
- background: transparent;
-}
-
-.typst-content-fallback {
- color: transparent;
- background: transparent;
-}
-
-.pseudo-link,
-.typst-text {
- pointer-events: none;
-}
-.typst-svg-page {
- fill: none;
-}
-.outline_glyph path,
-path.outline_glyph {
- fill: var(--glyph_fill);
- stroke: var(--glyph_stroke);
-}
-
-.outline_glyph path,
-path.outline_glyph {
- transition: 0.2s fill stroke;
-}
-
-.hover .typst-text {
- --glyph_fill: #66bab7;
- --glyph_stroke: #66bab7;
-}
-
-.typst-jump-ripple,
-.typst-debug-react-ripple {
- width: 0;
- height: 0;
- background-color: transparent;
- position: absolute;
- border-radius: 50%;
-}
-.typst-jump-ripple {
- border: 1px solid #66bab7;
-}
-.typst-debug-react-ripple {
- border: 1px solid #cb1b45;
-}
-@keyframes typst-jump-ripple-effect {
- to {
- width: 10vw;
- height: 10vw;
- opacity: 0.01;
- margin: -5vw;
- }
-}
-@keyframes typst-debug-react-ripple-effect {
- to {
- width: 3vw;
- height: 3vw;
- opacity: 0.01;
- margin: -1.5vw;
- }
-}
-
-.focus .typst-text {
- --glyph_fill: var(--sidebar-active);
-}
-
-a.focus {
- /* todo: remove !important */
- color: var(--sidebar-active) !important;
-}
-
-.focus .typst-text, a.focus {
- transition: 0.1s;
- transition-property: fill, stroke, color;
-}
\ No newline at end of file
diff --git a/dist/theme/css/print.css b/dist/theme/css/print.css
deleted file mode 100644
index 27d05e9..0000000
--- a/dist/theme/css/print.css
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#sidebar,
-#menu-bar,
-.nav-chapters,
-.mobile-nav-chapters {
- display: none;
-}
-
-#page-wrapper.page-wrapper {
- transform: none;
- margin-left: 0px;
- overflow-y: initial;
-}
-
-#content {
- max-width: none;
- margin: 0;
- padding: 0;
-}
-
-.page {
- overflow-y: initial;
-}
-
-pre > .buttons {
- z-index: 2;
-}
-
-a, a:visited, a:active, a:hover {
- color: #4183c4;
- text-decoration: none;
-}
-
-h1, h2, h3, h4, h5, h6 {
- page-break-inside: avoid;
- page-break-after: avoid;
-}
-
-pre, code {
- page-break-inside: avoid;
- white-space: pre-wrap;
-}
-
-.fa {
- display: none !important;
-}
diff --git a/dist/theme/css/variables.css b/dist/theme/css/variables.css
deleted file mode 100644
index d194b59..0000000
--- a/dist/theme/css/variables.css
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Globals */
-
-:root {
- --sidebar-width: min(300px, max(23.6vw, 200px));
- --page-padding: 15px;
- --content-max-width: 750px;
- --menu-bar-height: 50px;
- --mono-font: 'Source Code Pro', Consolas, 'Ubuntu Mono', Menlo, 'DejaVu Sans Mono', monospace,
- monospace;
- --code-font-size: 0.875em; /* please adjust the ace font size accordingly in editor.js */
-}
-
-/* Themes */
-
-.ayu {
- --bg: hsl(210, 25%, 8%);
- --fg: #c5c5c5;
-
- --sidebar-bg: #14191f;
- --sidebar-fg: #c8c9db;
- --sidebar-non-existant: #5c6773;
- --sidebar-active: #ffb454;
- --sidebar-spacer: #2d334f;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #737480;
- --icons-hover: #b7b9cc;
-
- --links: #0096cf;
-
- --inline-code-color: #ffb454;
-
- --theme-popup-bg: #14191f;
- --theme-popup-border: #5c6773;
- --theme-hover: #191f26;
-
- --quote-bg: hsl(226, 15%, 17%);
- --quote-border: hsl(226, 15%, 22%);
-
- --table-border-color: hsl(210, 25%, 13%);
- --table-header-bg: hsl(210, 25%, 28%);
- --table-alternate-bg: hsl(210, 25%, 11%);
-
- --searchbar-border-color: #848484;
- --searchbar-bg: #424242;
- --searchbar-fg: #fff;
- --searchbar-shadow-color: #d4c89f;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #888;
- --searchresults-li-bg: #252932;
- --search-mark-bg: #e3b171;
-
- --color-scheme: dark;
-}
-
-.coal {
- --bg: hsl(200, 7%, 8%);
- --fg: #98a3ad;
-
- --sidebar-bg: #292c2f;
- --sidebar-fg: #a1adb8;
- --sidebar-non-existant: #505254;
- --sidebar-active: #3473ad;
- --sidebar-spacer: #393939;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #43484d;
- --icons-hover: #b3c0cc;
-
- --links: #2b79a2;
-
- --inline-code-color: #c5c8c6;
-
- --theme-popup-bg: #141617;
- --theme-popup-border: #43484d;
- --theme-hover: #1f2124;
-
- --quote-bg: hsl(234, 21%, 18%);
- --quote-border: hsl(234, 21%, 23%);
-
- --table-border-color: hsl(200, 7%, 13%);
- --table-header-bg: hsl(200, 7%, 28%);
- --table-alternate-bg: hsl(200, 7%, 11%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #b7b7b7;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #98a3ad;
- --searchresults-li-bg: #2b2b2f;
- --search-mark-bg: #355c7d;
-
- --color-scheme: dark;
-}
-
-.light {
- --bg: hsl(0, 0%, 100%);
- --fg: hsl(0, 0%, 0%);
-
- --sidebar-bg: #fafafa;
- --sidebar-fg: hsl(0, 0%, 0%);
- --sidebar-non-existant: #aaaaaa;
- --sidebar-active: #1f1fff;
- --sidebar-spacer: #f4f4f4;
-
- --scrollbar: #8f8f8f;
-
- --icons: #747474;
- --icons-hover: #000000;
-
- --links: #20609f;
-
- --inline-code-color: #301900;
-
- --theme-popup-bg: #fafafa;
- --theme-popup-border: #cccccc;
- --theme-hover: #e6e6e6;
-
- --quote-bg: hsl(197, 37%, 96%);
- --quote-border: hsl(197, 37%, 91%);
-
- --table-border-color: hsl(0, 0%, 95%);
- --table-header-bg: hsl(0, 0%, 80%);
- --table-alternate-bg: hsl(0, 0%, 97%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #fafafa;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #888;
- --searchresults-li-bg: #e4f2fe;
- --search-mark-bg: #a2cff5;
-
- --color-scheme: light;
-}
-
-.navy {
- --bg: hsl(226, 23%, 11%);
- --fg: #bcbdd0;
-
- --sidebar-bg: #282d3f;
- --sidebar-fg: #c8c9db;
- --sidebar-non-existant: #505274;
- --sidebar-active: #2b79a2;
- --sidebar-spacer: #2d334f;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #737480;
- --icons-hover: #b7b9cc;
-
- --links: #2b79a2;
-
- --inline-code-color: #c5c8c6;
-
- --theme-popup-bg: #161923;
- --theme-popup-border: #737480;
- --theme-hover: #282e40;
-
- --quote-bg: hsl(226, 15%, 17%);
- --quote-border: hsl(226, 15%, 22%);
-
- --table-border-color: hsl(226, 23%, 16%);
- --table-header-bg: hsl(226, 23%, 31%);
- --table-alternate-bg: hsl(226, 23%, 14%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #aeaec6;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #5f5f71;
- --searchresults-border-color: #5c5c68;
- --searchresults-li-bg: #242430;
- --search-mark-bg: #a2cff5;
-
- --color-scheme: dark;
-}
-
-.rust {
- --bg: hsl(60, 9%, 87%);
- --fg: #262625;
-
- --sidebar-bg: #3b2e2a;
- --sidebar-fg: #c8c9db;
- --sidebar-non-existant: #505254;
- --sidebar-active: #e69f67;
- --sidebar-spacer: #45373a;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #737480;
- --icons-hover: #262625;
-
- --links: #2b79a2;
-
- --inline-code-color: #6e6b5e;
-
- --theme-popup-bg: #e1e1db;
- --theme-popup-border: #b38f6b;
- --theme-hover: #99908a;
-
- --quote-bg: hsl(60, 5%, 75%);
- --quote-border: hsl(60, 5%, 70%);
-
- --table-border-color: hsl(60, 9%, 82%);
- --table-header-bg: #b3a497;
- --table-alternate-bg: hsl(60, 9%, 84%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #fafafa;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #888;
- --searchresults-li-bg: #dec2a2;
- --search-mark-bg: #e69f67;
-
- --color-scheme: light;
-}
-
-@media (prefers-color-scheme: dark) {
- .light.no-js {
- --bg: hsl(200, 7%, 8%);
- --fg: #98a3ad;
-
- --sidebar-bg: #292c2f;
- --sidebar-fg: #a1adb8;
- --sidebar-non-existant: #505254;
- --sidebar-active: #3473ad;
- --sidebar-spacer: #393939;
-
- --scrollbar: var(--sidebar-fg);
-
- --icons: #43484d;
- --icons-hover: #b3c0cc;
-
- --links: #2b79a2;
-
- --inline-code-color: #c5c8c6;
-
- --theme-popup-bg: #141617;
- --theme-popup-border: #43484d;
- --theme-hover: #1f2124;
-
- --quote-bg: hsl(234, 21%, 18%);
- --quote-border: hsl(234, 21%, 23%);
-
- --table-border-color: hsl(200, 7%, 13%);
- --table-header-bg: hsl(200, 7%, 28%);
- --table-alternate-bg: hsl(200, 7%, 11%);
-
- --searchbar-border-color: #aaa;
- --searchbar-bg: #b7b7b7;
- --searchbar-fg: #000;
- --searchbar-shadow-color: #aaa;
- --searchresults-header-fg: #666;
- --searchresults-border-color: #98a3ad;
- --searchresults-li-bg: #2b2b2f;
- --search-mark-bg: #355c7d;
- }
-}
diff --git a/dist/theme/index.js b/dist/theme/index.js
deleted file mode 100644
index 3c46e06..0000000
--- a/dist/theme/index.js
+++ /dev/null
@@ -1,270 +0,0 @@
-(function themes() {
- var html = document.querySelector('html');
- var themeToggleButton = document.getElementById('theme-toggle');
- var themePopup = document.getElementById('theme-list');
- var themeColorMetaTag = document.querySelector('meta[name="theme-color"]');
-
- function showThemes() {
- themePopup.style.display = 'block';
- themeToggleButton.setAttribute('aria-expanded', true);
- themePopup.querySelector('button#' + get_theme()).focus();
- }
-
- function updateThemeSelected() {
- themePopup.querySelectorAll('.theme-selected').forEach(function (el) {
- el.classList.remove('theme-selected');
- });
- themePopup.querySelector('button#' + get_theme()).classList.add('theme-selected');
- window.typstChangeTheme();
- }
-
- function hideThemes() {
- themePopup.style.display = 'none';
- themeToggleButton.setAttribute('aria-expanded', false);
- themeToggleButton.focus();
- }
-
- function get_theme() {
- var theme;
- try {
- theme = localStorage.getItem('shiroa-theme');
- } catch (e) {}
- if (theme === null || theme === undefined) {
- return default_theme;
- } else {
- return theme;
- }
- }
-
- function set_theme(theme, store = true) {
- setTimeout(function () {
- themeColorMetaTag.content = getComputedStyle(document.documentElement).backgroundColor;
- }, 1);
-
- var previousTheme = get_theme();
-
- if (store) {
- try {
- localStorage.setItem('shiroa-theme', theme);
- } catch (e) {}
- }
-
- html.classList.remove(previousTheme);
- html.classList.add(theme);
- updateThemeSelected();
- }
-
- // Set theme
- var theme = get_theme();
- set_theme(theme, false);
-
- themeToggleButton.addEventListener('click', function () {
- if (themePopup.style.display === 'block') {
- hideThemes();
- } else {
- showThemes();
- }
- });
-
- themePopup.addEventListener('click', function (e) {
- var theme;
- if (e.target.className === 'theme') {
- theme = e.target.id;
- } else if (e.target.parentElement.className === 'theme') {
- theme = e.target.parentElement.id;
- } else {
- return;
- }
- set_theme(theme);
- });
-
- themePopup.addEventListener('focusout', function (e) {
- // e.relatedTarget is null in Safari and Firefox on macOS (see workaround below)
- if (
- !!e.relatedTarget &&
- !themeToggleButton.contains(e.relatedTarget) &&
- !themePopup.contains(e.relatedTarget)
- ) {
- hideThemes();
- }
- });
-
- // Should not be needed, but it works around an issue on macOS & iOS: https://github.com/rust-lang/mdBook/issues/628
- document.addEventListener('click', function (e) {
- if (
- themePopup.style.display === 'block' &&
- !themeToggleButton.contains(e.target) &&
- !themePopup.contains(e.target)
- ) {
- hideThemes();
- }
- });
-
- document.addEventListener('keydown', function (e) {
- if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {
- return;
- }
- if (!themePopup.contains(e.target)) {
- return;
- }
-
- switch (e.key) {
- case 'Escape':
- e.preventDefault();
- hideThemes();
- break;
- case 'ArrowUp':
- e.preventDefault();
- var li = document.activeElement.parentElement;
- if (li && li.previousElementSibling) {
- li.previousElementSibling.querySelector('button').focus();
- }
- break;
- case 'ArrowDown':
- e.preventDefault();
- var li = document.activeElement.parentElement;
- if (li && li.nextElementSibling) {
- li.nextElementSibling.querySelector('button').focus();
- }
- break;
- case 'Home':
- e.preventDefault();
- themePopup.querySelector('li:first-child button').focus();
- break;
- case 'End':
- e.preventDefault();
- themePopup.querySelector('li:last-child button').focus();
- break;
- }
- });
-})();
-
-(function sidebar() {
- var html = document.querySelector('html');
- var sidebar = document.getElementById('sidebar');
- var sidebarLinks = document.querySelectorAll('#sidebar a');
- var sidebarToggleButton = document.getElementById('sidebar-toggle');
- var sidebarResizeHandle = document.getElementById('sidebar-resize-handle');
- var firstContact = null;
-
- sidebar.addEventListener('transitionend', () => {
- window.typstRerender(true);
- });
-
- function showSidebar() {
- html.classList.remove('sidebar-hidden');
- html.classList.add('sidebar-visible');
- Array.from(sidebarLinks).forEach(function (link) {
- link.setAttribute('tabIndex', 0);
- });
- sidebarToggleButton.setAttribute('aria-expanded', true);
- sidebar.setAttribute('aria-hidden', false);
- try {
- localStorage.setItem('shiroa-sidebar', 'visible');
- } catch (e) {}
- }
-
- var sidebarAnchorToggles = document.querySelectorAll('#sidebar a.toggle');
-
- function toggleSection(ev) {
- ev.currentTarget.parentElement.classList.toggle('expanded');
- }
-
- Array.from(sidebarAnchorToggles).forEach(function (el) {
- el.addEventListener('click', toggleSection);
- });
-
- function hideSidebar() {
- html.classList.remove('sidebar-visible');
- html.classList.add('sidebar-hidden');
- Array.from(sidebarLinks).forEach(function (link) {
- link.setAttribute('tabIndex', -1);
- });
- sidebarToggleButton.setAttribute('aria-expanded', false);
- sidebar.setAttribute('aria-hidden', true);
- try {
- localStorage.setItem('shiroa-sidebar', 'hidden');
- } catch (e) {}
- }
-
- // Toggle sidebar
- sidebarToggleButton.addEventListener('click', function sidebarToggle() {
- if (html.classList.contains('sidebar-hidden')) {
- var current_width = parseInt(
- document.documentElement.style.getPropertyValue('--sidebar-width'),
- 10,
- );
- if (current_width < 150) {
- document.documentElement.style.setProperty('--sidebar-width', '150px');
- }
- showSidebar();
- } else if (html.classList.contains('sidebar-visible')) {
- hideSidebar();
- } else {
- if (getComputedStyle(sidebar)['transform'] === 'none') {
- hideSidebar();
- } else {
- showSidebar();
- }
- }
- });
-
- sidebarResizeHandle.addEventListener('mousedown', initResize, false);
-
- function initResize(e) {
- window.addEventListener('mousemove', resize, false);
- window.addEventListener('mouseup', stopResize, false);
- html.classList.add('sidebar-resizing');
- }
- function resize(e) {
- window.typstRerender(true);
- var pos = e.clientX - sidebar.offsetLeft;
- if (pos < 20) {
- hideSidebar();
- } else {
- if (html.classList.contains('sidebar-hidden')) {
- showSidebar();
- }
- pos = Math.min(pos, window.innerWidth - 100);
- document.documentElement.style.setProperty('--sidebar-width', pos + 'px');
- }
- }
- //on mouseup remove windows functions mousemove & mouseup
- function stopResize(e) {
- window.typstRerender(false);
- html.classList.remove('sidebar-resizing');
- window.removeEventListener('mousemove', resize, false);
- window.removeEventListener('mouseup', stopResize, false);
- }
-
- document.addEventListener(
- 'touchstart',
- function (e) {
- firstContact = {
- x: e.touches[0].clientX,
- time: Date.now(),
- };
- },
- { passive: true },
- );
-
- document.addEventListener(
- 'touchmove',
- function (e) {
- if (!firstContact) return;
-
- var curX = e.touches[0].clientX;
- var xDiff = curX - firstContact.x,
- tDiff = Date.now() - firstContact.time;
-
- if (tDiff < 250 && Math.abs(xDiff) >= 150) {
- if (xDiff >= 0 && firstContact.x < Math.min(document.body.clientWidth * 0.25, 300))
- showSidebar();
- else if (xDiff < 0 && curX < 300) hideSidebar();
-
- firstContact = null;
- }
- },
- { passive: true },
- );
-})();
diff --git a/theorems.typ b/theorems.typ
index cb98965..409f878 100644
--- a/theorems.typ
+++ b/theorems.typ
@@ -2,23 +2,54 @@
// What is this for?
// #show: thmrules.with(qed-symbol: $square$)
+// Use this to format the size: inset: (x: 1.2em, top: 1em, bottom: 1em)
+// TODO: fix the alignment
+// TODO: make the numbering good dnd manual and insert the title at the top (from the first line)
-// TODO: Set this up so that it looks good
-#let theorem = thmbox("theorem", "Theorem", fill: rgb("#eeffee")).with(numbering: "1.1") //tem
+#let theorem = thmbox( //tem
+ "theorem",
+ "Theorem",
+ fill: rgb("#eeffdd")
+).with(
+ numbering: none
+)
#let corollary = thmplain( //cor
"corollary",
"Corollary",
base: "theorem",
titlefmt: strong
)
-#let definition = thmbox("definition", "Definition", inset: (x: 1.2em, top: 1em)) //def
-#let example = thmplain("example", "Example").with(numbering: none) //exa
-#let proof = thmproof("proof", "Proof") //pro
-#let remark = thmbox("remark", "Remark") //rem
-#let axiom = thmbox("axiom", "Axiom") //axi
-#let lemma = thmbox("lemma", "Lemma") //lem
-
-// Add a note
-#let note = thmbox("note", "Note") //nte
+#let definition = thmbox( //def
+ "definition",
+ "Definition",
+ fill: rgb("#eedebb")
+)
+#let example = thmplain( //exa
+ "example",
+ "Example"
+).with(
+ numbering: none
+)
+#let proof = thmproof( //pro
+ "proof",
+ "Proof"
+)
+#let remark = thmbox( //rem
+ "remark",
+ "Remark"
+)
+#let axiom = thmbox( //axi
+ "axiom",
+ "Axiom"
+)
+#let lemma = thmbox( //lem
+ "lemma",
+ "Lemma",
+ fill: rgb("#cddfff")
+)
+#let note = thmbox( //nte
+ "note",
+ "Note"
+)