This is an automated email from the ASF dual-hosted git repository.

guanmingchiu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/mahout.git


The following commit(s) were added to refs/heads/main by this push:
     new 8c2cbb210 Fix MathJax rendering by self-hosting to comply with CSP 
(#890)
8c2cbb210 is described below

commit 8c2cbb210a0a0510ee41032737c2e02af320c0df
Author: Guan-Ming (Wesley) Chiu <[email protected]>
AuthorDate: Wed Jan 21 10:30:17 2026 +0800

    Fix MathJax rendering by self-hosting to comply with CSP (#890)
---
 website/_includes/head.html                        | 33 +++++++++------------
 website/assets/vendor/mathjax/core.js              |  1 +
 website/assets/vendor/mathjax/input/asciimath.js   |  1 +
 website/assets/vendor/mathjax/input/mml.js         |  1 +
 .../assets/vendor/mathjax/input/mml/entities.js    |  1 +
 .../vendor/mathjax/input/mml/extensions/mml3.js    |  1 +
 .../mathjax/input/mml/extensions/mml3.sef.json     |  1 +
 website/assets/vendor/mathjax/input/tex-base.js    |  1 +
 website/assets/vendor/mathjax/input/tex-full.js    | 34 ++++++++++++++++++++++
 website/assets/vendor/mathjax/input/tex.js         |  1 +
 .../vendor/mathjax/input/tex/extensions/action.js  |  1 +
 .../mathjax/input/tex/extensions/all-packages.js   | 34 ++++++++++++++++++++++
 .../vendor/mathjax/input/tex/extensions/ams.js     |  1 +
 .../vendor/mathjax/input/tex/extensions/amscd.js   |  1 +
 .../mathjax/input/tex/extensions/autoload.js       |  1 +
 .../vendor/mathjax/input/tex/extensions/bbox.js    |  1 +
 .../mathjax/input/tex/extensions/boldsymbol.js     |  1 +
 .../vendor/mathjax/input/tex/extensions/braket.js  |  1 +
 .../mathjax/input/tex/extensions/bussproofs.js     |  1 +
 .../vendor/mathjax/input/tex/extensions/cancel.js  |  1 +
 .../vendor/mathjax/input/tex/extensions/cases.js   |  1 +
 .../mathjax/input/tex/extensions/centernot.js      |  1 +
 .../vendor/mathjax/input/tex/extensions/color.js   |  1 +
 .../mathjax/input/tex/extensions/colortbl.js       |  1 +
 .../vendor/mathjax/input/tex/extensions/colorv2.js |  1 +
 .../mathjax/input/tex/extensions/configmacros.js   |  1 +
 .../vendor/mathjax/input/tex/extensions/empheq.js  |  1 +
 .../vendor/mathjax/input/tex/extensions/enclose.js |  1 +
 .../mathjax/input/tex/extensions/extpfeil.js       |  1 +
 .../vendor/mathjax/input/tex/extensions/gensymb.js |  1 +
 .../vendor/mathjax/input/tex/extensions/html.js    |  1 +
 .../mathjax/input/tex/extensions/mathtools.js      |  1 +
 .../vendor/mathjax/input/tex/extensions/mhchem.js  | 34 ++++++++++++++++++++++
 .../mathjax/input/tex/extensions/newcommand.js     |  1 +
 .../mathjax/input/tex/extensions/noerrors.js       |  1 +
 .../mathjax/input/tex/extensions/noundefined.js    |  1 +
 .../vendor/mathjax/input/tex/extensions/physics.js |  1 +
 .../vendor/mathjax/input/tex/extensions/require.js |  1 +
 .../mathjax/input/tex/extensions/setoptions.js     |  1 +
 .../mathjax/input/tex/extensions/tagformat.js      |  1 +
 .../mathjax/input/tex/extensions/textcomp.js       |  1 +
 .../mathjax/input/tex/extensions/textmacros.js     |  1 +
 .../vendor/mathjax/input/tex/extensions/unicode.js |  1 +
 .../vendor/mathjax/input/tex/extensions/upgreek.js |  1 +
 .../vendor/mathjax/input/tex/extensions/verb.js    |  1 +
 website/assets/vendor/mathjax/loader.js            |  1 +
 website/assets/vendor/mathjax/startup.js           |  1 +
 website/assets/vendor/mathjax/tex-chtml.js         |  1 +
 48 files changed, 159 insertions(+), 20 deletions(-)

diff --git a/website/_includes/head.html b/website/_includes/head.html
index 8ac6d75ed..f0a0a792a 100644
--- a/website/_includes/head.html
+++ b/website/_includes/head.html
@@ -24,26 +24,19 @@
   <link rel="canonical" href="{{ page.url | replace:'index.html','' | 
absolute_url }}">
   <link rel="alternate" type="application/rss+xml" title="{{ site.title | 
escape }}" href="{{'/feed.xml' | relative_url }}">
 
-  <script type="text/x-mathjax-config">
-    MathJax.Hub.Config({
-      "HTML-CSS": {
-        availableFonts: ["TeX"],
+  <!-- MathJax 3 Configuration (self-hosted to comply with CSP) -->
+  <script>
+    MathJax = {
+      tex: {
+        inlineMath: [['$', '$'], ['\\(', '\\)']],
+        displayMath: [['$$', '$$'], ['\\[', '\\]']],
+        processEscapes: true,
+        tags: 'ams'
       },
-      tex2jax: {
-        inlineMath: [['$','$'],["\\(","\\)"]],
-        displayMath: [['$$','$$'],['\\[','\\]']]
-      },
-      TeX: {
-        extensions: ["AMSmath.js", "AMSsymbols.js", "color.js"],
-        equationNumbers: {
-          autoNumber: "AMS"
-        }
-      },
-      showProcessingMessages: false,
-      messageStyle: "none",
-      imageFont: null,
-      "AssistiveMML": { disabled: true }
-    });
+      options: {
+        skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre']
+      }
+    };
   </script>
-  <script type="text/javascript" 
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS_HTML";></script>
+  <script type="text/javascript" src="/assets/vendor/mathjax/tex-chtml.js" 
async></script>
 </head>
diff --git a/website/assets/vendor/mathjax/core.js 
b/website/assets/vendor/mathjax/core.js
new file mode 100644
index 000000000..6c027343e
--- /dev/null
+++ b/website/assets/vendor/mathjax/core.js
@@ -0,0 +1 @@
+!function(){"use strict";var 
t,e,r,n,o,i,a,s,l,u,c,p,f,h,d,y,O,M,E,v,m,b,g,L,N,R,T,S,A,C,_,x,I,w,P,j,D,B,k,X,H,W,F,q,J,z,G,V,U,K,$,Y,Z,Q,tt,et,rt,nt,ot,it,at,st,lt,ut,ct,pt,ft,ht,dt,yt,Ot,Mt,Et,vt,mt,bt,gt,Lt,Nt={444:function(t,e,r){var
 n,o=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in 
e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("functio
 [...]
diff --git a/website/assets/vendor/mathjax/input/asciimath.js 
b/website/assets/vendor/mathjax/input/asciimath.js
new file mode 100644
index 000000000..27a34067c
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/asciimath.js
@@ -0,0 +1 @@
+!function(){var t={306:function(t,e){"use strict";e.q=void 
0,e.q="3.2.2"},884:function(t,e,i){"use strict";var 
n,a=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in 
e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},n(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function i(){this [...]
diff --git a/website/assets/vendor/mathjax/input/mml.js 
b/website/assets/vendor/mathjax/input/mml.js
new file mode 100644
index 000000000..94b59a937
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/mml.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,r,a,o,i={306:function(t,e){e.q=void 
0,e.q="3.2.2"},236:function(t,e,r){var 
a,o=this&&this.__extends||(a=function(t,e){return 
a=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in 
e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},a(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function r(){this.co [...]
diff --git a/website/assets/vendor/mathjax/input/mml/entities.js 
b/website/assets/vendor/mathjax/input/mml/entities.js
new file mode 100644
index 000000000..48944d0af
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/mml/entities.js
@@ -0,0 +1 @@
+!function(){"use strict";var e={170:function(e,r,t){var 
n=this&&this.__createBinding||(Object.create?function(e,r,t,n){void 
0===n&&(n=t);var o=Object.getOwnPropertyDescriptor(r,t);o&&!("get"in 
o?!r.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return
 r[t]}}),Object.defineProperty(e,n,o)}:function(e,r,t,n){void 
0===n&&(n=t),e[n]=r[t]}),o=this&&this.__setModuleDefault||(Object.create?function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}:functi
 [...]
diff --git a/website/assets/vendor/mathjax/input/mml/extensions/mml3.js 
b/website/assets/vendor/mathjax/input/mml/extensions/mml3.js
new file mode 100644
index 000000000..c7609f1c0
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/mml/extensions/mml3.js
@@ -0,0 +1 @@
+(function(){"use strict";var __webpack_modules__={667:function(e,t){t.q=void 
0,t.q="3.2.2"},63:function(__unused_webpack_module,exports){function 
createTransform(){var 
nodeRequire=eval("require"),dirname=eval("__dirname");try{nodeRequire.resolve("saxon-js")}catch(e){throw
 Error("Saxon-js not found.  Run the command:\n    npm install saxon-js\nand 
try again.")}var 
Saxon=nodeRequire("saxon-js"),path=nodeRequire("path"),fs=nodeRequire("fs"),xsltFile=path.resolve(dirname,"mml3.sef.json"),xsl
 [...]
diff --git a/website/assets/vendor/mathjax/input/mml/extensions/mml3.sef.json 
b/website/assets/vendor/mathjax/input/mml/extensions/mml3.sef.json
new file mode 100644
index 000000000..238399e1e
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/mml/extensions/mml3.sef.json
@@ -0,0 +1 @@
+{"N":"package","version":"10","packageVersion":"1","saxonVersion":"Saxon-JS 
2.3","target":"JS","targetVersion":"2","name":"TOP-LEVEL","relocatable":"true","buildDateTime":"2022-02-18T15:46:36.585-05:00","ns":"xml=~
 xsl=~ m=http://www.w3.org/1998/Math/MathML 
c=http://exslt.org/common","C":[{"N":"co","id":"0","binds":"0 3 2 
1","C":[{"N":"mode","onNo":"TC","flags":"","patternSlots":"0","prec":"","C":[{"N":"templateRule","rank":"0","prec":"0","seq":"52","ns":"xml=~
 xsl=~ m=http://www.w3.org/ [...]
diff --git a/website/assets/vendor/mathjax/input/tex-base.js 
b/website/assets/vendor/mathjax/input/tex-base.js
new file mode 100644
index 000000000..fdfae8e06
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex-base.js
@@ -0,0 +1 @@
+!function(){"use strict";var t={306:function(t,e){e.q=void 
0,e.q="3.2.2"},205:function(t,e,r){var 
n,i=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in 
e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function r(){this.constructor= [...]
diff --git a/website/assets/vendor/mathjax/input/tex-full.js 
b/website/assets/vendor/mathjax/input/tex-full.js
new file mode 100644
index 000000000..5636c345a
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex-full.js
@@ -0,0 +1,34 @@
+!function(){"use strict";var t={7306:function(t,e){e.q=void 
0,e.q="3.2.2"},7205:function(t,e,r){var 
n,o=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in 
e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function r(){this.constructo [...]
+/*!
+ *************************************************************************
+ *
+ *  mhchemParser.ts
+ *  4.1.1
+ *
+ *  Parser for the \ce command and \pu command for MathJax and Co.
+ *
+ *  mhchem's \ce is a tool for writing beautiful chemical equations easily.
+ *  mhchem's \pu is a tool for writing physical units easily.
+ *
+ *  ----------------------------------------------------------------------
+ *
+ *  Copyright (c) 2015-2021 Martin Hensel
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *  ----------------------------------------------------------------------
+ *
+ *  https://github.com/mhchem/mhchemParser
+ *
+ */
+Object.defineProperty(e,"__esModule",{value:!0}),e.mhchemParser=void 0;var 
r=function(){function t(){}return t.toTex=function(t,e){return 
a.go(o.go(t,e),"tex"!==e)},t}();function n(t){var e,r,n={};for(e in t)for(r in 
t[e]){var o=r.split("|");t[e][r].stateArray=o;for(var 
a=0;a<o.length;a++)n[o[a]]=[]}for(e in t)for(r in 
t[e])for(o=t[e][r].stateArray||[],a=0;a<o.length;a++){var 
i=t[e][r];i.action_=[].concat(i.action_);for(var 
s=0;s<i.action_.length;s++)"string"==typeof i.action_[s]&&(i.act [...]
diff --git a/website/assets/vendor/mathjax/input/tex.js 
b/website/assets/vendor/mathjax/input/tex.js
new file mode 100644
index 000000000..62e056caa
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex.js
@@ -0,0 +1 @@
+!function(){"use strict";var t={7306:function(t,e){e.q=void 
0,e.q="3.2.2"},7205:function(t,e,r){var 
n,a=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in 
e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function r(){this.constructo [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/action.js 
b/website/assets/vendor/mathjax/input/tex/extensions/action.js
new file mode 100644
index 000000000..912b8f764
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/action.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,a,e,o={667:function(t,a){a.q=void 
0,a.q="3.2.2"},669:function(t,a,e){var 
o=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(a,"__esModule",{value:!0}),a.ActionConfiguration=a.ActionMethods=void
 0;var 
n=e(251),i=o(e(193)),r=e(871),u=o(e(360));a.ActionMethods={},a.ActionMethods.Macro=u.default.Macro,a.ActionMethods.Toggle=function(t,a){for(var
 e,o=[];"\\endtoggle"!==(e=t.GetArgument(a));)o.push(new i.default( [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/all-packages.js 
b/website/assets/vendor/mathjax/input/tex/extensions/all-packages.js
new file mode 100644
index 000000000..20144586f
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/all-packages.js
@@ -0,0 +1,34 @@
+!function(){"use strict";var t={8667:function(t,e){e.q=void 
0,e.q="3.2.2"},7375:function(t,e,r){Object.defineProperty(e,"__esModule",{value:!0}),e.AllPackages=void
 
0,r(2379),r(669),r(2577),r(6769),r(2133),r(2986),r(8243),r(6333),r(5774),r(7530),r(2286),r(2224),r(7888),r(4558),r(6359),r(2079),r(4272),r(3646),r(2082),r(1738),r(205),r(7078),r(2048),r(5634),r(1999),r(2996),r(1596),r(5941),r(1845),r(3762),r(7927),r(5376),r(8768),"undefined"!=typeof
 MathJax&&MathJax.loader&&MathJax.loader.preL [...]
+/*!
+ *************************************************************************
+ *
+ *  mhchemParser.ts
+ *  4.1.1
+ *
+ *  Parser for the \ce command and \pu command for MathJax and Co.
+ *
+ *  mhchem's \ce is a tool for writing beautiful chemical equations easily.
+ *  mhchem's \pu is a tool for writing physical units easily.
+ *
+ *  ----------------------------------------------------------------------
+ *
+ *  Copyright (c) 2015-2021 Martin Hensel
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *  ----------------------------------------------------------------------
+ *
+ *  https://github.com/mhchem/mhchemParser
+ *
+ */
+Object.defineProperty(e,"__esModule",{value:!0}),e.mhchemParser=void 0;var 
r=function(){function t(){}return t.toTex=function(t,e){return 
o.go(a.go(t,e),"tex"!==e)},t}();function n(t){var e,r,n={};for(e in t)for(r in 
t[e]){var a=r.split("|");t[e][r].stateArray=a;for(var 
o=0;o<a.length;o++)n[a[o]]=[]}for(e in t)for(r in 
t[e])for(a=t[e][r].stateArray||[],o=0;o<a.length;o++){var 
i=t[e][r];i.action_=[].concat(i.action_);for(var 
s=0;s<i.action_.length;s++)"string"==typeof i.action_[s]&&(i.act [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/ams.js 
b/website/assets/vendor/mathjax/input/tex/extensions/ams.js
new file mode 100644
index 000000000..90e5e6ea5
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/ams.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,r,n,i={667:function(t,e){e.q=void 
0,e.q="3.2.2"},577:function(t,e,a){var 
r,n,i=this&&this.__extends||(r=function(t,e){return 
r=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var a in 
e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])},r(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function a(){this. [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/amscd.js 
b/website/assets/vendor/mathjax/input/tex/extensions/amscd.js
new file mode 100644
index 000000000..7b2809cb2
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/amscd.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,a,r,o={667:function(e,t){t.q=void 
0,t.q="3.2.2"},769:function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.AmsCdConfiguration=void
 0;var 
r=a(251);a(704),t.AmsCdConfiguration=r.Configuration.create("amscd",{handler:{character:["amscd_special"],macro:["amscd_macros"],environment:["amscd_environment"]},options:{amscd:{colspace:"5pt",rowspace:"5pt",harrowsize:"2.75em",varrowsize:"1.75em",hideHorizontalLabels:!1}}})},704:function(e,t,a){var
 r=this [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/autoload.js 
b/website/assets/vendor/mathjax/input/tex/extensions/autoload.js
new file mode 100644
index 000000000..cc1161c94
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/autoload.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,o={667:function(t,e){e.q=void 
0,e.q="3.2.2"},275:function(t,e,a){var o=this&&this.__read||function(t,e){var 
a="function"==typeof Symbol&&t[Symbol.iterator];if(!a)return t;var 
o,r,n=a.call(t),i=[];try{for(;(void 0===e||e-- 
>0)&&!(o=n.next()).done;)i.push(o.value)}catch(t){r={error:t}}finally{try{o&&!o.done&&(a=n.return)&&a.call(n)}finally{if(r)throw
 r.error}}return i},r=this&&this.__values||function(t){var e="function"==typeof 
Symbol&&Symbol.iterator,a=e [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/bbox.js 
b/website/assets/vendor/mathjax/input/tex/extensions/bbox.js
new file mode 100644
index 000000000..4159c3140
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/bbox.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,a,e,o={667:function(t,a){a.q=void 
0,a.q="3.2.2"},133:function(t,a,e){var 
o=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(a,"__esModule",{value:!0}),a.BboxConfiguration=a.BboxMethods=void
 0;var 
n=e(251),i=e(871),r=o(e(402));a.BboxMethods={},a.BboxMethods.BBox=function(t,a){for(var
 
e,o,n,i=t.GetBrackets(a,""),l=t.ParseArg(a),x=i.split(/,/),M=0,s=x.length;M<s;M++){var
 c=x[M].trim(),d=c.match(/^(\.\d+|\d+(\. [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/boldsymbol.js 
b/website/assets/vendor/mathjax/input/tex/extensions/boldsymbol.js
new file mode 100644
index 000000000..849a5a4e8
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/boldsymbol.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,a,o,e={667:function(t,a){a.q=void 
0,a.q="3.2.2"},986:function(t,a,o){var e=this&&this.__values||function(t){var 
a="function"==typeof Symbol&&Symbol.iterator,o=a&&t[a],e=0;if(o)return 
o.call(t);if(t&&"number"==typeof t.length)return{next:function(){return 
t&&e>=t.length&&(t=void 0),{value:t&&t[e++],done:!t}}};throw new 
TypeError(a?"Object is not iterable.":"Symbol.iterator is not 
defined.")},n=this&&this.__importDefault||function(t){return t&&t.__esModule?t: 
[...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/braket.js 
b/website/assets/vendor/mathjax/input/tex/extensions/braket.js
new file mode 100644
index 000000000..f6d99309c
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/braket.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,r,o,n={667:function(t,e){e.q=void 
0,e.q="3.2.2"},243:function(t,e,a){var 
r;Object.defineProperty(e,"__esModule",{value:!0}),e.BraketConfiguration=void 
0;var 
o=a(251),n=a(519);a(299),e.BraketConfiguration=o.Configuration.create("braket",{handler:{character:["Braket-characters"],macro:["Braket-macros"]},items:(r={},r[n.BraketItem.prototype.kind]=n.BraketItem,r)})},519:function(t,e,a){var
 r,o=this&&this.__extends||(r=function(t,e){return r=Object.setProtot [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/bussproofs.js 
b/website/assets/vendor/mathjax/input/tex/extensions/bussproofs.js
new file mode 100644
index 000000000..95f10a8c8
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/bussproofs.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,r,o,n,a,i={667:function(e,t){t.q=void 
0,t.q="3.2.2"},333:function(e,t,r){var 
o;Object.defineProperty(t,"__esModule",{value:!0}),t.BussproofsConfiguration=void
 0;var 
n=r(251),a=r(854),i=r(378);r(116),t.BussproofsConfiguration=n.Configuration.create("bussproofs",{handler:{macro:["Bussproofs-macros"],environment:["Bussproofs-environments"]},items:(o={},o[a.ProofTreeItem.prototype.kind]=a.ProofTreeItem,o),preprocessors:[[i.saveDocument,1]],postprocessors:[[i.
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/cancel.js 
b/website/assets/vendor/mathjax/input/tex/extensions/cancel.js
new file mode 100644
index 000000000..b57c31397
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/cancel.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,n={667:function(t,e){e.q=void 
0,e.q="3.2.2"},774:function(t,e,a){var 
n=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.CancelConfiguration=e.CancelMethods=void
 0;var 
o=a(251),i=a(108),r=a(871),c=n(a(398)),l=a(975);e.CancelMethods={},e.CancelMethods.Cancel=function(t,e,a){var
 
n=t.GetBrackets(e,""),o=t.ParseArg(e),i=c.default.keyvalOptions(n,l.ENCLOSE_OPTIONS);i.notation=a,t.
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/cases.js 
b/website/assets/vendor/mathjax/input/tex/extensions/cases.js
new file mode 100644
index 000000000..cc0d23d8a
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/cases.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,n={667:function(t,e){e.q=void 
0,e.q="3.2.2"},530:function(t,e,a){var 
n,s,r=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var a in 
e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])},n(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function a(){this.cons [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/centernot.js 
b/website/assets/vendor/mathjax/input/tex/extensions/centernot.js
new file mode 100644
index 000000000..14a982f75
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/centernot.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,a,n={667:function(e,t){t.q=void 
0,t.q="3.2.2"},286:function(e,t,a){var n=this&&this.__values||function(e){var 
t="function"==typeof Symbol&&Symbol.iterator,a=t&&e[t],n=0;if(a)return 
a.call(e);if(e&&"number"==typeof e.length)return{next:function(){return 
e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new 
TypeError(t?"Object is not iterable.":"Symbol.iterator is not 
defined.")},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e: 
[...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/color.js 
b/website/assets/vendor/mathjax/input/tex/extensions/color.js
new file mode 100644
index 000000000..74d111db8
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/color.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,o,t,r,a,n,l={667:function(e,o){o.q=void 
0,o.q="3.2.2"},224:function(e,o,t){Object.defineProperty(o,"__esModule",{value:!0}),o.ColorConfiguration=void
 0;var r=t(871),a=t(251),n=t(162),l=t(358);new 
r.CommandMap("color",{color:"Color",textcolor:"TextColor",definecolor:"DefineColor",colorbox:"ColorBox",fcolorbox:"FColorBox"},n.ColorMethods);o.ColorConfiguration=a.Configuration.create("color",{handler:{macro:["color"]},options:{color:{padding:"5px",borderWidth:"
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/colortbl.js 
b/website/assets/vendor/mathjax/input/tex/extensions/colortbl.js
new file mode 100644
index 000000000..764b278bc
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/colortbl.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,o={667:function(t,e){e.q=void 
0,e.q="3.2.2"},558:function(t,e,a){var 
o,n=this&&this.__extends||(o=function(t,e){return 
o=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var a in 
e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])},o(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function a(){this.constr [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/colorv2.js 
b/website/assets/vendor/mathjax/input/tex/extensions/colorv2.js
new file mode 100644
index 000000000..96c6ddd0e
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/colorv2.js
@@ -0,0 +1 @@
+!function(){"use strict";var o,a,t,e={667:function(o,a){a.q=void 
0,a.q="3.2.2"},888:function(o,a,t){Object.defineProperty(a,"__esModule",{value:!0}),a.ColorConfiguration=a.ColorV2Methods=void
 0;var e=t(871),n=t(251);a.ColorV2Methods={Color:function(o,a){var 
t=o.GetArgument(a),e=o.stack.env.color;o.stack.env.color=t;var 
n=o.ParseArg(a);e?o.stack.env.color=e:delete o.stack.env.color;var 
r=o.create("node","mstyle",[n],{mathcolor:t});o.Push(r)}},new 
e.CommandMap("colorv2",{color:"Color"},a.C [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/configmacros.js 
b/website/assets/vendor/mathjax/input/tex/extensions/configmacros.js
new file mode 100644
index 000000000..38cb3bf54
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/configmacros.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,a,e,n={667:function(t,a){a.q=void 
0,a.q="3.2.2"},359:function(t,a,e){var n,o=this&&this.__values||function(t){var 
a="function"==typeof Symbol&&Symbol.iterator,e=a&&t[a],n=0;if(e)return 
e.call(t);if(t&&"number"==typeof t.length)return{next:function(){return 
t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new 
TypeError(a?"Object is not iterable.":"Symbol.iterator is not 
defined.")},i=this&&this.__importDefault||function(t){return t&&t.__esModule? 
[...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/empheq.js 
b/website/assets/vendor/mathjax/input/tex/extensions/empheq.js
new file mode 100644
index 000000000..b626175a1
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/empheq.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,a,n,r={667:function(e,t){t.q=void 
0,t.q="3.2.2"},79:function(e,t,a){var 
n,r,i=this&&this.__extends||(n=function(e,t){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(e,t){e.__proto__=t}||function(e,t){for(var a in 
t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])},n(e,t)},function(e,t){if("function"!=typeof
 t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a 
constructor or null");function a(){this.con [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/enclose.js 
b/website/assets/vendor/mathjax/input/tex/extensions/enclose.js
new file mode 100644
index 000000000..e42f1eb05
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/enclose.js
@@ -0,0 +1 @@
+!function(){"use strict";var a,t,e,o={667:function(a,t){t.q=void 
0,t.q="3.2.2"},272:function(a,t,e){var 
o=this&&this.__importDefault||function(a){return 
a&&a.__esModule?a:{default:a}};Object.defineProperty(t,"__esModule",{value:!0}),t.EncloseConfiguration=t.EncloseMethods=t.ENCLOSE_OPTIONS=void
 0;var 
n=e(251),r=e(871),i=o(e(398));t.ENCLOSE_OPTIONS={"data-arrowhead":1,color:1,mathcolor:1,background:1,mathbackground:1,"data-padding":1,"data-thickness":1},t.EncloseMethods={},t.EncloseMethod
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/extpfeil.js 
b/website/assets/vendor/mathjax/input/tex/extensions/extpfeil.js
new file mode 100644
index 000000000..9f2125237
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/extpfeil.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,o={667:function(t,e){e.q=void 
0,e.q="3.2.2"},646:function(t,e,a){var 
o=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.ExtpfeilConfiguration=e.ExtpfeilMethods=void
 0;var 
n=a(251),r=a(871),i=a(939),u=o(a(892)),x=a(417),p=o(a(402));e.ExtpfeilMethods={},e.ExtpfeilMethods.xArrow=i.AmsMethods.xArrow,e.ExtpfeilMethods.NewExtArrow=function(t,a){var
 o=t.GetArgument(a),n=t.GetArgume [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/gensymb.js 
b/website/assets/vendor/mathjax/input/tex/extensions/gensymb.js
new file mode 100644
index 000000000..854376fdb
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/gensymb.js
@@ -0,0 +1 @@
+!function(){"use strict";var a,t,n,e={667:function(a,t){t.q=void 
0,t.q="3.2.2"},82:function(a,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.GensymbConfiguration=void
 0;var 
e=n(251),o=n(108);new(n(871).CharacterMap)("gensymb-symbols",(function(a,t){var 
n=t.attributes||{};n.mathvariant=o.TexConstant.Variant.NORMAL,n.class="MathML-Unit";var
 
e=a.create("token","mi",n,t.char);a.Push(e)}),{ohm:"\u2126",degree:"\xb0",celsius:"\u2103",perthousand:"\u2030",micro:"\xb5"}),t.GensymbConfig
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/html.js 
b/website/assets/vendor/mathjax/input/tex/extensions/html.js
new file mode 100644
index 000000000..f9bcbc73c
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/html.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,n,r={667:function(t,e){e.q=void 
0,e.q="3.2.2"},738:function(t,e,a){var 
n=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.HtmlConfiguration=void
 0;var r=a(251),o=a(871),i=n(a(248));new 
o.CommandMap("html_macros",{href:"Href",class:"Class",style:"Style",cssId:"Id"},i.default),e.HtmlConfiguration=r.Configuration.create("html",{handler:{macro:["html_macros"]}})},248:function(t,
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/mathtools.js 
b/website/assets/vendor/mathjax/input/tex/extensions/mathtools.js
new file mode 100644
index 000000000..2cea34b2c
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/mathtools.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,r,o,n,l,i={667:function(t,e){e.q=void 
0,e.q="3.2.2"},205:function(t,e,a){var r,o=this&&this.__values||function(t){var 
e="function"==typeof Symbol&&Symbol.iterator,a=e&&t[e],r=0;if(a)return 
a.call(t);if(t&&"number"==typeof t.length)return{next:function(){return 
t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new 
TypeError(e?"Object is not iterable.":"Symbol.iterator is not 
defined.")},n=this&&this.__importDefault||function(t){return t&&t.__e [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/mhchem.js 
b/website/assets/vendor/mathjax/input/tex/extensions/mhchem.js
new file mode 100644
index 000000000..259acb37a
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/mhchem.js
@@ -0,0 +1,34 @@
+!function(){"use strict";var t,e,o,n={667:function(t,e){e.q=void 
0,e.q="3.2.2"},78:function(t,e,o){var 
n=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MhchemConfiguration=void
 0;var 
a=o(251),r=o(871),i=n(o(402)),p=n(o(360)),c=o(939),u=o(652),s={};s.Macro=p.default.Macro,s.xArrow=c.AmsMethods.xArrow,s.Machine=function(t,e,o){var
 n,a=t.GetArgument(e);try{n=u.mhchemParser.toTex(a,o)}catch(t){throw new 
i.defau [...]
+/*!
+ *************************************************************************
+ *
+ *  mhchemParser.ts
+ *  4.1.1
+ *
+ *  Parser for the \ce command and \pu command for MathJax and Co.
+ *
+ *  mhchem's \ce is a tool for writing beautiful chemical equations easily.
+ *  mhchem's \pu is a tool for writing physical units easily.
+ *
+ *  ----------------------------------------------------------------------
+ *
+ *  Copyright (c) 2015-2021 Martin Hensel
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ *  ----------------------------------------------------------------------
+ *
+ *  https://github.com/mhchem/mhchemParser
+ *
+ */
+Object.defineProperty(e,"__esModule",{value:!0}),e.mhchemParser=void 0;var 
o=function(){function t(){}return t.toTex=function(t,e){return 
r.go(a.go(t,e),"tex"!==e)},t}();function n(t){var e,o,n={};for(e in t)for(o in 
t[e]){var a=o.split("|");t[e][o].stateArray=a;for(var 
r=0;r<a.length;r++)n[a[r]]=[]}for(e in t)for(o in 
t[e])for(a=t[e][o].stateArray||[],r=0;r<a.length;r++){var 
i=t[e][o];i.action_=[].concat(i.action_);for(var 
p=0;p<i.action_.length;p++)"string"==typeof i.action_[p]&&(i.act [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/newcommand.js 
b/website/assets/vendor/mathjax/input/tex/extensions/newcommand.js
new file mode 100644
index 000000000..34945583e
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/newcommand.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,n,a,r,i,o={667:function(e,t){t.q=void 
0,t.q="3.2.2"},48:function(e,t,n){var 
a,r=this&&this.__createBinding||(Object.create?function(e,t,n,a){void 
0===a&&(a=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in 
r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return
 t[n]}}),Object.defineProperty(e,a,r)}:function(e,t,n,a){void 
0===a&&(a=n),e[a]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defi
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/noerrors.js 
b/website/assets/vendor/mathjax/input/tex/extensions/noerrors.js
new file mode 100644
index 000000000..f13654f2c
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/noerrors.js
@@ -0,0 +1 @@
+!function(){"use strict";var o,n,r,t={667:function(o,n){n.q=void 
0,n.q="3.2.2"},634:function(o,n,r){Object.defineProperty(n,"__esModule",{value:!0}),n.NoErrorsConfiguration=void
 0;var 
t=r(251);n.NoErrorsConfiguration=t.Configuration.create("noerrors",{nodes:{error:function(o,n,r,t){var
 e=o.create("token","mtext",{},t.replace(/\n/g," "));return 
o.create("node","merror",[e],{"data-mjx-error":n,title:n})}}})},955:function(o,n){MathJax._.components.global.isObject,MathJax._.components.global
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/noundefined.js 
b/website/assets/vendor/mathjax/input/tex/extensions/noundefined.js
new file mode 100644
index 000000000..c3d39cc91
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/noundefined.js
@@ -0,0 +1 @@
+!function(){"use strict";var n,o,e,t={667:function(n,o){o.q=void 
0,o.q="3.2.2"},999:function(n,o,e){var t=this&&this.__values||function(n){var 
o="function"==typeof Symbol&&Symbol.iterator,e=o&&n[o],t=0;if(e)return 
e.call(n);if(n&&"number"==typeof n.length)return{next:function(){return 
n&&t>=n.length&&(n=void 0),{value:n&&n[t++],done:!n}}};throw new 
TypeError(o?"Object is not iterable.":"Symbol.iterator is not 
defined.")};Object.defineProperty(o,"__esModule",{value:!0}),o.NoUndefinedConfi 
[...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/physics.js 
b/website/assets/vendor/mathjax/input/tex/extensions/physics.js
new file mode 100644
index 000000000..68350609d
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/physics.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,r,n,o={667:function(t,e){e.q=void 
0,e.q="3.2.2"},996:function(t,e,a){var 
r;Object.defineProperty(e,"__esModule",{value:!0}),e.PhysicsConfiguration=void 
0;var 
n=a(251),o=a(855);a(842),e.PhysicsConfiguration=n.Configuration.create("physics",{handler:{macro:["Physics-automatic-bracing-macros","Physics-vector-macros","Physics-vector-mo","Physics-vector-mi","Physics-derivative-macros","Physics-expressions-macros","Physics-quick-quad-macros","Physics-bra-ket-
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/require.js 
b/website/assets/vendor/mathjax/input/tex/extensions/require.js
new file mode 100644
index 000000000..2f822d34e
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/require.js
@@ -0,0 +1 @@
+!function(){"use strict";var e,t,a,o={667:function(e,t){t.q=void 
0,t.q="3.2.2"},778:function(e,t,a){var o=this&&this.__values||function(e){var 
t="function"==typeof Symbol&&Symbol.iterator,a=t&&e[t],o=0;if(a)return 
a.call(e);if(e&&"number"==typeof e.length)return{next:function(){return 
e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new 
TypeError(t?"Object is not iterable.":"Symbol.iterator is not 
defined.")},r=this&&this.__read||function(e,t){var a="function"==typeof Symbol& 
[...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/setoptions.js 
b/website/assets/vendor/mathjax/input/tex/extensions/setoptions.js
new file mode 100644
index 000000000..3a0a68789
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/setoptions.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,o={667:function(t,e){e.q=void 
0,e.q="3.2.2"},596:function(t,e,a){var o=this&&this.__values||function(t){var 
e="function"==typeof Symbol&&Symbol.iterator,a=e&&t[e],o=0;if(a)return 
a.call(t);if(t&&"number"==typeof t.length)return{next:function(){return 
t&&o>=t.length&&(t=void 0),{value:t&&t[o++],done:!t}}};throw new 
TypeError(e?"Object is not iterable.":"Symbol.iterator is not 
defined.")},n=this&&this.__importDefault||function(t){return t&&t.__esModule?t: 
[...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/tagformat.js 
b/website/assets/vendor/mathjax/input/tex/extensions/tagformat.js
new file mode 100644
index 000000000..205455c4e
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/tagformat.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,o,n,a={667:function(t,o){o.q=void 
0,o.q="3.2.2"},941:function(t,o,n){var 
a,r=this&&this.__extends||(a=function(t,o){return 
a=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,o){t.__proto__=o}||function(t,o){for(var n in 
o)Object.prototype.hasOwnProperty.call(o,n)&&(t[n]=o[n])},a(t,o)},function(t,o){if("function"!=typeof
 o&&null!==o)throw new TypeError("Class extends value "+String(o)+" is not a 
constructor or null");function n(){this.constr [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/textcomp.js 
b/website/assets/vendor/mathjax/input/tex/extensions/textcomp.js
new file mode 100644
index 000000000..f6422a2c3
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/textcomp.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,n,r={667:function(t,e){e.q=void 
0,e.q="3.2.2"},845:function(t,e,n){Object.defineProperty(e,"__esModule",{value:!0}),e.TextcompConfiguration=void
 0;var 
r=n(251);n(832),e.TextcompConfiguration=r.Configuration.create("textcomp",{handler:{macro:["textcomp-macros"]}})},832:function(t,e,n){var
 r=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var
 a=n(871),s=n(108),o=n(245),x=r(n(398) [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/textmacros.js 
b/website/assets/vendor/mathjax/input/tex/extensions/textmacros.js
new file mode 100644
index 000000000..47e77be7c
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/textmacros.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,n,o,r={667:function(t,e){e.q=void 
0,e.q="3.2.2"},762:function(t,e,a){var 
n,o=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.TextMacrosConfiguration=e.TextBaseConfiguration=void
 0;var r=a(251),s=o(a(278)),i=a(680),c=a(935),l=a(787),u=a(807);function 
p(t,e,a,n){var o=t.configuration.packageData.get("textmacros");return t 
instanceof l.TextParser||(o.texParser=t),[new l.TextPa [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/unicode.js 
b/website/assets/vendor/mathjax/input/tex/extensions/unicode.js
new file mode 100644
index 000000000..ec3d8f55b
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/unicode.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,n={667:function(t,e){e.q=void 
0,e.q="3.2.2"},376:function(t,e,a){var 
n=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.UnicodeConfiguration=e.UnicodeMethods=void
 0;var 
o=a(251),i=n(a(402)),r=a(871),u=n(a(398)),l=n(a(748)),c=a(992);e.UnicodeMethods={};var
 p={};e.UnicodeMethods.Unicode=function(t,e){var 
a=t.GetBrackets(e),n=null,o=null;a&&(a.replace(/ /g,"").match(/^(\d+(\.\d [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/upgreek.js 
b/website/assets/vendor/mathjax/input/tex/extensions/upgreek.js
new file mode 100644
index 000000000..fdd3f5975
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/upgreek.js
@@ -0,0 +1 @@
+!function(){"use strict";var a,t,e,p={667:function(a,t){t.q=void 
0,t.q="3.2.2"},927:function(a,t,e){Object.defineProperty(t,"__esModule",{value:!0}),t.UpgreekConfiguration=void
 0;var p=e(251),n=e(871),o=e(108);new 
n.CharacterMap("upgreek",(function(a,t){var 
e=t.attributes||{};e.mathvariant=o.TexConstant.Variant.NORMAL;var 
p=a.create("token","mi",e,t.char);a.Push(p)}),{upalpha:"\u03b1",upbeta:"\u03b2",upgamma:"\u03b3",updelta:"\u03b4",upepsilon:"\u03f5",upzeta:"\u03b6",upeta:"\u03b7",upth
 [...]
diff --git a/website/assets/vendor/mathjax/input/tex/extensions/verb.js 
b/website/assets/vendor/mathjax/input/tex/extensions/verb.js
new file mode 100644
index 000000000..c6962b1fd
--- /dev/null
+++ b/website/assets/vendor/mathjax/input/tex/extensions/verb.js
@@ -0,0 +1 @@
+!function(){"use strict";var t,e,a,n={667:function(t,e){e.q=void 
0,e.q="3.2.2"},768:function(t,e,a){var 
n=this&&this.__importDefault||function(t){return 
t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.VerbConfiguration=e.VerbMethods=void
 0;var 
o=a(251),r=a(108),i=a(871),u=n(a(402));e.VerbMethods={},e.VerbMethods.Verb=function(t,e){var
 a=t.GetNext(),n=++t.i;if(""===a)throw new u.default("MissingArgFor","Missing 
argument for %1",e);for(;t.i<t.string.length [...]
diff --git a/website/assets/vendor/mathjax/loader.js 
b/website/assets/vendor/mathjax/loader.js
new file mode 100644
index 000000000..8f8f61ae1
--- /dev/null
+++ b/website/assets/vendor/mathjax/loader.js
@@ -0,0 +1 @@
+!function(){"use strict";var e={515:function(e,t,r){var 
n=this&&this.__values||function(e){var t="function"==typeof 
Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return 
r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return 
e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new 
TypeError(t?"Object is not iterable.":"Symbol.iterator is not 
defined.")};Object.defineProperty(t,"__esModule",{value:!0}),t.MathJax=t.combineWithMathJax=t.combineDefaults=t.combineConfig=t
 [...]
diff --git a/website/assets/vendor/mathjax/startup.js 
b/website/assets/vendor/mathjax/startup.js
new file mode 100644
index 000000000..c3d8881af
--- /dev/null
+++ b/website/assets/vendor/mathjax/startup.js
@@ -0,0 +1 @@
+!function(){"use strict";var t={515:function(t,e,r){var 
n=this&&this.__values||function(t){var e="function"==typeof 
Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return 
r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return 
t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new 
TypeError(e?"Object is not iterable.":"Symbol.iterator is not 
defined.")};Object.defineProperty(e,"__esModule",{value:!0}),e.MathJax=e.combineWithMathJax=e.combineDefaults=e.combineConfig=e
 [...]
diff --git a/website/assets/vendor/mathjax/tex-chtml.js 
b/website/assets/vendor/mathjax/tex-chtml.js
new file mode 100644
index 000000000..d9f16e29f
--- /dev/null
+++ b/website/assets/vendor/mathjax/tex-chtml.js
@@ -0,0 +1 @@
+(function(){"use strict";var __webpack_modules__={351:function(t,e,r){var 
n,o=this&&this.__extends||(n=function(t,e){return 
n=Object.setPrototypeOf||{__proto__:[]}instanceof 
Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in 
e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])},n(t,e)},function(t,e){if("function"!=typeof
 e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a 
constructor or null");function r(){this.constructor=t}n(t,e),t.prototype=nul 
[...]


Reply via email to