{{ if .Params.showFullContent }}
- {{ .Content | markdownify }}
+ {{ .Content }}
{{ else if .Description }}
{{ .Description | markdownify }}
{{ else }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index ad05488..8c15946 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -5,11 +5,17 @@
{{ if .Params.Date }}
- {{ .Date.Format "2006-01-02" }} {{ if $.Site.Params.showLastUpdated }}[{{or $.Site.Params.updatedDatePrefix "Updated"}}: {{ .Lastmod.Format "2006-01-02" }}]{{ end }}
+ {{ .Date.Format "2006-01-02" }}
+ {{ if $.Site.Params.showLastUpdated }}
+ [{{or $.Site.Params.updatedDatePrefix "Updated"}}: {{ .Lastmod.Format "2006-01-02" }}]
+ {{ end }}
{{ end }}
{{ with .Params.Author }}
- :: {{ . }}
+ :: {{ . }}
+ {{ end }}
+ {{ if and (.Param "readingTime") (eq (.Param "readingTime") true) }}
+ :: {{ .ReadingTime }} min read ({{ .WordCount }} words)
{{ end }}
diff --git a/layouts/shortcodes/prismjs.html b/layouts/shortcodes/prismjs.html
index fe73753..e4acffe 100644
--- a/layouts/shortcodes/prismjs.html
+++ b/layouts/shortcodes/prismjs.html
@@ -1,4 +1,4 @@
-{{ $inner := replaceRE "^\n" "" .Inner | string }}
+{{ $inner := replaceRE "^\r?\n" "" .Inner | string }}
{{ if len .Params | eq 0 }}
{{ $inner }}
{{ else }}
diff --git a/package.json b/package.json
index 044a3c1..604580a 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
"angular-html-parser": "^1.2.0",
"babel-eslint": "^10.1.0",
"babel-loader": "^8.0.5",
- "browserslist": "^4.0.1",
+ "browserslist": "^4.16.5",
"clean-webpack-plugin": "^3.0.0",
"clipboard": "^2.0.4",
"css-loader": "^5.1.3",
@@ -35,7 +35,7 @@
"html-webpack-plugin": "^5.3.1",
"husky": "^5.1.3",
"mini-css-extract-plugin": "^1.3.9",
- "postcss": "^8.2.8",
+ "postcss": "^8.2.10",
"postcss-browser-reporter": "^0.6.0",
"postcss-cli": "^8.3.1",
"postcss-color-function": "^4.0.1",
diff --git a/static/assets/blue.css b/static/assets/blue.css
index ea77574..c946a98 100644
--- a/static/assets/blue.css
+++ b/static/assets/blue.css
@@ -1 +1 @@
-html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(29, 33, 44);background-color:rgb(29, 33, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:684px){body{font-size:1rem}}@media (--phone){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#23b0ff;background:var(--accent);color:rgb(29, 33, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-feature-settings:normal;background:rgba(35, 176, 255, 0.2);background:rgba(35, 176, 255, 0.2);color:#23b0ff;color:var(--accent);padding:1px 6px;margin:0 2px;font-size:.95rem;}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent!important;padding:20px 10px;margin:40px 0;font-size:.95rem;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1);}pre +pre{border-top:0;margin-top:-40px}@media (max-width:684px){pre{white-space:pre-wrap;word-wrap:break-word}}@media (--phone){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #23b0ff;border-top:1px solid var(--accent);border-bottom:1px solid #23b0ff;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:684px){blockquote{padding-right:0}}@media (--phone){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:">";display:block;position:absolute;left:-25px;color:#23b0ff;color:var(--accent)}blockquote.twitter-tweet{position:relative;background:rgba(35, 176, 255, 0.1);background:rgba(35, 176, 255, 0.1);font:inherit;color:inherit;border:1px solid #23b0ff;border:1px solid var(--accent);padding-top:60px;}blockquote.twitter-tweet p:before{content:""}blockquote.twitter-tweet:before{content:"> From Twitter:";position:absolute;top:20px;color:#23b0ff;color:var(--accent);font-weight:700}blockquote.twitter-tweet a{color:#23b0ff;color:var(--accent)}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #23b0ff;border:1px dashed var(--accent);padding:10px}th{color:#23b0ff;color:var(--accent)}ol,ul{margin-left:30px;padding:0;}ol li,ul li{position:relative}@media (max-width:684px){ol,ul{margin-left:20px}}@media (--phone){ol,ul{margin-left:20px}}ol{list-style:none;counter-reset:li;}ol li{counter-increment:li}ol li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#23b0ff;color:var(--accent);display:inline-block;text-align:right}ol ol{list-style-type:lower-alpha}mark{background:#23b0ff;background:var(--accent);color:rgb(29, 33, 44);color:var(--background)}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:684px){.container{padding:20px}}@media (--phone){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#23b0ff,#23b0ff 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(29, 33, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:684px){.header .menu{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}@media (--phone){.header .menu{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}@media (max-width:684px){.header .menu__inner--desktop{display:none}}@media (--phone){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:684px){.header .menu__inner--mobile{display:block}}@media (--phone){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:684px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}@media (--phone){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0;}.header .menu__sub-inner-more-trigger{color:#23b0ff;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0;}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#23b0ff;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#23b0ff;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#23b0ff;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;position:relative;margin:100px 0 20px;}.pagination__title-h{margin:0 auto;padding:5px 10px;background:rgb(29, 33, 44);background:rgb(29, 33, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;}.button +.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.index-content{margin-top:20px}.framed{border:1px solid #23b0ff;border:1px solid var(--accent);padding:20px;}.framed :first-child{margin-top:0}.framed :last-child{margin-bottom:0}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:900px){.post{max-width:660px}}@media (--tablet){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.post-title{--border:3px dotted var(--accent);position:relative;color:#23b0ff;color:var(--accent);margin:0 0 15px;padding-bottom:15px}.post-title,.post-title:after{border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5;}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #23b0ff;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:684px){.post-cover{padding:10px;border-width:10px}}@media (--phone){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none;}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:#23b0ff;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(35, 176, 255, 0.9);color:rgba(35, 176, 255, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255, 255, 255, 0.5);color:rgba(255, 255, 255, 0.5)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.inserted,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#23b0ff;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.command-line-prompt>span:before,.token.deleted,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(141, 155, 163);color:rgb(141, 155, 163)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(141, 155, 163, 0.08);background:rgba(141, 155, 163, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#23b0ff;--background:rgb(29, 33, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)}@custom-media --phone (max-width: 684px);@custom-media --tablet (max-width: 900px)
+html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(29, 33, 44);background-color:rgb(29, 33, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:684px){body{font-size:1rem}}@media (--phone){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#23b0ff;background:var(--accent);color:rgb(29, 33, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace!important;font-feature-settings:normal;background:rgba(35, 176, 255, 0.2);background:rgba(35, 176, 255, 0.2);color:#23b0ff;color:var(--accent);padding:1px 6px;margin:0 2px;font-size:.95rem;}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent!important;padding:20px 10px;margin:40px 0;font-size:.95rem!important;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1);}pre +pre{border-top:0;margin-top:-40px}@media (max-width:684px){pre{white-space:pre-wrap;word-wrap:break-word}}@media (--phone){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #23b0ff;border-top:1px solid var(--accent);border-bottom:1px solid #23b0ff;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:684px){blockquote{padding-right:0}}@media (--phone){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:">";display:block;position:absolute;left:-25px;color:#23b0ff;color:var(--accent)}blockquote.twitter-tweet{position:relative;background:rgba(35, 176, 255, 0.1);background:rgba(35, 176, 255, 0.1);font:inherit;color:inherit;border:1px solid #23b0ff;border:1px solid var(--accent);padding-top:60px;}blockquote.twitter-tweet p:before{content:""}blockquote.twitter-tweet:before{content:"> From Twitter:";position:absolute;top:20px;color:#23b0ff;color:var(--accent);font-weight:700}blockquote.twitter-tweet a{color:#23b0ff;color:var(--accent)}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #23b0ff;border:1px dashed var(--accent);padding:10px}th{color:#23b0ff;color:var(--accent)}ol,ul{margin-left:30px;padding:0;}ol li,ul li{position:relative}@media (max-width:684px){ol,ul{margin-left:20px}}@media (--phone){ol,ul{margin-left:20px}}ol{list-style:none;counter-reset:li;}ol li{counter-increment:li}ol li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#23b0ff;color:var(--accent);display:inline-block;text-align:right}ol ol{list-style-type:lower-alpha}mark{background:#23b0ff;background:var(--accent);color:rgb(29, 33, 44);color:var(--background)}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:684px){.container{padding:20px}}@media (--phone){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}sup{line-height:0}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#23b0ff,#23b0ff 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(29, 33, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:684px){.header .menu{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}@media (--phone){.header .menu{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}@media (max-width:684px){.header .menu__inner--desktop{display:none}}@media (--phone){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:684px){.header .menu__inner--mobile{display:block}}@media (--phone){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:684px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}@media (--phone){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0;}.header .menu__sub-inner-more-trigger{color:#23b0ff;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0;}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#23b0ff;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(29, 33, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#23b0ff;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#23b0ff;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;position:relative;margin:100px 0 20px;}.pagination__title-h{margin:0 auto;padding:5px 10px;background:rgb(29, 33, 44);background:rgb(29, 33, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;}.button +.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.index-content{margin-top:20px}.framed{border:1px solid #23b0ff;border:1px solid var(--accent);padding:20px;}.framed :first-child{margin-top:0}.framed :last-child{margin-bottom:0}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:900px){.post{max-width:660px}}@media (--tablet){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(35, 176, 255, 0.7);color:rgba(35, 176, 255, 0.7)}.post-title{--border:3px dotted var(--accent);position:relative;color:#23b0ff;color:var(--accent);margin:0 0 15px;padding-bottom:15px}.post-title,.post-title:after{border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5;}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #23b0ff;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:684px){.post-cover{padding:10px;border-width:10px}}@media (--phone){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none;}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:#23b0ff;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(35, 176, 255, 0.9);color:rgba(35, 176, 255, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255, 255, 255, 0.5);color:rgba(255, 255, 255, 0.5)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.important,.token.inserted,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#23b0ff!important;color:var(--accent)!important}.token.atrule-id,.token.attr-name,.token.class-name,.token.constant,.token.deleted,.token.namespace,.token.operator,.token.placeholder,.token.property,.token.symbol,.token.tag,.token.tag-id,.token.unit,.token.variable{color:rgba(35, 176, 255, 0.7)!important;color:rgba(35, 176, 255, 0.7)!important}.command-line-prompt>span:before,.token.deleted,.token.function,.token.function-name,.token.property,code.language-html,code.language-javascript{color:rgb(141, 155, 163)!important;color:rgb(141, 155, 163)!important}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)!important}.token.namespace{opacity:.7!important}pre[data-line]{position:relative}pre[class*=language-]{margin:0;padding:0;overflow:auto}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(141, 155, 163, 0.08);background:rgba(141, 155, 163, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--code-margin:40px}.code-toolbar{position:relative;margin:40px 0;margin:var(--code-margin) 0;padding:20px;border:1px solid hsla(0,0%,100%,.1);}.code-toolbar +.code-toolbar,.code-toolbar +.highlight,.code-toolbar +.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(var(--code-margin)*-1)}.code-toolbar code,.code-toolbar pre{border:none}.code-toolbar code{display:block;color:inherit}.code-toolbar >.toolbar button{font-size:.8em!important;background:hsla(0,0%,87.8%,.2)!important;color:#bbb!important;box-shadow:0 2px 0 0 rgba(0,0,0,.2)!important;border-radius:0!important;margin:6px!important;padding:10px!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#23b0ff;--background:rgb(29, 33, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)}@custom-media --phone (max-width: 684px);@custom-media --tablet (max-width: 900px)
diff --git a/static/assets/green.css b/static/assets/green.css
index 57d5728..e29b01b 100644
--- a/static/assets/green.css
+++ b/static/assets/green.css
@@ -1 +1 @@
-html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(31, 34, 42);background-color:rgb(31, 34, 42);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:684px){body{font-size:1rem}}@media (--phone){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#78e2a0;background:var(--accent);color:rgb(31, 34, 42);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-feature-settings:normal;background:rgba(120, 226, 160, 0.2);background:rgba(120, 226, 160, 0.2);color:#78e2a0;color:var(--accent);padding:1px 6px;margin:0 2px;font-size:.95rem;}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent!important;padding:20px 10px;margin:40px 0;font-size:.95rem;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1);}pre +pre{border-top:0;margin-top:-40px}@media (max-width:684px){pre{white-space:pre-wrap;word-wrap:break-word}}@media (--phone){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #78e2a0;border-top:1px solid var(--accent);border-bottom:1px solid #78e2a0;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:684px){blockquote{padding-right:0}}@media (--phone){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:">";display:block;position:absolute;left:-25px;color:#78e2a0;color:var(--accent)}blockquote.twitter-tweet{position:relative;background:rgba(120, 226, 160, 0.1);background:rgba(120, 226, 160, 0.1);font:inherit;color:inherit;border:1px solid #78e2a0;border:1px solid var(--accent);padding-top:60px;}blockquote.twitter-tweet p:before{content:""}blockquote.twitter-tweet:before{content:"> From Twitter:";position:absolute;top:20px;color:#78e2a0;color:var(--accent);font-weight:700}blockquote.twitter-tweet a{color:#78e2a0;color:var(--accent)}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #78e2a0;border:1px dashed var(--accent);padding:10px}th{color:#78e2a0;color:var(--accent)}ol,ul{margin-left:30px;padding:0;}ol li,ul li{position:relative}@media (max-width:684px){ol,ul{margin-left:20px}}@media (--phone){ol,ul{margin-left:20px}}ol{list-style:none;counter-reset:li;}ol li{counter-increment:li}ol li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#78e2a0;color:var(--accent);display:inline-block;text-align:right}ol ol{list-style-type:lower-alpha}mark{background:#78e2a0;background:var(--accent);color:rgb(31, 34, 42);color:var(--background)}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:684px){.container{padding:20px}}@media (--phone){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#78e2a0,#78e2a0 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(31, 34, 42, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:684px){.header .menu{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}@media (--phone){.header .menu{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}@media (max-width:684px){.header .menu__inner--desktop{display:none}}@media (--phone){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:684px){.header .menu__inner--mobile{display:block}}@media (--phone){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:684px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}@media (--phone){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0;}.header .menu__sub-inner-more-trigger{color:#78e2a0;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0;}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#78e2a0;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#78e2a0;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#78e2a0;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;position:relative;margin:100px 0 20px;}.pagination__title-h{margin:0 auto;padding:5px 10px;background:rgb(31, 34, 42);background:rgb(31, 34, 42);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;}.button +.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.index-content{margin-top:20px}.framed{border:1px solid #78e2a0;border:1px solid var(--accent);padding:20px;}.framed :first-child{margin-top:0}.framed :last-child{margin-bottom:0}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:900px){.post{max-width:660px}}@media (--tablet){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.post-title{--border:3px dotted var(--accent);position:relative;color:#78e2a0;color:var(--accent);margin:0 0 15px;padding-bottom:15px}.post-title,.post-title:after{border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5;}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #78e2a0;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:684px){.post-cover{padding:10px;border-width:10px}}@media (--phone){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none;}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:#78e2a0;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(120, 226, 160, 0.9);color:rgba(120, 226, 160, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255, 255, 255, 0.5);color:rgba(255, 255, 255, 0.5)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.inserted,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#78e2a0;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.command-line-prompt>span:before,.token.deleted,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(150, 160, 154);color:rgb(150, 160, 154)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(150, 160, 154, 0.08);background:rgba(150, 160, 154, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#78e2a0;--background:rgb(31, 34, 42);--color:#fff;--border-color:hsla(0,0%,100%,0.1)}@custom-media --phone (max-width: 684px);@custom-media --tablet (max-width: 900px)
+html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(31, 34, 42);background-color:rgb(31, 34, 42);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:684px){body{font-size:1rem}}@media (--phone){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#78e2a0;background:var(--accent);color:rgb(31, 34, 42);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace!important;font-feature-settings:normal;background:rgba(120, 226, 160, 0.2);background:rgba(120, 226, 160, 0.2);color:#78e2a0;color:var(--accent);padding:1px 6px;margin:0 2px;font-size:.95rem;}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent!important;padding:20px 10px;margin:40px 0;font-size:.95rem!important;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1);}pre +pre{border-top:0;margin-top:-40px}@media (max-width:684px){pre{white-space:pre-wrap;word-wrap:break-word}}@media (--phone){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #78e2a0;border-top:1px solid var(--accent);border-bottom:1px solid #78e2a0;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:684px){blockquote{padding-right:0}}@media (--phone){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:">";display:block;position:absolute;left:-25px;color:#78e2a0;color:var(--accent)}blockquote.twitter-tweet{position:relative;background:rgba(120, 226, 160, 0.1);background:rgba(120, 226, 160, 0.1);font:inherit;color:inherit;border:1px solid #78e2a0;border:1px solid var(--accent);padding-top:60px;}blockquote.twitter-tweet p:before{content:""}blockquote.twitter-tweet:before{content:"> From Twitter:";position:absolute;top:20px;color:#78e2a0;color:var(--accent);font-weight:700}blockquote.twitter-tweet a{color:#78e2a0;color:var(--accent)}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #78e2a0;border:1px dashed var(--accent);padding:10px}th{color:#78e2a0;color:var(--accent)}ol,ul{margin-left:30px;padding:0;}ol li,ul li{position:relative}@media (max-width:684px){ol,ul{margin-left:20px}}@media (--phone){ol,ul{margin-left:20px}}ol{list-style:none;counter-reset:li;}ol li{counter-increment:li}ol li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#78e2a0;color:var(--accent);display:inline-block;text-align:right}ol ol{list-style-type:lower-alpha}mark{background:#78e2a0;background:var(--accent);color:rgb(31, 34, 42);color:var(--background)}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:684px){.container{padding:20px}}@media (--phone){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}sup{line-height:0}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#78e2a0,#78e2a0 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(31, 34, 42, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:684px){.header .menu{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}@media (--phone){.header .menu{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}@media (max-width:684px){.header .menu__inner--desktop{display:none}}@media (--phone){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:684px){.header .menu__inner--mobile{display:block}}@media (--phone){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:684px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}@media (--phone){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0;}.header .menu__sub-inner-more-trigger{color:#78e2a0;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0;}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#78e2a0;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(31, 34, 42);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#78e2a0;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#78e2a0;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;position:relative;margin:100px 0 20px;}.pagination__title-h{margin:0 auto;padding:5px 10px;background:rgb(31, 34, 42);background:rgb(31, 34, 42);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;}.button +.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.index-content{margin-top:20px}.framed{border:1px solid #78e2a0;border:1px solid var(--accent);padding:20px;}.framed :first-child{margin-top:0}.framed :last-child{margin-bottom:0}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:900px){.post{max-width:660px}}@media (--tablet){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(120, 226, 160, 0.7);color:rgba(120, 226, 160, 0.7)}.post-title{--border:3px dotted var(--accent);position:relative;color:#78e2a0;color:var(--accent);margin:0 0 15px;padding-bottom:15px}.post-title,.post-title:after{border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5;}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #78e2a0;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:684px){.post-cover{padding:10px;border-width:10px}}@media (--phone){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none;}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:#78e2a0;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(120, 226, 160, 0.9);color:rgba(120, 226, 160, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255, 255, 255, 0.5);color:rgba(255, 255, 255, 0.5)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.important,.token.inserted,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#78e2a0!important;color:var(--accent)!important}.token.atrule-id,.token.attr-name,.token.class-name,.token.constant,.token.deleted,.token.namespace,.token.operator,.token.placeholder,.token.property,.token.symbol,.token.tag,.token.tag-id,.token.unit,.token.variable{color:rgba(120, 226, 160, 0.7)!important;color:rgba(120, 226, 160, 0.7)!important}.command-line-prompt>span:before,.token.deleted,.token.function,.token.function-name,.token.property,code.language-html,code.language-javascript{color:rgb(150, 160, 154)!important;color:rgb(150, 160, 154)!important}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)!important}.token.namespace{opacity:.7!important}pre[data-line]{position:relative}pre[class*=language-]{margin:0;padding:0;overflow:auto}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(150, 160, 154, 0.08);background:rgba(150, 160, 154, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--code-margin:40px}.code-toolbar{position:relative;margin:40px 0;margin:var(--code-margin) 0;padding:20px;border:1px solid hsla(0,0%,100%,.1);}.code-toolbar +.code-toolbar,.code-toolbar +.highlight,.code-toolbar +.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(var(--code-margin)*-1)}.code-toolbar code,.code-toolbar pre{border:none}.code-toolbar code{display:block;color:inherit}.code-toolbar >.toolbar button{font-size:.8em!important;background:hsla(0,0%,87.8%,.2)!important;color:#bbb!important;box-shadow:0 2px 0 0 rgba(0,0,0,.2)!important;border-radius:0!important;margin:6px!important;padding:10px!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#78e2a0;--background:rgb(31, 34, 42);--color:#fff;--border-color:hsla(0,0%,100%,0.1)}@custom-media --phone (max-width: 684px);@custom-media --tablet (max-width: 900px)
diff --git a/static/assets/pink.css b/static/assets/pink.css
index ca205f0..b56e691 100644
--- a/static/assets/pink.css
+++ b/static/assets/pink.css
@@ -1 +1 @@
-html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(33, 32, 44);background-color:rgb(33, 32, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:684px){body{font-size:1rem}}@media (--phone){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ee72f1;background:var(--accent);color:rgb(33, 32, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-feature-settings:normal;background:rgba(238, 114, 241, 0.2);background:rgba(238, 114, 241, 0.2);color:#ee72f1;color:var(--accent);padding:1px 6px;margin:0 2px;font-size:.95rem;}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent!important;padding:20px 10px;margin:40px 0;font-size:.95rem;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1);}pre +pre{border-top:0;margin-top:-40px}@media (max-width:684px){pre{white-space:pre-wrap;word-wrap:break-word}}@media (--phone){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ee72f1;border-top:1px solid var(--accent);border-bottom:1px solid #ee72f1;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:684px){blockquote{padding-right:0}}@media (--phone){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:">";display:block;position:absolute;left:-25px;color:#ee72f1;color:var(--accent)}blockquote.twitter-tweet{position:relative;background:rgba(238, 114, 241, 0.1);background:rgba(238, 114, 241, 0.1);font:inherit;color:inherit;border:1px solid #ee72f1;border:1px solid var(--accent);padding-top:60px;}blockquote.twitter-tweet p:before{content:""}blockquote.twitter-tweet:before{content:"> From Twitter:";position:absolute;top:20px;color:#ee72f1;color:var(--accent);font-weight:700}blockquote.twitter-tweet a{color:#ee72f1;color:var(--accent)}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ee72f1;border:1px dashed var(--accent);padding:10px}th{color:#ee72f1;color:var(--accent)}ol,ul{margin-left:30px;padding:0;}ol li,ul li{position:relative}@media (max-width:684px){ol,ul{margin-left:20px}}@media (--phone){ol,ul{margin-left:20px}}ol{list-style:none;counter-reset:li;}ol li{counter-increment:li}ol li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#ee72f1;color:var(--accent);display:inline-block;text-align:right}ol ol{list-style-type:lower-alpha}mark{background:#ee72f1;background:var(--accent);color:rgb(33, 32, 44);color:var(--background)}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:684px){.container{padding:20px}}@media (--phone){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ee72f1,#ee72f1 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(33, 32, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:684px){.header .menu{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}@media (--phone){.header .menu{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}@media (max-width:684px){.header .menu__inner--desktop{display:none}}@media (--phone){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:684px){.header .menu__inner--mobile{display:block}}@media (--phone){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:684px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}@media (--phone){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0;}.header .menu__sub-inner-more-trigger{color:#ee72f1;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0;}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ee72f1;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ee72f1;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ee72f1;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;position:relative;margin:100px 0 20px;}.pagination__title-h{margin:0 auto;padding:5px 10px;background:rgb(33, 32, 44);background:rgb(33, 32, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;}.button +.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.index-content{margin-top:20px}.framed{border:1px solid #ee72f1;border:1px solid var(--accent);padding:20px;}.framed :first-child{margin-top:0}.framed :last-child{margin-bottom:0}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:900px){.post{max-width:660px}}@media (--tablet){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.post-title{--border:3px dotted var(--accent);position:relative;color:#ee72f1;color:var(--accent);margin:0 0 15px;padding-bottom:15px}.post-title,.post-title:after{border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5;}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ee72f1;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:684px){.post-cover{padding:10px;border-width:10px}}@media (--phone){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none;}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:#ee72f1;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(238, 114, 241, 0.9);color:rgba(238, 114, 241, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255, 255, 255, 0.5);color:rgba(255, 255, 255, 0.5)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.inserted,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ee72f1;color:var(--accent)}.token.atrule-id,.token.attr-name,.token.operator,.token.placeholder,.token.tag-id,.token.unit,.token.variable{color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.command-line-prompt>span:before,.token.deleted,.token.function,.token.property,code.language-html,code.language-javascript{color:rgb(162, 149, 162);color:rgb(162, 149, 162)}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)}.token.namespace{opacity:.7}pre[data-line]{position:relative}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(162, 149, 162, 0.08);background:rgba(162, 149, 162, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#ee72f1;--background:rgb(33, 32, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)}@custom-media --phone (max-width: 684px);@custom-media --tablet (max-width: 900px)
+html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{margin:0;padding:0;font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace;font-size:1rem;line-height:1.54;letter-spacing:-.02em;background-color:rgb(33, 32, 44);background-color:rgb(33, 32, 44);color:#fff;color:var(--color);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"liga","tnum","case","calt","zero","ss01","locl","calt";font-variant-ligatures:contextual;-webkit-overflow-scrolling:touch;-webkit-text-size-adjust:100%}@media (max-width:684px){body{font-size:1rem}}@media (--phone){body{font-size:1rem}}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3,.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{line-height:1.3}.headings--one-size h1:not(first-child),.headings--one-size h2:not(first-child),.headings--one-size h3:not(first-child),.headings--one-size h4:not(first-child),.headings--one-size h5:not(first-child),.headings--one-size h6:not(first-child){margin-top:40px}.headings--one-size h1,.headings--one-size h2,.headings--one-size h3{font-size:1.4rem}.headings--one-size h4,.headings--one-size h5,.headings--one-size h6{font-size:1.2rem}a{color:inherit}img{display:block;max-width:100%}img.center,img.left{margin-right:auto}img.center,img.right{margin-left:auto}p{margin-bottom:20px}figure{display:table;max-width:100%;margin:25px 0}figure.center,figure.left{margin-right:auto}figure.center,figure.right{margin-left:auto}figure figcaption{font-size:14px;padding:5px 10px;margin-top:5px;background:#ee72f1;background:var(--accent);color:rgb(33, 32, 44);color:var(--background)}figure figcaption.left{text-align:left}figure figcaption.center{text-align:center}figure figcaption.right{text-align:right}code,kbd{font-family:Fira Code,Monaco,Consolas,Ubuntu Mono,monospace!important;font-feature-settings:normal;background:rgba(238, 114, 241, 0.2);background:rgba(238, 114, 241, 0.2);color:#ee72f1;color:var(--accent);padding:1px 6px;margin:0 2px;font-size:.95rem;}code code,code kbd,kbd code,kbd kbd{background:transparent;padding:0;margin:0}pre{background:transparent!important;padding:20px 10px;margin:40px 0;font-size:.95rem!important;overflow:auto;border-top:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid hsla(0,0%,100%,.1);}pre +pre{border-top:0;margin-top:-40px}@media (max-width:684px){pre{white-space:pre-wrap;word-wrap:break-word}}@media (--phone){pre{white-space:pre-wrap;word-wrap:break-word}}pre code{background:none!important;margin:0;padding:0;font-size:inherit;border:none}blockquote{border-top:1px solid #ee72f1;border-top:1px solid var(--accent);border-bottom:1px solid #ee72f1;border-bottom:1px solid var(--accent);margin:40px 0;padding:25px}@media (max-width:684px){blockquote{padding-right:0}}@media (--phone){blockquote{padding-right:0}}blockquote p:first-of-type{margin-top:0}blockquote p:last-of-type{margin-bottom:0}blockquote p{position:relative}blockquote p:first-of-type:before{content:">";display:block;position:absolute;left:-25px;color:#ee72f1;color:var(--accent)}blockquote.twitter-tweet{position:relative;background:rgba(238, 114, 241, 0.1);background:rgba(238, 114, 241, 0.1);font:inherit;color:inherit;border:1px solid #ee72f1;border:1px solid var(--accent);padding-top:60px;}blockquote.twitter-tweet p:before{content:""}blockquote.twitter-tweet:before{content:"> From Twitter:";position:absolute;top:20px;color:#ee72f1;color:var(--accent);font-weight:700}blockquote.twitter-tweet a{color:#ee72f1;color:var(--accent)}table{table-layout:auto;border-collapse:collapse;width:100%;margin:40px 0}table,td,th{border:1px dashed #ee72f1;border:1px dashed var(--accent);padding:10px}th{color:#ee72f1;color:var(--accent)}ol,ul{margin-left:30px;padding:0;}ol li,ul li{position:relative}@media (max-width:684px){ol,ul{margin-left:20px}}@media (--phone){ol,ul{margin-left:20px}}ol{list-style:none;counter-reset:li;}ol li{counter-increment:li}ol li:before{content:counter(li);position:absolute;right:calc(100% + 10px);color:#ee72f1;color:var(--accent);display:inline-block;text-align:right}ol ol{list-style-type:lower-alpha}mark{background:#ee72f1;background:var(--accent);color:rgb(33, 32, 44);color:var(--background)}.container{display:flex;flex-direction:column;padding:40px;max-width:864px;min-height:100vh;border-right:1px solid hsla(0,0%,100%,.1)}.container.center,.container.full{border:none;margin:0 auto}.container.full{max-width:100%}@media (max-width:684px){.container{padding:20px}}@media (--phone){.container{padding:20px}}@media print{.container{display:inline;display:initial}}.content{display:flex;flex-direction:column}@media print{.content{display:inline;display:initial}}hr{width:100%;border:none;background:hsla(0,0%,100%,.1);background:var(--border-color);height:1px}.hidden{display:none}sup{line-height:0}.header{display:flex;flex-direction:column;position:relative}@media print{.header{display:none}}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex:1}.header__logo:after{content:"";background:repeating-linear-gradient(90deg,#ee72f1,#ee72f1 2px,transparent 0,transparent 10px);background:repeating-linear-gradient(90deg,var(--accent),var(--accent) 2px,transparent 0,transparent 10px);display:block;width:100%;right:10px}.header__logo a{flex:0 0 auto;max-width:100%;text-decoration:none}.header .menu{--shadow-color:rgba(33, 32, 44, 0.8);--shadow:0 10px var(--shadow-color),-10px 10px var(--shadow-color),10px 10px var(--shadow-color);margin:20px 0}@media (max-width:684px){.header .menu{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}@media (--phone){.header .menu{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:50px;right:0}}.header .menu__inner{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0;}@media (max-width:684px){.header .menu__inner--desktop{display:none}}@media (--phone){.header .menu__inner--desktop{display:none}}.header .menu__inner--mobile{display:none}@media (max-width:684px){.header .menu__inner--mobile{display:block}}@media (--phone){.header .menu__inner--mobile{display:block}}.header .menu__inner li:not(:last-of-type){margin-right:20px;margin-bottom:10px;flex:0 0 auto}@media (max-width:684px){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}@media (--phone){.header .menu__inner{flex-direction:column;align-items:flex-start;padding:0;}.header .menu__inner li{margin:0;padding:5px}}.header .menu__sub-inner{position:relative;list-style:none;padding:0;margin:0}.header .menu__sub-inner:not(:only-child){margin-left:20px}.header .menu__sub-inner-more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;left:0;}.header .menu__sub-inner-more-trigger{color:#ee72f1;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.header .menu__sub-inner-more li{margin:0;padding:5px;white-space:nowrap}.header .menu .spacer{flex-grow:1}.header .menu .language-selector{position:relative;list-style:none;margin:0;}.header .menu .language-selector-current{list-style-type:none;display:flex;flex-direction:row;color:#ee72f1;color:var(--accent);cursor:pointer;margin:0}.header .menu .language-selector__more{position:absolute;background:rgb(33, 32, 44);background:var(--background);box-shadow:var(--shadow);color:#fff;border:2px solid;margin:0;padding:10px;list-style:none;z-index:99;top:35px;right:0}.header .menu-trigger{color:#ee72f1;color:var(--accent);border:2px solid;margin-left:10px;height:100%;padding:3px 8px;position:relative}.logo{display:flex;align-items:center;text-decoration:none;background:#ee72f1;background:var(--accent);color:#000;padding:5px 10px}.pagination{margin-top:50px}@media print{.pagination{display:none}}.pagination__title{display:flex;position:relative;margin:100px 0 20px;}.pagination__title-h{margin:0 auto;padding:5px 10px;background:rgb(33, 32, 44);background:rgb(33, 32, 44);font-size:.8rem;text-transform:uppercase;text-decoration:none;letter-spacing:.1em;z-index:1}.pagination__title hr{position:absolute;left:0;right:0;width:100%;margin-top:15px;z-index:0}.pagination__buttons{display:flex;align-items:center;justify-content:center;}.pagination__buttons a{text-decoration:none}.button{position:relative;display:inline-flex;flex:1;align-items:center;justify-content:center;font-size:1rem;border-radius:8px;padding:0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;overflow:hidden;}.button +.button{margin-left:10px}.button a{display:flex;padding:8px 16px;text-decoration:none}.button__text,.button a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button.next .button__icon{margin-left:8px}.button.previous .button__icon{margin-right:8px}.index-content{margin-top:20px}.framed{border:1px solid #ee72f1;border:1px solid var(--accent);padding:20px;}.framed :first-child{margin-top:0}.framed :last-child{margin-bottom:0}.post,.posts{width:100%}.post{text-align:left;margin:20px auto;padding:20px 0}@media (max-width:900px){.post{max-width:660px}}@media (--tablet){.post{max-width:660px}}.post:not(:last-of-type){border-bottom:1px solid hsla(0,0%,100%,.1);border-bottom:1px solid var(--border-color)}.post-meta{font-size:1rem;margin-bottom:10px;color:rgba(238, 114, 241, 0.7);color:rgba(238, 114, 241, 0.7)}.post-title{--border:3px dotted var(--accent);position:relative;color:#ee72f1;color:var(--accent);margin:0 0 15px;padding-bottom:15px}.post-title,.post-title:after{border-bottom:var(--border)}.post-title:after{content:"";position:absolute;bottom:2px;display:block;width:100%}.post-title a{text-decoration:none}.post-tags{display:block;margin-bottom:20px;font-size:1rem;opacity:.5;}.post-tags a{text-decoration:none}.post-content{margin-top:30px}.post-cover{border:20px solid #ee72f1;border:20px solid var(--accent);background:transparent;margin:40px 0;padding:20px}@media (max-width:684px){.post-cover{padding:10px;border-width:10px}}@media (--phone){.post-cover{padding:10px;border-width:10px}}.post ul{list-style:none;}.post ul li:not(:empty):before{content:"-";position:absolute;left:-20px;color:#ee72f1;color:var(--accent)}.post--regulation h1,.post--regulation h2{justify-content:center}.post--regulation h2{margin-bottom:10px}.post--regulation h2+h2{margin-top:-10px;margin-bottom:20px}.hanchor{color:rgba(238, 114, 241, 0.9);color:rgba(238, 114, 241, 0.9);text-decoration:none;margin-left:10px;visibility:hidden}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.footnotes{color:rgba(255, 255, 255, 0.5);color:rgba(255, 255, 255, 0.5)}.language-css .token.string,.language-scss .token.string,.style .token.string,.token.atrule,.token.attr-value,.token.boolean,.token.control,.token.directive,.token.entity,.token.important,.token.inserted,.token.keyword,.token.number,.token.regex,.token.statement,.token.string,.token.url,code.language-css,code.language-scss{color:#ee72f1!important;color:var(--accent)!important}.token.atrule-id,.token.attr-name,.token.class-name,.token.constant,.token.deleted,.token.namespace,.token.operator,.token.placeholder,.token.property,.token.symbol,.token.tag,.token.tag-id,.token.unit,.token.variable{color:rgba(238, 114, 241, 0.7)!important;color:rgba(238, 114, 241, 0.7)!important}.command-line-prompt>span:before,.token.deleted,.token.function,.token.function-name,.token.property,code.language-html,code.language-javascript{color:rgb(162, 149, 162)!important;color:rgb(162, 149, 162)!important}.token.punctuation,.token.selector,.token.tag{color:#fff}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:hsla(0,0%,100%,.3)!important}.token.namespace{opacity:.7!important}pre[data-line]{position:relative}pre[class*=language-]{margin:0;padding:0;overflow:auto}.line-highlight{position:absolute;left:0;right:0;padding:0;margin:0;background:rgba(162, 149, 162, 0.08);background:rgba(162, 149, 162, 0.08);pointer-events:none;line-height:inherit;white-space:pre}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f5f2f0;font:700 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}:root{--code-margin:40px}.code-toolbar{position:relative;margin:40px 0;margin:var(--code-margin) 0;padding:20px;border:1px solid hsla(0,0%,100%,.1);}.code-toolbar +.code-toolbar,.code-toolbar +.highlight,.code-toolbar +.highlight .code-toolbar{border-top:0;margin-top:-40px;margin-top:calc(var(--code-margin)*-1)}.code-toolbar code,.code-toolbar pre{border:none}.code-toolbar code{display:block;color:inherit}.code-toolbar >.toolbar button{font-size:.8em!important;background:hsla(0,0%,87.8%,.2)!important;color:#bbb!important;box-shadow:0 2px 0 0 rgba(0,0,0,.2)!important;border-radius:0!important;margin:6px!important;padding:10px!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:root{--accent:#ffa86a;--phoneWidth:(max-width:684px);--tabletWidth:(max-width:900px);--accent:#ee72f1;--background:rgb(33, 32, 44);--color:#fff;--border-color:hsla(0,0%,100%,0.1)}@custom-media --phone (max-width: 684px);@custom-media --tablet (max-width: 900px)
diff --git a/static/assets/prism.js b/static/assets/prism.js
index 818d1bc..790fd71 100644
--- a/static/assets/prism.js
+++ b/static/assets/prism.js
@@ -1,8 +1 @@
-!function(){var n={213:function(e,t,n){var a,g,i,r,l,o,m=function(l){var d=/\blang(?:uage)?-([\w-]+)\b/i,t=0,I={manual:l.Prism&&l.Prism.manual,disableWorkerMessageHandler:l.Prism&&l.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof N?new N(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=o.reach);v+=y.value.length,y=y.next){var w=y.value;if(n.length>t.length)return;if(!(w instanceof N)){var k,S,E,x,A=1;if(f&&y!=n.tail.prev){if(h.lastIndex=v,!(L=h.exec(t)))break;var _=L.index+(g&&L[1]?L[1].length:0),T=L.index+L[0].length,R=v;for(R+=y.value.length;R<=_;)R+=(y=y.next).value.length;if(v=R-=y.value.length,y.value instanceof N)continue;for(var C=y;C!==n.tail&&(R
o.reach&&(o.reach=x),w=y.prev,S&&(w=F(n,w,S),v+=S.length),function(e,t,n){for(var a=t.next,i=0;i"+i.content+""+i.tag+">"},!l.document)return l.addEventListener&&(I.disableWorkerMessageHandler||l.addEventListener("message",function(e){var t=JSON.parse(e.data),n=t.language,e=t.code,t=t.immediateClose;l.postMessage(I.highlight(e,I.languages[n],n)),t&&l.close()},!1)),I;var e,n=I.util.currentScript();function a(){I.manual||I.highlightAll()}return n&&(I.filename=n.src,n.hasAttribute("data-manual")&&(I.manual=!0)),I.manual||("loading"===(e=document.readyState)||"interactive"===e&&n&&n.defer?document.addEventListener("DOMContentLoaded",a):window.requestAnimationFrame?window.requestAnimationFrame(a):window.setTimeout(a,16)),I}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{});function f(e,t){return"___"+e.toUpperCase()+t+"___"}function s(e){return e=e.replace(//g,function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))"}),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+e+")")}e.exports&&(e.exports=m),void 0!==n.g&&(n.g.Prism=m),m.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/?[\da-f]{1,8};/i]},m.languages.markup.tag.inside["attr-value"].inside.entity=m.languages.markup.entity,m.languages.markup.doctype.inside["internal-subset"].inside=m.languages.markup,m.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),Object.defineProperty(m.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:m.languages[t]},n.cdata=/^$/i;n={"included-cdata":{pattern://i,inside:n}};n["language-"+t]={pattern:/[\s\S]+/,inside:m.languages[t]};t={};t[e]={pattern:RegExp("(<__[^]*?>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},m.languages.insertBefore("markup","cdata",t)}}),m.languages.html=m.languages.markup,m.languages.mathml=m.languages.markup,m.languages.svg=m.languages.markup,m.languages.xml=m.languages.extend("markup",{}),m.languages.ssml=m.languages.xml,m.languages.atom=m.languages.xml,m.languages.rss=m.languages.xml,function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\((?!\s*\))\s*)(?:[^()]|\((?:[^()]|\([^()]*\))*\))+?(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;t=e.languages.markup;t&&(t.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},t.tag))}(m),m.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},m.languages.javascript=m.languages.extend("clike",{"class-name":[m.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|(?:get|set)(?=\s*[\[$\w\xA0-\uFFFF])|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),m.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,m.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:m.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:m.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:m.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:m.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:m.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),m.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:m.languages.javascript}},string:/[\s\S]+/}}}),m.languages.markup&&m.languages.markup.tag.addInlined("script","javascript"),m.languages.js=m.languages.javascript,m.languages.actionscript=m.languages.extend("javascript",{keyword:/\b(?:as|break|case|catch|class|const|default|delete|do|else|extends|finally|for|function|if|implements|import|in|instanceof|interface|internal|is|native|new|null|package|private|protected|public|return|super|switch|this|throw|try|typeof|use|var|void|while|with|dynamic|each|final|get|include|namespace|native|override|set|static)\b/,operator:/\+\+|--|(?:[+\-*\/%^]|&&?|\|\|?|<|>>?>?|[!=]=?)=?|[~?@]/}),m.languages.actionscript["class-name"].alias="function",m.languages.markup&&m.languages.insertBefore("actionscript","string",{xml:{pattern:/(^|[^.])<\/?\w+(?:\s+[^\s>\/=]+=("|')(?:\\[\s\S]|(?!\2)[^\\])*\2)*\s*\/?>/,lookbehind:!0,inside:m.languages.markup}}),m.languages.apacheconf={comment:/#.*/,"directive-inline":{pattern:/(^\s*)\b(?:AcceptFilter|AcceptPathInfo|AccessFileName|Action|Add(?:Alt|AltByEncoding|AltByType|Charset|DefaultCharset|Description|Encoding|Handler|Icon|IconByEncoding|IconByType|InputFilter|Language|ModuleInfo|OutputFilter|OutputFilterByType|Type)|Alias|AliasMatch|Allow(?:CONNECT|EncodedSlashes|Methods|Override|OverrideList)?|Anonymous(?:_LogEmail|_MustGiveEmail|_NoUserID|_VerifyEmail)?|AsyncRequestWorkerFactor|Auth(?:BasicAuthoritative|BasicFake|BasicProvider|BasicUseDigestAlgorithm|DBDUserPWQuery|DBDUserRealmQuery|DBMGroupFile|DBMType|DBMUserFile|Digest(?:Algorithm|Domain|NonceLifetime|Provider|Qop|ShmemSize)|Form(?:Authoritative|Body|DisableNoStore|FakeBasicAuth|Location|LoginRequiredLocation|LoginSuccessLocation|LogoutLocation|Method|Mimetype|Password|Provider|SitePassphrase|Size|Username)|GroupFile|LDAP(?:AuthorizePrefix|BindAuthoritative|BindDN|BindPassword|CharsetConfig|CompareAsUser|CompareDNOnServer|DereferenceAliases|GroupAttribute|GroupAttributeIsDN|InitialBindAsUser|InitialBindPattern|MaxSubGroupDepth|RemoteUserAttribute|RemoteUserIsDN|SearchAsUser|SubGroupAttribute|SubGroupClass|Url)|Merging|Name|Type|UserFile|nCache(?:Context|Enable|ProvideFor|SOCache|Timeout)|nzFcgiCheckAuthnProvider|nzFcgiDefineProvider|zDBDLoginToReferer|zDBDQuery|zDBDRedirectQuery|zDBMType|zSendForbiddenOnFailure)|BalancerGrowth|BalancerInherit|BalancerMember|BalancerPersist|BrowserMatch|BrowserMatchNoCase|BufferSize|BufferedLogs|CGIDScriptTimeout|CGIMapExtension|Cache(?:DefaultExpire|DetailHeader|DirLength|DirLevels|Disable|Enable|File|Header|IgnoreCacheControl|IgnoreHeaders|IgnoreNoLastMod|IgnoreQueryString|IgnoreURLSessionIdentifiers|KeyBaseURL|LastModifiedFactor|Lock|LockMaxAge|LockPath|MaxExpire|MaxFileSize|MinExpire|MinFileSize|NegotiatedDocs|QuickHandler|ReadSize|ReadTime|Root|Socache(?:MaxSize|MaxTime|MinTime|ReadSize|ReadTime)?|StaleOnError|StoreExpired|StoreNoStore|StorePrivate)|CharsetDefault|CharsetOptions|CharsetSourceEnc|CheckCaseOnly|CheckSpelling|ChrootDir|ContentDigest|CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking|CoreDumpDirectory|CustomLog|DBDExptime|DBDInitSQL|DBDKeep|DBDMax|DBDMin|DBDParams|DBDPersist|DBDPrepareSQL|DBDriver|DTracePrivileges|Dav|DavDepthInfinity|DavGenericLockDB|DavLockDB|DavMinTimeout|DefaultIcon|DefaultLanguage|DefaultRuntimeDir|DefaultType|Define|Deflate(?:BufferSize|CompressionLevel|FilterNote|InflateLimitRequestBody|InflateRatio(?:Burst|Limit)|MemLevel|WindowSize)|Deny|DirectoryCheckHandler|DirectoryIndex|DirectoryIndexRedirect|DirectorySlash|DocumentRoot|DumpIOInput|DumpIOOutput|EnableExceptionHook|EnableMMAP|EnableSendfile|Error|ErrorDocument|ErrorLog|ErrorLogFormat|Example|ExpiresActive|ExpiresByType|ExpiresDefault|ExtFilterDefine|ExtFilterOptions|ExtendedStatus|FallbackResource|FileETag|FilterChain|FilterDeclare|FilterProtocol|FilterProvider|FilterTrace|ForceLanguagePriority|ForceType|ForensicLog|GprofDir|GracefulShutdownTimeout|Group|Header|HeaderName|Heartbeat(?:Address|Listen|MaxServers|Storage)|HostnameLookups|ISAPI(?:AppendLogToErrors|AppendLogToQuery|CacheFile|FakeAsync|LogNotSupported|ReadAheadBuffer)|IdentityCheck|IdentityCheckTimeout|ImapBase|ImapDefault|ImapMenu|Include|IncludeOptional|Index(?:HeadInsert|Ignore|IgnoreReset|Options|OrderDefault|StyleSheet)|InputSed|KeepAlive|KeepAliveTimeout|KeptBodySize|LDAP(?:CacheEntries|CacheTTL|ConnectionPoolTTL|ConnectionTimeout|LibraryDebug|OpCacheEntries|OpCacheTTL|ReferralHopLimit|Referrals|Retries|RetryDelay|SharedCacheFile|SharedCacheSize|Timeout|TrustedClientCert|TrustedGlobalCert|TrustedMode|VerifyServerCert)|LanguagePriority|Limit(?:InternalRecursion|Request(?:Body|FieldSize|Fields|Line)|XMLRequestBody)|Listen|ListenBackLog|LoadFile|LoadModule|LogFormat|LogLevel|LogMessage|LuaAuthzProvider|LuaCodeCache|Lua(?:Hook(?:AccessChecker|AuthChecker|CheckUserID|Fixups|InsertFilter|Log|MapToStorage|TranslateName|TypeChecker)|Inherit|InputFilter|MapHandler|OutputFilter|PackageCPath|PackagePath|QuickHandler|Root|Scope)|MMapFile|Max(?:ConnectionsPerChild|KeepAliveRequests|MemFree|RangeOverlaps|RangeReversals|Ranges|RequestWorkers|SpareServers|SpareThreads|Threads)|MergeTrailers|MetaDir|MetaFiles|MetaSuffix|MimeMagicFile|MinSpareServers|MinSpareThreads|ModMimeUsePathInfo|ModemStandard|MultiviewsMatch|Mutex|NWSSLTrustedCerts|NWSSLUpgradeable|NameVirtualHost|NoProxy|Options|Order|OutputSed|PassEnv|PidFile|PrivilegesMode|Protocol|ProtocolEcho|Proxy(?:AddHeaders|BadHeader|Block|Domain|ErrorOverride|ExpressDBMFile|ExpressDBMType|ExpressEnable|FtpDirCharset|FtpEscapeWildcards|FtpListOnWildcard|HTML(?:BufSize|CharsetOut|DocType|Enable|Events|Extended|Fixups|Interp|Links|Meta|StripComments|URLMap)|IOBufferSize|MaxForwards|Pass(?:Inherit|InterpolateEnv|Match|Reverse|ReverseCookieDomain|ReverseCookiePath)?|PreserveHost|ReceiveBufferSize|Remote|RemoteMatch|Requests|SCGIInternalRedirect|SCGISendfile|Set|SourceAddress|Status|Timeout|Via)|RLimitCPU|RLimitMEM|RLimitNPROC|ReadmeName|ReceiveBufferSize|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ReflectorHeader|RemoteIP(?:Header|InternalProxy|InternalProxyList|ProxiesHeader|TrustedProxy|TrustedProxyList)|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|RequestHeader|RequestReadTimeout|Require|Rewrite(?:Base|Cond|Engine|Map|Options|Rule)|SSIETag|SSIEndTag|SSIErrorMsg|SSILastModified|SSILegacyExprParser|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|SSL(?:CACertificateFile|CACertificatePath|CADNRequestFile|CADNRequestPath|CARevocationCheck|CARevocationFile|CARevocationPath|CertificateChainFile|CertificateFile|CertificateKeyFile|CipherSuite|Compression|CryptoDevice|Engine|FIPS|HonorCipherOrder|InsecureRenegotiation|OCSP(?:DefaultResponder|Enable|OverrideResponder|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|UseRequestNonce)|OpenSSLConfCmd|Options|PassPhraseDialog|Protocol|Proxy(?:CACertificateFile|CACertificatePath|CARevocation(?:Check|File|Path)|CheckPeer(?:CN|Expire|Name)|CipherSuite|Engine|MachineCertificate(?:ChainFile|File|Path)|Protocol|Verify|VerifyDepth)|RandomSeed|RenegBufferSize|Require|RequireSSL|SRPUnknownUserSeed|SRPVerifierFile|Session(?:Cache|CacheTimeout|TicketKeyFile|Tickets)|Stapling(?:Cache|ErrorCacheTimeout|FakeTryLater|ForceURL|ResponderTimeout|ResponseMaxAge|ResponseTimeSkew|ReturnResponderErrors|StandardCacheTimeout)|StrictSNIVHostCheck|UseStapling|UserName|VerifyClient|VerifyDepth)|Satisfy|ScoreBoardFile|Script(?:Alias|AliasMatch|InterpreterSource|Log|LogBuffer|LogLength|Sock)?|SecureListen|SeeRequestTail|SendBufferSize|Server(?:Admin|Alias|Limit|Name|Path|Root|Signature|Tokens)|Session(?:Cookie(?:Name|Name2|Remove)|Crypto(?:Cipher|Driver|Passphrase|PassphraseFile)|DBD(?:CookieName|CookieName2|CookieRemove|DeleteLabel|InsertLabel|PerUser|SelectLabel|UpdateLabel)|Env|Exclude|Header|Include|MaxAge)?|SetEnv|SetEnvIf|SetEnvIfExpr|SetEnvIfNoCase|SetHandler|SetInputFilter|SetOutputFilter|StartServers|StartThreads|Substitute|Suexec|SuexecUserGroup|ThreadLimit|ThreadStackSize|ThreadsPerChild|TimeOut|TraceEnable|TransferLog|TypesConfig|UnDefine|UndefMacro|UnsetEnv|Use|UseCanonicalName|UseCanonicalPhysicalPort|User|UserDir|VHostCGIMode|VHostCGIPrivs|VHostGroup|VHostPrivs|VHostSecure|VHostUser|Virtual(?:DocumentRoot|ScriptAlias)(?:IP)?|WatchdogInterval|XBitHack|xml2EncAlias|xml2EncDefault|xml2StartParse)\b/im,lookbehind:!0,alias:"property"},"directive-block":{pattern:/<\/?\b(?:Auth[nz]ProviderAlias|Directory|DirectoryMatch|Else|ElseIf|Files|FilesMatch|If|IfDefine|IfModule|IfVersion|Limit|LimitExcept|Location|LocationMatch|Macro|Proxy|Require(?:All|Any|None)|VirtualHost)\b *.*>/i,inside:{"directive-block":{pattern:/^<\/?\w+/,inside:{punctuation:/^<\/?/},alias:"tag"},"directive-block-parameter":{pattern:/.*[^>]/,inside:{punctuation:/:/,string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}}},alias:"attr-value"},punctuation:/>/},alias:"tag"},"directive-flags":{pattern:/\[(?:\w,?)+\]/,alias:"keyword"},string:{pattern:/("|').*\1/,inside:{variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/}},variable:/[$%]\{?(?:\w\.?[-+:]?)+\}?/,regex:/\^?.*\$|\^.*\$?/},m.languages.applescript={comment:[/\(\*(?:\(\*(?:[^*]|\*(?!\)))*\*\)|(?!\(\*)[\s\S])*?\*\)/,/--.+/,/#.+/],string:/"(?:\\.|[^"\\\r\n])*"/,number:/(?:\b\d+\.?\d*|\B\.\d+)(?:e-?\d+)?\b/i,operator:[/[&=≠≤≥*+\-\/÷^]|[<>]=?/,/\b(?:(?:start|begin|end)s? with|(?:(?:does not|doesn't) contain|contains?)|(?:is|isn't|is not) (?:in|contained by)|(?:(?:is|isn't|is not) )?(?:greater|less) than(?: or equal)?(?: to)?|(?:(?:does not|doesn't) come|comes) (?:before|after)|(?:is|isn't|is not) equal(?: to)?|(?:(?:does not|doesn't) equal|equals|equal to|isn't|is not)|(?:a )?(?:ref(?: to)?|reference to)|(?:and|or|div|mod|as|not))\b/],keyword:/\b(?:about|above|after|against|apart from|around|aside from|at|back|before|beginning|behind|below|beneath|beside|between|but|by|considering|continue|copy|does|eighth|else|end|equal|error|every|exit|false|fifth|first|for|fourth|from|front|get|given|global|if|ignoring|in|instead of|into|is|it|its|last|local|me|middle|my|ninth|of|on|onto|out of|over|prop|property|put|repeat|return|returning|second|set|seventh|since|sixth|some|tell|tenth|that|the|then|third|through|thru|timeout|times|to|transaction|true|try|until|where|while|whose|with|without)\b/,class:{pattern:/\b(?:alias|application|boolean|class|constant|date|file|integer|list|number|POSIX file|real|record|reference|RGB color|script|text|centimetres|centimeters|feet|inches|kilometres|kilometers|metres|meters|miles|yards|square feet|square kilometres|square kilometers|square metres|square meters|square miles|square yards|cubic centimetres|cubic centimeters|cubic feet|cubic inches|cubic metres|cubic meters|cubic yards|gallons|litres|liters|quarts|grams|kilograms|ounces|pounds|degrees Celsius|degrees Fahrenheit|degrees Kelvin)\b/,alias:"builtin"},punctuation:/[{}():,¬«»《》]/},function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\2)[^\\])*\2/,lookbehind:!0,greedy:!0,inside:a}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=a.variable[1].inside,o=0;o>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/,number:/(?:\b0x(?:[\da-f]+\.?[\da-f]*|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?)[ful]*/i}),m.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+(?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},m.languages.c.string],comment:m.languages.c.comment,directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:m.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete m.languages.c.boolean,function(n){function a(e,n){return e.replace(/<<(\d+)>>/g,function(e,t){return"(?:"+n[+t]+")"})}function i(e,t,n){return RegExp(a(e,t),n||"")}function e(e,t){for(var n=0;n>/g,function(){return"(?:"+e+")"});return e.replace(/<>/g,"[^\\s\\S]")}var t="bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",r="class enum interface struct",o="add alias and ascending async await by descending from get global group into join let nameof not notnull on or orderby partial remove select set unmanaged value when where where",s="abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield";function l(e){return"\\b(?:"+e.trim().replace(/ /g,"|")+")\\b"}var d=l(r),u=RegExp(l(t+" "+r+" "+o+" "+s)),c=l(r+" "+o+" "+s),p=l(t+" "+r+" "+s),g=e("<(?:[^<>;=+\\-*/%&|^]|<>)*>",2),f=e("\\((?:[^()]|<>)*\\)",2),m="@?\\b[A-Za-z_]\\w*\\b",b=a("<<0>>(?:\\s*<<1>>)?",[m,g]),h=a("(?!<<0>>)<<1>>(?:\\s*\\.\\s*<<1>>)*",[c,b]),o="\\[\\s*(?:,\\s*)*\\]",t=a("<<0>>(?:\\s*(?:\\?\\s*)?<<1>>)*(?:\\s*\\?)?",[h,o]),r=a("(?:<<0>>|<<1>>)(?:\\s*(?:\\?\\s*)?<<2>>)*(?:\\s*\\?)?",[a("\\(<<0>>+(?:,<<0>>+)+\\)",[a("[^,()<>[\\];=+\\-*/%&|^]|<<0>>|<<1>>|<<2>>",[g,f,o])]),h,o]),s={keyword:u,punctuation:/[<>()?,.:[\]]/},c="'(?:[^\r\n'\\\\]|\\\\.|\\\\[Uux][\\da-fA-F]{1,8})'",o='"(?:\\\\.|[^\\\\"\r\n])*"';n.languages.csharp=n.languages.extend("clike",{string:[{pattern:i("(^|[^$\\\\])<<0>>",['@"(?:""|\\\\[^]|[^\\\\"])*"(?!")']),lookbehind:!0,greedy:!0},{pattern:i("(^|[^@$\\\\])<<0>>",[o]),lookbehind:!0,greedy:!0},{pattern:RegExp(c),greedy:!0,alias:"character"}],"class-name":[{pattern:i("(\\busing\\s+static\\s+)<<0>>(?=\\s*;)",[h]),lookbehind:!0,inside:s},{pattern:i("(\\busing\\s+<<0>>\\s*=\\s*)<<1>>(?=\\s*;)",[m,r]),lookbehind:!0,inside:s},{pattern:i("(\\busing\\s+)<<0>>(?=\\s*=)",[m]),lookbehind:!0},{pattern:i("(\\b<<0>>\\s+)<<1>>",[d,b]),lookbehind:!0,inside:s},{pattern:i("(\\bcatch\\s*\\(\\s*)<<0>>",[h]),lookbehind:!0,inside:s},{pattern:i("(\\bwhere\\s+)<<0>>",[m]),lookbehind:!0},{pattern:i("(\\b(?:is(?:\\s+not)?|as)\\s+)<<0>>",[t]),lookbehind:!0,inside:s},{pattern:i("\\b<<0>>(?=\\s+(?!<<1>>)<<2>>(?:\\s*[=,;:{)\\]]|\\s+(?:in|when)\\b))",[r,p,m]),inside:s}],keyword:u,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:ul|lu|[dflmu])?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),n.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),n.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:i("([(,]\\s*)<<0>>(?=\\s*:)",[m]),lookbehind:!0,alias:"punctuation"}}),n.languages.insertBefore("csharp","class-name",{namespace:{pattern:i("(\\b(?:namespace|using)\\s+)<<0>>(?:\\s*\\.\\s*<<0>>)*(?=\\s*[;{])",[m]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:i("(\\b(?:default|typeof|sizeof)\\s*\\(\\s*)(?:[^()\\s]|\\s(?!\\s*\\))|<<0>>)*(?=\\s*\\))",[f]),lookbehind:!0,alias:"class-name",inside:s},"return-type":{pattern:i("<<0>>(?=\\s+(?:<<1>>\\s*(?:=>|[({]|\\.\\s*this\\s*\\[)|this\\s*\\[))",[r,h]),inside:s,alias:"class-name"},"constructor-invocation":{pattern:i("(\\bnew\\s+)<<0>>(?=\\s*[[({])",[r]),lookbehind:!0,inside:s,alias:"class-name"},"generic-method":{pattern:i("<<0>>\\s*<<1>>(?=\\s*\\()",[m,g]),inside:{function:i("^<<0>>",[m]),generic:{pattern:RegExp(g),alias:"class-name",inside:s}}},"type-list":{pattern:i("\\b((?:<<0>>\\s+<<1>>|where\\s+<<2>>)\\s*:\\s*)(?:<<3>>|<<4>>)(?:\\s*,\\s*(?:<<3>>|<<4>>))*(?=\\s*(?:where|[{;]|=>|$))",[d,b,m,r,u.source]),lookbehind:!0,inside:{keyword:u,"class-name":{pattern:RegExp(r),greedy:!0,inside:s},punctuation:/,/}},preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:define|elif|else|endif|endregion|error|if|line|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});u=o+"|"+c,r=a("/(?![*/])|//[^\r\n]*[\r\n]|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>",[u]),s=e(a("[^\"'/()]|<<0>>|\\(<>*\\)",[r]),2),o="\\b(?:assembly|event|field|method|module|param|property|return|type)\\b",c=a("<<0>>(?:\\s*\\(<<1>>*\\))?",[h,s]);n.languages.insertBefore("csharp","class-name",{attribute:{pattern:i("((?:^|[^\\s\\w>)?])\\s*\\[\\s*)(?:<<0>>\\s*:\\s*)?<<1>>(?:\\s*,\\s*<<1>>)*(?=\\s*\\])",[o,c]),lookbehind:!0,greedy:!0,inside:{target:{pattern:i("^<<0>>(?=\\s*:)",[o]),alias:"keyword"},"attribute-arguments":{pattern:i("\\(<<0>>*\\)",[s]),inside:n.languages.csharp},"class-name":{pattern:RegExp(h),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var y=":[^}\r\n]+",s=e(a("[^\"'/()]|<<0>>|\\(<>*\\)",[r]),2),h=a("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[s,y]),r=e(a("[^\"'/()]|/(?!\\*)|/\\*(?:[^*]|\\*(?!/))*\\*/|<<0>>|\\(<>*\\)",[u]),2),u=a("\\{(?!\\{)(?:(?![}:])<<0>>)*<<1>>?\\}",[r,y]);function v(e,t){return{interpolation:{pattern:i("((?:^|[^{])(?:\\{\\{)*)<<0>>",[e]),lookbehind:!0,inside:{"format-string":{pattern:i("(^\\{(?:(?![}:])<<0>>)*)<<1>>(?=\\}$)",[t,y]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:n.languages.csharp}}},string:/[\s\S]+/}}n.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:i('(^|[^\\\\])(?:\\$@|@\\$)"(?:""|\\\\[^]|\\{\\{|<<0>>|[^\\\\{"])*"',[h]),lookbehind:!0,greedy:!0,inside:v(h,s)},{pattern:i('(^|[^@\\\\])\\$"(?:\\\\.|\\{\\{|<<0>>|[^\\\\"{])*"',[u]),lookbehind:!0,greedy:!0,inside:v(u,r)}]})}(m),m.languages.dotnet=m.languages.cs=m.languages.csharp,a=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,(z=m).languages.cpp=z.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,function(){return a.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:a,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+\.?[\da-f']*|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+\.?[\d']*|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]*/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),z.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),z.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)(?:[^;{}"'])+?(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:z.languages.extend("cpp",{})}}),z.languages.insertBefore("inside","operator",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},z.languages.cpp["base-clause"]),d=/#(?!\{).+/,e={pattern:/#\{[^}]+\}/,alias:"variable"},(z=m).languages.coffeescript=z.languages.extend("javascript",{comment:d,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:e}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),z.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:d,interpolation:e}}}),z.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},rest:z.languages.javascript}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:e}}]}),z.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete z.languages.coffeescript["template-string"],z.languages.coffee=z.languages.coffeescript,m.languages.csp={directive:{pattern:/\b(?:base-uri|block-all-mixed-content|(?:child|connect|default|font|frame|img|manifest|media|object|script|style|worker)-src|disown-opener|form-action|frame-ancestors|plugin-types|referrer|reflected-xss|report-to|report-uri|require-sri-for|sandbox|upgrade-insecure-requests)\b/i,alias:"keyword"},safe:{pattern:/'(?:self|none|strict-dynamic|(?:nonce-|sha(?:256|384|512)-)[a-zA-Z\d+=/]+)'/,alias:"selector"},unsafe:{pattern:/(?:'unsafe-inline'|'unsafe-eval'|'unsafe-hashed-attributes'|\*)/,alias:"function"}},function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector,inside:n={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)[-*\w\xA0-\uFFFF]*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)[-\w\xA0-\uFFFF]+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)[-\w\xA0-\uFFFF]+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=n,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*/i,lookbehind:!0}});var t={pattern:/(\b\d+)(?:%|[a-z]+\b)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?\d*\.?\d+/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#(?:[\da-f]{1,2}){3,4}\b/i,alias:"color"},color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,number:n})}(m),function(a){a.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d+.*$/m]};var i={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(i).forEach(function(e){var t=i[e],n=[];/^\w+$/.test(e)||n.push(/\w+/.exec(e)[0]),"diff"===e&&n.push("bold"),a.languages.diff[e]={pattern:RegExp("^(?:["+t+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:n,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(e)[0]}}}}),Object.defineProperty(a.languages.diff,"PREFIXES",{value:i})}(m),g=m,Object.defineProperties(g.languages["markup-templating"]={},{buildPlaceholders:{value:function(a,i,e,r){var o;a.language===i&&(o=a.tokenStack=[],a.code=a.code.replace(e,function(e){if("function"==typeof r&&!r(e))return e;for(var t,n=o.length;-1!==a.code.indexOf(t=f(i,n));)++n;return o[n]=e,t}),a.grammar=g.languages.markup)}},tokenizePlaceholders:{value:function(d,u){var c,p;d.language===u&&d.tokenStack&&(d.grammar=g.languages[u],c=0,p=Object.keys(d.tokenStack),function e(t){for(var n=0;n=p.length);n++){var a,i,r,o,s,l=t[n];"string"==typeof l||l.content&&"string"==typeof l.content?(i=p[c],r=d.tokenStack[i],a="string"==typeof l?l:l.content,s=f(u,i),-1<(o=a.indexOf(s))&&(++c,i=a.substring(0,o),r=new g.Token(u,g.tokenize(r,d.grammar),"language-"+u,r),o=a.substring(o+s.length),s=[],i&&s.push.apply(s,e([i])),s.push(r),o&&s.push.apply(s,e([o])),"string"==typeof l?t.splice.apply(t,[n,1].concat(s)):l.content=s)):l.content&&e(l.content)}return t}(d.tokens))}}}),function(e){e.languages.django={comment:/^{#[\s\S]*?#}$/,tag:{pattern:/(^{%[+-]?\s*)\w+/,lookbehind:!0,alias:"keyword"},delimiter:{pattern:/^{[{%][+-]?|[+-]?[}%]}$/,alias:"punctuation"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},filter:{pattern:/(\|)\w+/,lookbehind:!0,alias:"function"},test:{pattern:/(\bis\s+(?:not\s+)?)(?!not\b)\w+/,lookbehind:!0,alias:"function"},function:/\b[a-z_]\w+(?=\s*\()/i,keyword:/\b(?:and|as|by|else|for|if|import|in|is|loop|not|or|recursive|with|without)\b/,operator:/[-+*/%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,number:/\b\d+(?:\.\d+)?\b/,boolean:/[Tt]rue|[Ff]alse|[Nn]one/,variable:/\b\w+?\b/,punctuation:/[{}[\](),.:;]/};var t=/{{[\s\S]*?}}|{%[\s\S]*?%}|{#[\s\S]*?#}/g,n=e.languages["markup-templating"];e.hooks.add("before-tokenize",function(e){n.buildPlaceholders(e,"django",t)}),e.hooks.add("after-tokenize",function(e){n.tokenizePlaceholders(e,"django")}),e.languages.jinja2=e.languages.django,e.hooks.add("before-tokenize",function(e){n.buildPlaceholders(e,"jinja2",t)}),e.hooks.add("after-tokenize",function(e){n.tokenizePlaceholders(e,"jinja2")})}(m),m.languages.docker={keyword:{pattern:/(^\s*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)/im,lookbehind:!0},string:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,comment:{pattern:/#.*/,greedy:!0},punctuation:/---|\.\.\.|[:[\]{}\-,|>?]/},m.languages.dockerfile=m.languages.docker,m.languages.elixir={comment:/#.*/m,regex:{pattern:/~[rR](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|[^\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[uismxfr]*/,greedy:!0},string:[{pattern:/~[cCsSwW](?:("""|''')(?:\\[\s\S]|(?!\1)[^\\])+\1|([\/|"'])(?:\\.|(?!\2)[^\\\r\n])+\2|\((?:\\.|[^\\)\r\n])+\)|\[(?:\\.|[^\\\]\r\n])+\]|\{(?:\\.|#\{[^}]+\}|#(?!\{)|[^#\\}\r\n])+\}|<(?:\\.|[^\\>\r\n])+>)[csa]?/,greedy:!0,inside:{}},{pattern:/("""|''')[\s\S]*?\1/,greedy:!0,inside:{}},{pattern:/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{}}],atom:{pattern:/(^|[^:]):\w+/,lookbehind:!0,alias:"symbol"},"attr-name":/\w+\??:(?!:)/,capture:{pattern:/(^|[^&])&(?:[^&\s\d()][^\s()]*|(?=\())/,lookbehind:!0,alias:"function"},argument:{pattern:/(^|[^&])&\d+/,lookbehind:!0,alias:"variable"},attribute:{pattern:/@\w+/,alias:"variable"},number:/\b(?:0[box][a-f\d_]+|\d[\d_]*)(?:\.[\d_]+)?(?:e[+-]?[\d_]+)?\b/i,keyword:/\b(?:after|alias|and|case|catch|cond|def(?:callback|exception|impl|module|p|protocol|struct)?|do|else|end|fn|for|if|import|not|or|require|rescue|try|unless|use|when)\b/,boolean:/\b(?:true|false|nil)\b/,operator:[/\bin\b|&&?|\|[|>]?|\\\\|::|\.\.\.?|\+\+?|-[->]?|<[-=>]|>=|!==?|\B!|=(?:==?|[>~])?|[*\/^]/,{pattern:/([^<])<(?!<)/,lookbehind:!0},{pattern:/([^>])>(?!>)/,lookbehind:!0}],punctuation:/<<|>>|[.,%\[\]{}()]/},m.languages.elixir.string.forEach(function(e){e.inside={interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:m.languages.elixir}}}}),m.languages.elm={comment:/--.*|{-[\s\S]*?-}/,char:{pattern:/'(?:[^\\'\r\n]|\\(?:[abfnrtv\\']|\d+|x[0-9a-fA-F]+))'/,greedy:!0},string:[{pattern:/"""[\s\S]*?"""/,greedy:!0},{pattern:/"(?:[^\\"\r\n]|\\(?:[abfnrtv\\"]|\d+|x[0-9a-fA-F]+))*"/,greedy:!0}],import_statement:{pattern:/^\s*import\s+[A-Z]\w*(?:\.[A-Z]\w*)*(?:\s+as\s+(?:[A-Z]\w*)(?:\.[A-Z]\w*)*)?(?:\s+exposing\s+)?/m,inside:{keyword:/\b(?:import|as|exposing)\b/}},keyword:/\b(?:alias|as|case|else|exposing|if|in|infixl|infixr|let|module|of|then|type)\b/,builtin:/\b(?:abs|acos|always|asin|atan|atan2|ceiling|clamp|compare|cos|curry|degrees|e|flip|floor|fromPolar|identity|isInfinite|isNaN|logBase|max|min|negate|never|not|pi|radians|rem|round|sin|sqrt|tan|toFloat|toPolar|toString|truncate|turns|uncurry|xor)\b/,number:/\b(?:\d+(?:\.\d+)?(?:e[+-]?\d+)?|0x[0-9a-f]+)\b/i,operator:/\s\.\s|[+\-/*=.$<>:&|^?%#@~!]{2,}|[+\-/*=$<>:&|^?%#@~!]/,hvariable:/\b(?:[A-Z]\w*\.)*[a-z]\w*\b/,constant:/\b(?:[A-Z]\w*\.)*[A-Z]\w*\b/,punctuation:/[{}[\]|(),.:]/},m.languages.erlang={comment:/%.+/,string:{pattern:/"(?:\\.|[^\\"\r\n])*"/,greedy:!0},"quoted-function":{pattern:/'(?:\\.|[^\\'\r\n])+'(?=\()/,alias:"function"},"quoted-atom":{pattern:/'(?:\\.|[^\\'\r\n])+'/,alias:"atom"},boolean:/\b(?:true|false)\b/,keyword:/\b(?:fun|when|case|of|end|if|receive|after|try|catch)\b/,number:[/\$\\?./,/\d+#[a-z0-9]+/i,/(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i],function:/\b[a-z][\w@]*(?=\()/,variable:{pattern:/(^|[^@])(?:\b|\?)[A-Z_][\w@]*/,lookbehind:!0},operator:[/[=\/<>:]=|=[:\/]=|\+\+?|--?|[=*\/!]|\b(?:bnot|div|rem|band|bor|bxor|bsl|bsr|not|and|or|xor|orelse|andalso)\b/,{pattern:/(^|[^<])<(?!<)/,lookbehind:!0},{pattern:/(^|[^>])>(?!>)/,lookbehind:!0}],atom:/\b[a-z][\w@]*/,punctuation:/[()[\]{}:;,.#|]|<<|>>/},m.languages.fsharp=m.languages.extend("clike",{comment:[{pattern:/(^|[^\\])\(\*[\s\S]*?\*\)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(?:"""[\s\S]*?"""|@"(?:""|[^"])*"|"(?:\\[\s\S]|[^\\"])*")B?|'(?:[^\\']|\\(?:.|\d{3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}|U[a-fA-F\d]{8}))'B?/,greedy:!0},"class-name":{pattern:/(\b(?:exception|inherit|interface|new|of|type)\s+|\w\s*:\s*|\s:\??>\s*)[.\w]+\b(?:\s*(?:->|\*)\s*[.\w]+\b)*(?!\s*[:.])/,lookbehind:!0,inside:{operator:/->|\*/,punctuation:/\./}},keyword:/\b(?:let|return|use|yield)(?:!\B|\b)|\b(?:abstract|and|as|assert|base|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|global|if|in|inherit|inline|interface|internal|lazy|match|member|module|mutable|namespace|new|not|null|of|open|or|override|private|public|rec|select|static|struct|then|to|true|try|type|upcast|val|void|when|while|with|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall|trait|virtual|volatile)\b/,number:[/\b0x[\da-fA-F]+(?:un|lf|LF)?\b/,/\b0b[01]+(?:y|uy)?\b/,/(?:\b\d+\.?\d*|\B\.\d+)(?:[fm]|e[+-]?\d+)?\b/i,/\b\d+(?:[IlLsy]|u[lsy]?|UL)?\b/],operator:/([<>~&^])\1\1|([*.:<>&])\2|<-|->|[!=:]=|\|{1,3}>?|\??(?:<=|>=|<>|[-+*/%=<>])\??|[!?^&]|~[+~-]|:>|:\?>?/}),m.languages.insertBefore("fsharp","keyword",{preprocessor:{pattern:/^[^\r\n\S]*#.*/m,alias:"property",inside:{directive:{pattern:/(\s*#)\b(?:else|endif|if|light|line|nowarn)\b/,lookbehind:!0,alias:"keyword"}}}}),m.languages.insertBefore("fsharp","punctuation",{"computation-expression":{pattern:/[_a-z]\w*(?=\s*\{)/i,alias:"keyword"}}),m.languages.insertBefore("fsharp","string",{annotation:{pattern:/\[<.+?>\]/,inside:{punctuation:/^\[<|>\]$/,"class-name":{pattern:/^\w+$|(^|;\s*)[A-Z]\w*(?=\()/,lookbehind:!0},"annotation-content":{pattern:/[\s\S]+/,inside:m.languages.fsharp}}}}),(d=m).languages.flow=d.languages.extend("javascript",{}),d.languages.insertBefore("flow","keyword",{type:[{pattern:/\b(?:[Nn]umber|[Ss]tring|[Bb]oolean|Function|any|mixed|null|void)\b/,alias:"tag"}]}),d.languages.flow["function-variable"].pattern=/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=\s*(?:function\b|(?:\([^()]*\)(?:\s*:\s*\w+)?|[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/i,delete d.languages.flow.parameter,d.languages.insertBefore("flow","operator",{"flow-punctuation":{pattern:/\{\||\|\}/,alias:"punctuation"}}),Array.isArray(d.languages.flow.keyword)||(d.languages.flow.keyword=[d.languages.flow.keyword]),d.languages.flow.keyword.unshift({pattern:/(^|[^$]\b)(?:type|opaque|declare|Class)\b(?!\$)/,lookbehind:!0},{pattern:/(^|[^$]\B)\$(?:await|Diff|Exact|Keys|ObjMap|PropertyType|Shape|Record|Supertype|Subtype|Enum)\b(?!\$)/,lookbehind:!0}),m.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,commit_sha1:/^commit \w{40}$/m},m.languages.go=m.languages.extend("clike",{keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/(?:\b0x[a-f\d]+|(?:\b\d+\.?\d*|\B\.\d+)(?:e[-+]?\d+)?)i?/i,string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0}}),delete m.languages.go["class-name"],m.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:m.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:true|false)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[a-zA-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,punctuation:/[!(){}\[\]:=,]/,constant:/\b(?!ID\b)[A-Z][A-Z_\d]*\b/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:[/#.*/,{pattern:/^=begin\s[\s\S]*?^=end/m,greedy:!0}],"class-name":{pattern:/(\b(?:class)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|protected|private|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.languages.ruby}};delete e.languages.ruby.function,e.languages.insertBefore("ruby","keyword",{regex:[{pattern:RegExp("%r(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1[gim]{0,3}","\\((?:[^()\\\\]|\\\\[^])*\\)[gim]{0,3}","\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}[gim]{0,3}","\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\][gim]{0,3}","<(?:[^<>\\\\]|\\\\[^])*>[gim]{0,3}"].join("|")+")"),greedy:!0,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp("%[qQiIwWxs]?(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^])*\\)","\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]","<(?:[^<>\\\\]|\\\\[^])*>"].join("|")+")"),greedy:!0,inside:{interpolation:t}},{pattern:/("|')(?:#\{[^}]+\}|\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:t}}],e.languages.rb=e.languages.ruby}(m),function(e){e.languages.haml={"multiline-comment":{pattern:/((?:^|\r?\n|\r)([\t ]*))(?:\/|-#).*(?:(?:\r?\n|\r)\2[\t ]+.+)*/,lookbehind:!0,alias:"comment"},"multiline-code":[{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*,[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*,[\t ]*)*(?:(?:\r?\n|\r)\2[\t ]+.+)/,lookbehind:!0,inside:e.languages.ruby},{pattern:/((?:^|\r?\n|\r)([\t ]*)(?:[~-]|[&!]?=)).*\|[\t ]*(?:(?:\r?\n|\r)\2[\t ]+.*\|[\t ]*)*/,lookbehind:!0,inside:e.languages.ruby}],filter:{pattern:/((?:^|\r?\n|\r)([\t ]*)):[\w-]+(?:(?:\r?\n|\r)(?:\2[\t ]+.+|\s*?(?=\r?\n|\r)))+/,lookbehind:!0,inside:{"filter-name":{pattern:/^:[\w-]+/,alias:"variable"}}},markup:{pattern:/((?:^|\r?\n|\r)[\t ]*)<.+/,lookbehind:!0,inside:e.languages.markup},doctype:{pattern:/((?:^|\r?\n|\r)[\t ]*)!!!(?: .+)?/,lookbehind:!0},tag:{pattern:/((?:^|\r?\n|\r)[\t ]*)[%.#][\w\-#.]*[\w\-](?:\([^)]+\)|\{(?:\{[^}]+\}|[^}])+\}|\[[^\]]+\])*[\/<>]*/,lookbehind:!0,inside:{attributes:[{pattern:/(^|[^#])\{(?:\{[^}]+\}|[^}])+\}/,lookbehind:!0,inside:e.languages.ruby},{pattern:/\([^)]+\)/,inside:{"attr-value":{pattern:/(=\s*)(?:"(?:\\.|[^\\"\r\n])*"|[^)\s]+)/,lookbehind:!0},"attr-name":/[\w:-]+(?=\s*!?=|\s*[,)])/,punctuation:/[=(),]/}},{pattern:/\[[^\]]+\]/,inside:e.languages.ruby}],punctuation:/[<>]/}},code:{pattern:/((?:^|\r?\n|\r)[\t ]*(?:[~-]|[&!]?=)).+/,lookbehind:!0,inside:e.languages.ruby},interpolation:{pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"},rest:e.languages.ruby}},punctuation:{pattern:/((?:^|\r?\n|\r)[\t ]*)[~=\-&!]+/,lookbehind:!0}};for(var t=["css",{filter:"coffee",language:"coffeescript"},"erb","javascript","less","markdown","ruby","scss","textile"],n={},a=0,i=t.length;a