diff --git a/404.html b/404.html new file mode 100644 index 00000000..a2d2f321 --- /dev/null +++ b/404.html @@ -0,0 +1,5 @@ +404 页面没找到 - dingyufan's blog +

抱歉,您要查找的页面不存在。  +

0%
\ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..4cc1be42 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +blog.dingyufan.cn \ No newline at end of file diff --git a/categories/coding/index.html b/categories/coding/index.html new file mode 100644 index 00000000..a1f1b25b --- /dev/null +++ b/categories/coding/index.html @@ -0,0 +1,5 @@ +Coding - 分类 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/categories/coding/index.xml b/categories/coding/index.xml new file mode 100644 index 00000000..5b2c3b15 --- /dev/null +++ b/categories/coding/index.xml @@ -0,0 +1 @@ +Coding - 分类 - dingyufan's bloghttps://dingyufan.github.io/categories/coding/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNFri, 28 Jul 2023 16:32:25 +0800JDK8日期时间API导致Dubbo调用StackOverflow错误https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/CodingJDK8日期时间API导致Dubbo调用StackOverflow错误 \ No newline at end of file diff --git a/categories/coding/page/1/index.html b/categories/coding/page/1/index.html new file mode 100644 index 00000000..6fe8ec9a --- /dev/null +++ b/categories/coding/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/categories/coding/ + \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..6fff6e8d --- /dev/null +++ b/categories/index.html @@ -0,0 +1,4 @@ +所有分类 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/categories/index.xml b/categories/index.xml new file mode 100644 index 00000000..665acf6a --- /dev/null +++ b/categories/index.xml @@ -0,0 +1 @@ +Categories - 分类 - dingyufan's bloghttps://dingyufan.github.io/categories/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000Techhttps://dingyufan.github.io/categories/tech/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/categories/tech/TechCodinghttps://dingyufan.github.io/categories/coding/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/categories/coding/Coding \ No newline at end of file diff --git a/categories/tech/index.html b/categories/tech/index.html new file mode 100644 index 00000000..a3536caa --- /dev/null +++ b/categories/tech/index.html @@ -0,0 +1,8 @@ +Tech - 分类 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/categories/tech/index.xml b/categories/tech/index.xml new file mode 100644 index 00000000..ce52bc04 --- /dev/null +++ b/categories/tech/index.xml @@ -0,0 +1 @@ +Tech - 分类 - dingyufan's bloghttps://dingyufan.github.io/categories/tech/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Tech浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器GitHub Pages + Hugo搭建个人博客https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/TechGitHub Pages + Hugo搭建个人博客 \ No newline at end of file diff --git a/categories/tech/page/1/index.html b/categories/tech/page/1/index.html new file mode 100644 index 00000000..077e2fbf --- /dev/null +++ b/categories/tech/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/categories/tech/ + \ No newline at end of file diff --git a/css/style.min.css b/css/style.min.css new file mode 100644 index 00000000..33a1365f --- /dev/null +++ b/css/style.min.css @@ -0,0 +1,3 @@ +:root{--fi-primary: #1772ee;--fi-secondary: #919191;--fi-success: #13ce66;--fi-info: #0dcaf0;--fi-warning: #ffba00;--fi-danger: #ff4949;--fi-scroll-mt: calc(3.5rem + .5rem);--fi-breadcrumb-height: 0px;--fi-hr-background-color: #e3e3e3;--fi-hr-before-color: #ec638c;--fi-scrollbar-thumb-color: #a6a6a6;--fi-scrollbar-thumb-hover-color: #7d7d7d;--fi-scrollbar-track-color: transparent;--fi-scrollbar-width: thin;--fi-scrollbar-width-legacy: 12px}[data-theme=dark]{--fi-primary: #1066db;--fi-secondary: #848484;--fi-success: #11b75a;--fi-info: #0cb6d8;--fi-warning: #e6a700;--fi-danger: #ff3030;--fi-hr-background-color: #434343;--fi-hr-before-color: #f5f5f5}/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:400;font-display:swap;font-size:16px;line-height:1.5rem;width:100%;scroll-behavior:smooth;overflow:overlay}@media screen and (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}::selection{background-color:rgba(53,166,247,0.25)}[data-theme='dark'] ::selection{background-color:rgba(50,112,194,0.4)}body{background-color:#fff;color:#161209;word-wrap:break-word;overflow-wrap:break-word}[data-theme='dark'] body{color:#b1b1ba;background-color:#292a2e}iframe{border:0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}[role='button']{cursor:pointer}summary{cursor:pointer}abbr[title]{cursor:help;text-decoration-skip-ink:none}a,a::before,a::after{text-decoration:none;color:#161209}[data-theme='dark'] a,[data-theme='dark'] a::before,[data-theme='dark'] a::after{color:#b1b1ba}a:active,a:hover{color:#2983bb}[data-theme='dark'] a:active,[data-theme='dark'] a:hover{color:#fff}@supports (scrollbar-width: auto){*{scrollbar-color:var(--fi-scrollbar-thumb-color) var(--fi-scrollbar-track-color);scrollbar-width:var(--fi-scrollbar-width)}}::-webkit-scrollbar{height:var(--fi-scrollbar-width-legacy);width:var(--fi-scrollbar-width-legacy);overflow:visible}::-webkit-scrollbar-button{height:0;width:0}::-webkit-scrollbar-corner{background-color:var(--fi-scrollbar-track-color)}::-webkit-scrollbar-thumb{background-color:var(--fi-scrollbar-thumb-color)}::-webkit-scrollbar-thumb:hover{background-color:var(--fi-scrollbar-thumb-hover-color)}::-webkit-scrollbar-track{background-color:var(--fi-scrollbar-track-color)}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{background-clip:padding-box;border:3px solid transparent;border-radius:100px}#mask{background-repeat:no-repeat;background-position:center;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0);z-index:-1}.blur #mask{z-index:100;background-color:rgba(0,0,0,0.25)}img{-webkit-border-radius:2.5px;-moz-border-radius:2.5px;border-radius:2.5px}svg.icon{display:inline-block;width:1.25em;height:1em;text-align:center}svg.icon path{fill:currentColor}img.emoji{display:inline-block;height:1em;width:1em;margin:0 0.05em 0 0.1em;vertical-align:-0.1em}.hugo-icon,.fixit-icon{display:inline-block;height:1.2em;width:1.2em;line-height:1.2em;position:relative;vertical-align:text-bottom}.details>.details-summary{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.details>.details-summary:hover{cursor:pointer}.details>.details-summary i.details-icon{color:#b1b1ba;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}[data-theme='dark'] .details>.details-summary i.details-icon{color:#909092}.details>.details-content{max-height:0;overflow-y:hidden;-webkit-transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s}.details.open>.details-summary{-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.details.open>.details-summary i.details-icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.details.open>.details-content{max-height:100%;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s}.details.disabled>.details-summary{cursor:default}.cc-window.cc-banner .cc-btn{color:#161209}.cc-window.cc-banner .cc-btn:hover,.cc-window.cc-banner .cc-btn:focus{background-color:#ccc}[data-theme='dark'] .cc-window.cc-banner .cc-btn{color:#161209}[data-theme='dark'] .cc-window.cc-banner .cc-btn:hover,[data-theme='dark'] .cc-window.cc-banner .cc-btn:focus{background-color:#fff}.fixed-button{position:fixed;right:1.5rem;font-size:1rem;line-height:1.5rem;padding:0.5rem 0.625rem;color:#b1b1ba;background-color:#f8f8f8;z-index:100;-webkit-border-radius:1.25rem;-moz-border-radius:1.25rem;border-radius:1.25rem;-webkit-transition:color 0.4s ease;-moz-transition:color 0.4s ease;-o-transition:color 0.4s ease;transition:color 0.4s ease}.blur .fixed-button{-webkit-filter:blur(1.5px);filter:blur(1.5px)}.fixed-button:hover,.fixed-button:active{color:#161209;cursor:pointer}.fixed-button:active,.fixed-button:focus,.fixed-button:hover{outline:none}[data-theme='dark'] .fixed-button{color:#909092;background-color:#252627}[data-theme='dark'] .fixed-button:hover,[data-theme='dark'] .fixed-button:active{color:#b1b1ba}.back-to-top{bottom:1.5rem}.view-comments{bottom:4.5rem}@keyframes octocat-wave{0%,100%{-webkit-transform:rotate(0);-ms-transform:rotate(0);-o-transform:rotate(0);transform:rotate(0)}20%,60%{-webkit-transform:rotate(-25deg);-ms-transform:rotate(-25deg);-o-transform:rotate(-25deg);transform:rotate(-25deg)}40%,80%{-webkit-transform:rotate(10deg);-ms-transform:rotate(10deg);-o-transform:rotate(10deg);transform:rotate(10deg)}}.github-corner{position:fixed;top:0;z-index:200}.github-corner :hover .octo-arm{animation:octocat-wave 560ms ease-in-out}.github-corner svg{width:3.5rem;height:3.5rem;border:0;color:#fff;fill:#252627}[data-theme='dark'] .github-corner svg{color:#000;fill:#f8f8f8}.github-corner.left{left:0}.github-corner.left svg{-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.github-corner.right{right:0}.noscript-warning{background-color:var(--fi-danger);color:white;font-size:1rem;font-weight:bold;position:fixed;text-align:center;left:0;bottom:0;width:100%;z-index:200}[data-theme='dark'] .noscript-warning{background-color:var(--fi-danger-dark)}.reading-progress-bar{--progress: 0;height:var(--progress-h, 2px);width:var(--progress);background-color:var(--bg-progress, var(--fi-info));position:fixed;z-index:200}[data-theme="dark"] .reading-progress-bar{background-color:var(--bg-progress-dark, var(--fi-info-dark))}.typeit{--ti-cursor-font-family: system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;--ti-cursor-transform: translateX(0)}.typeit .highlight{padding:0.375rem;font-size:0.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;word-break:break-all;white-space:pre-wrap}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%}.wrapper main{flex:1 0 auto}.wrapper main aside{flex:1;padding:0.5rem}.wrapper main aside:not(:has(~aside)){display:none}.wrapper main.container{display:flex;align-items:flex-start;justify-content:center;padding-inline:1rem;gap:0.5rem}.wrapper main.container.container-reverse{flex-direction:row-reverse}.wrapper main.container:has(.home:not(.posts)){align-items:center}header{width:100%;background-color:#f8f8f8;z-index:200;-webkit-transition:box-shadow 0.3s ease;-moz-transition:box-shadow 0.3s ease;-o-transition:box-shadow 0.3s ease;transition:box-shadow 0.3s ease}[data-theme='dark'] header{background-color:#252627}header:hover{-webkit-box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1);box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}[data-theme='dark'] header:hover{-webkit-box-shadow:0 0 1.5rem 0 rgba(255,255,255,0.1);box-shadow:0 0 1.5rem 0 rgba(255,255,255,0.1)}.header-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%}.header-title{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;margin-right:0.5rem;min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;-webkit-flex:10;flex:10}.header-title .logo{min-height:1.5em;height:1.5em;vertical-align:middle;width:auto}.header-title .header-title-text{margin-left:0.25rem;margin-right:0.25rem}.header-title .header-subtitle{margin-left:0.25rem;font-size:0.6em}.menu{margin:0;padding:0}.menu .menu-item-divider{list-style:none;margin:0.25rem 0.5rem;height:1px;background-color:#e3e3e3}[data-theme='dark'] .menu .menu-item-divider{background-color:#434343}.menu .menu-item{list-style:none}.menu .menu-item .dropdown-icon{margin-left:0.25rem;font-size:.875em;color:#161209}[data-theme='dark'] .menu .menu-item .dropdown-icon{color:#b1b1ba}.menu .menu-item .dropdown-icon.open::before{content:"\f078"}.menu .menu-item.active>.menu-link,.menu .menu-item.active>.nested-item>.menu-link{font-weight:bold;color:#161209}[data-theme='dark'] .menu .menu-item.active>.menu-link,[data-theme='dark'] .menu .menu-item.active>.nested-item>.menu-link{color:#fff}.menu .menu-item .menu-link i{-webkit-transform:perspective(1rem);-ms-transform:perspective(1rem);-o-transform:perspective(1rem);transform:perspective(1rem);-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.menu .menu-item .menu-link:hover i{-webkit-transform:perspective(1rem) translateZ(0.2rem);-ms-transform:perspective(1rem) translateZ(0.2rem);-o-transform:perspective(1rem) translateZ(0.2rem);transform:perspective(1rem) translateZ(0.2rem)}.menu .menu-item.language-switch,.menu .menu-item.theme-switch{cursor:pointer}.search{position:relative}.search input{color:transparent;box-sizing:border-box;height:2.5rem;width:1.25rem;-webkit-border-radius:.5rem;-moz-border-radius:.5rem;border-radius:.5rem;border:none;outline:none;background-color:transparent;vertical-align:baseline !important;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}.search input::-webkit-input-placeholder{color:rgba(0,0,0,0)}.search input:-moz-placeholder{color:rgba(0,0,0,0)}.search input::-moz-placeholder{color:rgba(0,0,0,0)}.search input:-ms-input-placeholder{color:rgba(0,0,0,0)}.search input::placeholder{color:rgba(0,0,0,0)}.search .search-button{margin:0;position:absolute;left:auto;right:1rem}.search .search-toggle{left:0.5rem;right:auto}#header-desktop.open .search .search-toggle{left:1rem}.search .search-loading{display:none}.search .search-clear{display:none}.open .search input,.search.mobile input{color:#161209;background-color:#e9e9e9;padding:0 2rem 0 2rem}[data-theme='dark'] .open .search input,[data-theme='dark'] .search.mobile input{color:#b1b1ba;background-color:#363636}[data-theme='dark'] .open .search input::-webkit-input-placeholder,[data-theme='dark'] .search.mobile input::-webkit-input-placeholder{color:#909092}[data-theme='dark'] .open .search input:-moz-placeholder,[data-theme='dark'] .search.mobile input:-moz-placeholder{color:#909092}[data-theme='dark'] .open .search input::-moz-placeholder,[data-theme='dark'] .search.mobile input::-moz-placeholder{color:#909092}[data-theme='dark'] .open .search input:-ms-input-placeholder,[data-theme='dark'] .search.mobile input:-ms-input-placeholder{color:#909092}[data-theme='dark'] .open .search input::placeholder,[data-theme='dark'] .search.mobile input::placeholder{color:#909092}.open .search input::-webkit-input-placeholder,.search.mobile input::-webkit-input-placeholder{color:#b1b1ba}.open .search input:-moz-placeholder,.search.mobile input:-moz-placeholder{color:#b1b1ba}.open .search input::-moz-placeholder,.search.mobile input::-moz-placeholder{color:#b1b1ba}.open .search input:-ms-input-placeholder,.search.mobile input:-ms-input-placeholder{color:#b1b1ba}.open .search input::placeholder,.search.mobile input::placeholder{color:#b1b1ba}.open .search .search-button,.search.mobile .search-button{color:#b1b1ba}[data-theme='dark'] .open .search .search-button,[data-theme='dark'] .search.mobile .search-button{color:#909092}.open .search .search-clear:hover,.search.mobile .search-clear:hover{color:#ff6b6b}.open .search .search-toggle:hover,.search.mobile .search-toggle:hover{cursor:default}.theme-switch i{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);-o-transform:rotate(225deg);transform:rotate(225deg);-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.theme-switch:hover i{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}#header-desktop{display:block;position:sticky;top:0;height:3.5rem;line-height:3.5rem;box-sizing:border-box}[data-header-desktop='normal'] #header-desktop{position:static}#header-desktop nav{overflow:hidden;white-space:nowrap}#header-desktop .header-wrapper{padding:0 2rem 0 MAX(10vh, 3.5rem);height:100%}#header-desktop .header-wrapper[data-github-corner='right']{padding-right:3.5rem}#header-desktop .header-wrapper .header-title{font-size:1.5rem;height:100%}#header-desktop .header-wrapper .menu{display:flex;flex-direction:row;flex-wrap:nowrap;float:right}#header-desktop .header-wrapper .menu>.menu-item:hover .sub-menu{display:block;-webkit-transform:translateX(-0.5rem);-ms-transform:translateX(-0.5rem);-o-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}#header-desktop .header-wrapper .menu>.menu-item.language-switch:hover .sub-menu{-webkit-transform:translateX(calc(1.75rem - 100%));-ms-transform:translateX(calc(1.75rem - 100%));-o-transform:translateX(calc(1.75rem - 100%));transform:translateX(calc(1.75rem - 100%))}#header-desktop .header-wrapper .menu .menu-item{padding:0 0.5rem}#header-desktop .header-wrapper .menu .menu-item.delimiter{width:0;margin:0.125rem 0.25rem;padding:0;border-left:1px dashed #dadade}[data-theme='dark'] #header-desktop .header-wrapper .menu .menu-item.delimiter{border-left-color:#6a6a6c}#header-desktop .header-wrapper .menu .sub-menu{position:absolute;margin:0;padding:0.25rem 0;display:none;top:calc(3.5rem - 0.75rem);border-radius:5px;border:1px solid #e3e3e3;background-color:#f8f8f8;-webkit-transition:box-shadow 0.3s ease;-moz-transition:box-shadow 0.3s ease;-o-transition:box-shadow 0.3s ease;transition:box-shadow 0.3s ease;-webkit-box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1);box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.1)}[data-theme='dark'] #header-desktop .header-wrapper .menu .sub-menu{background-color:#252627;border-color:#434343;-webkit-box-shadow:0 0 1.5rem 0 rgba(255,255,255,0.1);box-shadow:0 0 1.5rem 0 rgba(255,255,255,0.1)}#header-desktop .header-wrapper .menu .sub-menu .menu-item{height:1.75rem;line-height:1.75rem;max-width:15rem;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden}#header-desktop.open .header-wrapper .menu .menu-item.search input{width:24rem}#header-mobile{display:none;position:sticky;top:0;min-height:3.5rem;line-height:3.5rem}[data-header-mobile='normal'] #header-mobile{position:static}#header-mobile .header-container{padding:0;margin:0}#header-mobile .header-container .header-wrapper{padding:0 1rem;font-size:1.125rem;-webkit-transition:margin-top 0.3s ease;-moz-transition:margin-top 0.3s ease;-o-transition:margin-top 0.3s ease;transition:margin-top 0.3s ease}#header-mobile .header-container .header-wrapper .header-title{font-size:1.5rem;max-width:80%}#header-mobile .header-container .header-wrapper .menu-toggle{line-height:4rem;cursor:pointer;-webkit-transition:width 0.3s ease;-moz-transition:width 0.3s ease;-o-transition:width 0.3s ease;transition:width 0.3s ease}#header-mobile .header-container .header-wrapper .menu-toggle span{display:block;background:#161209;width:1.5rem;height:2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-transition:all 0.3s ease-in-out;-moz-transition:all 0.3s ease-in-out;-o-transition:all 0.3s ease-in-out;transition:all 0.3s ease-in-out}[data-theme='dark'] #header-mobile .header-container .header-wrapper .menu-toggle span{background:#b1b1ba}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(1){margin-bottom:0.5rem}#header-mobile .header-container .header-wrapper .menu-toggle span:nth-child(3){margin-top:0.5rem}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(1){-webkit-transform:rotate(45deg) translate(0.4rem, 0.5rem);-ms-transform:rotate(45deg) translate(0.4rem, 0.5rem);-o-transform:rotate(45deg) translate(0.4rem, 0.5rem);transform:rotate(45deg) translate(0.4rem, 0.5rem)}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(2){opacity:0}#header-mobile .header-container .header-wrapper .menu-toggle.active span:nth-child(3){-webkit-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-ms-transform:rotate(-45deg) translate(0.4rem, -0.5rem);-o-transform:rotate(-45deg) translate(0.4rem, -0.5rem);transform:rotate(-45deg) translate(0.4rem, -0.5rem)}#header-mobile .header-container .menu{background:#f8f8f8;border-top:2px solid #f0f0f0;display:none;overflow-y:overlay;max-height:70vh;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);--fi-scrollbar-width: none;--fi-scrollbar-width-legacy: 0}[data-theme='dark'] #header-mobile .header-container .menu{-webkit-box-shadow:0 0.125rem 0.25rem rgba(255,255,255,0.1);box-shadow:0 0.125rem 0.25rem rgba(255,255,255,0.1)}#header-mobile .header-container .menu .search-wrapper{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:.5rem 1rem;line-height:2.5rem;position:sticky;top:0;background-color:#f8f8f8;z-index:50}[data-theme='dark'] #header-mobile .header-container .menu .search-wrapper{background-color:#252627}#header-mobile .header-container .menu .search{flex-grow:10}#header-mobile .header-container .menu .search .algolia-autocomplete,#header-mobile .header-container .menu .search input{width:100%}#header-mobile .header-container .menu .search-loading,#header-mobile .header-container .menu .search-clear{right:0.5rem}#header-mobile .header-container .menu .search-button{top:0}#header-mobile .header-container .menu .search-cancel{display:none;margin-left:0.75rem}#header-mobile .header-container .menu .menu-item{display:block;position:relative;line-height:2.5rem;padding:0 1rem}#header-mobile .header-container .menu .menu-item:not(.menu-system):hover{background-color:#f2f2f3}[data-theme='dark'] #header-mobile .header-container .menu .menu-item:not(.menu-system):hover{background-color:#535355}#header-mobile .header-container .menu .menu-item .menu-link{display:block;white-space:nowrap;text-overflow:ellipsis;overflow-x:hidden;-webkit-flex:4;flex:4}#header-mobile .header-container .menu .menu-item .nested-item{display:flex;justify-content:space-between;align-items:center}#header-mobile .header-container .menu .menu-item .nested-item .menu-link{max-width:80%}#header-mobile .header-container .menu .menu-system{display:flex;justify-content:center;gap:0.25rem;position:sticky;bottom:0;line-height:2.5rem;padding:0 1rem;background-color:#f8f8f8}[data-theme='dark'] #header-mobile .header-container .menu .menu-system{background-color:#252627}#header-mobile .header-container .menu .menu-system .menu-system-item{padding-inline:0.5rem}#header-mobile .header-container .menu .menu-system .language-switch{position:relative}#header-mobile .header-container .menu .menu-system .language-switch .language-select{position:absolute;opacity:0;left:0;top:0;width:100%;height:100%}#header-mobile .header-container .menu .sub-menu{padding-left:0;display:none}#header-mobile .header-container .menu .sub-menu.open{display:block}#header-mobile .header-container .menu .sub-menu .menu-item:hover{background-color:#e7e7ea}[data-theme='dark'] #header-mobile .header-container .menu .sub-menu .menu-item:hover{background-color:#5d5d5f}#header-mobile .header-container .menu.active{display:block}[data-theme='dark'] #header-mobile .header-container .menu{background:#252627;border-top-color:#363636}#header-mobile.open .header-wrapper{margin-top:-3.5rem}#header-mobile.open .menu{padding-top:0;border-top:none}#header-mobile.open .menu .menu-item{display:none}#header-mobile.open .menu .search-cancel{display:inline}.search-dropdown{position:fixed;top:3.5rem;z-index:200;-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1);box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.1)}[data-theme='dark'] .search-dropdown{-webkit-box-shadow:0 0.125rem 0.25rem rgba(255,255,255,0.1);box-shadow:0 0.125rem 0.25rem rgba(255,255,255,0.1)}.search-dropdown.desktop{right:2rem;width:30rem}.search-dropdown.mobile{right:0;width:100%}.search-dropdown .dropdown-menu{right:0 !important;background-color:#fff}[data-theme='dark'] .search-dropdown .dropdown-menu{background-color:#292a2e}.search-dropdown .dropdown-menu .suggestions{overflow-y:auto;max-height:calc(100vh - 3.5rem)}.search-dropdown .dropdown-menu .suggestions .suggestion{padding:0.75rem 1rem}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-title{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:bold;max-width:75%}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{font-size:0.875rem;float:right;text-align:right;color:#b1b1ba}[data-theme='dark'] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-date{color:#909092}.search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{line-height:1.25rem;display:-moz-box;display:-webkit-box;display:box;-webkit-box-orient:vertical;-moz-box-orient:vertical;box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#b1b1ba}[data-theme='dark'] .search-dropdown .dropdown-menu .suggestions .suggestion .suggestion-context{color:#909092}.search-dropdown .dropdown-menu .suggestions .suggestion em{font-style:normal;background-color:rgba(53,166,247,0.25)}[data-theme='dark'] .search-dropdown .dropdown-menu .suggestions .suggestion em{background-color:rgba(50,112,194,0.4)}.search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#e6ebf1}[data-theme='dark'] .search-dropdown .dropdown-menu .suggestions .suggestion.cursor{background:#384049}.search-dropdown .dropdown-menu .suggestions .suggestion:hover{cursor:pointer}.search-dropdown .dropdown-menu .search-empty{padding:1rem;text-align:center}.search-dropdown .dropdown-menu .search-empty .search-query{font-weight:bold}[data-theme='dark'] .search-dropdown .dropdown-menu .search-empty .search-query{color:#ddd}.search-dropdown .dropdown-menu .search-footer{padding:0.5rem 1rem;float:right;font-size:0.8rem;color:#b1b1ba}.search-dropdown .dropdown-menu .search-footer [data-theme='dark']{color:#909092}.search-dropdown .dropdown-menu .search-footer a,.search-dropdown .dropdown-menu .search-footer a::before,.search-dropdown .dropdown-menu .search-footer a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .search-dropdown .dropdown-menu .search-footer a,[data-theme='dark'] .search-dropdown .dropdown-menu .search-footer a::before,[data-theme='dark'] .search-dropdown .dropdown-menu .search-footer a::after{color:#1781b5}.search-dropdown .dropdown-menu .search-footer a:active,.search-dropdown .dropdown-menu .search-footer a:hover{color:#ea517f}[data-theme='dark'] .search-dropdown .dropdown-menu .search-footer a:active,[data-theme='dark'] .search-dropdown .dropdown-menu .search-footer a:hover{color:#cc5595}.search-dropdown .dropdown-menu .search-footer a{font-size:1rem}.breadcrumb-container{padding-inline:1rem;font-size:0.75rem;background-color:#fff;z-index:100}[data-theme='dark'] .breadcrumb-container{background-color:#292a2e}.breadcrumb-container.sticky{position:sticky;top:3.5rem}.breadcrumb-container .breadcrumb{display:flex;flex-wrap:wrap;padding:0.5rem 0;margin:0 auto;list-style:none;border-bottom:1px inset #f0f0f0}[data-theme='dark'] .breadcrumb-container .breadcrumb{border-bottom-color:#363636}.breadcrumb-container .breadcrumb .breadcrumb-item{display:flex}.breadcrumb-container .breadcrumb .breadcrumb-item+.breadcrumb-item::before{content:attr(data-separator);display:inline-block;padding-inline:0.5rem;color:#b1b1ba}[data-theme='dark'] .breadcrumb-container .breadcrumb .breadcrumb-item+.breadcrumb-item::before{color:#909092}.breadcrumb-container .breadcrumb .breadcrumb-item.active{color:var(--fi-secondary)}footer{height:auto;width:100%;text-align:center;line-height:1.25rem;padding:1rem 0}footer .footer-container{display:flex;flex-direction:column;font-size:0.875rem}footer .footer-container .footer-line{width:100%}footer .footer-container .footer-line .footer-divider:not(:first-child)::before{content:'|';margin-left:0.25rem;margin-right:0.25rem}footer .footer-container .footer-line .animate-icon{color:#dc143c;animation:icon-animate 1.33s ease-in-out infinite}footer .footer-container .footer-line .run-times{font-variant-numeric:tabular-nums lining-nums}.blur footer{-webkit-filter:blur(1.5px);filter:blur(1.5px)}@keyframes icon-animate{0%,100%{-webkit-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%,30%{-webkit-transform:scale(0.9);-ms-transform:scale(0.9);-o-transform:scale(0.9);transform:scale(0.9)}20%,40%,60%,80%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}50%,70%{-webkit-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}}.pagination{display:flex;flex-direction:row;justify-content:center;flex-wrap:wrap;list-style:none;white-space:nowrap;width:100%;padding:1rem 0}.pagination a{font-size:0.8rem;color:#bfbfbf;letter-spacing:0.1rem;font-weight:700;padding:5px 5px;text-decoration:none;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s}[data-theme='dark'] .pagination a{color:#b1b1ba}.pagination li{padding:5px;margin:0 10px;box-sizing:border-box;position:relative;display:inline}.pagination li.disabled{display:none}.pagination li:hover a{color:#000}[data-theme='dark'] .pagination li:hover a{color:#fff}.pagination li::before,.pagination li::after{position:absolute;content:'';width:0;height:3px;background:#000;-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;bottom:0px}[data-theme='dark'] .pagination li::before,[data-theme='dark'] .pagination li::after{background:#fff}.pagination li::before{left:50%}.pagination li::after{right:50%}.pagination li:hover::before,.pagination li:hover::after{width:50%}.pagination li.active a{color:#000}[data-theme='dark'] .pagination li.active a{color:#fff}.pagination li.active::before,.pagination li.active::after{width:50%}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-start{text-align:left !important}.text-end{text-align:right !important}.text-center{text-align:center !important}.d-none{display:none !important}.ms-1,.mx-1{margin-left:0.25em !important}.me-1,.mx-1{margin-right:0.25em !important}.ps-1,.px-1{padding-left:0.25em !important}.pe-1,.px-1{padding-right:0.25em !important}.text-primary{color:var(--fi-primary) !important}.text-secondary{color:var(--fi-secondary) !important}.text-success{color:var(--fi-success) !important}.text-info{color:var(--fi-info) !important}.text-warning{color:var(--fi-warning) !important}.text-danger{color:var(--fi-danger) !important}.order-first{order:-1 !important}.order-0{order:0 !important}.order-1{order:1 !important}.order-2{order:2 !important}.order-3{order:3 !important}.order-4{order:4 !important}.order-5{order:5 !important}.order-last{order:6 !important}.variant-numeric{font-variant-numeric:tabular-nums lining-nums}.page{position:relative}.page .content [id]{scroll-margin-top:var(--fi-scroll-mt)}.blur .page{-webkit-filter:blur(1.5px);filter:blur(1.5px)}.toc .toc-title{font-size:1rem;font-weight:bold;text-transform:uppercase}.toc .toc-content{font-size:.875rem}.toc .toc-content ul{text-indent:-0.8em;padding-left:0.8em;list-style:none}.toc .toc-content ul a:first-child::before{content:'|';font-weight:bolder;margin-right:0.5em;position:relative;bottom:2px;color:#2376b7}[data-theme='dark'] .toc .toc-content ul a:first-child::before{color:#1781b5}.toc .toc-content ul ul{padding-left:1em}.toc .toc-content ol{margin:0;padding-left:2.25em}.toc .toc-content ol ol{padding-left:1.25em}.toc .toc-content ol li:has(>a:hover)::marker{color:#2376b7}[data-theme='dark'] .toc .toc-content ol li:has(>a:hover)::marker{color:#1781b5}.toc ruby{background:#f6f8fa}.toc ruby rt{color:#b1b1ba}[data-theme='dark'] .toc ruby{background:#2d333b}[data-theme='dark'] .toc ruby rt{color:#909092}#toc-auto{display:block;position:sticky;top:calc(3.5rem + var(--fi-breadcrumb-height));box-sizing:border-box;visibility:hidden;word-wrap:break-word;overflow-wrap:break-word}.blur #toc-auto{-webkit-filter:blur(1.5px);filter:blur(1.5px)}[data-header-desktop='normal'] #toc-auto{--fi-scroll-mt: .5rem}#toc-auto .toc-title{margin-block:0 0.5em;cursor:pointer;-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}#toc-auto .toc-title::before{content:'|';font-weight:bolder;margin-right:0.5em;position:relative;bottom:2px;color:#f0f0f0}[data-theme='dark'] #toc-auto .toc-title::before{color:#363636}#toc-auto .toc-title i.toc-icon{-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}#toc-auto.toc-hidden i.toc-icon{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);-o-transform:rotate(-90deg);transform:rotate(-90deg);-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}#toc-auto .toc-content{overflow-y:scroll;max-height:calc(100vh - 7rem);--fi-scrollbar-width: none;--fi-scrollbar-width-legacy: 0}#toc-auto .toc-content.always-active ul,#toc-auto .toc-content.always-active ol{display:block}#toc-auto .toc-content>nav>ul{margin:0}#toc-auto .toc-content li.has-active::marker{color:#2376b7}[data-theme='dark'] #toc-auto .toc-content li.has-active::marker{color:#1781b5}#toc-auto .toc-content li.has-active:has(>.active)::marker{font-weight:bold}#toc-auto .toc-content li.has-active>a{color:#2376b7}[data-theme='dark'] #toc-auto .toc-content li.has-active>a{color:#1781b5}#toc-auto .toc-content ul ul{display:none}#toc-auto .toc-content ul .has-active>ul{display:block}#toc-auto .toc-content ul a.active::before{color:#ea517f}[data-theme='dark'] #toc-auto .toc-content ul a.active::before{color:#cc5595}#toc-auto .toc-content ol ol{display:none}#toc-auto .toc-content ol .has-active>ol{display:block}#toc-auto .toc-content a.active{font-weight:bold}#toc-static{display:none;margin:0.8em 0}#toc-static[data-kept='true']{display:block}#toc-static .toc-title{display:flex;justify-content:space-between;line-height:2em;padding:0 0.75em;background:#ecf0f5}[data-theme='dark'] #toc-static .toc-title{background:#20242a}#toc-static .toc-content{background-color:#f6f8fa}#toc-static .toc-content>nav>ul{margin:0;padding:0.4em 1em 0.4em 1.8em}#toc-static .toc-content>nav>ul a:hover{font-weight:bold}#toc-static .toc-content>nav>ul a:hover::before{color:#ea517f}[data-theme='dark'] #toc-static .toc-content>nav>ul a:hover::before{color:#cc5595}#toc-static .toc-content>nav>ol{margin:0;padding:0.4em 1em 0.4em 2.25em}#toc-static .toc-content>nav>ol li:has(>a:hover)::marker,#toc-static .toc-content>nav>ol a:hover{font-weight:bold}[data-theme='dark'] #toc-static .toc-content{background-color:#2d333b}#toc-static.open .toc-title{background:#e2e9ef}[data-theme='dark'] #toc-static.open .toc-title{background:#262b32}.fixit-decryptor-container{font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;text-align:center;margin-block:var(--fixit-decryptor-margin-block)}.fixit-decryptor-container .fixit-decryptor-loading{vertical-align:middle}.fixit-decryptor-container .fixit-decryptor-input,.fixit-decryptor-container .fixit-decryptor-btn,.fixit-decryptor-container .fixit-encryptor-btn{display:none;box-sizing:border-box;outline:none;color:#161209;border:1px solid #cacaca;border-radius:5px;-webkit-transition:all 0.1s ease-out;-moz-transition:all 0.1s ease-out;-o-transition:all 0.1s ease-out;transition:all 0.1s ease-out;box-shadow:0px 0px 5px 0px #cacaca}.fixit-decryptor-container .fixit-decryptor-input:active,.fixit-decryptor-container .fixit-decryptor-input:focus,.fixit-decryptor-container .fixit-decryptor-input:hover,.fixit-decryptor-container .fixit-decryptor-btn:active,.fixit-decryptor-container .fixit-decryptor-btn:focus,.fixit-decryptor-container .fixit-decryptor-btn:hover,.fixit-decryptor-container .fixit-encryptor-btn:active,.fixit-decryptor-container .fixit-encryptor-btn:focus,.fixit-decryptor-container .fixit-encryptor-btn:hover{color:#2371a2;border-color:#2983bb;box-shadow:0px 0px 5px 0px #6bb2df}[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-input:active,[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-input:focus,[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-input:hover,[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-btn:active,[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-btn:focus,[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-btn:hover,[data-theme='dark'] .fixit-decryptor-container .fixit-encryptor-btn:active,[data-theme='dark'] .fixit-decryptor-container .fixit-encryptor-btn:focus,[data-theme='dark'] .fixit-decryptor-container .fixit-encryptor-btn:hover{color:#fff;border-color:#fff;box-shadow:0px 0px 5px 0px #ccc}[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-input,[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-btn,[data-theme='dark'] .fixit-decryptor-container .fixit-encryptor-btn{color:#b1b1ba;border-color:#5c5c5c;box-shadow:0px 0px 5px 0px #5c5c5c}.fixit-decryptor-container .fixit-decryptor-input{width:calc(clamp(50%, 450px, 100%) - 100px);height:3rem;padding-left:1rem;padding-right:1rem;background-color:#fff}[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-input{background-color:#292a2e}.fixit-decryptor-container .fixit-decryptor-btn,.fixit-decryptor-container .fixit-encryptor-btn{cursor:pointer;-webkit-transition:all 0.1s ease-out;-moz-transition:all 0.1s ease-out;-o-transition:all 0.1s ease-out;transition:all 0.1s ease-out;padding:0.8rem 1rem;background-color:#f8f8f8}[data-theme='dark'] .fixit-decryptor-container .fixit-decryptor-btn,[data-theme='dark'] .fixit-decryptor-container .fixit-encryptor-btn{background-color:#252627}.fixit-decryptor-container .fixit-encryptor-btn{display:none}fixit-encryptor.initialized>.fixit-decryptor-container .fixit-decryptor-input,fixit-encryptor.initialized>.fixit-decryptor-container .fixit-decryptor-btn{display:inline-block}fixit-encryptor.initialized>.fixit-decryptor-container .fixit-decryptor-loading{display:none}fixit-encryptor cipher-text{display:none !important}article fixit-encryptor .fixit-decryptor-container{--fixit-decryptor-margin-block: 2rem}article fixit-encryptor.decrypted>.fixit-decryptor-container .fixit-decryptor-loading,article fixit-encryptor.decrypted>.fixit-decryptor-container .fixit-decryptor-input,article fixit-encryptor.decrypted>.fixit-decryptor-container .fixit-decryptor-btn{display:none}article fixit-encryptor.decrypted>.fixit-decryptor-container .fixit-encryptor-btn{display:inline-block}#content fixit-encryptor .fixit-decryptor-container{--fixit-decryptor-margin-block: 1rem}#content fixit-encryptor.decrypted>.fixit-decryptor-container{display:none}.encrypted-hidden{display:none !important}.collection-card{font-size:0.875rem;background-color:#f7f7f7;margin-block:1rem;padding:1rem 1.25rem;position:relative;-webkit-border-radius:7.5px;-moz-border-radius:7.5px;border-radius:7.5px;-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}[data-theme='dark'] .collection-card{background-color:#303136}.collection-card:has(.collection-nav-item:nth-child(2))::before{content:'';position:absolute;left:50%;bottom:0.75rem;width:1px;height:2rem;background:linear-gradient(to bottom, rgba(0,0,0,0.03), rgba(0,0,0,0.05) 50%, rgba(0,0,0,0.03) 100%)}[data-theme='dark'] .collection-card:has(.collection-nav-item:nth-child(2))::before{background:linear-gradient(to bottom, rgba(255,255,255,0.03), rgba(255,255,255,0.05) 50%, rgba(255,255,255,0.03) 100%)}.collection-card .collection-title a,.collection-card .collection-title a::before,.collection-card .collection-title a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .collection-card .collection-title a,[data-theme='dark'] .collection-card .collection-title a::before,[data-theme='dark'] .collection-card .collection-title a::after{color:#1781b5}.collection-card .collection-title a:active,.collection-card .collection-title a:hover{color:#ea517f}[data-theme='dark'] .collection-card .collection-title a:active,[data-theme='dark'] .collection-card .collection-title a:hover{color:#cc5595}.collection-card .collection-nav{display:flex;justify-content:space-between;gap:1rem}.collection-card .collection-nav:not(:empty){margin-top:0.5rem}.collection-card .collection-nav .collection-nav-item{flex-grow:1;max-width:calc(50% - 0.5rem);font-weight:500;display:flex;align-items:center;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.collection-card .collection-nav .collection-nav-item:only-child{max-width:100%}.collection-card .collection-nav .collection-nav-item i{flex-shrink:0}.collection-card .collection-nav .collection-nav-item span{flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-card .collection-nav .collection-nav-item[rel='next']{text-align:right}.collection-card .collection-nav .collection-nav-item[rel='prev']:hover{-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.collection-card .collection-nav .collection-nav-item[rel='next']:hover{-webkit-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.aside-collection{position:sticky;top:calc(3.5rem + var(--fi-breadcrumb-height));box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.blur .aside-collection{-webkit-filter:blur(1.5px);filter:blur(1.5px)}.collection-details:not(:last-of-type){margin-bottom:0.5rem}.collection-details.open .collection-summary{background-color:#f5f5f5}[data-theme='dark'] .collection-details.open .collection-summary{background-color:#333439}.collection-details .collection-summary{display:flex;align-items:baseline;gap:0.25em;padding:0.2em 0.5em;background-color:#f7f7f7;-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}[data-theme='dark'] .collection-details .collection-summary{background-color:#303136}.collection-details .collection-summary>i.fa-layer-group{flex-shrink:0}.collection-details .collection-summary .collection-name{flex-grow:1;font-weight:bold;font-size:1rem}.collection-details .collection-summary .collection-name::before{content:attr(data-collections) "・"}.collection-details .collection-summary .collection-count{flex-shrink:0;color:var(--fi-secondary)}.collection-details .collection-summary .details-icon{flex-shrink:0}.collection-details .collection-content{font-size:.875rem;background-color:#fafafa}[data-theme='dark'] .collection-details .collection-content{background-color:#2e2f33}.collection-details .collection-content .collection-list{margin:0;padding-inline:1.6em 0.8em;padding-block:0.4em;text-indent:-0.8em;list-style:none;overflow-y:scroll;max-height:60vh;--fi-scrollbar-width: none;--fi-scrollbar-width-legacy: 0}.collection-details .collection-content .collection-list .collection-item>a::before,.collection-details .collection-content .collection-list .collection-item>span::before{content:'|';font-weight:600;margin-right:0.5em;position:relative;bottom:2px;color:#2376b7}[data-theme='dark'] .collection-details .collection-content .collection-list .collection-item>a::before,[data-theme='dark'] .collection-details .collection-content .collection-list .collection-item>span::before{color:#1781b5}.collection-details .collection-content .collection-list .collection-item>.active{font-weight:bold;color:#2376b7}[data-theme='dark'] .collection-details .collection-content .collection-list .collection-item>.active{color:#1781b5}.collection-details .collection-content .collection-list .collection-item>.active::before{color:#ea517f}[data-theme='dark'] .collection-details .collection-content .collection-list .collection-item>.active::before{color:#cc5595}.collection-details .collection-content .collection-nav-simple{display:flex;align-items:center;justify-content:center;gap:0.5em;background-color:#f7f7f7}[data-theme='dark'] .collection-details .collection-content .collection-nav-simple{background-color:#303136}.collection-details .collection-content .collection-nav-simple a.collection-nav-item{padding-inline:2px;border-radius:50%;-webkit-transition:background-color 0.3s ease-out;-moz-transition:background-color 0.3s ease-out;-o-transition:background-color 0.3s ease-out;transition:background-color 0.3s ease-out}.collection-details .collection-content .collection-nav-simple a.collection-nav-item:hover{background-color:#e6e6e6}[data-theme='dark'] .collection-details .collection-content .collection-nav-simple a.collection-nav-item:hover{background-color:#414349}.collection-details .collection-content .collection-nav-simple>i.collection-nav-item{padding:4px 2px;cursor:not-allowed}.single .single-title{padding:1rem 0 0.5rem;margin:0;font-size:1.6rem;font-weight:bold;line-height:140%}.single .single-title .icon-pin{display:inline-block;width:max-content;transform:rotate(30deg);margin-right:0.25em;color:var(--fi-danger)}.single .single-title .icon-repost{display:inline-block;width:max-content;margin-right:0.25em;color:var(--fi-success)}.single .single-subtitle{margin-block:0 0.5rem;font-size:1.2rem;font-weight:normal;line-height:1.15}.single .post-meta{font-size:0.875rem;color:#b1b1ba}.single .post-meta span{display:inline-block}[data-theme='dark'] .single .post-meta{color:#909092}.single .post-meta a,.single .post-meta a::before,.single .post-meta a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .post-meta a,[data-theme='dark'] .single .post-meta a::before,[data-theme='dark'] .single .post-meta a::after{color:#b1b1ba}.single .post-meta a:active,.single .post-meta a:hover{color:#ea517f}[data-theme='dark'] .single .post-meta a:active,[data-theme='dark'] .single .post-meta a:hover{color:#fff}.single .post-meta .author{font-size:1.05rem}.single .post-meta .author img.avatar{width:1.3rem;height:1.3rem;border-radius:50%;vertical-align:text-bottom;border:0.25px solid #f0f0f0;box-sizing:border-box;object-position:center;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}[data-theme='dark'] .single .post-meta .author img.avatar{border-color:#363636}.single .featured-image{margin:1rem 0}.single .featured-image img{display:block;width:100%;max-width:100%;height:auto;margin:0 auto;overflow:hidden}.single #content[data-end-flag]:not([data-password])::after{content:attr(data-end-flag);display:block;text-align:center;color:#b1b1ba;font-size:15px;padding:5px}.single hr{position:relative;height:1em;background:linear-gradient(to right, var(--fi-hr-background-color) 50%, transparent 50%);background-size:10px 2px;background-position:center;background-repeat:repeat-x;border:none}.single hr.awesome-hr{margin-block:0.5em}.single hr.awesome-hr::before{display:inline-block;font-weight:600;font-family:'Font Awesome 6 Free';text-rendering:auto;-webkit-font-smoothing:antialiased;position:absolute;left:5%;top:50%;transform:translateY(-50%);z-index:1;color:var(--fi-hr-before-color);content:'\f0c4';font-size:20px;line-height:1;transition:left 1s ease-in-out, color 0.3s ease, border-color 0.3s ease}.single hr.awesome-hr:hover::before{left:calc(95% - 20px)}.single .content{margin-block:1rem}.single .content>h1,.single .content>h2{font-size:1.5em;padding-bottom:0.3em;border-bottom:1px solid #f0f0f0}.single .content>h3{font-size:1.25em}.single .content>h4{font-size:1em}.single .content>h5{font-size:0.875em}.single .content>h6{font-size:0.85em}.single .content>.heading-element{display:flex;font-weight:bold;line-height:1.25;margin-top:1.5rem;margin-bottom:1rem}[data-theme='dark'] .single .content>.heading-element{font-weight:bolder}.single .content>.heading-element code{padding:0 .2em;font-size:inherit}.single .content>.heading-element:hover>.heading-mark,.single .content>.heading-element:target>.heading-mark{opacity:1}.single .content>.heading-element>.heading-mark{display:inline-flex;align-items:center;opacity:0;padding-inline:0.5rem;transition:all 0.2s ease-in-out}.single .content>.heading-element>.heading-mark a,.single .content>.heading-element>.heading-mark a::before,.single .content>.heading-element>.heading-mark a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .content>.heading-element>.heading-mark a,[data-theme='dark'] .single .content>.heading-element>.heading-mark a::before,[data-theme='dark'] .single .content>.heading-element>.heading-mark a::after{color:#1781b5}.single .content>.heading-element>.heading-mark a:active,.single .content>.heading-element>.heading-mark a:hover{color:#ea517f}[data-theme='dark'] .single .content>.heading-element>.heading-mark a:active,[data-theme='dark'] .single .content>.heading-element>.heading-mark a:hover{color:#cc5595}.single .content>.heading-element>.heading-mark svg{fill:currentColor}.single .content p{margin:0.5rem 0}.single .content b,.single .content strong{font-weight:bold}[data-theme='dark'] .single .content b,[data-theme='dark'] .single .content strong{color:#ddd}.single .content a,.single .content a::before,.single .content a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .content a,[data-theme='dark'] .single .content a::before,[data-theme='dark'] .single .content a::after{color:#1781b5}.single .content a:active,.single .content a:hover{color:#ea517f}[data-theme='dark'] .single .content a:active,[data-theme='dark'] .single .content a:hover{color:#cc5595}.single .content a{white-space:normal;word-wrap:break-word;overflow-wrap:break-word}[data-theme='dark'] .single .content a b,[data-theme='dark'] .single .content a strong{color:#1781b5}.single .content [data-theme='dark'] a:hover b,.single .content [data-theme='dark'] a:hover strong{color:#cc5595}.single .content ul,.single .content ol,.single .content dl{margin-block:0.5em}.single .content ul{list-style-type:disc}.single .content dl dt{font-weight:bold}.single .content dl dd{margin:0.25em 0 1em}.single .content ruby{background:#f6f8fa}.single .content ruby rt{color:#b1b1ba}[data-theme='dark'] .single .content ruby{background:#2d333b}[data-theme='dark'] .single .content ruby rt{color:#909092}.single .content .table-wrapper{overflow-x:auto;--fi-scrollbar-thumb-color: #fff}[data-theme='dark'] .single .content .table-wrapper{--fi-scrollbar-thumb-color: #272c34}.single .content .table-wrapper>table{width:100%;max-width:100%;margin:0.625rem 0;border-spacing:0;background:#fff;border-collapse:collapse}[data-theme='dark'] .single .content .table-wrapper>table{background:#272c34}.single .content .table-wrapper>table thead{background:#ededed}[data-theme='dark'] .single .content .table-wrapper>table thead{background-color:#20252b}.single .content .table-wrapper>table:not([class]) tbody tr:nth-child(odd){background:#f9f9f9}[data-theme='dark'] .single .content .table-wrapper>table:not([class]) tbody tr:nth-child(odd){background-color:#2d333c}.single .content .table-wrapper>table:not([class]) tbody tr:hover{background:#f4f4f4}[data-theme='dark'] .single .content .table-wrapper>table:not([class]) tbody tr:hover{background-color:#333a44}.single .content .table-wrapper>table th,.single .content .table-wrapper>table td{padding:0.3rem 1rem;border:1px solid #e8e8e8}[data-theme='dark'] .single .content .table-wrapper>table th,[data-theme='dark'] .single .content .table-wrapper>table td{border-color:#1c2025}.single .content img{max-width:100%;min-height:1em}.single .content img:not([height]){height:auto}.single .content img[loading='lazy'][srcset]:not([data-lazyloaded]):not(.suffix-invalid__small){width:var(--width-small, var(--width));aspect-ratio:var(--aspect-ratio-small, var(--aspect-ratio))}@media (min-resolution: 1.01dppx) and (max-resolution: 1.5dppx){.single .content img[loading='lazy'][srcset]:not([data-lazyloaded]):not(.suffix-invalid){width:calc(var(--width) / 1.5);aspect-ratio:var(--aspect-ratio)}}@media (min-resolution: 1.51dppx){.single .content img[loading='lazy'][srcset]:not([data-lazyloaded]):not(.suffix-invalid__large){width:calc(var(--width-large, var(--width)) / 2);aspect-ratio:var(--aspect-ratio-large, var(--aspect-ratio))}}.single .content img.version{height:1.25em;vertical-align:text-bottom}.single .content svg{max-width:100%}.single .content figure{margin:0.5rem;text-align:center}.single .content figure .image-caption:not(:empty){min-width:20%;max-width:80%;display:inline-block;padding:0.5rem;margin:0 auto;font-size:0.875rem;color:#969696}.single .content figure img{display:block;margin:0 auto;overflow:hidden}.single .content blockquote{display:block;border-left:0.25em solid #f0f0f0;color:#697681;padding:0 1em;margin:1rem 0}.single .content blockquote ul,.single .content blockquote ol{padding-left:1.5em}.single .content blockquote dl dd{margin-inline-start:0.25em}[data-theme='dark'] .single .content blockquote{color:#9ba3aa;border-left-color:#363636}.single .content blockquote a,.single .content blockquote a::before,.single .content blockquote a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .content blockquote a,[data-theme='dark'] .single .content blockquote a::before,[data-theme='dark'] .single .content blockquote a::after{color:#b1b1ba}.single .content blockquote a:active,.single .content blockquote a:hover{color:#ea517f}[data-theme='dark'] .single .content blockquote a:active,[data-theme='dark'] .single .content blockquote a:hover{color:#fff}.single .content sup[id^='fnref']:has(.footnote-ref){padding:2px 4px;background-color:rgba(238,238,238,0.7);color:#555555;border-radius:4px;cursor:pointer}[data-theme='dark'] .single .content sup[id^='fnref']:has(.footnote-ref){background-color:rgba(56,139,253,0.1);color:#58a6ff}.single .content sup[id^='fnref']:has(.footnote-ref) a,.single .content sup[id^='fnref']:has(.footnote-ref) a::before,.single .content sup[id^='fnref']:has(.footnote-ref) a::after{text-decoration:none;color:#161209}[data-theme='dark'] .single .content sup[id^='fnref']:has(.footnote-ref) a,[data-theme='dark'] .single .content sup[id^='fnref']:has(.footnote-ref) a::before,[data-theme='dark'] .single .content sup[id^='fnref']:has(.footnote-ref) a::after{color:#1781b5}.single .content sup[id^='fnref']:has(.footnote-ref) a:active,.single .content sup[id^='fnref']:has(.footnote-ref) a:hover{color:#2983bb}[data-theme='dark'] .single .content sup[id^='fnref']:has(.footnote-ref) a:active,[data-theme='dark'] .single .content sup[id^='fnref']:has(.footnote-ref) a:hover{color:#cc5595}.single .content .footnotes{font-size:0.75rem;white-space:normal;color:#a3a3ae}.single .content .footnotes ol{margin-block:1em;padding-left:1rem}.single .content .footnotes hr{background-color:var(--fi-hr-background-color);height:1px;margin-block:1em}.single .content .footnotes code{font-size:0.75rem}.single .content .footnotes a:not(.footnote-backref){color:inherit;text-decoration:underline}.single .content .footnotes a,.single .content .footnotes a::before,.single .content .footnotes a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .content .footnotes a,[data-theme='dark'] .single .content .footnotes a::before,[data-theme='dark'] .single .content .footnotes a::after{color:#b1b1ba}.single .content .footnotes a:active,.single .content .footnotes a:hover{color:#ea517f}[data-theme='dark'] .single .content .footnotes a:active,[data-theme='dark'] .single .content .footnotes a:hover{color:#fff}[data-theme='dark'] .single .content .footnotes{color:#9d9d9f}.single .content .footnotes p{margin:0.25rem 0}.single .content hr{margin-block:0}.single .content kbd{display:inline-block;padding:0 0.25rem;background-color:#fff;border:1px solid #f0f0f0;font-size:0.8rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#24292f;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 -1px 0 #f0f0f0;box-shadow:inset 0 -1px 0 #f0f0f0}[data-theme='dark'] .single .content kbd{background-color:#292a2e;border:1px solid #363636;color:#adbac7;-webkit-box-shadow:inset 0 -1px 0 #363636;box-shadow:inset 0 -1px 0 #363636}.single .content .alert{padding:0.5rem 1rem;margin-block:1rem;color:inherit;border-left:0.25em solid var(--fi-alert-border-color)}.single .content .alert>:first-child{margin-top:0}.single .content .alert>:last-child{margin-bottom:0}.single .content .alert .alert-title{display:flex;font-weight:500;align-items:center;line-height:1;margin-bottom:1rem;color:var(--fi-alert-color)}.single .content .alert .alert-title>svg.icon{width:initial;height:initial;margin-right:0.5rem}.single .content .alert.alert-note{--fi-alert-border-color: #0969da;--fi-alert-color: #0969da}.single .content .alert.alert-tip{--fi-alert-border-color: #1a7f37;--fi-alert-color: #1a7f37}.single .content .alert.alert-important{--fi-alert-border-color: #8250df;--fi-alert-color: #8250df}.single .content .alert.alert-warning{--fi-alert-border-color: #bf8700;--fi-alert-color: #9a6700}.single .content .alert.alert-caution{--fi-alert-border-color: #cf222e;--fi-alert-color: #d1242f}[data-theme='dark'] .single .content .alert.alert-note{--fi-alert-border-color: #316dca;--fi-alert-color: #478be6}[data-theme='dark'] .single .content .alert.alert-tip{--fi-alert-border-color: #347d39;--fi-alert-color: #57ab5a}[data-theme='dark'] .single .content .alert.alert-important{--fi-alert-border-color: #8256d0;--fi-alert-color: #986ee2}[data-theme='dark'] .single .content .alert.alert-warning{--fi-alert-border-color: #966600;--fi-alert-color: #c69026}[data-theme='dark'] .single .content .alert.alert-caution{--fi-alert-border-color: #c93c37;--fi-alert-color: #e5534b}.single .content code{padding:0.2em 0.4em;margin:0;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;color:#24292f;background-color:rgba(175,184,193,0.2);text-decoration:inherit;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;word-wrap:break-word;overflow-wrap:break-word;-webkit-line-break:auto;-ms-line-break:auto;line-break:auto}[data-theme='dark'] .single .content code{color:#adbac7;background-color:rgba(99,110,123,0.4)}.single .content pre:not(.mermaid[data-processed='true']){margin:0;line-height:1.45em;padding:0.5rem;overflow:auto;font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-moz-tab-size:4;-o-tab-size:4;tab-size:4;background-color:#f6f8fa}[data-theme='dark'] .single .content pre:not(.mermaid[data-processed='true']){background-color:#2d333b}.single .content pre:not(.mermaid[data-processed='true']) code{padding:0;background-color:transparent;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:intrinsic;min-width:max-content}[data-theme='dark'] .single .content pre:not(.mermaid[data-processed='true']) code{background-color:transparent}.single .content pre:not(.mermaid[data-processed='true']) img{min-height:1em;max-height:1.2em;vertical-align:text-bottom}.single .content .highlight,.single .content .gist{font-size:.875rem;font-family:Source Code Pro,Menlo,Consolas,Monaco,monospace,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.single .content .highlight .table-wrapper,.single .content .gist .table-wrapper{--fi-scrollbar-thumb-color: initial}.single .content .highlight .table-wrapper>table,.single .content .highlight .table-wrapper>table thead,.single .content .highlight .table-wrapper>table tr,.single .content .highlight .table-wrapper>table td,.single .content .gist .table-wrapper>table,.single .content .gist .table-wrapper>table thead,.single .content .gist .table-wrapper>table tr,.single .content .gist .table-wrapper>table td{margin:0;padding:0;border:none !important;white-space:nowrap}.single .content .highlight{margin:0.5rem 0}.single .content .highlight>.chroma{position:relative}.single .content .highlight>.chroma .code-header{--fi-bg-code-header: #ecf0f5;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;width:100%;font-family:system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:bold;line-height:1.4em;color:#9c9c9c;background-color:var(--fi-bg-code-header);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-transition:border-radius 0.2s ease;-moz-transition:border-radius 0.2s ease;-o-transition:border-radius 0.2s ease;transition:border-radius 0.2s ease}.single .content .highlight>.chroma .code-header+.table-wrapper{max-height:0;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;-webkit-transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s;-moz-transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s;-o-transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s;transition:max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s}[data-theme='dark'] .single .content .highlight>.chroma .code-header{color:#b1b0b0;--fi-bg-code-header: #262b32}.single .content .highlight>.chroma .code-header:hover{cursor:pointer}.single .content .highlight>.chroma .code-header .code-title{width:100%;padding:0.4rem}.single .content .highlight>.chroma .code-header .code-title .arrow{padding:0 0.2rem;-webkit-transition:transform 0.2s ease;-moz-transition:transform 0.2s ease;-o-transition:transform 0.2s ease;transition:transform 0.2s ease}.single .content .highlight>.chroma .code-header .code-title .title-inner{position:absolute;left:50%;transform:translateX(-50%);background-color:var(--fi-bg-code-header);padding-inline:1em;max-width:80%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}.single .content .highlight>.chroma .code-header .code-title::after{padding-left:0.2rem;content:'Code'}.single .content .highlight>.chroma .code-header .ellipses{padding:0.4rem}.single .content .highlight>.chroma .code-header .edit,.single .content .highlight>.chroma .code-header .copy{display:none;padding:0.4rem}.single .content .highlight>.chroma .code-header .edit:hover,.single .content .highlight>.chroma .code-header .copy:hover{cursor:pointer;color:#2983bb}[data-theme='dark'] .single .content .highlight>.chroma .code-header .edit:hover,[data-theme='dark'] .single .content .highlight>.chroma .code-header .copy:hover{color:#fff}.single .content .highlight>.chroma .code-header.language-abap .code-title::after{content:"ABAP"}.single .content .highlight>.chroma .code-header.language-abnf .code-title::after{content:"ABNF"}.single .content .highlight>.chroma .code-header.language-as .code-title::after{content:"ActionScript"}.single .content .highlight>.chroma .code-header.language-actionscript .code-title::after{content:"ActionScript"}.single .content .highlight>.chroma .code-header.language-as3 .code-title::after{content:"ActionScript 3"}.single .content .highlight>.chroma .code-header.language-actionscript3 .code-title::after{content:"ActionScript 3"}.single .content .highlight>.chroma .code-header.language-ada .code-title::after{content:"Ada"}.single .content .highlight>.chroma .code-header.language-ada95 .code-title::after{content:"Ada"}.single .content .highlight>.chroma .code-header.language-ada2005 .code-title::after{content:"Ada"}.single .content .highlight>.chroma .code-header.language-al .code-title::after{content:"AL"}.single .content .highlight>.chroma .code-header.language-ng2 .code-title::after{content:"Angular2"}.single .content .highlight>.chroma .code-header.language-antlr .code-title::after{content:"ANTLR"}.single .content .highlight>.chroma .code-header.language-apacheconf .code-title::after{content:"ApacheConf"}.single .content .highlight>.chroma .code-header.language-aconf .code-title::after{content:"ApacheConf"}.single .content .highlight>.chroma .code-header.language-apache .code-title::after{content:"ApacheConf"}.single .content .highlight>.chroma .code-header.language-apl .code-title::after{content:"APL"}.single .content .highlight>.chroma .code-header.language-applescript .code-title::after{content:"AppleScript"}.single .content .highlight>.chroma .code-header.language-arduino .code-title::after{content:"Arduino"}.single .content .highlight>.chroma .code-header.language-armasm .code-title::after{content:"ArmAsm"}.single .content .highlight>.chroma .code-header.language-awk .code-title::after{content:"Awk"}.single .content .highlight>.chroma .code-header.language-gawk .code-title::after{content:"Awk"}.single .content .highlight>.chroma .code-header.language-mawk .code-title::after{content:"Awk"}.single .content .highlight>.chroma .code-header.language-nawk .code-title::after{content:"Awk"}.single .content .highlight>.chroma .code-header.language-ballerina .code-title::after{content:"Ballerina"}.single .content .highlight>.chroma .code-header.language-make .code-title::after{content:"Base Makefile"}.single .content .highlight>.chroma .code-header.language-makefile .code-title::after{content:"Base Makefile"}.single .content .highlight>.chroma .code-header.language-mf .code-title::after{content:"Base Makefile"}.single .content .highlight>.chroma .code-header.language-bsdmake .code-title::after{content:"Base Makefile"}.single .content .highlight>.chroma .code-header.language-bash .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-sh .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-ksh .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-zsh .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-shell .code-title::after{content:"Bash"}.single .content .highlight>.chroma .code-header.language-bash-session .code-title::after{content:"BashSession"}.single .content .highlight>.chroma .code-header.language-console .code-title::after{content:"BashSession"}.single .content .highlight>.chroma .code-header.language-shell-session .code-title::after{content:"BashSession"}.single .content .highlight>.chroma .code-header.language-bat .code-title::after{content:"Batchfile"}.single .content .highlight>.chroma .code-header.language-batch .code-title::after{content:"Batchfile"}.single .content .highlight>.chroma .code-header.language-dosbatch .code-title::after{content:"Batchfile"}.single .content .highlight>.chroma .code-header.language-winbatch .code-title::after{content:"Batchfile"}.single .content .highlight>.chroma .code-header.language-bib .code-title::after{content:"BibTeX"}.single .content .highlight>.chroma .code-header.language-bibtex .code-title::after{content:"BibTeX"}.single .content .highlight>.chroma .code-header.language-bicep .code-title::after{content:"Bicep"}.single .content .highlight>.chroma .code-header.language-blitzbasic .code-title::after{content:"BlitzBasic"}.single .content .highlight>.chroma .code-header.language-b3d .code-title::after{content:"BlitzBasic"}.single .content .highlight>.chroma .code-header.language-bplus .code-title::after{content:"BlitzBasic"}.single .content .highlight>.chroma .code-header.language-bnf .code-title::after{content:"BNF"}.single .content .highlight>.chroma .code-header.language-brainfuck .code-title::after{content:"Brainfuck"}.single .content .highlight>.chroma .code-header.language-bf .code-title::after{content:"Brainfuck"}.single .content .highlight>.chroma .code-header.language-c .code-title::after{content:"C"}.single .content .highlight>.chroma .code-header.language-csharp .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-c\# .code-title::after{content:"C#"}.single .content .highlight>.chroma .code-header.language-cpp .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-c\+\+ .code-title::after{content:"C++"}.single .content .highlight>.chroma .code-header.language-caddyfile .code-title::after{content:"Caddyfile"}.single .content .highlight>.chroma .code-header.language-caddy .code-title::after{content:"Caddyfile"}.single .content .highlight>.chroma .code-header.language-caddyfile-directives .code-title::after{content:"Caddyfile Directives"}.single .content .highlight>.chroma .code-header.language-caddyfile-d .code-title::after{content:"Caddyfile Directives"}.single .content .highlight>.chroma .code-header.language-caddy-d .code-title::after{content:"Caddyfile Directives"}.single .content .highlight>.chroma .code-header.language-capnp .code-title::after{content:"Cap'n Proto"}.single .content .highlight>.chroma .code-header.language-cassandra .code-title::after{content:"Cassandra CQL"}.single .content .highlight>.chroma .code-header.language-cql .code-title::after{content:"Cassandra CQL"}.single .content .highlight>.chroma .code-header.language-ceylon .code-title::after{content:"Ceylon"}.single .content .highlight>.chroma .code-header.language-cfengine3 .code-title::after{content:"CFEngine3"}.single .content .highlight>.chroma .code-header.language-cf3 .code-title::after{content:"CFEngine3"}.single .content .highlight>.chroma .code-header.language-cfs .code-title::after{content:"cfstatement"}.single .content .highlight>.chroma .code-header.language-chai .code-title::after{content:"ChaiScript"}.single .content .highlight>.chroma .code-header.language-chaiscript .code-title::after{content:"ChaiScript"}.single .content .highlight>.chroma .code-header.language-cheetah .code-title::after{content:"Cheetah"}.single .content .highlight>.chroma .code-header.language-spitfire .code-title::after{content:"Cheetah"}.single .content .highlight>.chroma .code-header.language-clojure .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-clj .code-title::after{content:"Clojure"}.single .content .highlight>.chroma .code-header.language-cmake .code-title::after{content:"CMake"}.single .content .highlight>.chroma .code-header.language-cobol .code-title::after{content:"COBOL"}.single .content .highlight>.chroma .code-header.language-coffee-script .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-coffeescript .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-coffee .code-title::after{content:"CoffeeScript"}.single .content .highlight>.chroma .code-header.language-common-lisp .code-title::after{content:"Common Lisp"}.single .content .highlight>.chroma .code-header.language-cl .code-title::after{content:"Common Lisp"}.single .content .highlight>.chroma .code-header.language-lisp .code-title::after{content:"Common Lisp"}.single .content .highlight>.chroma .code-header.language-coq .code-title::after{content:"Coq"}.single .content .highlight>.chroma .code-header.language-cr .code-title::after{content:"Crystal"}.single .content .highlight>.chroma .code-header.language-crystal .code-title::after{content:"Crystal"}.single .content .highlight>.chroma .code-header.language-css .code-title::after{content:"CSS"}.single .content .highlight>.chroma .code-header.language-cython .code-title::after{content:"Cython"}.single .content .highlight>.chroma .code-header.language-pyx .code-title::after{content:"Cython"}.single .content .highlight>.chroma .code-header.language-pyrex .code-title::after{content:"Cython"}.single .content .highlight>.chroma .code-header.language-d .code-title::after{content:"D"}.single .content .highlight>.chroma .code-header.language-dart .code-title::after{content:"Dart"}.single .content .highlight>.chroma .code-header.language-diff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-udiff .code-title::after{content:"Diff"}.single .content .highlight>.chroma .code-header.language-django .code-title::after{content:"Django/Jinja"}.single .content .highlight>.chroma .code-header.language-jinja .code-title::after{content:"Django/Jinja"}.single .content .highlight>.chroma .code-header.language-docker .code-title::after{content:"Docker"}.single .content .highlight>.chroma .code-header.language-dockerfile .code-title::after{content:"Docker"}.single .content .highlight>.chroma .code-header.language-dtd .code-title::after{content:"DTD"}.single .content .highlight>.chroma .code-header.language-dylan .code-title::after{content:"Dylan"}.single .content .highlight>.chroma .code-header.language-ebnf .code-title::after{content:"EBNF"}.single .content .highlight>.chroma .code-header.language-elixir .code-title::after{content:"Elixir"}.single .content .highlight>.chroma .code-header.language-ex .code-title::after{content:"Elixir"}.single .content .highlight>.chroma .code-header.language-exs .code-title::after{content:"Elixir"}.single .content .highlight>.chroma .code-header.language-elm .code-title::after{content:"Elm"}.single .content .highlight>.chroma .code-header.language-emacs .code-title::after{content:"EmacsLisp"}.single .content .highlight>.chroma .code-header.language-elisp .code-title::after{content:"EmacsLisp"}.single .content .highlight>.chroma .code-header.language-emacs-lisp .code-title::after{content:"EmacsLisp"}.single .content .highlight>.chroma .code-header.language-erlang .code-title::after{content:"Erlang"}.single .content .highlight>.chroma .code-header.language-factor .code-title::after{content:"Factor"}.single .content .highlight>.chroma .code-header.language-fennel .code-title::after{content:"Fennel"}.single .content .highlight>.chroma .code-header.language-fnl .code-title::after{content:"Fennel"}.single .content .highlight>.chroma .code-header.language-fish .code-title::after{content:"Fish"}.single .content .highlight>.chroma .code-header.language-fishshell .code-title::after{content:"Fish"}.single .content .highlight>.chroma .code-header.language-forth .code-title::after{content:"Forth"}.single .content .highlight>.chroma .code-header.language-fortran .code-title::after{content:"Fortran"}.single .content .highlight>.chroma .code-header.language-fortranfixed .code-title::after{content:"FortranFixed"}.single .content .highlight>.chroma .code-header.language-fsharp .code-title::after{content:"FSharp"}.single .content .highlight>.chroma .code-header.language-gas .code-title::after{content:"GAS"}.single .content .highlight>.chroma .code-header.language-asm .code-title::after{content:"GAS"}.single .content .highlight>.chroma .code-header.language-gdscript .code-title::after{content:"GDScript"}.single .content .highlight>.chroma .code-header.language-gd .code-title::after{content:"GDScript"}.single .content .highlight>.chroma .code-header.language-genshi .code-title::after{content:"Genshi"}.single .content .highlight>.chroma .code-header.language-kid .code-title::after{content:"Genshi"}.single .content .highlight>.chroma .code-header.language-xml\+genshi .code-title::after{content:"Genshi"}.single .content .highlight>.chroma .code-header.language-xml\+kid .code-title::after{content:"Genshi"}.single .content .highlight>.chroma .code-header.language-html\+genshi .code-title::after{content:"Genshi HTML"}.single .content .highlight>.chroma .code-header.language-html\+kid .code-title::after{content:"Genshi HTML"}.single .content .highlight>.chroma .code-header.language-genshitext .code-title::after{content:"Genshi Text"}.single .content .highlight>.chroma .code-header.language-cucumber .code-title::after{content:"Gherkin"}.single .content .highlight>.chroma .code-header.language-Cucumber .code-title::after{content:"Gherkin"}.single .content .highlight>.chroma .code-header.language-gherkin .code-title::after{content:"Gherkin"}.single .content .highlight>.chroma .code-header.language-Gherkin .code-title::after{content:"Gherkin"}.single .content .highlight>.chroma .code-header.language-glsl .code-title::after{content:"GLSL"}.single .content .highlight>.chroma .code-header.language-gnuplot .code-title::after{content:"Gnuplot"}.single .content .highlight>.chroma .code-header.language-go .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-golang .code-title::after{content:"Go"}.single .content .highlight>.chroma .code-header.language-go-html-template .code-title::after{content:"Go HTML Template"}.single .content .highlight>.chroma .code-header.language-go-text-template .code-title::after{content:"Go Text Template"}.single .content .highlight>.chroma .code-header.language-graphql .code-title::after{content:"GraphQL"}.single .content .highlight>.chroma .code-header.language-graphqls .code-title::after{content:"GraphQL"}.single .content .highlight>.chroma .code-header.language-gql .code-title::after{content:"GraphQL"}.single .content .highlight>.chroma .code-header.language-groff .code-title::after{content:"Groff"}.single .content .highlight>.chroma .code-header.language-nroff .code-title::after{content:"Groff"}.single .content .highlight>.chroma .code-header.language-man .code-title::after{content:"Groff"}.single .content .highlight>.chroma .code-header.language-groovy .code-title::after{content:"Groovy"}.single .content .highlight>.chroma .code-header.language-handlebars .code-title::after{content:"Handlebars"}.single .content .highlight>.chroma .code-header.language-hbs .code-title::after{content:"Handlebars"}.single .content .highlight>.chroma .code-header.language-haskell .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-hs .code-title::after{content:"Haskell"}.single .content .highlight>.chroma .code-header.language-hx .code-title::after{content:"Haxe"}.single .content .highlight>.chroma .code-header.language-haxe .code-title::after{content:"Haxe"}.single .content .highlight>.chroma .code-header.language-hxsl .code-title::after{content:"Haxe"}.single .content .highlight>.chroma .code-header.language-hcl .code-title::after{content:"HCL"}.single .content .highlight>.chroma .code-header.language-hexdump .code-title::after{content:"Hexdump"}.single .content .highlight>.chroma .code-header.language-hlb .code-title::after{content:"HLB"}.single .content .highlight>.chroma .code-header.language-html .code-title::after{content:"HTML"}.single .content .highlight>.chroma .code-header.language-http .code-title::after{content:"HTTP"}.single .content .highlight>.chroma .code-header.language-hylang .code-title::after{content:"Hy"}.single .content .highlight>.chroma .code-header.language-idris .code-title::after{content:"Idris"}.single .content .highlight>.chroma .code-header.language-idr .code-title::after{content:"Idris"}.single .content .highlight>.chroma .code-header.language-igor .code-title::after{content:"Igor"}.single .content .highlight>.chroma .code-header.language-igorpro .code-title::after{content:"Igor"}.single .content .highlight>.chroma .code-header.language-ini .code-title::after{content:"INI"}.single .content .highlight>.chroma .code-header.language-cfg .code-title::after{content:"INI"}.single .content .highlight>.chroma .code-header.language-dosini .code-title::after{content:"INI"}.single .content .highlight>.chroma .code-header.language-io .code-title::after{content:"Io"}.single .content .highlight>.chroma .code-header.language-j .code-title::after{content:"J"}.single .content .highlight>.chroma .code-header.language-java .code-title::after{content:"Java"}.single .content .highlight>.chroma .code-header.language-js .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-javascript .code-title::after{content:"JavaScript"}.single .content .highlight>.chroma .code-header.language-json .code-title::after{content:"JSON"}.single .content .highlight>.chroma .code-header.language-julia .code-title::after{content:"Julia"}.single .content .highlight>.chroma .code-header.language-jl .code-title::after{content:"Julia"}.single .content .highlight>.chroma .code-header.language-jungle .code-title::after{content:"Jungle"}.single .content .highlight>.chroma .code-header.language-kotlin .code-title::after{content:"Kotlin"}.single .content .highlight>.chroma .code-header.language-lighty .code-title::after{content:"Lighttpd configuration file"}.single .content .highlight>.chroma .code-header.language-lighttpd .code-title::after{content:"Lighttpd configuration file"}.single .content .highlight>.chroma .code-header.language-llvm .code-title::after{content:"LLVM"}.single .content .highlight>.chroma .code-header.language-lua .code-title::after{content:"Lua"}.single .content .highlight>.chroma .code-header.language-mako .code-title::after{content:"Mako"}.single .content .highlight>.chroma .code-header.language-md .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-mkd .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-mason .code-title::after{content:"Mason"}.single .content .highlight>.chroma .code-header.language-mathematica .code-title::after{content:"Mathematica"}.single .content .highlight>.chroma .code-header.language-mma .code-title::after{content:"Mathematica"}.single .content .highlight>.chroma .code-header.language-nb .code-title::after{content:"Mathematica"}.single .content .highlight>.chroma .code-header.language-matlab .code-title::after{content:"Matlab"}.single .content .highlight>.chroma .code-header.language-mcfunction .code-title::after{content:"mcfunction"}.single .content .highlight>.chroma .code-header.language-meson .code-title::after{content:"Meson"}.single .content .highlight>.chroma .code-header.language-meson\.build .code-title::after{content:"Meson"}.single .content .highlight>.chroma .code-header.language-metal .code-title::after{content:"Metal"}.single .content .highlight>.chroma .code-header.language-minizinc .code-title::after{content:"MiniZinc"}.single .content .highlight>.chroma .code-header.language-MZN .code-title::after{content:"MiniZinc"}.single .content .highlight>.chroma .code-header.language-mzn .code-title::after{content:"MiniZinc"}.single .content .highlight>.chroma .code-header.language-mlir .code-title::after{content:"MLIR"}.single .content .highlight>.chroma .code-header.language-modula2 .code-title::after{content:"Modula-2"}.single .content .highlight>.chroma .code-header.language-m2 .code-title::after{content:"Modula-2"}.single .content .highlight>.chroma .code-header.language-monkeyc .code-title::after{content:"MonkeyC"}.single .content .highlight>.chroma .code-header.language-morrowind .code-title::after{content:"MorrowindScript"}.single .content .highlight>.chroma .code-header.language-mwscript .code-title::after{content:"MorrowindScript"}.single .content .highlight>.chroma .code-header.language-myghty .code-title::after{content:"Myghty"}.single .content .highlight>.chroma .code-header.language-mysql .code-title::after{content:"MySQL"}.single .content .highlight>.chroma .code-header.language-mariadb .code-title::after{content:"MySQL"}.single .content .highlight>.chroma .code-header.language-nasm .code-title::after{content:"NASM"}.single .content .highlight>.chroma .code-header.language-newspeak .code-title::after{content:"Newspeak"}.single .content .highlight>.chroma .code-header.language-nginx .code-title::after{content:"Nginx configuration file"}.single .content .highlight>.chroma .code-header.language-nim .code-title::after{content:"Nim"}.single .content .highlight>.chroma .code-header.language-nimrod .code-title::after{content:"Nim"}.single .content .highlight>.chroma .code-header.language-nixos .code-title::after{content:"Nix"}.single .content .highlight>.chroma .code-header.language-nix .code-title::after{content:"Nix"}.single .content .highlight>.chroma .code-header.language-objective-c .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-objectivec .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-obj-c .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-objc .code-title::after{content:"Objective-C"}.single .content .highlight>.chroma .code-header.language-ocaml .code-title::after{content:"OCaml"}.single .content .highlight>.chroma .code-header.language-octave .code-title::after{content:"Octave"}.single .content .highlight>.chroma .code-header.language-ones .code-title::after{content:"OnesEnterprise"}.single .content .highlight>.chroma .code-header.language-onesenterprise .code-title::after{content:"OnesEnterprise"}.single .content .highlight>.chroma .code-header.language-1S .code-title::after{content:"OnesEnterprise"}.single .content .highlight>.chroma .code-header.language-1S:Enterprise .code-title::after{content:"OnesEnterprise"}.single .content .highlight>.chroma .code-header.language-openedge .code-title::after{content:"OpenEdge ABL"}.single .content .highlight>.chroma .code-header.language-abl .code-title::after{content:"OpenEdge ABL"}.single .content .highlight>.chroma .code-header.language-progress .code-title::after{content:"OpenEdge ABL"}.single .content .highlight>.chroma .code-header.language-openedgeabl .code-title::after{content:"OpenEdge ABL"}.single .content .highlight>.chroma .code-header.language-openscad .code-title::after{content:"OpenSCAD"}.single .content .highlight>.chroma .code-header.language-org .code-title::after{content:"Org Mode"}.single .content .highlight>.chroma .code-header.language-orgmode .code-title::after{content:"Org Mode"}.single .content .highlight>.chroma .code-header.language-pacmanconf .code-title::after{content:"PacmanConf"}.single .content .highlight>.chroma .code-header.language-perl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-pl .code-title::after{content:"Perl"}.single .content .highlight>.chroma .code-header.language-php .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-php3 .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-php4 .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-php5 .code-title::after{content:"PHP"}.single .content .highlight>.chroma .code-header.language-phtml .code-title::after{content:"PHTML"}.single .content .highlight>.chroma .code-header.language-pig .code-title::after{content:"Pig"}.single .content .highlight>.chroma .code-header.language-pkgconfig .code-title::after{content:"PkgConfig"}.single .content .highlight>.chroma .code-header.language-plpgsql .code-title::after{content:"PL/pgSQL"}.single .content .highlight>.chroma .code-header.language-text .code-title::after{content:"plaintext"}.single .content .highlight>.chroma .code-header.language-plain .code-title::after{content:"plaintext"}.single .content .highlight>.chroma .code-header.language-no-highlight .code-title::after{content:"plaintext"}.single .content .highlight>.chroma .code-header.language-plutus-core .code-title::after{content:"Plutus Core"}.single .content .highlight>.chroma .code-header.language-plc .code-title::after{content:"Plutus Core"}.single .content .highlight>.chroma .code-header.language-pony .code-title::after{content:"Pony"}.single .content .highlight>.chroma .code-header.language-postgresql .code-title::after{content:"PostgreSQL SQL dialect"}.single .content .highlight>.chroma .code-header.language-postgres .code-title::after{content:"PostgreSQL SQL dialect"}.single .content .highlight>.chroma .code-header.language-postscript .code-title::after{content:"PostScript"}.single .content .highlight>.chroma .code-header.language-postscr .code-title::after{content:"PostScript"}.single .content .highlight>.chroma .code-header.language-pov .code-title::after{content:"POVRay"}.single .content .highlight>.chroma .code-header.language-powerquery .code-title::after{content:"PowerQuery"}.single .content .highlight>.chroma .code-header.language-pq .code-title::after{content:"PowerQuery"}.single .content .highlight>.chroma .code-header.language-powershell .code-title::after{content:"PowerShell"}.single .content .highlight>.chroma .code-header.language-posh .code-title::after{content:"PowerShell"}.single .content .highlight>.chroma .code-header.language-ps1 .code-title::after{content:"PowerShell"}.single .content .highlight>.chroma .code-header.language-psm1 .code-title::after{content:"PowerShell"}.single .content .highlight>.chroma .code-header.language-psd1 .code-title::after{content:"PowerShell"}.single .content .highlight>.chroma .code-header.language-prolog .code-title::after{content:"Prolog"}.single .content .highlight>.chroma .code-header.language-promql .code-title::after{content:"PromQL"}.single .content .highlight>.chroma .code-header.language-protobuf .code-title::after{content:"Protocol Buffer"}.single .content .highlight>.chroma .code-header.language-proto .code-title::after{content:"Protocol Buffer"}.single .content .highlight>.chroma .code-header.language-puppet .code-title::after{content:"Puppet"}.single .content .highlight>.chroma .code-header.language-python .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-py .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-sage .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-python3 .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-py3 .code-title::after{content:"Python"}.single .content .highlight>.chroma .code-header.language-python2 .code-title::after{content:"Python 2"}.single .content .highlight>.chroma .code-header.language-py2 .code-title::after{content:"Python 2"}.single .content .highlight>.chroma .code-header.language-qbasic .code-title::after{content:"QBasic"}.single .content .highlight>.chroma .code-header.language-basic .code-title::after{content:"QBasic"}.single .content .highlight>.chroma .code-header.language-qml .code-title::after{content:"QML"}.single .content .highlight>.chroma .code-header.language-qbs .code-title::after{content:"QML"}.single .content .highlight>.chroma .code-header.language-splus .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-s .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-r .code-title::after{content:"R"}.single .content .highlight>.chroma .code-header.language-racket .code-title::after{content:"Racket"}.single .content .highlight>.chroma .code-header.language-rkt .code-title::after{content:"Racket"}.single .content .highlight>.chroma .code-header.language-ragel .code-title::after{content:"Ragel"}.single .content .highlight>.chroma .code-header.language-perl6 .code-title::after{content:"Raku"}.single .content .highlight>.chroma .code-header.language-pl6 .code-title::after{content:"Raku"}.single .content .highlight>.chroma .code-header.language-raku .code-title::after{content:"Raku"}.single .content .highlight>.chroma .code-header.language-jsx .code-title::after{content:"react"}.single .content .highlight>.chroma .code-header.language-react .code-title::after{content:"react"}.single .content .highlight>.chroma .code-header.language-reason .code-title::after{content:"ReasonML"}.single .content .highlight>.chroma .code-header.language-reasonml .code-title::after{content:"ReasonML"}.single .content .highlight>.chroma .code-header.language-registry .code-title::after{content:"reg"}.single .content .highlight>.chroma .code-header.language-rst .code-title::after{content:"reStructuredText"}.single .content .highlight>.chroma .code-header.language-rest .code-title::after{content:"reStructuredText"}.single .content .highlight>.chroma .code-header.language-restructuredtext .code-title::after{content:"reStructuredText"}.single .content .highlight>.chroma .code-header.language-rexx .code-title::after{content:"Rexx"}.single .content .highlight>.chroma .code-header.language-arexx .code-title::after{content:"Rexx"}.single .content .highlight>.chroma .code-header.language-rb .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-ruby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-duby .code-title::after{content:"Ruby"}.single .content .highlight>.chroma .code-header.language-rust .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-rs .code-title::after{content:"Rust"}.single .content .highlight>.chroma .code-header.language-sas .code-title::after{content:"SAS"}.single .content .highlight>.chroma .code-header.language-sass .code-title::after{content:"Sass"}.single .content .highlight>.chroma .code-header.language-scala .code-title::after{content:"Scala"}.single .content .highlight>.chroma .code-header.language-scheme .code-title::after{content:"Scheme"}.single .content .highlight>.chroma .code-header.language-scm .code-title::after{content:"Scheme"}.single .content .highlight>.chroma .code-header.language-scilab .code-title::after{content:"Scilab"}.single .content .highlight>.chroma .code-header.language-scss .code-title::after{content:"SCSS"}.single .content .highlight>.chroma .code-header.language-sieve .code-title::after{content:"Sieve"}.single .content .highlight>.chroma .code-header.language-smalltalk .code-title::after{content:"Smalltalk"}.single .content .highlight>.chroma .code-header.language-squeak .code-title::after{content:"Smalltalk"}.single .content .highlight>.chroma .code-header.language-st .code-title::after{content:"Smalltalk"}.single .content .highlight>.chroma .code-header.language-smarty .code-title::after{content:"Smarty"}.single .content .highlight>.chroma .code-header.language-snobol .code-title::after{content:"Snobol"}.single .content .highlight>.chroma .code-header.language-sol .code-title::after{content:"Solidity"}.single .content .highlight>.chroma .code-header.language-solidity .code-title::after{content:"Solidity"}.single .content .highlight>.chroma .code-header.language-sparql .code-title::after{content:"SPARQL"}.single .content .highlight>.chroma .code-header.language-sql .code-title::after{content:"SQL"}.single .content .highlight>.chroma .code-header.language-squidconf .code-title::after{content:"SquidConf"}.single .content .highlight>.chroma .code-header.language-squid\.conf .code-title::after{content:"SquidConf"}.single .content .highlight>.chroma .code-header.language-squid .code-title::after{content:"SquidConf"}.single .content .highlight>.chroma .code-header.language-sml .code-title::after{content:"Standard ML"}.single .content .highlight>.chroma .code-header.language-stylus .code-title::after{content:"Stylus"}.single .content .highlight>.chroma .code-header.language-svelte .code-title::after{content:"Svelte"}.single .content .highlight>.chroma .code-header.language-swift .code-title::after{content:"Swift"}.single .content .highlight>.chroma .code-header.language-systemd .code-title::after{content:"SYSTEMD"}.single .content .highlight>.chroma .code-header.language-systemverilog .code-title::after{content:"systemverilog"}.single .content .highlight>.chroma .code-header.language-sv .code-title::after{content:"systemverilog"}.single .content .highlight>.chroma .code-header.language-tablegen .code-title::after{content:"TableGen"}.single .content .highlight>.chroma .code-header.language-tasm .code-title::after{content:"TASM"}.single .content .highlight>.chroma .code-header.language-tcl .code-title::after{content:"Tcl"}.single .content .highlight>.chroma .code-header.language-tcsh .code-title::after{content:"Tcsh"}.single .content .highlight>.chroma .code-header.language-csh .code-title::after{content:"Tcsh"}.single .content .highlight>.chroma .code-header.language-termcap .code-title::after{content:"Termcap"}.single .content .highlight>.chroma .code-header.language-terminfo .code-title::after{content:"Terminfo"}.single .content .highlight>.chroma .code-header.language-terraform .code-title::after{content:"Terraform"}.single .content .highlight>.chroma .code-header.language-tf .code-title::after{content:"Terraform"}.single .content .highlight>.chroma .code-header.language-tex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-latex .code-title::after{content:"TeX"}.single .content .highlight>.chroma .code-header.language-thrift .code-title::after{content:"Thrift"}.single .content .highlight>.chroma .code-header.language-toml .code-title::after{content:"TOML"}.single .content .highlight>.chroma .code-header.language-tradingview .code-title::after{content:"TradingView"}.single .content .highlight>.chroma .code-header.language-tv .code-title::after{content:"TradingView"}.single .content .highlight>.chroma .code-header.language-tsql .code-title::after{content:"Transact-SQL"}.single .content .highlight>.chroma .code-header.language-t-sql .code-title::after{content:"Transact-SQL"}.single .content .highlight>.chroma .code-header.language-turing .code-title::after{content:"Turing"}.single .content .highlight>.chroma .code-header.language-turtle .code-title::after{content:"Turtle"}.single .content .highlight>.chroma .code-header.language-twig .code-title::after{content:"Twig"}.single .content .highlight>.chroma .code-header.language-ts .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-tsx .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typescript .code-title::after{content:"TypeScript"}.single .content .highlight>.chroma .code-header.language-typoscript .code-title::after{content:"TypoScript"}.single .content .highlight>.chroma .code-header.language-typoscriptcssdata .code-title::after{content:"TypoScriptCssData"}.single .content .highlight>.chroma .code-header.language-typoscripthtmldata .code-title::after{content:"TypoScriptHtmlData"}.single .content .highlight>.chroma .code-header.language-v .code-title::after{content:"verilog"}.single .content .highlight>.chroma .code-header.language-vlang .code-title::after{content:"V"}.single .content .highlight>.chroma .code-header.language-vsh .code-title::after{content:"V shell"}.single .content .highlight>.chroma .code-header.language-vshell .code-title::after{content:"V shell"}.single .content .highlight>.chroma .code-header.language-vb\.net .code-title::after{content:"VB.net"}.single .content .highlight>.chroma .code-header.language-vbnet .code-title::after{content:"VB.net"}.single .content .highlight>.chroma .code-header.language-verilog .code-title::after{content:"verilog"}.single .content .highlight>.chroma .code-header.language-vhdl .code-title::after{content:"VHDL"}.single .content .highlight>.chroma .code-header.language-vim .code-title::after{content:"VimL"}.single .content .highlight>.chroma .code-header.language-vue .code-title::after{content:"vue"}.single .content .highlight>.chroma .code-header.language-vuejs .code-title::after{content:"vue"}.single .content .highlight>.chroma .code-header.language-whiley .code-title::after{content:"Whiley"}.single .content .highlight>.chroma .code-header.language-xml .code-title::after{content:"XML"}.single .content .highlight>.chroma .code-header.language-xorg\.conf .code-title::after{content:"Xorg"}.single .content .highlight>.chroma .code-header.language-yaml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .code-header.language-yang .code-title::after{content:"YANG"}.single .content .highlight>.chroma .code-header.language-zed .code-title::after{content:"Zed"}.single .content .highlight>.chroma .code-header.language-zig .code-title::after{content:"Zig"}.single .content .highlight>.chroma .code-header.language-markdown .code-title::after{content:"Markdown"}.single .content .highlight>.chroma .code-header.language-yml .code-title::after{content:"YAML"}.single .content .highlight>.chroma .table-wrapper{overflow:hidden;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.single .content .highlight>.chroma table{border-spacing:0;width:auto;overflow:auto;display:block;background-color:#f6f8fa}[data-theme='dark'] .single .content .highlight>.chroma table{background-color:#2d333b}.single .content .highlight>.chroma table td{vertical-align:top;padding:0}.single .content .highlight>.chroma table pre{padding:0.25rem;outline-offset:-1px;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.single .content .highlight>.chroma table .ln{min-width:1.25rem}.single .content .highlight>.chroma table .lntd:first-child{min-width:1.6rem;text-align:right;position:sticky;left:0}.single .content .highlight>.chroma table .lntd:first-child pre{-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}.single .content .highlight>.chroma table .lntd:last-child{width:100%}.single .content .highlight>.chroma table .lntd:last-child pre{padding-left:0.5rem;padding-right:0.5rem}.single .content .highlight>.chroma table .lntd:last-child code{width:100%}.single .content .highlight>.chroma.open .code-header{--fi-bg-code-header: #e2e9ef;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}[data-theme='dark'] .single .content .highlight>.chroma.open .code-header{--fi-bg-code-header: #20242a}.single .content .highlight>.chroma.open .table-wrapper{max-height:100%;-webkit-transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s;-moz-transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s;-o-transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s;transition:max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s}.single .content .highlight>.chroma.open .arrow{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.single .content .highlight>.chroma.open .ellipses{display:none}.single .content .highlight>.chroma.open .edit,.single .content .highlight>.chroma.open .copy{display:inline}.single .content .highlight .hl{display:block;background-color:#fff8c5;box-shadow:-0.5rem 0 0 #fff8c5,0.5rem 0 0 #fff8c5}[data-theme='dark'] .single .content .highlight .hl{background-color:rgba(174,124,20,0.15);box-shadow:-0.5rem 0 0 rgba(174,124,20,0.15),0.5rem 0 0 rgba(174,124,20,0.15)}.single .content .highlight .gl{text-decoration:underline}.single .content .highlight .gs{font-weight:bold}.single .content .highlight .ge{font-style:italic}.single .content .highlight .ln{padding-right:0.5rem;display:inline-block;min-width:1.1rem;text-align:right}.single .content .highlight .lnt,.single .content .highlight .ln{color:#b1b1ba}[data-theme='dark'] .single .content .highlight .lnt,[data-theme='dark'] .single .content .highlight .ln{color:#909092}.single .content .highlight .err{font-style:italic;border-bottom:1px dotted #dc3545}.single .content .highlight .gd{background-color:#ffebe9}[data-theme='dark'] .single .content .highlight .gd{background-color:#78191b}.single .content .highlight .gi{background-color:#dafbe1}[data-theme='dark'] .single .content .highlight .gi{background-color:#1b4721}.single .content .highlight .err{color:#dc3545}.single .content .highlight .k{color:#cf222e}.single .content .highlight .kc{color:#0550ae}.single .content .highlight .kd{color:#cf222e}.single .content .highlight .kn{color:#cf222e}.single .content .highlight .kp{color:#cf222e}.single .content .highlight .kr{color:#cf222e}.single .content .highlight .kt{color:#cf222e}.single .content .highlight .n{color:#24292f}.single .content .highlight .na{color:#0550ae}.single .content .highlight .nb{color:#0550ae}.single .content .highlight .bp{color:#24292f}.single .content .highlight .nc{color:#8250df}.single .content .highlight .no{color:#cf222e}.single .content .highlight .nd{color:#8250df}.single .content .highlight .ni{color:#0550ae}.single .content .highlight .ne{color:#0550ae}.single .content .highlight .nf{color:#0550ae}.single .content .highlight .fm{color:#0550ae}.single .content .highlight .nl{color:#0550ae}.single .content .highlight .nn{color:#8250df}.single .content .highlight .nx{color:#0550ae}.single .content .highlight .py{color:#0550ae}.single .content .highlight .nt{color:#116329}.single .content .highlight .nv{color:#953800}.single .content .highlight .vc{color:#0550ae}.single .content .highlight .vg{color:#0550ae}.single .content .highlight .vi{color:#0550ae}.single .content .highlight .vm{color:#0550ae}.single .content .highlight .l{color:#0550ae}.single .content .highlight .ld{color:#0a3069}.single .content .highlight .s{color:#0a3069}.single .content .highlight .sa{color:#0a3069}.single .content .highlight .sb{color:#0a3069}.single .content .highlight .sc{color:#0a3069}.single .content .highlight .dl{color:#0a3069}.single .content .highlight .sd{color:#0a3069}.single .content .highlight .s2{color:#0a3069}.single .content .highlight .se{color:#0a3069}.single .content .highlight .sh{color:#0a3069}.single .content .highlight .si{color:#0a3069}.single .content .highlight .sx{color:#0a3069}.single .content .highlight .sr{color:#0a3069}.single .content .highlight .s1{color:#0a3069}.single .content .highlight .ss{color:#0a3069}.single .content .highlight .m{color:#0550ae}.single .content .highlight .mb{color:#0550ae}.single .content .highlight .mf{color:#0550ae}.single .content .highlight .mh{color:#0550ae}.single .content .highlight .mi{color:#0550ae}.single .content .highlight .il{color:#0550ae}.single .content .highlight .mo{color:#0550ae}.single .content .highlight .o{color:#cf222e}.single .content .highlight .ow{color:#cf222e}.single .content .highlight .p{color:#24292f}.single .content .highlight .c{color:#6e7781}.single .content .highlight .ch{color:#6e7781}.single .content .highlight .cm{color:#6e7781}.single .content .highlight .c1{color:#6e7781}.single .content .highlight .cs{color:#6e7781}.single .content .highlight .cp{color:#0550ae}.single .content .highlight .cpf{color:#6e7781}.single .content .highlight .g{color:#24292f}.single .content .highlight .gd{color:#82071e}.single .content .highlight .ge{color:#24292f}.single .content .highlight .gr{color:#dc3545}.single .content .highlight .gh{color:#24292f}.single .content .highlight .gi{color:#116329}.single .content .highlight .go{color:#24292f}.single .content .highlight .gp{color:#24292f}.single .content .highlight .gs{color:#24292f}.single .content .highlight .gu{color:#24292f}.single .content .highlight .gt{color:#dc3545}.single .content .highlight .gl{color:#24292f}.single .content .highlight .w{color:#24292f}.single .content .highlight .x{color:#24292f}[data-theme='dark'] .single .content .highlight .err{color:#dc3545}[data-theme='dark'] .single .content .highlight .k{color:#f47067}[data-theme='dark'] .single .content .highlight .kc{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .kd{color:#f47067}[data-theme='dark'] .single .content .highlight .kn{color:#f47067}[data-theme='dark'] .single .content .highlight .kp{color:#f47067}[data-theme='dark'] .single .content .highlight .kr{color:#f47067}[data-theme='dark'] .single .content .highlight .kt{color:#f47067}[data-theme='dark'] .single .content .highlight .n{color:#adbac7}[data-theme='dark'] .single .content .highlight .na{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .nb{color:#dcbdfb}[data-theme='dark'] .single .content .highlight .bp{color:#adbac7}[data-theme='dark'] .single .content .highlight .nc{color:#dcbdfb}[data-theme='dark'] .single .content .highlight .no{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .nd{color:#dcbdfb}[data-theme='dark'] .single .content .highlight .ni{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .ne{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .nf{color:#dcbdfb}[data-theme='dark'] .single .content .highlight .fm{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .nl{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .nn{color:#f47067}[data-theme='dark'] .single .content .highlight .nx{color:#dcbdfb}[data-theme='dark'] .single .content .highlight .py{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .nt{color:#8ddb8c}[data-theme='dark'] .single .content .highlight .nv{color:#f69d50}[data-theme='dark'] .single .content .highlight .vc{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .vg{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .vi{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .vm{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .l{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .ld{color:#96d0ff}[data-theme='dark'] .single .content .highlight .s{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sa{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sb{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sc{color:#96d0ff}[data-theme='dark'] .single .content .highlight .dl{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sd{color:#96d0ff}[data-theme='dark'] .single .content .highlight .s2{color:#96d0ff}[data-theme='dark'] .single .content .highlight .se{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sh{color:#96d0ff}[data-theme='dark'] .single .content .highlight .si{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sx{color:#96d0ff}[data-theme='dark'] .single .content .highlight .sr{color:#96d0ff}[data-theme='dark'] .single .content .highlight .s1{color:#96d0ff}[data-theme='dark'] .single .content .highlight .ss{color:#96d0ff}[data-theme='dark'] .single .content .highlight .m{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .mb{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .mf{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .mh{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .mi{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .il{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .mo{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .o{color:#f47067}[data-theme='dark'] .single .content .highlight .ow{color:#f47067}[data-theme='dark'] .single .content .highlight .p{color:#adbac7}[data-theme='dark'] .single .content .highlight .c{color:#768390}[data-theme='dark'] .single .content .highlight .ch{color:#768390}[data-theme='dark'] .single .content .highlight .cm{color:#768390}[data-theme='dark'] .single .content .highlight .c1{color:#768390}[data-theme='dark'] .single .content .highlight .cs{color:#768390}[data-theme='dark'] .single .content .highlight .cp{color:#6cb6ff}[data-theme='dark'] .single .content .highlight .cpf{color:#768390}[data-theme='dark'] .single .content .highlight .g{color:#adbac7}[data-theme='dark'] .single .content .highlight .gd{color:#ffd8d3}[data-theme='dark'] .single .content .highlight .ge{color:#adbac7}[data-theme='dark'] .single .content .highlight .gr{color:#dc3545}[data-theme='dark'] .single .content .highlight .gh{color:#adbac7}[data-theme='dark'] .single .content .highlight .gi{color:#b4f1b4}[data-theme='dark'] .single .content .highlight .go{color:#adbac7}[data-theme='dark'] .single .content .highlight .gp{color:#adbac7}[data-theme='dark'] .single .content .highlight .gs{color:#adbac7}[data-theme='dark'] .single .content .highlight .gu{color:#adbac7}[data-theme='dark'] .single .content .highlight .gt{color:#dc3545}[data-theme='dark'] .single .content .highlight .gl{color:#adbac7}[data-theme='dark'] .single .content .highlight .w{color:#adbac7}[data-theme='dark'] .single .content .highlight .x{color:#adbac7}.single .content .gist .gist-file,.single .content .gist .gist-data,.single .content .gist .gist-meta{border:none}.single .content .gist .gist-data{background-color:transparent}.single .content .gist .gist-meta{padding:0.4rem 0.8rem;background-color:#e6ebf1}.single .content .gist .gist-meta a,.single .content .gist .gist-meta a::before,.single .content .gist .gist-meta a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .content .gist .gist-meta a,[data-theme='dark'] .single .content .gist .gist-meta a::before,[data-theme='dark'] .single .content .gist .gist-meta a::after{color:#1781b5}.single .content .gist .gist-meta a:active,.single .content .gist .gist-meta a:hover{color:#ea517f}[data-theme='dark'] .single .content .gist .gist-meta a:active,[data-theme='dark'] .single .content .gist .gist-meta a:hover{color:#cc5595}[data-theme='dark'] .single .content .gist .gist-meta{background-color:#22262d}.single .content .gist .table-wrapper .highlight{background-color:#f6f8fa}[data-theme='dark'] .single .content .gist .table-wrapper .highlight{background-color:#2d333b}[data-theme='dark'] .single .content .gist{--fi-color-blob-num: #778491;--fi-color-blob-code-inner: #c5d1de;--fi-color-prettylights-syntax-comment: #768390;--fi-color-prettylights-syntax-constant: #6cb6ff;--fi-color-prettylights-syntax-constant-other-reference-link: #96d0ff;--fi-color-prettylights-syntax-entity: #dcbdfb;--fi-color-prettylights-syntax-storage-modifier-import: #adbac7;--fi-color-prettylights-syntax-entity-tag: #8ddb8c;--fi-color-prettylights-syntax-keyword: #f47067;--fi-color-prettylights-syntax-string: #96d0ff;--fi-color-prettylights-syntax-variable: #f69d50;--fi-color-prettylights-syntax-brackethighlighter-unmatched: #e5534b;--fi-color-prettylights-syntax-brackethighlighter-angle: #768390;--fi-color-prettylights-syntax-invalid-illegal-text: #cdd9e5;--fi-color-prettylights-syntax-invalid-illegal-bg: #922323;--fi-color-prettylights-syntax-carriage-return-text: #cdd9e5;--fi-color-prettylights-syntax-carriage-return-bg: #ad2e2c;--fi-color-prettylights-syntax-string-regexp: #8ddb8c;--fi-color-prettylights-syntax-markup-list: #eac55f;--fi-color-prettylights-syntax-markup-heading: #316dca;--fi-color-prettylights-syntax-markup-italic: #adbac7;--fi-color-prettylights-syntax-markup-bold: #adbac7;--fi-color-prettylights-syntax-markup-deleted-text: #ffd8d3;--fi-color-prettylights-syntax-markup-deleted-bg: #78191b;--fi-color-prettylights-syntax-markup-inserted-text: #b4f1b4;--fi-color-prettylights-syntax-markup-inserted-bg: #1b4721;--fi-color-prettylights-syntax-markup-changed-text: #ffddb0;--fi-color-prettylights-syntax-markup-changed-bg: #682d0f;--fi-color-prettylights-syntax-markup-ignored-text: #adbac7;--fi-color-prettylights-syntax-markup-ignored-bg: #255ab2;--fi-color-prettylights-syntax-meta-diff-range: #dcbdfb;--fi-color-prettylights-syntax-sublimelinter-gutter-mark: #545d68}[data-theme='dark'] .single .content .gist .blob-num{color:var(--fi-color-blob-num)}[data-theme='dark'] .single .content .gist .blob-code-inner{color:var(--fi-color-blob-code-inner)}[data-theme='dark'] .single .content .gist .pl-c{color:var(--fi-color-prettylights-syntax-comment)}[data-theme='dark'] .single .content .gist .pl-c1,[data-theme='dark'] .single .content .gist .pl-s .pl-v{color:var(--fi-color-prettylights-syntax-constant)}[data-theme='dark'] .single .content .gist .pl-e,[data-theme='dark'] .single .content .gist .pl-en{color:var(--fi-color-prettylights-syntax-entity)}[data-theme='dark'] .single .content .gist .pl-smi,[data-theme='dark'] .single .content .gist .pl-s .pl-s1{color:var(--fi-color-prettylights-syntax-storage-modifier-import)}[data-theme='dark'] .single .content .gist .pl-ent{color:var(--fi-color-prettylights-syntax-entity-tag)}[data-theme='dark'] .single .content .gist .pl-k{color:var(--fi-color-prettylights-syntax-keyword)}[data-theme='dark'] .single .content .gist .pl-s,[data-theme='dark'] .single .content .gist .pl-pds,[data-theme='dark'] .single .content .gist .pl-s .pl-pse .pl-s1,[data-theme='dark'] .single .content .gist .pl-sr,[data-theme='dark'] .single .content .gist .pl-sr .pl-cce,[data-theme='dark'] .single .content .gist .pl-sr .pl-sre,[data-theme='dark'] .single .content .gist .pl-sr .pl-sra{color:var(--fi-color-prettylights-syntax-string)}[data-theme='dark'] .single .content .gist .pl-v,[data-theme='dark'] .single .content .gist .pl-smw{color:var(--fi-color-prettylights-syntax-variable)}[data-theme='dark'] .single .content .gist .pl-bu{color:var(--fi-color-prettylights-syntax-brackethighlighter-unmatched)}[data-theme='dark'] .single .content .gist .pl-ii{color:var(--fi-color-prettylights-syntax-invalid-illegal-text);background-color:var(--fi-color-prettylights-syntax-invalid-illegal-bg)}[data-theme='dark'] .single .content .gist .pl-c2{color:var(--fi-color-prettylights-syntax-carriage-return-text);background-color:var(--fi-color-prettylights-syntax-carriage-return-bg)}[data-theme='dark'] .single .content .gist .pl-c2::before{content:'^M'}[data-theme='dark'] .single .content .gist .pl-sr .pl-cce{font-weight:bold;color:var(--fi-color-prettylights-syntax-string-regexp)}[data-theme='dark'] .single .content .gist .pl-ml{color:var(--fi-color-prettylights-syntax-markup-list)}[data-theme='dark'] .single .content .gist .pl-mh,[data-theme='dark'] .single .content .gist .pl-mh .pl-en,[data-theme='dark'] .single .content .gist .pl-ms{font-weight:bold;color:var(--fi-color-prettylights-syntax-markup-heading)}[data-theme='dark'] .single .content .gist .pl-mi{font-style:italic;color:var(--fi-color-prettylights-syntax-markup-italic)}[data-theme='dark'] .single .content .gist .pl-mb{font-weight:bold;color:var(--fi-color-prettylights-syntax-markup-bold)}[data-theme='dark'] .single .content .gist .pl-md{color:var(--fi-color-prettylights-syntax-markup-deleted-text);background-color:var(--fi-color-prettylights-syntax-markup-deleted-bg)}[data-theme='dark'] .single .content .gist .pl-mi1{color:var(--fi-color-prettylights-syntax-markup-inserted-text);background-color:var(--fi-color-prettylights-syntax-markup-inserted-bg)}[data-theme='dark'] .single .content .gist .pl-mc{color:var(--fi-color-prettylights-syntax-markup-changed-text);background-color:var(--fi-color-prettylights-syntax-markup-changed-bg)}[data-theme='dark'] .single .content .gist .pl-mi2{color:var(--fi-color-prettylights-syntax-markup-ignored-text);background-color:var(--fi-color-prettylights-syntax-markup-ignored-bg)}[data-theme='dark'] .single .content .gist .pl-mdr{font-weight:bold;color:var(--fi-color-prettylights-syntax-meta-diff-range)}[data-theme='dark'] .single .content .gist .pl-ba{color:var(--fi-color-prettylights-syntax-brackethighlighter-angle)}[data-theme='dark'] .single .content .gist .pl-sg{color:var(--fi-color-prettylights-syntax-sublimelinter-gutter-mark)}[data-theme='dark'] .single .content .gist .pl-corl{text-decoration:underline;color:var(--fi-color-prettylights-syntax-constant-other-reference-link)}.single .content .admonition{position:relative;margin:1rem 0;padding:0 0.75rem;border-left:.25rem solid;overflow:hidden;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;background-color:var(--fi-admonition-bg-color);border-left-color:var(--fi-admonition-color);--fi-admonition-color: #448aff;--fi-admonition-bg-color: rgba(68,138,255,0.1);--fi-admonition-bg-color-collapsed: rgba(68,138,255,0.25)}.single .content .admonition .admonition-title{font-weight:bold;margin:0 -0.75rem;padding:0.25rem 1.8rem;border-bottom:1px solid;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.single .content .admonition .admonition-content{padding:0.5rem 0}.single .content .admonition .admonition-content>p{margin:0}.single .content .admonition .admonition-content:empty{display:none}.single .content .admonition .admonition-content:has(>p:only-child:empty){display:none}.single .content .admonition i.icon{font-size:0.85rem;position:absolute;top:0.6rem;left:0.4rem}.single .content .admonition i.details-icon{position:absolute;top:0.6rem;right:0.3rem}.single .content .admonition>.admonition-title{border-bottom-color:var(--fi-admonition-bg-color);background-color:var(--fi-admonition-bg-color-collapsed)}.single .content .admonition>.admonition-title i.icon{color:var(--fi-admonition-color)}.single .content .admonition.open>.admonition-title{background-color:var(--fi-admonition-bg-color)}.single .content .admonition.abstract{--fi-admonition-color: #00b0ff;--fi-admonition-bg-color: rgba(0,176,255,0.1);--fi-admonition-bg-color-collapsed: rgba(0,176,255,0.25)}.single .content .admonition.info{--fi-admonition-color: #00b8d4;--fi-admonition-bg-color: rgba(0,184,212,0.1);--fi-admonition-bg-color-collapsed: rgba(0,184,212,0.25)}.single .content .admonition.todo{--fi-admonition-color: #5e9aff;--fi-admonition-bg-color: rgba(94,154,255,0.1);--fi-admonition-bg-color-collapsed: rgba(94,154,255,0.25)}.single .content .admonition.tip{--fi-admonition-color: #00bfa5;--fi-admonition-bg-color: rgba(0,191,165,0.1);--fi-admonition-bg-color-collapsed: rgba(0,191,165,0.25)}.single .content .admonition.success{--fi-admonition-color: #00c853;--fi-admonition-bg-color: rgba(0,200,83,0.1);--fi-admonition-bg-color-collapsed: rgba(0,200,83,0.25)}.single .content .admonition.question{--fi-admonition-color: #ffbd67;--fi-admonition-bg-color: rgba(255,190,0,0.1);--fi-admonition-bg-color-collapsed: rgba(255,190,0,0.25)}.single .content .admonition.warning{--fi-admonition-color: #ff9100;--fi-admonition-bg-color: rgba(255,145,0,0.1);--fi-admonition-bg-color-collapsed: rgba(255,145,0,0.25)}.single .content .admonition.failure{--fi-admonition-color: #ff5252;--fi-admonition-bg-color: rgba(255,82,82,0.1);--fi-admonition-bg-color-collapsed: rgba(255,82,82,0.25)}.single .content .admonition.danger{--fi-admonition-color: #ff1744;--fi-admonition-bg-color: rgba(255,23,68,0.1);--fi-admonition-bg-color-collapsed: rgba(255,23,68,0.25)}.single .content .admonition.bug{--fi-admonition-color: #f50057;--fi-admonition-bg-color: rgba(245,0,87,0.1);--fi-admonition-bg-color-collapsed: rgba(245,0,87,0.25)}.single .content .admonition.example{--fi-admonition-color: #651fff;--fi-admonition-bg-color: rgba(101,31,255,0.1);--fi-admonition-bg-color-collapsed: rgba(101,31,255,0.25)}.single .content .admonition.quote{--fi-admonition-color: #9e9e9e;--fi-admonition-bg-color: rgba(159,159,159,0.1);--fi-admonition-bg-color-collapsed: rgba(159,159,159,0.25)}.single .content .admonition:last-child{margin-bottom:0.75rem}.single .content .bilibili{position:relative;width:100%;height:auto;aspect-ratio:16 / 9;margin:1rem auto;text-align:center}.single .content .bilibili iframe{position:absolute;width:100%;height:100%;left:0;top:0}.single .content .douyin{position:relative;width:100%;height:0;padding-bottom:60.725%;margin:1rem auto;text-align:center}.single .content .douyin iframe{position:absolute;width:100%;height:100%;left:0;top:0}@media only screen and (max-width: 680px){.single .content .douyin{width:92%;margin-inline:4%;padding-bottom:190%}}.single .content .card-link{position:relative;display:block;margin:0.5rem auto;box-sizing:border-box;width:clamp(50%, 400px, 100%);max-width:100%;overflow:hidden;text-decoration:none;border:none;-webkit-border-radius:.75rem;-moz-border-radius:.75rem;border-radius:.75rem}.single .content .cl-backdrop{position:absolute;top:0.75rem;bottom:0.75rem;left:0;right:0;background-image:var(--cl-bg-url);background-repeat:no-repeat;filter:blur(0.5rem);opacity:0.5;background-size:contain;background-position:center}.single .content .cl-content{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0.75rem;background-color:rgba(245,245,245,0.88)}.single .content .cl-text{overflow:hidden}.single .content .cl-title{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;max-height:calc(1rem * 1.25 * 2);font-size:1rem;font-weight:500;line-height:1.25;color:#161209}.single .content .cl-meta{display:flex;align-items:center;margin-top:0.25rem;font-size:0.825rem;color:#b1b1ba}.single .content .cl-icon-link{width:1rem;height:1rem;flex-shrink:0;margin-right:0.25rem}.single .content .cl-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.single .content .cl-shortcut-icon{width:4rem;height:4rem;flex-shrink:0;margin-left:0.25rem}.single .content .cl-shortcut-icon:is(i){text-align:center;font-size:3rem;display:inline-flex;align-items:center;justify-content:center}.single .content .cl-shortcut-image{width:4rem;height:4rem !important;flex-shrink:0;margin-left:0.25rem;object-fit:cover;border-radius:50%}[data-theme='dark'] .single .content .cl-content{background-color:rgba(61,62,65,0.88)}[data-theme='dark'] .single .content .cl-title{color:#b1b1ba}[data-theme='dark'] .single .content .cl-meta{color:#909092}.single .content blockquote.blockquote-center{border-left:none;margin:40px 0;padding:0;position:relative;text-align:center;color:inherit}.single .content blockquote.blockquote-center::after,.single .content blockquote.blockquote-center::before{left:0;line-height:1;opacity:0.6;position:absolute;width:100%}.single .content blockquote.blockquote-center::before{border-top:1px solid #f0f0f0;text-align:left;top:-20px;content:'\f10d';font-family:'Font Awesome 5 Free';font-weight:900}[data-theme='dark'] .single .content blockquote.blockquote-center::before{border-top-color:#363636}.single .content blockquote.blockquote-center::after{border-bottom:1px solid #f0f0f0;bottom:-20px;text-align:right;content:'\f10e';font-family:'Font Awesome 5 Free';font-weight:900}[data-theme='dark'] .single .content blockquote.blockquote-center::after{border-bottom-color:#363636}.single .content .echarts{margin:0.5rem 0;text-align:center}[data-theme='dark'] .single .content iframe.instagram-media{border:none !important}.single .content .mapbox{margin:0.5rem 0;padding:0.5rem 0;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.single .content .mermaid[data-processed='true']{text-align:center}.single .content .mermaid svg{max-width:100%;height:auto}.single .content .fi-timeline{list-style:none;box-sizing:border-box;overflow:auto;margin:1rem auto;--timeline-color: #e3e3e3;--timeline-circle-color: #FF735A;--timeline-circle-size: 10px;--timeline-width: 2px}.single .content .fi-timeline[data-animation] .fi-timeline-item::before{border-color:var(--timeline-color);animation-name:border-color-fade;animation-duration:2s;animation-iteration-count:infinite;animation-delay:calc(var(--timeline-index) * 0.3s)}@keyframes border-color-fade{0%{border-color:var(--timeline-color)}50%{border-color:var(--timeline-circle-color)}100%{border-color:var(--timeline-color)}}.single .content .fi-timeline .fi-timeline-item{position:relative;padding:0.5rem 1.75rem}.single .content .fi-timeline .fi-timeline-item[data-type='primary']{--timeline-circle-color: var(--fi-primary)}.single .content .fi-timeline .fi-timeline-item[data-type='secondary']{--timeline-circle-color: var(--fi-secondary)}.single .content .fi-timeline .fi-timeline-item[data-type='success']{--timeline-circle-color: var(--fi-success)}.single .content .fi-timeline .fi-timeline-item[data-type='info']{--timeline-circle-color: var(--fi-info)}.single .content .fi-timeline .fi-timeline-item[data-type='warning']{--timeline-circle-color: var(--fi-warning)}.single .content .fi-timeline .fi-timeline-item[data-type='danger']{--timeline-circle-color: var(--fi-danger)}.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__timestamp{font-size:0.8125rem;line-height:1;color:var(--fi-secondary)}.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__timestamp.is-top{margin-bottom:0.25rem;padding-top:0.34375rem}.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__timestamp.is-bottom{margin-top:0.25rem}.single .content .fi-timeline .fi-timeline-item .fi-timeline-item__content{font-size:0.875rem}.single .content .fi-timeline .fi-timeline-item[data-node='dot']::before{background-color:var(--timeline-circle-color) !important}.single .content .fi-timeline .fi-timeline-item[data-size='small']::before{transform:scale(0.8) translateY(-50%)}.single .content .fi-timeline .fi-timeline-item[data-size='large']::before{transform:scale(1.2) translateY(-50%)}.single .content .fi-timeline .fi-timeline-item::before{content:'';position:absolute;top:1.25rem;transform:translateY(-50%);left:0;width:var(--timeline-circle-size);height:var(--timeline-circle-size);font-size:var(--timeline-circle-size);line-height:var(--timeline-circle-size);text-align:center;border-radius:50%;border-width:var(--timeline-width);border-style:solid;border-color:var(--timeline-circle-color);background-color:#fff;color:transparent;z-index:1}[data-theme='dark'] .single .content .fi-timeline .fi-timeline-item::before{background-color:#292a2e}.single .content .fi-timeline .fi-timeline-item::after{content:'';position:absolute;top:0;left:calc(var(--timeline-circle-size) / 2 + var(--timeline-width) / 2);width:var(--timeline-width);height:100%;background-color:var(--timeline-color)}[data-theme='dark'] .single .content .fi-timeline .fi-timeline-item{--timeline-color: #717171}.single .post-reward{padding:1rem;text-align:center}.single .post-reward:has(.reward-ways:empty){display:none}.single .post-reward .comment{margin:0.5rem 0;font-weight:500}.single .post-reward .reward-ways{display:none}.single .post-reward .reward-input:checked~.reward-ways{display:block;padding-top:20px}.single .post-reward .reward-input:checked~.reward-ways div{display:inline-block;-webkit-user-select:none !important;-moz-user-select:none !important;user-select:none !important}.single .post-reward .reward-input:checked~.reward-ways div span{display:block}.single .post-reward .reward-input:checked~.reward-ways div:hover span[data-animation]{animation:var(--animation-reward, jackInTheBox) 0.8s infinite linear;pointer-events:none}.single .post-reward .reward-input:checked~.reward-ways div img{display:inline-block;margin:0.8em 2em 0;max-width:100%;width:180px}.single .post-reward .reward-input:checked~.reward-ways[data-mode='fixed']{position:fixed;top:50%;left:50%;transform:translate(-50%, -50%);padding:1rem;background-color:#fff;z-index:200;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.2);box-shadow:0 0 1.5rem 0 rgba(0,0,0,0.2)}[data-theme='dark'] .single .post-reward .reward-input:checked~.reward-ways[data-mode='fixed']{background-color:#292a2e;-webkit-box-shadow:0 0 1.5rem 0 rgba(255,255,255,0.2);box-shadow:0 0 1.5rem 0 rgba(255,255,255,0.2)}.single .post-reward .reward-button{display:inline-block;box-sizing:border-box;cursor:pointer;outline:none;color:#ff7961;border:2px solid #ff8e7a;border-radius:5px;padding:0.6rem 1rem;background-color:#fff;vertical-align:text-top;line-height:1rem;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-reward .reward-button:active,.single .post-reward .reward-button:hover{color:#ffffff;border-color:tomato;background-color:tomato}[data-theme='dark'] .single .post-reward .reward-button:active,[data-theme='dark'] .single .post-reward .reward-button:hover{color:#ffffff;border-color:#ff4d2e;background-color:#ff4d2e}[data-theme='dark'] .single .post-reward .reward-button{color:tomato;border-color:#ff7961;background-color:#292a2e}.single .post-footer{margin:2rem 0}.single .post-footer~.post-reward{margin-block:-2rem 0}.single .post-footer .post-info{border-bottom:1px solid #f0f0f0;padding:0.3rem 0}[data-theme='dark'] .single .post-footer .post-info{border-bottom:1px solid #363636}.single .post-footer .post-info .post-info-line{display:flex;justify-content:space-between}.single .post-footer .post-info .post-info-line .post-info-mod{font-size:0.8em;color:#b1b1ba}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-mod{color:#909092}.single .post-footer .post-info .post-info-line .post-info-mod a,.single .post-footer .post-info .post-info-line .post-info-mod a::before,.single .post-footer .post-info .post-info-line .post-info-mod a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-mod a,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-mod a::before,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-mod a::after{color:#1781b5}.single .post-footer .post-info .post-info-line .post-info-mod a:active,.single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#ea517f}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-mod a:active,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-mod a:hover{color:#cc5595}.single .post-footer .post-info .post-info-line .post-info-license{font-size:0.8em;color:#b1b1ba}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-license{color:#909092}.single .post-footer .post-info .post-info-line .post-info-license a,.single .post-footer .post-info .post-info-line .post-info-license a::before,.single .post-footer .post-info .post-info-line .post-info-license a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-license a,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-license a::before,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-license a::after{color:#1781b5}.single .post-footer .post-info .post-info-line .post-info-license a:active,.single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#ea517f}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-license a:active,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-license a:hover{color:#cc5595}.single .post-footer .post-info .post-info-line .post-info-md{font-size:0.8rem;width:fit-content}.single .post-footer .post-info .post-info-line .post-info-md a,.single .post-footer .post-info .post-info-line .post-info-md a::before,.single .post-footer .post-info .post-info-line .post-info-md a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-md a,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-md a::before,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-md a::after{color:#1781b5}.single .post-footer .post-info .post-info-line .post-info-md a:active,.single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#ea517f}[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-md a:active,[data-theme='dark'] .single .post-footer .post-info .post-info-line .post-info-md a:hover{color:#cc5595}.single .post-footer .post-info .post-info-line .post-info-md>span:not(:first-child)::before{content:'|';margin-left:0.25rem;margin-right:0.25rem}.single .post-footer .post-info .post-info-line .post-info-share a *{vertical-align:text-bottom}.single .post-footer .post-info-more{padding:0.3rem 0;display:flex;justify-content:space-between;font-size:0.9rem}.single .post-footer .post-tags{max-width:65%}.single .post-footer .post-tags *{display:inline}.single .post-footer .post-tags a,.single .post-footer .post-tags a::before,.single .post-footer .post-tags a::after{text-decoration:none;color:#161209}[data-theme='dark'] .single .post-footer .post-tags a,[data-theme='dark'] .single .post-footer .post-tags a::before,[data-theme='dark'] .single .post-footer .post-tags a::after{color:#b1b1ba}.single .post-footer .post-tags a:active,.single .post-footer .post-tags a:hover{color:#2983bb}[data-theme='dark'] .single .post-footer .post-tags a:active,[data-theme='dark'] .single .post-footer .post-tags a:hover{color:#fff}.single .post-footer .post-tags .post-tag:not(:last-child)::after{content:',';margin-right:0.25rem}.single .post-footer .post-nav{display:flex;justify-content:space-between;gap:1.5rem;padding-block:0.5rem}.single .post-footer .post-nav .post-nav-item{flex:1;font-size:1rem;font-weight:600;-webkit-transition:all 0.3s ease-out;-moz-transition:all 0.3s ease-out;-o-transition:all 0.3s ease-out;transition:all 0.3s ease-out}.single .post-footer .post-nav .post-nav-item[rel='next']{text-align:right}.single .post-footer .post-nav .post-nav-item[rel='prev']:hover{-webkit-transform:translateX(-4px);-ms-transform:translateX(-4px);-o-transform:translateX(-4px);transform:translateX(-4px)}.single .post-footer .post-nav .post-nav-item[rel='next']:hover{-webkit-transform:translateX(4px);-ms-transform:translateX(4px);-o-transform:translateX(4px);transform:translateX(4px)}.single>#comments{padding:2rem 0}.single>#comments iframe{width:100%}.lg-toolbar .lg-icon::after{color:#999}.special .single-title,.special .single-subtitle{text-align:right}.archive .single-title{padding:1rem 0 0.5rem;margin:0;font-size:1.6rem;font-weight:bold;line-height:140%;text-align:right}.archive .single-subtitle{margin:0.5rem 0;font-size:1.2rem;font-weight:normal;line-height:100%;text-align:right}.archive .group-title{font-size:1.2rem;margin-top:1.5rem;margin-bottom:1rem}.archive .categories-card,.archive .collections-card{margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;flex-direction:row;flex-wrap:wrap;line-height:1.6rem}.archive .categories-card .card-item,.archive .collections-card .card-item{font-size:0.875rem;text-align:left;width:45%;display:flex;align-items:flex-start;min-height:10rem;padding:0 2%;position:relative}.archive .categories-card .card-item:nth-child(n+3),.archive .collections-card .card-item:nth-child(n+3){margin-top:2rem}.archive .categories-card .card-item .card-item-wrapper,.archive .collections-card .card-item .card-item-wrapper{width:100%;overflow:hidden}.archive .categories-card .card-item .card-item-wrapper .card-item-title,.archive .collections-card .card-item .card-item-wrapper .card-item-title{font-size:1.2rem;font-weight:bold;display:inline-block;margin-top:1rem;margin-bottom:0.75rem}.archive .categories-card .card-item .card-item-wrapper span,.archive .collections-card .card-item .card-item-wrapper span{float:right;padding-right:1rem}.archive .archive-item{display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;margin:0.25rem 0 0.25rem 1.5rem}.archive .archive-item-link{min-width:10%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.archive .archive-item-link:hover{color:#2983bb;background-color:transparent}[data-theme='dark'] .archive .archive-item-link{color:#b1b1ba}[data-theme='dark'] .archive .archive-item-link:hover{color:#fff}.archive .archive-item-date{text-align:right;color:#b1b1ba;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}[data-theme='dark'] .archive .archive-item-date{color:#909092}.archive .more-post{text-align:right}.archive .tag-cloud-tags{margin:10px 0}.archive .tag-cloud-tags a,.archive .tag-cloud-tags a::before,.archive .tag-cloud-tags a::after{text-decoration:none;color:#161209}[data-theme='dark'] .archive .tag-cloud-tags a,[data-theme='dark'] .archive .tag-cloud-tags a::before,[data-theme='dark'] .archive .tag-cloud-tags a::after{color:#b1b1ba}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:hover{color:#2983bb}[data-theme='dark'] .archive .tag-cloud-tags a:active,[data-theme='dark'] .archive .tag-cloud-tags a:hover{color:#fff}.archive .tag-cloud-tags a{display:inline-block;position:relative;margin:5px 10px;word-wrap:break-word;overflow-wrap:break-word;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}.archive .tag-cloud-tags a:active,.archive .tag-cloud-tags a:focus,.archive .tag-cloud-tags a:hover{-webkit-transform:scale(1.2);-ms-transform:scale(1.2);-o-transform:scale(1.2);transform:scale(1.2)}.archive .tag-cloud-tags a:active sup,.archive .tag-cloud-tags a:focus sup,.archive .tag-cloud-tags a:hover sup{color:#161209;-webkit-transition:all ease-out 0.3s;-moz-transition:all ease-out 0.3s;-o-transition:all ease-out 0.3s;transition:all ease-out 0.3s}[data-theme='dark'] .archive .tag-cloud-tags a:active sup,[data-theme='dark'] .archive .tag-cloud-tags a:focus sup,[data-theme='dark'] .archive .tag-cloud-tags a:hover sup{color:#b1b1ba}.archive .tag-cloud-tags a sup{color:#b1b1ba}[data-theme='dark'] .archive .tag-cloud-tags a sup{color:#909092}.archive .tag-cloud-0{color:#b1b1ba !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-0:active,.archive .tag-cloud-0:focus,.archive .tag-cloud-0:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-0:active,[data-theme='dark'] .archive .tag-cloud-0:focus,[data-theme='dark'] .archive .tag-cloud-0:hover{color:#fff}.archive .tag-cloud-0:active sup,.archive .tag-cloud-0:focus sup,.archive .tag-cloud-0:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-0{color:#909092 !important}.archive .tag-cloud-0 sup{opacity:0}.archive .tag-cloud-1{color:#a2a1a8 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-1:active,.archive .tag-cloud-1:focus,.archive .tag-cloud-1:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-1:active,[data-theme='dark'] .archive .tag-cloud-1:focus,[data-theme='dark'] .archive .tag-cloud-1:hover{color:#fff}.archive .tag-cloud-1:active sup,.archive .tag-cloud-1:focus sup,.archive .tag-cloud-1:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-1{color:#939396 !important}.archive .tag-cloud-1 sup{opacity:0}.archive .tag-cloud-2{color:#929197 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-2:active,.archive .tag-cloud-2:focus,.archive .tag-cloud-2:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-2:active,[data-theme='dark'] .archive .tag-cloud-2:focus,[data-theme='dark'] .archive .tag-cloud-2:hover{color:#fff}.archive .tag-cloud-2:active sup,.archive .tag-cloud-2:focus sup,.archive .tag-cloud-2:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-2{color:#97979a !important}.archive .tag-cloud-2 sup{opacity:0}.archive .tag-cloud-3{color:#838185 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-3:active,.archive .tag-cloud-3:focus,.archive .tag-cloud-3:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-3:active,[data-theme='dark'] .archive .tag-cloud-3:focus,[data-theme='dark'] .archive .tag-cloud-3:hover{color:#fff}.archive .tag-cloud-3:active sup,.archive .tag-cloud-3:focus sup,.archive .tag-cloud-3:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-3{color:#9a9a9e !important}.archive .tag-cloud-3 sup{opacity:0}.archive .tag-cloud-4{color:#737173 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-4:active,.archive .tag-cloud-4:focus,.archive .tag-cloud-4:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-4:active,[data-theme='dark'] .archive .tag-cloud-4:focus,[data-theme='dark'] .archive .tag-cloud-4:hover{color:#fff}.archive .tag-cloud-4:active sup,.archive .tag-cloud-4:focus sup,.archive .tag-cloud-4:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-4{color:#9d9da2 !important}.archive .tag-cloud-4 sup{opacity:0}.archive .tag-cloud-5{color:#646262 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-5:active,.archive .tag-cloud-5:focus,.archive .tag-cloud-5:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-5:active,[data-theme='dark'] .archive .tag-cloud-5:focus,[data-theme='dark'] .archive .tag-cloud-5:hover{color:#fff}.archive .tag-cloud-5:active sup,.archive .tag-cloud-5:focus sup,.archive .tag-cloud-5:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-5{color:#a1a1a6 !important}.archive .tag-cloud-5 sup{opacity:0}.archive .tag-cloud-6{color:#545250 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-6:active,.archive .tag-cloud-6:focus,.archive .tag-cloud-6:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-6:active,[data-theme='dark'] .archive .tag-cloud-6:focus,[data-theme='dark'] .archive .tag-cloud-6:hover{color:#fff}.archive .tag-cloud-6:active sup,.archive .tag-cloud-6:focus sup,.archive .tag-cloud-6:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-6{color:#a4a4aa !important}.archive .tag-cloud-6 sup{opacity:0}.archive .tag-cloud-7{color:#45423e !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-7:active,.archive .tag-cloud-7:focus,.archive .tag-cloud-7:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-7:active,[data-theme='dark'] .archive .tag-cloud-7:focus,[data-theme='dark'] .archive .tag-cloud-7:hover{color:#fff}.archive .tag-cloud-7:active sup,.archive .tag-cloud-7:focus sup,.archive .tag-cloud-7:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-7{color:#a7a7ae !important}.archive .tag-cloud-7 sup{opacity:0}.archive .tag-cloud-8{color:#35322c !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-8:active,.archive .tag-cloud-8:focus,.archive .tag-cloud-8:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-8:active,[data-theme='dark'] .archive .tag-cloud-8:focus,[data-theme='dark'] .archive .tag-cloud-8:hover{color:#fff}.archive .tag-cloud-8:active sup,.archive .tag-cloud-8:focus sup,.archive .tag-cloud-8:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-8{color:#aaaab2 !important}.archive .tag-cloud-8 sup{opacity:0}.archive .tag-cloud-9{color:#26221b !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-9:active,.archive .tag-cloud-9:focus,.archive .tag-cloud-9:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-9:active,[data-theme='dark'] .archive .tag-cloud-9:focus,[data-theme='dark'] .archive .tag-cloud-9:hover{color:#fff}.archive .tag-cloud-9:active sup,.archive .tag-cloud-9:focus sup,.archive .tag-cloud-9:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-9{color:#aeaeb6 !important}.archive .tag-cloud-9 sup{opacity:0}.archive .tag-cloud-10{color:#161209 !important;font-size:var(--tag-font);margin:10px !important}.archive .tag-cloud-10:active,.archive .tag-cloud-10:focus,.archive .tag-cloud-10:hover{color:#2983bb !important}[data-theme='dark'] .archive .tag-cloud-10:active,[data-theme='dark'] .archive .tag-cloud-10:focus,[data-theme='dark'] .archive .tag-cloud-10:hover{color:#fff}.archive .tag-cloud-10:active sup,.archive .tag-cloud-10:focus sup,.archive .tag-cloud-10:hover sup{opacity:1}[data-theme='dark'] .archive .tag-cloud-10{color:#b1b1ba !important}.archive .tag-cloud-10 sup{opacity:0}.home .home-profile{text-align:center}.home .home-profile .home-avatar{padding:0.5rem}.home .home-profile .home-avatar img{display:inline-block;width:8rem;height:auto;margin:0 auto;-webkit-border-radius:100%;-moz-border-radius:100%;border-radius:100%;-webkit-box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);box-shadow:0 0 0 0.3618em rgba(0,0,0,0.05);-webkit-transition:all 0.4s ease;-moz-transition:all 0.4s ease;-o-transition:all 0.4s ease;transition:all 0.4s ease}[data-theme='dark'] .home .home-profile .home-avatar img{-webkit-box-shadow:0 0 0 0.3618em rgba(255,255,255,0.05);box-shadow:0 0 0 0.3618em rgba(255,255,255,0.05)}.home .home-profile .home-avatar img:hover{position:relative;-webkit-transform:translateY(-0.75rem);-ms-transform:translateY(-0.75rem);-o-transform:translateY(-0.75rem);transform:translateY(-0.75rem)}.home .home-profile .home-title{font-size:1.25rem;font-weight:bold;margin:0}.home .home-profile .home-title:not(:empty){padding:0.5rem}.home .home-profile .home-subtitle{font-size:1rem;font-weight:normal;margin:0;padding:0.5rem}.home .home-profile .links{padding:0.5rem;font-size:1.5rem}.home .home-profile .links a *{vertical-align:text-bottom}.home .home-profile .links img{height:1.5rem;padding:0 0.25rem}.home .home-profile .home-disclaimer{font-size:1rem;line-height:1.5rem;font-weight:normal;margin:0;padding:0.5rem;color:#b1b1ba}[data-theme='dark'] .home .home-profile .home-disclaimer{color:#909092}.home.posts .home-profile{padding:2rem 0}.home.posts .home-avatar img{width:6rem}.home.posts .summary{padding-top:1rem;padding-bottom:0.8rem;color:#161209;border-bottom:1px dashed #f0f0f0}.home.posts .summary:first-of-type{padding-top:0}[data-theme='dark'] .home.posts .summary{color:#b1b1ba;border-bottom:1px dashed #363636}.home.posts .summary .featured-image-preview{width:100%;aspect-ratio:auto 1000 / 420;position:relative;margin:0.6rem auto;-webkit-transition:transform 0.4s ease;-moz-transition:transform 0.4s ease;-o-transition:transform 0.4s ease;transition:transform 0.4s ease}.home.posts .summary .featured-image-preview img{position:absolute;width:100%;height:100%;left:0;top:0;-o-object-fit:cover;object-fit:cover;font-family:"object-fit: cover;"}.home.posts .summary .featured-image-preview:hover{-webkit-transform:scale(1.01);-ms-transform:scale(1.01);-o-transform:scale(1.01);transform:scale(1.01)}.home.posts .summary .single-title{font-size:1.25rem;line-height:140%;margin:0.4rem 0}.home.posts .summary .content{display:block;margin-top:0.3rem;width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word;overflow-wrap:break-word;color:#b1b1ba}[data-theme='dark'] .home.posts .summary .content{color:#909092}.home.posts .summary .content h2,.home.posts .summary .content h3,.home.posts .summary .content h4,.home.posts .summary .content h5,.home.posts .summary .content h6,.home.posts .summary .content p{font-size:1rem;line-height:1.5;display:inline}.home.posts .summary .content h2::after,.home.posts .summary .content h3::after,.home.posts .summary .content h4::after,.home.posts .summary .content h5::after,.home.posts .summary .content h6::after,.home.posts .summary .content p::after{content:'\A';white-space:pre}.home.posts .summary .content h2{font-size:1.125rem}.home.posts .summary .content a,.home.posts .summary .content a::before,.home.posts .summary .content a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .home.posts .summary .content a,[data-theme='dark'] .home.posts .summary .content a::before,[data-theme='dark'] .home.posts .summary .content a::after{color:#b1b1ba}.home.posts .summary .content a:active,.home.posts .summary .content a:hover{color:#ea517f}[data-theme='dark'] .home.posts .summary .content a:active,[data-theme='dark'] .home.posts .summary .content a:hover{color:#fff}.home.posts .summary .content b,.home.posts .summary .content strong{color:#b1b1ba}[data-theme='dark'] .home.posts .summary .content b,[data-theme='dark'] .home.posts .summary .content strong{color:#909092}.home.posts .summary .post-footer{margin-top:0.4rem;display:flex;justify-content:space-between;align-items:center;font-size:0.875rem}.home.posts .summary .post-footer a,.home.posts .summary .post-footer a::before,.home.posts .summary .post-footer a::after{text-decoration:none;color:#2376b7}[data-theme='dark'] .home.posts .summary .post-footer a,[data-theme='dark'] .home.posts .summary .post-footer a::before,[data-theme='dark'] .home.posts .summary .post-footer a::after{color:#1781b5}.home.posts .summary .post-footer a:active,.home.posts .summary .post-footer a:hover{color:#ea517f}[data-theme='dark'] .home.posts .summary .post-footer a:active,[data-theme='dark'] .home.posts .summary .post-footer a:hover{color:#cc5595}.home.posts .summary .post-footer .post-tags{padding:0}.home.posts .summary .post-footer .post-tags a,.home.posts .summary .post-footer .post-tags a::before,.home.posts .summary .post-footer .post-tags a::after{text-decoration:none;color:#161209}[data-theme='dark'] .home.posts .summary .post-footer .post-tags a,[data-theme='dark'] .home.posts .summary .post-footer .post-tags a::before,[data-theme='dark'] .home.posts .summary .post-footer .post-tags a::after{color:#b1b1ba}.home.posts .summary .post-footer .post-tags a:active,.home.posts .summary .post-footer .post-tags a:hover{color:#2983bb}[data-theme='dark'] .home.posts .summary .post-footer .post-tags a:active,[data-theme='dark'] .home.posts .summary .post-footer .post-tags a:hover{color:#fff}.home.posts .summary .post-footer .post-tags .post-tag:not(:last-child)::after{content:',';margin-right:0.25rem}#content-404{font-size:1.8rem;line-height:3rem;-webkit-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}#content-offline{-webkit-transform:translateY(30vh);-ms-transform:translateY(30vh);-o-transform:translateY(30vh);transform:translateY(30vh);text-align:center}#content-offline .offline-title{font-size:3.6rem}#content-offline .offline-subtitle{margin:0.4rem 0;font-size:1rem;font-weight:normal;font-style:italic;line-height:100%;color:#57606a}#content-offline .error-text{font-size:1.2rem}.friend-links{margin-top:1rem;display:flex;flex-direction:row;justify-content:space-between;flex-wrap:wrap}@media (max-width: 576px){.friend-links{justify-content:space-around}}.friend-link{width:150px;height:200px;font-size:1rem;text-align:center;background:rgba(255,255,255,0.3);box-sizing:border-box;box-shadow:3px 3px 5px #aaa;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;border:none;transition-duration:0.3s;margin-bottom:1rem;display:flex;flex-direction:column;justify-content:space-between}.friend-link:hover{background:#fff;-webkit-transform:scale(1.03);-ms-transform:scale(1.03);-o-transform:scale(1.03);transform:scale(1.03);box-shadow:0 0 3px #aaa}.friend-avatar{object-fit:cover;object-position:center;width:100% !important;height:150px !important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;margin:0;padding:0}.friend-nickname{display:block;position:relative;color:#2bbc8a;font-weight:bold;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:18px;margin-bottom:1rem}.friend-nickname:hover{color:#d480aa}@media only screen and (min-width: 1441px){.breadcrumb-container .breadcrumb,.page{width:ROUND(60%, 2px)}[data-page-style='wide'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='wide'] .breadcrumb,[data-page-style='wide'] .page{width:ROUND(64%, 2px)}[data-page-style='narrow'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='narrow'] .breadcrumb,[data-page-style='narrow'] .page{max-width:800px}}@media only screen and (max-width: 1440px){.breadcrumb-container .breadcrumb,.page{width:ROUND(56%, 2px)}[data-page-style='wide'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='wide'] .breadcrumb,[data-page-style='wide'] .page{width:ROUND(60%, 2px)}}@media only screen and (max-width: 1200px){.breadcrumb-container .breadcrumb,.page{width:ROUND(52%, 2px)}[data-page-style='wide'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='wide'] .breadcrumb,[data-page-style='wide'] .page{width:ROUND(56%, 2px)}#header-desktop .header-wrapper{padding-right:1rem}.search-dropdown.desktop{right:1rem}}@media only screen and (max-width: 960px){.breadcrumb-container .breadcrumb,.page{width:ROUND(80%, 2px) !important}aside{display:none !important}#toc-static{display:block}#header-desktop .header-wrapper{padding-left:1rem}}@media only screen and (min-width: 681px){.d-none-desktop{display:none}body:not([data-header-desktop='sticky']) .breadcrumb-container.sticky{top:0}body:not([data-header-desktop='auto']) .breadcrumb-container.sticky+.container .content [id]{scroll-margin-top:calc(var(--fi-scroll-mt) + var(--fi-breadcrumb-height))}[data-header-desktop='normal'] .page .content [id]{--fi-scroll-mt: .5rem}}@media only screen and (max-width: 680px){#header-desktop{display:none}#header-mobile{display:block}.d-none-mobile{display:none !important}body:not([data-header-mobile='sticky']) .breadcrumb-container.sticky{top:0}body:not([data-header-mobile='auto']) .breadcrumb-container.sticky+.container .content [id]{scroll-margin-top:calc(var(--fi-scroll-mt) + var(--fi-breadcrumb-height))}[data-header-mobile='normal'] .page .content [id]{--fi-scroll-mt: .5rem}.breadcrumb-container .breadcrumb,.page{width:100% !important}.page .categories-card .card-item,.page .collections-card .card-item{width:100%}footer .footer-container{font-size:0.618rem}.pagination .page-item{margin:0 5px}}@media only print{@page{size:A4 portrait;margin:1.27cm}.page{width:100% !important;padding-top:0 !important}.page.single .single-title,.page.single .single-subtitle,.page.single .post-meta{text-align:center}.page h1:not(.single-title),.page .page-break-before{page-break-before:always}.page .page-break-after{page-break-after:always}.print-d-none,.fixed-button,.github-corner,.reading-progress-bar,header,.breadcrumb-container,footer,#toc-auto,.collection-card,.aside-collection,.single .post-meta .comment-visitors,.single .post-meta .comment-count,.single .content .highlight>.chroma .code-header .ellipses,.single .content .highlight>.chroma .code-header .edit,.single .content .highlight>.chroma .code-header .copy,.single .post-reward,.single .post-footer .post-info .post-info-line .post-info-share,.single .post-footer .post-info-more section:last-child,.single .post-footer .post-nav,.single>#comments{display:none !important}}@keyframes fi-pulse{from{-webkit-transform:scale3d(1, 1, 1);-ms-transform:scale3d(1, 1, 1);-o-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}50%{-webkit-transform:scale3d(1.05, 1.05, 1.05);-ms-transform:scale3d(1.05, 1.05, 1.05);-o-transform:scale3d(1.05, 1.05, 1.05);transform:scale3d(1.05, 1.05, 1.05)}to{-webkit-transform:scale3d(1, 1, 1);-ms-transform:scale3d(1, 1, 1);-o-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}}.animate__pulse{-webkit-animation-name:fi-pulse !important;animation-name:fi-pulse !important}@supports not (width: ROUND(60%, 2px)){@media only screen and (min-width: 1441px){.breadcrumb-container .breadcrumb,.page{width:60%}[data-page-style='wide'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='wide'] .breadcrumb,[data-page-style='wide'] .page{width:64%}[data-page-style='narrow'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='narrow'] .breadcrumb,[data-page-style='narrow'] .page{max-width:800px}}@media only screen and (max-width: 1440px){.breadcrumb-container .breadcrumb,.page{width:56%}[data-page-style='wide'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='wide'] .breadcrumb,[data-page-style='wide'] .page{width:60%}}@media only screen and (max-width: 1200px){.breadcrumb-container .breadcrumb,.page{width:52%}[data-page-style='wide'] .breadcrumb-container .breadcrumb,.breadcrumb-container [data-page-style='wide'] .breadcrumb,[data-page-style='wide'] .page{width:56%}}@media only screen and (max-width: 960px){.breadcrumb-container .breadcrumb,.page{width:80% !important}}@media only screen and (max-width: 680px){.breadcrumb-container .breadcrumb,.page{width:100% !important}}} + +/*# sourceMappingURL=style.min.css.map */ \ No newline at end of file diff --git a/css/style.min.css.map b/css/style.min.css.map new file mode 100644 index 00000000..31fce8af --- /dev/null +++ b/css/style.min.css.map @@ -0,0 +1,151 @@ +{ + "version": 3, + "file": "style.min.css", + "sourceRoot": "/home/runner/work/dingyufan.github.io/dingyufan.github.io", + "sources": [ + "themes/FixIt/assets/css/style.scss", + "themes/FixIt/assets/css/_variables.scss", + "themes/FixIt/assets/css/_partials/_maps/_admonition.scss", + "themes/FixIt/assets/css/_partials/_maps/_alert.scss", + "themes/FixIt/assets/css/_partials/_maps/_code-highlight.scss", + "themes/FixIt/assets/css/_partials/_maps/_code-type.scss", + "themes/FixIt/assets/css/_partials/_maps/_colors.scss", + "themes/FixIt/assets/css/_partials/_maps/_utilities.scss", + "themes/FixIt/assets/css/_override.scss", + "themes/FixIt/assets/css/_mixin/_index.scss", + "themes/FixIt/assets/css/_mixin/_compatibility.scss", + "themes/FixIt/assets/css/_mixin/_link.scss", + "themes/FixIt/assets/css/_mixin/_blur.scss", + "themes/FixIt/assets/css/_mixin/_details.scss", + "themes/FixIt/assets/css/_mixin/_scrollbar-width.scss", + "themes/FixIt/assets/css/_mixin/_z-index.scss", + "themes/FixIt/assets/css/_core/_root.scss", + "themes/FixIt/assets/css/_core/_base.scss", + "themes/FixIt/assets/lib/normalize/normalize.css", + "themes/FixIt/assets/css/_partials/_scrollbar.scss", + "themes/FixIt/assets/css/_partials/_mask.scss", + "themes/FixIt/assets/css/_partials/_img.scss", + "themes/FixIt/assets/css/_partials/_icon.scss", + "themes/FixIt/assets/css/_partials/_details.scss", + "themes/FixIt/assets/css/_partials/_widgets.scss", + "themes/FixIt/assets/css/_partials/_widgets/_cookieconsent.scss", + "themes/FixIt/assets/css/_partials/_widgets/_fixed-button.scss", + "themes/FixIt/assets/css/_partials/_widgets/_github-corner.scss", + "themes/FixIt/assets/css/_partials/_widgets/_noscript-warning.scss", + "themes/FixIt/assets/css/_partials/_widgets/_reading-progress.scss", + "themes/FixIt/assets/css/_partials/_widgets/_typeit.scss", + "themes/FixIt/assets/css/_core/_layout.scss", + "themes/FixIt/assets/css/_core/_header.scss", + "themes/FixIt/assets/css/_core/_breadcrumb.scss", + "themes/FixIt/assets/css/_core/_footer.scss", + "themes/FixIt/assets/css/_core/_pagination.scss", + "themes/FixIt/assets/css/_core/_common.scss", + "themes/FixIt/assets/css/_page/_index.scss", + "themes/FixIt/assets/css/_page/_single.scss", + "themes/FixIt/assets/css/_partials/_single/_toc.scss", + "themes/FixIt/assets/css/_partials/_single/_fixit-decryptor.scss", + "themes/FixIt/assets/css/_partials/_single/_collections.scss", + "themes/FixIt/assets/css/_partials/_single/_alert.scss", + "themes/FixIt/assets/css/_partials/_single/_code.scss", + "themes/FixIt/assets/css/_partials/_single/_github-dark-dimmed.scss", + "themes/FixIt/assets/css/_shortcodes/_index.scss", + "themes/FixIt/assets/css/_shortcodes/_admonition.scss", + "themes/FixIt/assets/css/_shortcodes/_bilibili.scss", + "themes/FixIt/assets/css/_shortcodes/_douyin.scss", + "themes/FixIt/assets/css/_shortcodes/_cardlink.scss", + "themes/FixIt/assets/css/_shortcodes/_center-quote.scss", + "themes/FixIt/assets/css/_shortcodes/_echarts.scss", + "themes/FixIt/assets/css/_shortcodes/_instagram.scss", + "themes/FixIt/assets/css/_shortcodes/_mapbox.scss", + "themes/FixIt/assets/css/_shortcodes/_mermaid.scss", + "themes/FixIt/assets/css/_shortcodes/_timeline.scss", + "themes/FixIt/assets/css/_partials/_single/_reward.scss", + "themes/FixIt/assets/css/_partials/_single/_footer.scss", + "themes/FixIt/assets/css/_partials/_single/_comment.scss", + "themes/FixIt/assets/css/_page/_special.scss", + "themes/FixIt/assets/css/_page/_archive.scss", + "themes/FixIt/assets/css/_partials/_archive/_terms.scss", + "themes/FixIt/assets/css/_partials/_archive/_tags.scss", + "themes/FixIt/assets/css/_page/_home.scss", + "themes/FixIt/assets/css/_page/_404.scss", + "themes/FixIt/assets/css/_page/_offline.scss", + "themes/FixIt/assets/css/_page/_friends.scss", + "themes/FixIt/assets/css/_core/_media.scss", + "themes/FixIt/assets/css/_core/_patch.scss", + "themes/FixIt/assets/css/_custom.scss" + ], + "sourcesContent": [ + "@charset \"utf-8\";\n\n@import \"_variables\";\n@import \"_override\";\n@import \"_mixin/index\";\n@import \"_core/root\";\n@import \"_core/base\";\n@import \"_core/layout\";\n@import \"_core/common\";\n@import \"_page\";\n@import \"_core/media\";\n@import \"_core/patch\";\n@import \"_custom\";\n", + "// ==============================\n// Variables\n// ==============================\n\n// ========== Global ========== //\n// Prefix for :root CSS variables.\n$prefix: fi- !default;\n\n// Font and Line Height\n$global-font-family: system-ui, -apple-system, BlinkMacSystemFont, PingFang SC, Microsoft YaHei UI, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, Helvetica, Arial, sans-serif !default;\n$global-font-size: 16px !default;\n$global-font-weight: 400 !default;\n$global-line-height: 1.5rem !default;\n\n// scroll-margin-top of content anchor\n$global-scroll-margin-top: 0.5rem;\n\n// Radius of the border\n$global-border-radius: 5px !default;\n\n// Color of the background\n$global-background-color: #ffffff !default;\n$global-background-color-dark: #292a2e !default;\n\n// Color of the text\n$global-font-color: #161209 !default;\n$global-font-color-dark: #b1b1ba !default;\n\n// Color of the secondary text\n$global-font-secondary-color: #b1b1ba !default;\n$global-font-secondary-color-dark: #909092 !default;\n\n// Color of the link\n$global-link-color: #161209 !default;\n$global-link-color-dark: #b1b1ba !default;\n\n// Color of the hover link\n$global-link-hover-color: #2983bb !default; // 潮蓝\n$global-link-hover-color-dark: #fff !default;\n\n// Color of the border\n$global-border-color: #f0f0f0 !default;\n$global-border-color-dark: #363636 !default;\n// ========== Global ========== //\n\n// ========== Scrollbar ========== //\n// Color of the scrollbar\n$scrollbar-color: #a6a6a6 !default;\n\n// Color of the hover scrollbar\n$scrollbar-hover-color: #7d7d7d !default;\n// ========== Scrollbar ========== //\n\n// ========== Selection ========== //\n// Color of the selected text\n$selection-color: rgba(53, 166, 247, 0.25) !default;\n$selection-color-dark: rgba(50, 112, 194, 0.4) !default;\n// ========== Selection ========== //\n\n// ========== Header ========== //\n// Height of the header\n$header-height: 3.5rem !default;\n\n// Color of the header background\n$header-background-color: #f8f8f8 !default;\n$header-background-color-dark: #252627 !default;\n\n// Font style of the header title\n$header-title-font-family: $global-font-family !default;\n$header-title-font-size: 1.5rem !default;\n\n// Color of the active menu item\n$menu-active-color: #161209 !default;\n$menu-active-color-dark: #fff !default;\n\n// Border color of the menu item\n$menu-border-color: darken($global-border-color, 5%) !default;\n$menu-border-color-dark: lighten($global-border-color-dark, 5%) !default;\n\n// Height of the submenu item of desktop header\n$submenu-height: $header-height * 0.5 !default;\n\n// Color of the search background\n$search-background-color: #e9e9e9 !default;\n$search-background-color-dark: #363636 !default;\n// ========== Header ========== //\n\n// ========== Tag Cloud ========== //\n// Color range of tag cloud\n$tag-cloud-start: $global-font-secondary-color!default;\n$tag-cloud-end: $global-font-color!default;\n$tag-cloud-start-dark: $global-font-secondary-color-dark!default;\n$tag-cloud-end-dark: $global-font-color-dark!default;\n// ========== Tag Cloud ========== //\n\n// ========== Single Content ========== //\n// Font size of the TOC\n$toc-title-font-size: 1rem !default;\n$toc-content-font-size: 0.875rem !default;\n\n// Font size of the Collection List\n$collection-title-font-size: 1rem !default;\n$collection-list-font-size: 0.875rem !default;\n\n// Color of the single link\n$single-link-color: #2376b7 !default; // 花青\n$single-link-color-dark: #1781b5 !default; // 釉蓝\n\n// Color of the hover single link\n$single-link-hover-color: #ea517f !default; // 莲瓣红\n$single-link-hover-color-dark: #cc5595 !default; // 龙须红\n\n// Color of the table background\n$table-background-color: #fff !default;\n$table-background-color-dark: #272c34 !default;\n\n// Color of the table thead\n$table-thead-color: #ededed !default;\n$table-thead-color-dark: #20252b !default;\n\n// Color of the blockquote\n$blockquote-color: #697681 !default;\n$blockquote-color-dark: #9ba3aa !default;\n\n// Color of reward\n$reward-color: tomato !default;\n$reward-color-dark: darken($reward-color, 5%) !default;\n\n// Width of reward image\n$reward-img-width: 180px !default;\n// ========== Single Content ========== //\n\n// ========== Pagination ========== //\n// Color of the link in pagination\n$pagination-link-color: #bfbfbf !default;\n$pagination-link-color-dark: #b1b1ba !default;\n\n// Color of the hover link in pagination\n$pagination-link-hover-color: #000 !default;\n$pagination-link-hover-color-dark: #fff !default;\n// ========== Pagination ========== //\n\n// ========== Code ========== //\n// Color of the code\n$code-color: #24292f !default;\n$code-color-dark: #adbac7 !default;\n\n// Color of the code background\n$code-background-color: #f6f8fa !default;\n$code-background-color-dark: #2d333b !default;\n\n$code-error-color: #dc3545 !default;\n\n// Color of the hightlight code\n$code-hightlight-color: #fff8c5 !default;\n$code-hightlight-color-dark: rgba(174, 124, 20, 0.15) !default;\n\n$code-info-color: #9c9c9c !default;\n$code-info-color-dark: #b1b0b0 !default;\n\n// Font size of the code\n$code-font-size: 0.875rem !default;\n\n// Font family of the code\n$code-font-family: Source Code Pro, Menlo, Consolas, Monaco, monospace, $global-font-family !default;\n// ========== Code ========== //\n\n// ========== GitHub Corners ========== //\n// Color of the GitHub Corners\n$github-corner-color: white !default;\n$github-corner-color-dark: black !default;\n\n// Color of the GitHub Corners background\n$github-corner-fill: $header-background-color-dark !default;\n$github-corner-fill-dark: $header-background-color !default;\n// ========== GitHub Corners ========== //\n\n@import '_partials/_maps/admonition';\n@import '_partials/_maps/alert';\n@import '_partials/_maps/code-highlight';\n@import '_partials/_maps/code-type';\n@import '_partials/_maps/colors';\n@import '_partials/_maps/utilities';\n", + "// Color map of admonitions\n$admonition-color-map: (\n note: (\n color: #448aff,\n bg-color: rgba(68, 138, 255, 0.1),\n ),\n abstract: (\n color: #00b0ff,\n bg-color: rgba(0, 176, 255, 0.1),\n ),\n info: (\n color: #00b8d4,\n bg-color: rgba(0, 184, 212, 0.1),\n ),\n todo: (\n color: #5e9aff,\n bg-color: rgba(94, 154, 255, 0.1),\n ),\n tip: (\n color: #00bfa5,\n bg-color: rgba(0, 191, 165, 0.1),\n ),\n success: (\n color: #00c853,\n bg-color: rgba(0, 200, 83, 0.1),\n ),\n question: (\n color: #ffbd67,\n bg-color: rgba(255, 190, 0, 0.1),\n ),\n warning: (\n color: #ff9100,\n bg-color: rgba(255, 145, 0, 0.1),\n ),\n failure: (\n color: #ff5252,\n bg-color: rgba(255, 82, 82, 0.1),\n ),\n danger: (\n color: #ff1744,\n bg-color: rgba(255, 23, 68, 0.1),\n ),\n bug: (\n color: #f50057,\n bg-color: rgba(245, 0, 87, 0.1),\n ),\n example: (\n color: #651fff,\n bg-color: rgba(101, 31, 255, 0.1),\n ),\n quote: (\n color: #9e9e9e,\n bg-color: rgba(159, 159, 159, 0.1),\n ),\n) !default;\n", + "// Color map of basic alerts\n$alert-color-map: (\n note: (\n border-color: #0969da,\n color: #0969da,\n ),\n tip: (\n border-color: #1a7f37,\n color: #1a7f37,\n ),\n important: (\n border-color: #8250df,\n color: #8250df,\n ),\n warning: (\n border-color: #bf8700,\n color: #9a6700,\n ),\n caution: (\n border-color: #cf222e,\n color: #d1242f,\n ),\n) !default;\n\n$alert-color-map-dark: (\n note: (\n border-color: #316dca,\n color: #478be6,\n ),\n tip: (\n border-color: #347d39,\n color: #57ab5a,\n ),\n important: (\n border-color: #8256d0,\n color: #986ee2,\n ),\n warning: (\n border-color: #966600,\n color: #c69026,\n ),\n caution: (\n border-color: #c93c37,\n color: #e5534b,\n ),\n) !default;\n", + "// Color map of the code highlight\n$code-highlight-color-map: (\n /* Error */ 'err': $code-error-color,\n /* Keyword */ 'k': #cf222e,\n /* KeywordConstant */ 'kc': #0550ae,\n /* KeywordDeclaration */ 'kd': #cf222e,\n /* KeywordNamespace */ 'kn': #cf222e,\n /* KeywordPseudo */ 'kp': #cf222e,\n /* KeywordReserved */ 'kr': #cf222e,\n /* KeywordType */ 'kt': #cf222e,\n /* Name */ 'n': $code-color,\n /* NameAttribute */ 'na': #0550ae,\n /* NameBuiltin */ 'nb': #0550ae,\n /* NameBuiltinPseudo */ 'bp': $code-color,\n /* NameClass */ 'nc': #8250df,\n /* NameConstant */ 'no': #cf222e,\n /* NameDecorator */ 'nd': #8250df,\n /* NameEntity */ 'ni': #0550ae,\n /* NameException */ 'ne': #0550ae,\n /* NameFunction */ 'nf': #0550ae,\n /* NameFunctionMagic */ 'fm': #0550ae,\n /* NameLabel */ 'nl': #0550ae,\n /* NameNamespace */ 'nn': #8250df,\n /* NameOther */ 'nx': #0550ae,\n /* NameProperty */ 'py': #0550ae,\n /* NameTag */ 'nt': #116329,\n /* NameVariable */ 'nv': #953800,\n /* NameVariableClass */ 'vc': #0550ae,\n /* NameVariableGlobal */ 'vg': #0550ae,\n /* NameVariableInstance */ 'vi': #0550ae,\n /* NameVariableMagic */ 'vm': #0550ae,\n /* Literal */ 'l': #0550ae,\n /* LiteralDate */ 'ld': #0a3069,\n /* LiteralString */ 's': #0a3069,\n /* LiteralStringAffix */ 'sa': #0a3069,\n /* LiteralStringBacktick */ 'sb': #0a3069,\n /* LiteralStringChar */ 'sc': #0a3069,\n /* LiteralStringDelimiter */ 'dl': #0a3069,\n /* LiteralStringDoc */ 'sd': #0a3069,\n /* LiteralStringDouble */ 's2': #0a3069,\n /* LiteralStringEscape */ 'se': #0a3069,\n /* LiteralStringHeredoc */ 'sh': #0a3069,\n /* LiteralStringInterpol */ 'si': #0a3069,\n /* LiteralStringOther */ 'sx': #0a3069,\n /* LiteralStringRegex */ 'sr': #0a3069,\n /* LiteralStringSingle */ 's1': #0a3069,\n /* LiteralStringSymbol */ 'ss': #0a3069,\n /* LiteralNumber */ 'm': #0550ae,\n /* LiteralNumberBin */ 'mb': #0550ae,\n /* LiteralNumberFloat */ 'mf': #0550ae,\n /* LiteralNumberHex */ 'mh': #0550ae,\n /* LiteralNumberInteger */ 'mi': #0550ae,\n /* LiteralNumberIntegerLong */ 'il': #0550ae,\n /* LiteralNumberOct */ 'mo': #0550ae,\n /* Operator */ 'o': #cf222e,\n /* OperatorWord */ 'ow': #cf222e,\n /* Punctuation */ 'p': $code-color,\n /* Comment */ 'c': #6e7781,\n /* CommentHashbang */ 'ch': #6e7781,\n /* CommentMultiline */ 'cm': #6e7781,\n /* CommentSingle */ 'c1': #6e7781,\n /* CommentSpecial */ 'cs': #6e7781,\n /* CommentPreproc */ 'cp': #0550ae,\n /* CommentPreprocFile */ 'cpf': #6e7781,\n /* Generic */ 'g': $code-color,\n /* GenericDeleted */ 'gd': #82071e,\n /* GenericEmph */ 'ge': $code-color,\n /* GenericError */ 'gr': $code-error-color,\n /* GenericHeading */ 'gh': $code-color,\n /* GenericInserted */ 'gi': #116329,\n /* GenericOutput */ 'go': $code-color,\n /* GenericPrompt */ 'gp': $code-color,\n /* GenericStrong */ 'gs': $code-color,\n /* GenericSubheading */ 'gu': $code-color,\n /* GenericTraceback */ 'gt': $code-error-color,\n /* GenericUnderline */ 'gl': $code-color,\n /* TextWhitespace */ 'w': $code-color,\n /* Other */ 'x': $code-color\n) !default;\n$code-highlight-color-map-dark: (\n /* Error */ 'err': $code-error-color,\n /* Keyword */ 'k': #f47067,\n /* KeywordConstant */ 'kc': #6cb6ff,\n /* KeywordDeclaration */ 'kd': #f47067,\n /* KeywordNamespace */ 'kn': #f47067,\n /* KeywordPseudo */ 'kp': #f47067,\n /* KeywordReserved */ 'kr': #f47067,\n /* KeywordType */ 'kt': #f47067,\n /* Name */ 'n': $code-color-dark,\n /* NameAttribute */ 'na': #6cb6ff,\n /* NameBuiltin */ 'nb': #dcbdfb,\n /* NameBuiltinPseudo */ 'bp': $code-color-dark,\n /* NameClass */ 'nc': #dcbdfb,\n /* NameConstant */ 'no': #6cb6ff,\n /* NameDecorator */ 'nd': #dcbdfb,\n /* NameEntity */ 'ni': #6cb6ff,\n /* NameException */ 'ne': #6cb6ff,\n /* NameFunction */ 'nf': #dcbdfb,\n /* NameFunctionMagic */ 'fm': #6cb6ff,\n /* NameLabel */ 'nl': #6cb6ff,\n /* NameNamespace */ 'nn': #f47067,\n /* NameOther */ 'nx': #dcbdfb,\n /* NameProperty */ 'py': #6cb6ff,\n /* NameTag */ 'nt': #8ddb8c,\n /* NameVariable */ 'nv': #f69d50,\n /* NameVariableClass */ 'vc': #6cb6ff,\n /* NameVariableGlobal */ 'vg': #6cb6ff,\n /* NameVariableInstance */ 'vi': #6cb6ff,\n /* NameVariableMagic */ 'vm': #6cb6ff,\n /* Literal */ 'l': #6cb6ff,\n /* LiteralDate */ 'ld': #96d0ff,\n /* LiteralString */ 's': #96d0ff,\n /* LiteralStringAffix */ 'sa': #96d0ff,\n /* LiteralStringBacktick */ 'sb': #96d0ff,\n /* LiteralStringChar */ 'sc': #96d0ff,\n /* LiteralStringDelimiter */ 'dl': #96d0ff,\n /* LiteralStringDoc */ 'sd': #96d0ff,\n /* LiteralStringDouble */ 's2': #96d0ff,\n /* LiteralStringEscape */ 'se': #96d0ff,\n /* LiteralStringHeredoc */ 'sh': #96d0ff,\n /* LiteralStringInterpol */ 'si': #96d0ff,\n /* LiteralStringOther */ 'sx': #96d0ff,\n /* LiteralStringRegex */ 'sr': #96d0ff,\n /* LiteralStringSingle */ 's1': #96d0ff,\n /* LiteralStringSymbol */ 'ss': #96d0ff,\n /* LiteralNumber */ 'm': #6cb6ff,\n /* LiteralNumberBin */ 'mb': #6cb6ff,\n /* LiteralNumberFloat */ 'mf': #6cb6ff,\n /* LiteralNumberHex */ 'mh': #6cb6ff,\n /* LiteralNumberInteger */ 'mi': #6cb6ff,\n /* LiteralNumberIntegerLong */ 'il': #6cb6ff,\n /* LiteralNumberOct */ 'mo': #6cb6ff,\n /* Operator */ 'o': #f47067,\n /* OperatorWord */ 'ow': #f47067,\n /* Punctuation */ 'p': $code-color-dark,\n /* Comment */ 'c': #768390,\n /* CommentHashbang */ 'ch': #768390,\n /* CommentMultiline */ 'cm': #768390,\n /* CommentSingle */ 'c1': #768390,\n /* CommentSpecial */ 'cs': #768390,\n /* CommentPreproc */ 'cp': #6cb6ff,\n /* CommentPreprocFile */ 'cpf': #768390,\n /* Generic */ 'g': $code-color-dark,\n /* GenericDeleted */ 'gd': #ffd8d3,\n /* GenericEmph */ 'ge': $code-color-dark,\n /* GenericError */ 'gr': $code-error-color,\n /* GenericHeading */ 'gh': $code-color-dark,\n /* GenericInserted */ 'gi': #b4f1b4,\n /* GenericOutput */ 'go': $code-color-dark,\n /* GenericPrompt */ 'gp': $code-color-dark,\n /* GenericStrong */ 'gs': $code-color-dark,\n /* GenericSubheading */ 'gu': $code-color-dark,\n /* GenericTraceback */ 'gt': $code-error-color,\n /* GenericUnderline */ 'gl': $code-color-dark,\n /* TextWhitespace */ 'w': $code-color-dark,\n /* Other */ 'x': $code-color-dark\n) !default;", + "// Code type map\n$code-type-map: (\n // Chroma supported languages\n // @generator https://github.com/hugo-fixit/.tools/blob/main/tampermonkey/code-type-map-fetcher.user.js\n \"abap\": \"ABAP\",\n \"abnf\": \"ABNF\",\n \"as\": \"ActionScript\",\n \"actionscript\": \"ActionScript\",\n \"as3\": \"ActionScript 3\",\n \"actionscript3\": \"ActionScript 3\",\n \"ada\": \"Ada\",\n \"ada95\": \"Ada\",\n \"ada2005\": \"Ada\",\n \"al\": \"AL\",\n \"ng2\": \"Angular2\",\n \"antlr\": \"ANTLR\",\n \"apacheconf\": \"ApacheConf\",\n \"aconf\": \"ApacheConf\",\n \"apache\": \"ApacheConf\",\n \"apl\": \"APL\",\n \"applescript\": \"AppleScript\",\n \"arduino\": \"Arduino\",\n \"armasm\": \"ArmAsm\",\n \"awk\": \"Awk\",\n \"gawk\": \"Awk\",\n \"mawk\": \"Awk\",\n \"nawk\": \"Awk\",\n \"ballerina\": \"Ballerina\",\n \"make\": \"Base Makefile\",\n \"makefile\": \"Base Makefile\",\n \"mf\": \"Base Makefile\",\n \"bsdmake\": \"Base Makefile\",\n \"bash\": \"Bash\",\n \"sh\": \"Bash\",\n \"ksh\": \"Bash\",\n \"zsh\": \"Bash\",\n \"shell\": \"Bash\",\n \"bash-session\": \"BashSession\",\n \"console\": \"BashSession\",\n \"shell-session\": \"BashSession\",\n \"bat\": \"Batchfile\",\n \"batch\": \"Batchfile\",\n \"dosbatch\": \"Batchfile\",\n \"winbatch\": \"Batchfile\",\n \"bib\": \"BibTeX\",\n \"bibtex\": \"BibTeX\",\n \"bicep\": \"Bicep\",\n \"blitzbasic\": \"BlitzBasic\",\n \"b3d\": \"BlitzBasic\",\n \"bplus\": \"BlitzBasic\",\n \"bnf\": \"BNF\",\n \"brainfuck\": \"Brainfuck\",\n \"bf\": \"Brainfuck\",\n \"c\": \"C\",\n \"csharp\": \"C#\",\n \"c\\\\#\": \"C#\",\n \"cpp\": \"C++\",\n \"c\\\\+\\\\+\": \"C++\",\n \"caddyfile\": \"Caddyfile\",\n \"caddy\": \"Caddyfile\",\n \"caddyfile-directives\": \"Caddyfile Directives\",\n \"caddyfile-d\": \"Caddyfile Directives\",\n \"caddy-d\": \"Caddyfile Directives\",\n \"capnp\": \"Cap'n Proto\",\n \"cassandra\": \"Cassandra CQL\",\n \"cql\": \"Cassandra CQL\",\n \"ceylon\": \"Ceylon\",\n \"cfengine3\": \"CFEngine3\",\n \"cf3\": \"CFEngine3\",\n \"cfs\": \"cfstatement\",\n \"chai\": \"ChaiScript\",\n \"chaiscript\": \"ChaiScript\",\n \"cheetah\": \"Cheetah\",\n \"spitfire\": \"Cheetah\",\n \"clojure\": \"Clojure\",\n \"clj\": \"Clojure\",\n \"cmake\": \"CMake\",\n \"cobol\": \"COBOL\",\n \"coffee-script\": \"CoffeeScript\",\n \"coffeescript\": \"CoffeeScript\",\n \"coffee\": \"CoffeeScript\",\n \"common-lisp\": \"Common Lisp\",\n \"cl\": \"Common Lisp\",\n \"lisp\": \"Common Lisp\",\n \"coq\": \"Coq\",\n \"cr\": \"Crystal\",\n \"crystal\": \"Crystal\",\n \"css\": \"CSS\",\n \"cython\": \"Cython\",\n \"pyx\": \"Cython\",\n \"pyrex\": \"Cython\",\n \"d\": \"D\",\n \"dart\": \"Dart\",\n \"diff\": \"Diff\",\n \"udiff\": \"Diff\",\n \"django\": \"Django/Jinja\",\n \"jinja\": \"Django/Jinja\",\n \"docker\": \"Docker\",\n \"dockerfile\": \"Docker\",\n \"dtd\": \"DTD\",\n \"dylan\": \"Dylan\",\n \"ebnf\": \"EBNF\",\n \"elixir\": \"Elixir\",\n \"ex\": \"Elixir\",\n \"exs\": \"Elixir\",\n \"elm\": \"Elm\",\n \"emacs\": \"EmacsLisp\",\n \"elisp\": \"EmacsLisp\",\n \"emacs-lisp\": \"EmacsLisp\",\n \"erlang\": \"Erlang\",\n \"factor\": \"Factor\",\n \"fennel\": \"Fennel\",\n \"fnl\": \"Fennel\",\n \"fish\": \"Fish\",\n \"fishshell\": \"Fish\",\n \"forth\": \"Forth\",\n \"fortran\": \"Fortran\",\n \"fortranfixed\": \"FortranFixed\",\n \"fsharp\": \"FSharp\",\n \"gas\": \"GAS\",\n \"asm\": \"GAS\",\n \"gdscript\": \"GDScript\",\n \"gd\": \"GDScript\",\n \"genshi\": \"Genshi\",\n \"kid\": \"Genshi\",\n \"xml\\\\+genshi\": \"Genshi\",\n \"xml\\\\+kid\": \"Genshi\",\n \"html\\\\+genshi\": \"Genshi HTML\",\n \"html\\\\+kid\": \"Genshi HTML\",\n \"genshitext\": \"Genshi Text\",\n \"cucumber\": \"Gherkin\",\n \"Cucumber\": \"Gherkin\",\n \"gherkin\": \"Gherkin\",\n \"Gherkin\": \"Gherkin\",\n \"glsl\": \"GLSL\",\n \"gnuplot\": \"Gnuplot\",\n \"go\": \"Go\",\n \"golang\": \"Go\",\n \"go-html-template\": \"Go HTML Template\",\n \"go-text-template\": \"Go Text Template\",\n \"graphql\": \"GraphQL\",\n \"graphqls\": \"GraphQL\",\n \"gql\": \"GraphQL\",\n \"groff\": \"Groff\",\n \"nroff\": \"Groff\",\n \"man\": \"Groff\",\n \"groovy\": \"Groovy\",\n \"handlebars\": \"Handlebars\",\n \"hbs\": \"Handlebars\",\n \"haskell\": \"Haskell\",\n \"hs\": \"Haskell\",\n \"hx\": \"Haxe\",\n \"haxe\": \"Haxe\",\n \"hxsl\": \"Haxe\",\n \"hcl\": \"HCL\",\n \"hexdump\": \"Hexdump\",\n \"hlb\": \"HLB\",\n \"html\": \"HTML\",\n \"http\": \"HTTP\",\n \"hylang\": \"Hy\",\n \"idris\": \"Idris\",\n \"idr\": \"Idris\",\n \"igor\": \"Igor\",\n \"igorpro\": \"Igor\",\n \"ini\": \"INI\",\n \"cfg\": \"INI\",\n \"dosini\": \"INI\",\n \"io\": \"Io\",\n \"j\": \"J\",\n \"java\": \"Java\",\n \"js\": \"JavaScript\",\n \"javascript\": \"JavaScript\",\n \"json\": \"JSON\",\n \"julia\": \"Julia\",\n \"jl\": \"Julia\",\n \"jungle\": \"Jungle\",\n \"kotlin\": \"Kotlin\",\n \"lighty\": \"Lighttpd configuration file\",\n \"lighttpd\": \"Lighttpd configuration file\",\n \"llvm\": \"LLVM\",\n \"lua\": \"Lua\",\n \"mako\": \"Mako\",\n \"md\": \"Markdown\",\n \"mkd\": \"Markdown\",\n \"mason\": \"Mason\",\n \"mathematica\": \"Mathematica\",\n \"mma\": \"Mathematica\",\n \"nb\": \"Mathematica\",\n \"matlab\": \"Matlab\",\n \"mcfunction\": \"mcfunction\",\n \"meson\": \"Meson\",\n \"meson\\\\.build\": \"Meson\",\n \"metal\": \"Metal\",\n \"minizinc\": \"MiniZinc\",\n \"MZN\": \"MiniZinc\",\n \"mzn\": \"MiniZinc\",\n \"mlir\": \"MLIR\",\n \"modula2\": \"Modula-2\",\n \"m2\": \"Modula-2\",\n \"monkeyc\": \"MonkeyC\",\n \"morrowind\": \"MorrowindScript\",\n \"mwscript\": \"MorrowindScript\",\n \"myghty\": \"Myghty\",\n \"mysql\": \"MySQL\",\n \"mariadb\": \"MySQL\",\n \"nasm\": \"NASM\",\n \"newspeak\": \"Newspeak\",\n \"nginx\": \"Nginx configuration file\",\n \"nim\": \"Nim\",\n \"nimrod\": \"Nim\",\n \"nixos\": \"Nix\",\n \"nix\": \"Nix\",\n \"objective-c\": \"Objective-C\",\n \"objectivec\": \"Objective-C\",\n \"obj-c\": \"Objective-C\",\n \"objc\": \"Objective-C\",\n \"ocaml\": \"OCaml\",\n \"octave\": \"Octave\",\n \"ones\": \"OnesEnterprise\",\n \"onesenterprise\": \"OnesEnterprise\",\n \"1S\": \"OnesEnterprise\",\n \"1S:Enterprise\": \"OnesEnterprise\",\n \"openedge\": \"OpenEdge ABL\",\n \"abl\": \"OpenEdge ABL\",\n \"progress\": \"OpenEdge ABL\",\n \"openedgeabl\": \"OpenEdge ABL\",\n \"openscad\": \"OpenSCAD\",\n \"org\": \"Org Mode\",\n \"orgmode\": \"Org Mode\",\n \"pacmanconf\": \"PacmanConf\",\n \"perl\": \"Perl\",\n \"pl\": \"Perl\",\n \"php\": \"PHP\",\n \"php3\": \"PHP\",\n \"php4\": \"PHP\",\n \"php5\": \"PHP\",\n \"phtml\": \"PHTML\",\n \"pig\": \"Pig\",\n \"pkgconfig\": \"PkgConfig\",\n \"plpgsql\": \"PL/pgSQL\",\n \"text\": \"plaintext\",\n \"plain\": \"plaintext\",\n \"no-highlight\": \"plaintext\",\n \"plutus-core\": \"Plutus Core\",\n \"plc\": \"Plutus Core\",\n \"pony\": \"Pony\",\n \"postgresql\": \"PostgreSQL SQL dialect\",\n \"postgres\": \"PostgreSQL SQL dialect\",\n \"postscript\": \"PostScript\",\n \"postscr\": \"PostScript\",\n \"pov\": \"POVRay\",\n \"powerquery\": \"PowerQuery\",\n \"pq\": \"PowerQuery\",\n \"powershell\": \"PowerShell\",\n \"posh\": \"PowerShell\",\n \"ps1\": \"PowerShell\",\n \"psm1\": \"PowerShell\",\n \"psd1\": \"PowerShell\",\n \"prolog\": \"Prolog\",\n \"promql\": \"PromQL\",\n \"protobuf\": \"Protocol Buffer\",\n \"proto\": \"Protocol Buffer\",\n \"puppet\": \"Puppet\",\n \"python\": \"Python\",\n \"py\": \"Python\",\n \"sage\": \"Python\",\n \"python3\": \"Python\",\n \"py3\": \"Python\",\n \"python2\": \"Python 2\",\n \"py2\": \"Python 2\",\n \"qbasic\": \"QBasic\",\n \"basic\": \"QBasic\",\n \"qml\": \"QML\",\n \"qbs\": \"QML\",\n \"splus\": \"R\",\n \"s\": \"R\",\n \"r\": \"R\",\n \"racket\": \"Racket\",\n \"rkt\": \"Racket\",\n \"ragel\": \"Ragel\",\n \"perl6\": \"Raku\",\n \"pl6\": \"Raku\",\n \"raku\": \"Raku\",\n \"jsx\": \"react\",\n \"react\": \"react\",\n \"reason\": \"ReasonML\",\n \"reasonml\": \"ReasonML\",\n \"registry\": \"reg\",\n \"rst\": \"reStructuredText\",\n \"rest\": \"reStructuredText\",\n \"restructuredtext\": \"reStructuredText\",\n \"rexx\": \"Rexx\",\n \"arexx\": \"Rexx\",\n \"rb\": \"Ruby\",\n \"ruby\": \"Ruby\",\n \"duby\": \"Ruby\",\n \"rust\": \"Rust\",\n \"rs\": \"Rust\",\n \"sas\": \"SAS\",\n \"sass\": \"Sass\",\n \"scala\": \"Scala\",\n \"scheme\": \"Scheme\",\n \"scm\": \"Scheme\",\n \"scilab\": \"Scilab\",\n \"scss\": \"SCSS\",\n \"sieve\": \"Sieve\",\n \"smalltalk\": \"Smalltalk\",\n \"squeak\": \"Smalltalk\",\n \"st\": \"Smalltalk\",\n \"smarty\": \"Smarty\",\n \"snobol\": \"Snobol\",\n \"sol\": \"Solidity\",\n \"solidity\": \"Solidity\",\n \"sparql\": \"SPARQL\",\n \"sql\": \"SQL\",\n \"squidconf\": \"SquidConf\",\n \"squid\\\\.conf\": \"SquidConf\",\n \"squid\": \"SquidConf\",\n \"sml\": \"Standard ML\",\n \"stylus\": \"Stylus\",\n \"svelte\": \"Svelte\",\n \"swift\": \"Swift\",\n \"systemd\": \"SYSTEMD\",\n \"systemverilog\": \"systemverilog\",\n \"sv\": \"systemverilog\",\n \"tablegen\": \"TableGen\",\n \"tasm\": \"TASM\",\n \"tcl\": \"Tcl\",\n \"tcsh\": \"Tcsh\",\n \"csh\": \"Tcsh\",\n \"termcap\": \"Termcap\",\n \"terminfo\": \"Terminfo\",\n \"terraform\": \"Terraform\",\n \"tf\": \"Terraform\",\n \"tex\": \"TeX\",\n \"latex\": \"TeX\",\n \"thrift\": \"Thrift\",\n \"toml\": \"TOML\",\n \"tradingview\": \"TradingView\",\n \"tv\": \"TradingView\",\n \"tsql\": \"Transact-SQL\",\n \"t-sql\": \"Transact-SQL\",\n \"turing\": \"Turing\",\n \"turtle\": \"Turtle\",\n \"twig\": \"Twig\",\n \"ts\": \"TypeScript\",\n \"tsx\": \"TypeScript\",\n \"typescript\": \"TypeScript\",\n \"typoscript\": \"TypoScript\",\n \"typoscriptcssdata\": \"TypoScriptCssData\",\n \"typoscripthtmldata\": \"TypoScriptHtmlData\",\n \"v\": \"verilog\",\n \"vlang\": \"V\",\n \"vsh\": \"V shell\",\n \"vshell\": \"V shell\",\n \"vb\\\\.net\": \"VB.net\",\n \"vbnet\": \"VB.net\",\n \"verilog\": \"verilog\",\n \"vhdl\": \"VHDL\",\n \"vim\": \"VimL\",\n \"vue\": \"vue\",\n \"vuejs\": \"vue\",\n \"whiley\": \"Whiley\",\n \"xml\": \"XML\",\n \"xorg\\\\.conf\": \"Xorg\",\n \"yaml\": \"YAML\",\n \"yang\": \"YANG\",\n \"zed\": \"Zed\",\n \"zig\": \"Zig\",\n // Custom code type\n \"markdown\": \"Markdown\",\n \"yml\": \"YAML\"\n) !default;\n", + "// Theme colors\n$primary: #1772ee !default;\n$secondary: #919191 !default;\n$success: #13ce66 !default;\n$info: #0dcaf0 !default;\n$warning: #ffba00 !default;\n$danger: #ff4949 !default;\n\n// Theme colors map\n$theme-colors: (\n 'primary': $primary,\n 'secondary': $secondary,\n 'success': $success,\n 'info': $info,\n 'warning': $warning,\n 'danger': $danger\n) !default;\n", + "// Utilities\n\n// property order\n$orders: (\n first: -1,\n 0: 0,\n 1: 1,\n 2: 2,\n 3: 3,\n 4: 4,\n 5: 5,\n last: 6,\n) !default;", + "// ==============================\n// Override Variables\n// 覆盖变量\n// ==============================\n", + "@import '_compatibility';\n@import '_link';\n@import '_blur';\n@import '_details';\n@import '_scrollbar-width';\n@import '_z-index';\n", + "@mixin border-radius($value) {\n -webkit-border-radius: $value;\n -moz-border-radius: $value;\n border-radius: $value;\n}\n\n@mixin box-shadow($values...) {\n -webkit-box-shadow: $values;\n box-shadow: $values;\n}\n\n@mixin transition($values...) {\n -webkit-transition: $values;\n -moz-transition: $values;\n -o-transition: $values;\n transition: $values;\n}\n\n@mixin transform($value) {\n -webkit-transform: $value;\n -ms-transform: $value;\n -o-transform: $value;\n transform: $value;\n}\n\n@mixin filter($value) {\n -webkit-filter: $value;\n filter: $value;\n}\n\n@mixin flex($value) {\n -webkit-flex: $value;\n flex: $value;\n}\n\n@mixin box($orient) {\n display: -moz-box;\n display: -webkit-box;\n display: box;\n\n -webkit-box-orient: $orient;\n -moz-box-orient: $orient;\n box-orient: $orient;\n}\n\n@mixin placeholder($color) {\n input::-webkit-input-placeholder {\n color: $color;\n }\n\n input:-moz-placeholder {\n color: $color;\n }\n\n input::-moz-placeholder {\n color: $color;\n }\n\n input:-ms-input-placeholder {\n color: $color;\n }\n\n input::placeholder {\n color: $color;\n }\n}\n\n@mixin max-content($property) {\n #{$property}: -webkit-max-content;\n #{$property}: -moz-max-content;\n #{$property}: intrinsic;\n #{$property}: max-content;\n}\n\n@mixin tab-size($value) {\n -moz-tab-size: $value;\n -o-tab-size: $value;\n tab-size: $value;\n}\n\n@mixin appearance($value) {\n -moz-appearance: $value;\n -webkit-appearance: $value;\n}\n\n@mixin overflow-wrap($value) {\n word-wrap: $value;\n overflow-wrap: $value;\n}\n\n@mixin line-break($value) {\n -webkit-line-break: $value;\n -ms-line-break: $value;\n line-break: $value;\n}\n\n@mixin object-fit($value) {\n -o-object-fit: $value;\n object-fit: $value;\n font-family: 'object-fit: #{$value};';\n}\n\n@mixin user-select($value) {\n -webkit-user-select: $value !important;\n -moz-user-select: $value !important;\n user-select: $value !important;\n}\n", + "/**\n * Link mixin\n * @param {Boolean} $light use global link color\n * @param {Boolean} $dark use global link color dark\n * @param {String} $decoration text-decoration, default none\n */\n@mixin link($light, $dark, $decoration: none) {\n a,\n a::before,\n a::after {\n text-decoration: $decoration;\n\n @if $light {\n color: $global-link-color;\n }\n\n @else {\n color: $single-link-color;\n }\n\n [data-theme='dark'] & {\n @if $dark {\n color: $global-link-color-dark;\n }\n\n @else {\n color: $single-link-color-dark;\n }\n }\n }\n\n a:active,\n a:hover {\n @if $light {\n color: $global-link-hover-color;\n }\n\n @else {\n color: $single-link-hover-color;\n }\n\n [data-theme='dark'] & {\n @if $dark {\n color: $global-link-hover-color-dark;\n }\n\n @else {\n color: $single-link-hover-color-dark;\n }\n }\n }\n}\n", + "@mixin blur {\n .blur & {\n @include filter(blur(1.5px));\n }\n}\n", + "@mixin details-transition-open {\n @include transition(max-height 0.2s cubic-bezier(0, 1, 0, 1) -0.1s);\n}\n\n@mixin details-transition-close {\n @include transition(max-height 0.2s cubic-bezier(0.5, 0, 1, 0) 0s);\n}\n", + "@mixin scrollbar-width($width: thin, $widthLegacy: 12px) {\n --#{$prefix}scrollbar-width: #{$width};\n --#{$prefix}scrollbar-width-legacy: #{$widthLegacy};\n}\n", + "@mixin z-index($level, $diff: 0) {\n z-index: ($level * 100) + $diff;\n}\n", + ":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Theme colors varibles\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n // Scroll margin top and Stack sticky top related\n --#{$prefix}scroll-mt: calc(#{$header-height} + #{$global-scroll-margin-top});\n\n // Set breadcrumb height to 0px if breadcrumb is disabled\n --#{$prefix}breadcrumb-height: 0px;\n\n // hr style\n --#{$prefix}hr-background-color: #{darken($global-border-color, 5%)};\n --#{$prefix}hr-before-color: #{lighten($single-link-hover-color, 4%)};\n\n // Scrollbar related variables\n --#{$prefix}scrollbar-thumb-color: #{$scrollbar-color};\n --#{$prefix}scrollbar-thumb-hover-color: #{$scrollbar-hover-color};\n --#{$prefix}scrollbar-track-color: transparent;\n --#{$prefix}scrollbar-width: thin;\n --#{$prefix}scrollbar-width-legacy: 12px;\n}\n\n// Dark theme\n[data-theme=dark] {\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{darken($value, 5%)};\n }\n\n --#{$prefix}hr-background-color: #{lighten($global-border-color-dark, 5%)};\n --#{$prefix}hr-before-color: #{darken($global-link-hover-color-dark, 4%)};\n}\n", + "@import \"../../lib/normalize/normalize\";\n\nhtml {\n font-family: $global-font-family;\n font-weight: $global-font-weight;\n font-display: swap;\n font-size: $global-font-size;\n line-height: $global-line-height;\n width: 100%;\n scroll-behavior: smooth;\n overflow: overlay;\n}\n\n@media screen and (prefers-reduced-motion: reduce) {\n html {\n scroll-behavior: auto;\n }\n}\n\n::selection {\n background-color: $selection-color;\n\n [data-theme='dark'] & {\n background-color: $selection-color-dark;\n }\n}\n\nbody {\n background-color: $global-background-color;\n color: $global-font-color;\n @include overflow-wrap(break-word);\n\n [data-theme='dark'] & {\n color: $global-font-color-dark;\n background-color: $global-background-color-dark;\n }\n}\n\niframe {\n border: 0;\n @include border-radius($global-border-radius);\n}\n\n[role='button'] {\n cursor: pointer;\n}\n\nsummary {\n cursor: pointer;\n}\n\nabbr[title] {\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\n@include link(true, true);\n\n@import '../_partials/scrollbar';\n@import '../_partials/mask';\n@import '../_partials/img';\n@import '../_partials/icon';\n@import '../_partials/details';\n@import '../_partials/widgets';\n", + "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput { /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect { /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n", + "/* Modern browsers with `scrollbar-*` support (high priority) */\n@supports (scrollbar-width: auto) {\n * {\n scrollbar-color: var(--#{$prefix}scrollbar-thumb-color) var(--#{$prefix}scrollbar-track-color);;\n scrollbar-width: var(--#{$prefix}scrollbar-width);\n }\n}\n\n/* Legacy browsers with `::-webkit-scrollbar-*` support */\n::-webkit-scrollbar {\n height: var(--#{$prefix}scrollbar-width-legacy);\n width: var(--#{$prefix}scrollbar-width-legacy);\n overflow: visible;\n}\n::-webkit-scrollbar-button {\n height: 0;\n width: 0;\n}\n::-webkit-scrollbar-corner {\n background-color: var(--#{$prefix}scrollbar-track-color);\n}\n::-webkit-scrollbar-thumb {\n background-color: var(--#{$prefix}scrollbar-thumb-color);\n &:hover {\n background-color: var(--#{$prefix}scrollbar-thumb-hover-color);\n }\n}\n::-webkit-scrollbar-track {\n background-color: var(--#{$prefix}scrollbar-track-color);\n}\n::-webkit-scrollbar-thumb,\n::-webkit-scrollbar-track {\n background-clip: padding-box;\n border: 3px solid transparent;\n border-radius: 100px;\n}\n", + "#mask {\n background-repeat: no-repeat;\n background-position: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0);\n @include z-index(0, -1);\n\n .blur & {\n @include z-index(1);\n background-color: rgba(0, 0, 0, 0.25);\n }\n}\n", + "img {\n @include border-radius($global-border-radius/2);\n}\n", + "svg.icon {\n display: inline-block;\n width: 1.25em;\n height: 1em;\n text-align: center;\n\n path {\n fill: currentColor;\n }\n}\n\nimg.emoji {\n display: inline-block;\n height: 1em;\n width: 1em;\n margin: 0 0.05em 0 0.1em;\n vertical-align: -0.1em;\n}\n\n.hugo-icon,\n.fixit-icon {\n display: inline-block;\n height: 1.2em;\n width: 1.2em;\n line-height: 1.2em;\n position: relative;\n vertical-align: text-bottom;\n}\n", + ".details {\n > .details-summary {\n @include border-radius($global-border-radius);\n\n &:hover {\n cursor: pointer;\n }\n\n i.details-icon {\n color: $global-font-secondary-color;\n @include transition(transform 0.2s ease);\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n\n > .details-content {\n max-height: 0;\n overflow-y: hidden;\n @include details-transition-open;\n }\n\n &.open {\n > .details-summary {\n @include border-radius($global-border-radius $global-border-radius 0 0);\n\n i.details-icon {\n @include transform(rotate(90deg));\n }\n }\n\n > .details-content {\n max-height: 100%;\n @include border-radius(0 0 $global-border-radius $global-border-radius);\n @include details-transition-close;\n }\n }\n\n &.disabled {\n > .details-summary {\n cursor: default;\n }\n }\n}\n", + "@import '_widgets/cookieconsent';\n@import '_widgets/fixed-button';\n@import '_widgets/github-corner';\n@import '_widgets/noscript-warning';\n@import '_widgets/reading-progress';\n@import '_widgets/typeit';\n", + ".cc-window.cc-banner {\n .cc-btn {\n color: $global-font-color;\n\n &:hover,\n &:focus {\n background-color: #ccc;\n }\n\n [data-theme='dark'] & {\n color: $global-font-color;\n\n &:hover,\n &:focus {\n background-color: #fff;\n }\n }\n }\n}\n", + ".fixed-button {\n position: fixed;\n right: 1.5rem;\n font-size: 1rem;\n line-height: 1.5rem;\n padding: 0.5rem 0.625rem;\n color: $global-font-secondary-color;\n background-color: $header-background-color;\n @include z-index(1);\n @include border-radius(1.25rem);\n @include transition(color 0.4s ease);\n @include blur;\n @extend .print-d-none;\n\n &:hover,\n &:active {\n color: $global-font-color;\n cursor: pointer;\n }\n\n &:active,\n &:focus,\n &:hover {\n outline: none;\n }\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n background-color: $header-background-color-dark;\n\n &:hover,\n &:active {\n color: $global-font-color-dark;\n }\n }\n}\n\n.back-to-top {\n bottom: 1.5rem;\n}\n\n.view-comments {\n bottom: 4.5rem;\n}\n", + "@keyframes octocat-wave {\n 0%,\n 100% {\n @include transform(rotate(0));\n }\n 20%,\n 60% {\n @include transform(rotate(-25deg));\n }\n 40%,\n 80% {\n @include transform(rotate(10deg));\n }\n}\n\n.github-corner {\n position: fixed;\n top: 0;\n @include z-index(2);\n @extend .print-d-none;\n\n :hover .octo-arm {\n animation: octocat-wave 560ms ease-in-out;\n }\n svg {\n width: $header-height;\n height: $header-height;\n border: 0;\n color: $github-corner-color;\n fill: $github-corner-fill;\n\n [data-theme='dark'] & {\n color: $github-corner-color-dark;\n fill: $github-corner-fill-dark;\n }\n }\n &.left {\n left: 0;\n\n svg {\n @include transform(scale(-1, 1));\n }\n }\n &.right {\n right: 0;\n }\n}\n", + ".noscript-warning {\n background-color: var(--#{$prefix}danger);\n color: white;\n font-size: 1rem;\n font-weight: bold;\n position: fixed;\n text-align: center;\n left: 0;\n bottom: 0;\n width: 100%;\n @include z-index(2);\n\n [data-theme='dark'] & {\n background-color: var(--#{$prefix}danger-dark);\n }\n}\n", + ".reading-progress-bar {\n --progress: 0;\n height: var(--progress-h, 2px);\n width: var(--progress);\n background-color: var(--bg-progress, var(--#{$prefix}info));\n position: fixed;\n @include z-index(2);\n @extend .print-d-none;\n \n [data-theme=\"dark\"] & {\n background-color: var(--bg-progress-dark, var(--#{$prefix}info-dark));\n }\n}\n", + ".typeit {\n .highlight {\n padding: 0.375rem;\n font-size: 0.875rem;\n font-family: $code-font-family;\n font-weight: bold;\n word-break: break-all;\n white-space: pre-wrap;\n }\n\n --ti-cursor-font-family: #{$global-font-family};\n --ti-cursor-transform: translateX(0);\n}\n", + "/** Layout **/\n.wrapper {\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n width: 100%;\n\n main {\n flex: 1 0 auto;\n\n aside {\n flex: 1;\n padding: 0.5rem;\n\n &:not(:has(~ aside)) {\n display: none;\n }\n }\n\n &.container {\n display: flex;\n align-items: flex-start;\n justify-content: center;\n padding-inline: 1rem;\n gap: 0.5rem;\n\n &.container-reverse {\n flex-direction: row-reverse;\n }\n\n &:has(.home:not(.posts)) {\n align-items: center;\n }\n }\n }\n}\n\n@import \"_header\";\n@import \"_breadcrumb\";\n@import \"_footer\";\n@import \"_pagination\";\n", + "header {\n width: 100%;\n background-color: $header-background-color;\n @include z-index(2);\n @include transition(box-shadow 0.3s ease);\n @extend .print-d-none;\n\n [data-theme='dark'] & {\n background-color: $header-background-color-dark;\n }\n\n &:hover {\n @include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.1));\n\n [data-theme='dark'] & {\n @include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.1));\n }\n }\n}\n\n.header-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n}\n\n.header-title {\n font-family: $header-title-font-family;\n font-weight: bold;\n margin-right: 0.5rem;\n min-width: 10%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n @include flex(10);\n\n .logo {\n min-height: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n width: auto;\n }\n\n .header-title-text {\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n\n .header-subtitle {\n margin-left: 0.25rem;\n font-size: 0.6em;\n }\n}\n\n.menu {\n margin: 0;\n padding: 0;\n\n .menu-item-divider {\n list-style: none;\n margin: 0.25rem 0.5rem;\n height: 1px;\n background-color: $menu-border-color;\n\n [data-theme='dark'] & {\n background-color: $menu-border-color-dark;\n }\n }\n\n .menu-item {\n list-style: none;\n\n & .dropdown-icon {\n margin-left: 0.25rem;\n font-size: .875em;\n color: $global-font-color;\n\n [data-theme='dark'] & {\n color: $global-font-color-dark;\n }\n\n &.open::before {\n content: \"\\f078\";\n }\n }\n\n &.active {\n >.menu-link,\n >.nested-item>.menu-link {\n font-weight: bold;\n color: $menu-active-color;\n\n [data-theme='dark'] & {\n color: $menu-active-color-dark;\n }\n }\n }\n\n .menu-link i {\n @include transform(perspective(1rem));\n @include transition(transform 0.4s ease);\n }\n\n .menu-link:hover i {\n @include transform(perspective(1rem) translateZ(0.2rem));\n }\n\n &.language-switch,\n &.theme-switch {\n cursor: pointer;\n }\n }\n}\n\n.search {\n position: relative;\n\n input {\n color: transparent;\n box-sizing: border-box;\n height: 2.5rem;\n width: 1.25rem;\n @include border-radius(0.5rem);\n border: none;\n outline: none;\n background-color: transparent;\n vertical-align: baseline !important;\n @include transition(width 0.3s ease);\n }\n\n @include placeholder(transparent);\n\n .search-button {\n margin: 0;\n position: absolute;\n left: auto;\n right: 1rem;\n }\n\n .search-toggle {\n left: 0.5rem;\n right: auto;\n\n #header-desktop.open & {\n left: 1rem;\n }\n }\n\n .search-loading {\n display: none;\n }\n\n .search-clear {\n display: none;\n }\n\n .open &,\n &.mobile {\n input {\n color: $global-font-color;\n background-color: $search-background-color;\n padding: 0 2rem 0 2rem;\n }\n\n [data-theme='dark'] & {\n input {\n color: $global-font-color-dark;\n background-color: $search-background-color-dark;\n }\n\n @include placeholder($global-font-secondary-color-dark);\n }\n\n @include placeholder($global-font-secondary-color);\n\n .search-button {\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n .search-clear:hover {\n color: #ff6b6b;\n }\n\n .search-toggle:hover {\n cursor: default;\n }\n }\n}\n\n.theme-switch {\n i {\n @include transform(rotate(225deg));\n @include transition(transform 0.4s ease);\n }\n\n &:hover i {\n @include transform(rotate(45deg));\n }\n}\n\n#header-desktop {\n display: block;\n position: sticky;\n top: 0;\n height: $header-height;\n line-height: $header-height;\n box-sizing: border-box;\n\n [data-header-desktop='normal'] & {\n position: static;\n }\n\n nav {\n overflow: hidden;\n white-space: nowrap;\n }\n\n .header-wrapper {\n // use css native function to calculate max value\n padding: 0 2rem 0 MAX(10vh, $header-height);\n height: 100%;\n\n &[data-github-corner='right'] {\n padding-right: $header-height;\n }\n\n .header-title {\n font-size: $header-title-font-size;\n height: 100%;\n }\n\n .menu {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n float: right;\n\n >.menu-item {\n &:hover .sub-menu {\n display: block;\n @include transform(translateX(-0.5rem));\n }\n &.language-switch:hover .sub-menu {\n @include transform(translateX(calc(1.75rem - 100%)));\n }\n }\n\n .menu-item {\n padding: 0 0.5rem;\n\n &.delimiter {\n width: 0;\n margin: 0.125rem 0.25rem;\n padding: 0;\n border-left: 1px dashed lighten($global-font-secondary-color, 15%);\n\n [data-theme='dark'] & {\n border-left-color: darken($global-font-secondary-color-dark, 15%);\n }\n }\n }\n\n .sub-menu {\n position: absolute;\n margin: 0;\n padding: 0.25rem 0;\n display: none;\n top: calc(#{$header-height} - 0.75rem);\n border-radius: $global-border-radius;\n border: 1px solid $menu-border-color;\n background-color: $header-background-color;\n @include transition(box-shadow 0.3s ease);\n @include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.1));\n\n [data-theme='dark'] & {\n background-color: $header-background-color-dark;\n border-color: $menu-border-color-dark;\n @include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.1));\n }\n\n .menu-item {\n height: $submenu-height;\n line-height: $submenu-height;\n max-width: 15rem;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow-x: hidden;\n }\n }\n }\n }\n\n &.open .header-wrapper .menu .menu-item.search {\n input {\n width: 24rem;\n }\n }\n}\n\n#header-mobile {\n display: none;\n position: sticky;\n top: 0;\n min-height: $header-height;\n line-height: $header-height;\n\n [data-header-mobile='normal'] & {\n position: static;\n }\n\n .header-container {\n padding: 0;\n margin: 0;\n\n .header-wrapper {\n padding: 0 1rem;\n font-size: 1.125rem;\n @include transition(margin-top 0.3s ease);\n\n .header-title {\n font-size: $header-title-font-size;\n max-width: 80%;\n }\n\n .menu-toggle {\n line-height: 4rem;\n cursor: pointer;\n @include transition(width 0.3s ease);\n\n span {\n display: block;\n background: $global-font-color;\n width: 1.5rem;\n height: 2px;\n @include border-radius(3px);\n @include transition(all 0.3s ease-in-out);\n\n [data-theme='dark'] & {\n background: $global-font-color-dark;\n }\n }\n\n span:nth-child(1) {\n margin-bottom: 0.5rem;\n }\n\n span:nth-child(3) {\n margin-top: 0.5rem;\n }\n\n &.active {\n span:nth-child(1) {\n @include transform(rotate(45deg) translate(0.4rem, 0.5rem));\n }\n\n span:nth-child(2) {\n opacity: 0;\n }\n\n span:nth-child(3) {\n @include transform(rotate(-45deg) translate(0.4rem, -0.5rem));\n }\n }\n }\n }\n\n .menu {\n background: $header-background-color;\n border-top: 2px solid $global-border-color;\n display: none;\n overflow-y: overlay;\n max-height: 70vh;\n @include box-shadow(0 0.125rem 0.25rem rgba(0, 0, 0, 0.1));\n @include scrollbar-width(none, 0);\n\n [data-theme='dark'] & {\n @include box-shadow(0 0.125rem 0.25rem rgba(255, 255, 255, 0.1));\n }\n\n .search-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n padding: ($header-height - 2.5rem) / 2 1rem;\n line-height: 2.5rem;\n position: sticky;\n top: 0;\n background-color: $header-background-color;\n @include z-index(0, 50);\n \n [data-theme='dark'] & {\n background-color: $header-background-color-dark;\n }\n }\n\n .search {\n flex-grow: 10;\n\n .algolia-autocomplete,\n input {\n width: 100%;\n }\n }\n\n .search-loading,\n .search-clear {\n right: 0.5rem;\n }\n\n .search-button {\n top: 0;\n }\n\n .search-cancel {\n display: none;\n margin-left: 0.75rem;\n }\n\n .menu-item {\n display: block;\n position: relative;\n line-height: 2.5rem;\n padding: 0 1rem;\n\n &:not(.menu-system):hover {\n background-color: lighten($global-font-secondary-color, 24%);\n\n [data-theme='dark'] & {\n background-color: darken($global-font-secondary-color-dark, 24%);\n }\n }\n\n .menu-link {\n display: block;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow-x: hidden;\n @include flex(4);\n }\n\n & .nested-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n .menu-link {\n max-width: 80%;\n }\n }\n }\n\n .menu-system {\n display: flex;\n justify-content: center;\n gap: 0.25rem;\n position: sticky;\n bottom: 0;\n line-height: 2.5rem;\n padding: 0 1rem;\n background-color: $header-background-color;\n \n [data-theme='dark'] & {\n background-color: $header-background-color-dark;\n }\n\n .menu-system-item {\n padding-inline: 0.5rem;\n }\n\n .language-switch {\n position: relative;\n\n .language-select {\n position: absolute;\n opacity: 0;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n }\n }\n }\n\n .sub-menu {\n padding-left: 0;\n display: none;\n\n &.open {\n display: block;\n }\n\n .menu-item:hover {\n background-color: lighten($global-font-secondary-color, 20%);\n\n [data-theme='dark'] & {\n background-color: darken($global-font-secondary-color-dark, 20%);\n }\n }\n }\n\n &.active {\n display: block;\n }\n\n [data-theme='dark'] & {\n background: $header-background-color-dark;\n border-top-color: $global-border-color-dark;\n }\n }\n }\n\n &.open {\n .header-wrapper {\n margin-top: -$header-height;\n }\n\n .menu {\n padding-top: 0;\n border-top: none;\n\n .menu-item {\n display: none;\n }\n\n .search-cancel {\n display: inline;\n }\n }\n }\n}\n\n.search-dropdown {\n position: fixed;\n top: $header-height;\n @include z-index(2);\n @include box-shadow(0 0.125rem 0.25rem rgba(0, 0, 0, 0.1));\n\n [data-theme='dark'] & {\n @include box-shadow(0 0.125rem 0.25rem rgba(255, 255, 255, 0.1));\n }\n\n &.desktop {\n right: 2rem;\n width: 30rem;\n }\n\n &.mobile {\n right: 0;\n width: 100%;\n }\n\n .dropdown-menu {\n right: 0 !important;\n background-color: $global-background-color;\n\n [data-theme='dark'] & {\n background-color: $global-background-color-dark;\n }\n\n .suggestions {\n overflow-y: auto;\n max-height: calc(100vh - #{$header-height});\n\n .suggestion {\n padding: 0.75rem 1rem;\n\n .suggestion-title {\n display: inline-block;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 1rem;\n font-weight: bold;\n max-width: 75%;\n }\n\n .suggestion-date {\n font-size: 0.875rem;\n float: right;\n text-align: right;\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n .suggestion-context {\n line-height: 1.25rem;\n @include box(vertical);\n -webkit-line-clamp: 2;\n overflow: hidden;\n text-overflow: ellipsis;\n @include overflow-wrap(break-word);\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n em {\n font-style: normal;\n background-color: $selection-color;\n\n [data-theme='dark'] & {\n background-color: $selection-color-dark;\n }\n }\n\n &.cursor {\n background: darken($code-background-color, 5%);\n\n [data-theme='dark'] & {\n background: lighten($code-background-color-dark, 5%);\n }\n }\n\n &:hover {\n cursor: pointer;\n }\n }\n }\n\n .search-empty {\n padding: 1rem;\n text-align: center;\n\n .search-query {\n font-weight: bold;\n\n [data-theme='dark'] & {\n color: #ddd;\n }\n }\n }\n\n .search-footer {\n padding: 0.5rem 1rem;\n float: right;\n font-size: 0.8rem;\n color: $global-font-secondary-color;\n\n [data-theme='dark'] {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, false);\n\n a {\n font-size: 1rem;\n }\n }\n }\n}\n", + ".breadcrumb-container {\n padding-inline: 1rem;\n font-size: 0.75rem;\n background-color: $global-background-color;\n @include z-index(1);\n @extend .print-d-none;\n\n [data-theme='dark'] & {\n background-color: $global-background-color-dark;\n }\n\n &.sticky {\n position: sticky;\n top: $header-height;\n }\n\n .breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.5rem 0;\n margin: 0 auto;\n list-style: none;\n border-bottom: 1px inset $global-border-color;\n @extend %page-style;\n\n [data-theme='dark'] & {\n border-bottom-color: $global-border-color-dark;\n }\n\n .breadcrumb-item {\n display: flex;\n\n + .breadcrumb-item::before {\n content: attr(data-separator);\n display: inline-block;\n padding-inline: 0.5rem;\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n &.active {\n color: var(--#{$prefix}secondary);\n }\n }\n }\n}\n", + "footer {\n height: auto;\n width: 100%;\n text-align: center;\n line-height: 1.25rem;\n padding: 1rem 0;\n @extend .print-d-none;\n\n .footer-container {\n display: flex;\n flex-direction: column;\n font-size: 0.875rem;\n\n .footer-line {\n width: 100%;\n\n .footer-divider:not(:first-child)::before {\n content: '|';\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n\n .animate-icon {\n color: #dc143c;\n animation: icon-animate 1.33s ease-in-out infinite;\n }\n\n .run-times {\n font-variant-numeric: tabular-nums lining-nums;\n }\n }\n }\n\n @include blur;\n}\n\n@keyframes icon-animate {\n 0%,\n 100% {\n @include transform(scale(1));\n }\n\n 10%,\n 30% {\n @include transform(scale(0.9));\n }\n\n 20%,\n 40%,\n 60%,\n 80% {\n @include transform(scale(1.1));\n }\n\n 50%,\n 70% {\n @include transform(scale(1.1));\n }\n}\n", + ".pagination {\n display: flex;\n flex-direction: row;\n justify-content: center;\n flex-wrap: wrap;\n list-style: none;\n white-space: nowrap;\n width: 100%;\n padding: 1rem 0;\n\n a {\n font-size: 0.8rem;\n color: $pagination-link-color;\n letter-spacing: 0.1rem;\n font-weight: 700;\n padding: 5px 5px;\n text-decoration: none;\n @include transition(0.3s);\n\n [data-theme='dark'] & {\n color: $pagination-link-color-dark;\n }\n }\n\n li {\n padding: 5px;\n margin: 0 10px;\n box-sizing: border-box;\n position: relative;\n display: inline;\n\n &.disabled {\n display: none;\n }\n\n &:hover a {\n color: $pagination-link-hover-color;\n }\n\n [data-theme='dark'] &:hover a {\n color: $pagination-link-hover-color-dark;\n }\n\n &::before,\n &::after {\n position: absolute;\n content: '';\n width: 0;\n height: 3px;\n background: $pagination-link-hover-color;\n @include transition(0.3s);\n bottom: 0px;\n }\n\n [data-theme='dark'] &::before,\n [data-theme='dark'] &::after {\n background: $pagination-link-hover-color-dark;\n }\n\n &::before {\n left: 50%;\n }\n\n &::after {\n right: 50%;\n }\n\n &:hover {\n &::before,\n &::after {\n width: 50%;\n }\n }\n\n &.active {\n a {\n color: $pagination-link-hover-color;\n }\n\n [data-theme='dark'] & a {\n color: $pagination-link-hover-color-dark;\n }\n\n &::before,\n &::after {\n width: 50%;\n }\n }\n }\n}\n", + "// ==============================\n// Common Styles\n// 常用样式\n// ==============================\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.text-start {\n text-align: left !important;\n}\n.text-end {\n text-align: right !important;\n}\n.text-center {\n text-align: center !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.ms-1,\n.mx-1 {\n margin-left: 0.25em !important;\n}\n.me-1,\n.mx-1 {\n margin-right: 0.25em !important;\n}\n.ps-1,\n.px-1 {\n padding-left: 0.25em !important;\n}\n.pe-1,\n.px-1 {\n padding-right: 0.25em !important;\n}\n\n@each $color, $value in $theme-colors {\n .text-#{$color} {\n color: var(--#{$prefix}#{$color}) !important;\n }\n}\n\n@each $key, $value in $orders {\n .order-#{$key} {\n order: #{$value} !important;\n }\n}\n\n.variant-numeric {\n font-variant-numeric: tabular-nums lining-nums;\n}\n", + ".page {\n position: relative;\n @extend %page-style;\n\n .content {\n [id] {\n scroll-margin-top: var(--#{$prefix}scroll-mt);\n }\n }\n\n @include blur;\n}\n\n@import '_single';\n@import '_special';\n@import '_archive';\n@import '_home';\n@import '_404';\n@import '_offline';\n@import '_friends';\n", + "@import '../_partials/_single/toc';\n@import '../_partials/_single/fixit-decryptor';\n@import '../_partials/_single/collections';\n\n.single {\n .single-title {\n padding: 1rem 0 0.5rem;\n margin: 0;\n font-size: 1.6rem;\n font-weight: bold;\n line-height: 140%;\n\n .icon-pin {\n display: inline-block;\n width: max-content;\n transform: rotate(30deg);\n margin-right: 0.25em;\n color: var(--#{$prefix}danger);\n }\n\n .icon-repost {\n display: inline-block;\n width: max-content;\n margin-right: 0.25em;\n color: var(--#{$prefix}success);\n }\n }\n\n .single-subtitle {\n margin-block: 0 0.5rem;\n font-size: 1.2rem;\n font-weight: normal;\n line-height: 1.15;\n }\n\n .post-meta {\n font-size: 0.875rem;\n color: $global-font-secondary-color;\n\n .comment-visitors,\n .comment-count {\n @extend .print-d-none;\n }\n\n span {\n display: inline-block;\n }\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, true);\n\n .author {\n font-size: 1.05rem;\n\n img.avatar {\n width: 1.3rem;\n height: 1.3rem;\n border-radius: 50%;\n vertical-align: text-bottom;\n border: 0.25px solid $global-border-color;\n box-sizing: border-box;\n object-position: center;\n @include object-fit(cover);\n\n [data-theme='dark'] & {\n border-color: $global-border-color-dark;\n }\n }\n }\n }\n\n .featured-image {\n margin: 1rem 0;\n\n img {\n display: block;\n width: 100%;\n max-width: 100%;\n height: auto;\n margin: 0 auto;\n overflow: hidden;\n }\n }\n\n #content[data-end-flag]:not([data-password])::after {\n content: attr(data-end-flag);\n display: block;\n text-align: center;\n color: $global-font-secondary-color;\n font-size: 15px;\n padding: 5px;\n }\n\n hr {\n position: relative;\n height: 1em;\n background: linear-gradient(to right, var(--#{$prefix}hr-background-color) 50%, transparent 50%);\n background-size: 10px 2px;\n background-position: center;\n background-repeat: repeat-x;\n border: none;\n\n &.awesome-hr {\n margin-block: 0.5em;\n\n &::before {\n display: inline-block;\n font-weight: 600;\n font-family: 'Font Awesome 6 Free';\n text-rendering: auto;\n -webkit-font-smoothing: antialiased;\n position: absolute;\n left: 5%;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n color: var(--#{$prefix}hr-before-color);\n content: '\\f0c4';\n font-size: 20px;\n line-height: 1;\n transition: left 1s ease-in-out, color 0.3s ease, border-color 0.3s ease;\n }\n \n &:hover::before {\n left: calc(95% - 20px);\n }\n }\n }\n\n .content {\n margin-block: 1rem;\n > h1,\n > h2 {\n font-size: 1.5em;\n padding-bottom: 0.3em;\n border-bottom: 1px solid $global-border-color;\n }\n\n > h3 {\n font-size: 1.25em;\n }\n\n > h4 {\n font-size: 1em;\n }\n\n > h5 {\n font-size: 0.875em;\n }\n\n > h6 {\n font-size: 0.85em;\n }\n\n > .heading-element {\n display: flex;\n font-weight: bold;\n line-height: 1.25;\n margin-top: 1.5rem;\n margin-bottom: 1rem;\n\n [data-theme='dark'] & {\n font-weight: bolder;\n }\n\n code {\n padding: 0 .2em;\n font-size: inherit;\n }\n\n &:hover,\n &:target {\n > .heading-mark {\n opacity: 1;\n }\n }\n\n > .heading-mark {\n display: inline-flex;\n align-items: center;\n opacity: 0;\n padding-inline: 0.5rem;\n transition: all 0.2s ease-in-out;\n @include link(false, false);\n\n svg {\n fill: currentColor;\n }\n }\n }\n\n p {\n margin: 0.5rem 0;\n }\n\n b,\n strong {\n font-weight: bold;\n\n [data-theme='dark'] & {\n color: #ddd;\n }\n }\n\n @include link(false, false);\n\n a {\n white-space: normal;\n @include overflow-wrap(break-word);\n\n [data-theme='dark'] & b,\n [data-theme='dark'] & strong {\n color: $single-link-color-dark;\n }\n }\n\n [data-theme='dark'] a:hover b,\n [data-theme='dark'] a:hover strong {\n color: $single-link-hover-color-dark;\n }\n\n ul,\n ol,\n dl {\n margin-block: 0.5em;\n }\n\n ul {\n list-style-type: disc;\n }\n\n dl {\n dt {\n font-weight: bold;\n }\n dd {\n margin: 0.25em 0 1em;\n }\n }\n\n ruby {\n background: $code-background-color;\n\n rt {\n color: $global-font-secondary-color;\n }\n\n [data-theme='dark'] & {\n background: $code-background-color-dark;\n\n rt {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n\n .table-wrapper {\n overflow-x: auto;\n --#{$prefix}scrollbar-thumb-color: #{$table-background-color};\n\n [data-theme='dark'] & {\n --#{$prefix}scrollbar-thumb-color: #{$table-background-color-dark};\n }\n\n > table {\n width: 100%;\n max-width: 100%;\n margin: 0.625rem 0;\n border-spacing: 0;\n background: $table-background-color;\n border-collapse: collapse;\n\n [data-theme='dark'] & {\n background: $table-background-color-dark;\n }\n\n thead {\n background: $table-thead-color;\n\n [data-theme='dark'] & {\n background-color: $table-thead-color-dark;\n }\n }\n\n &:not([class]) tbody {\n & tr:nth-child(odd) {\n background: darken($table-background-color, 2.25%);\n\n [data-theme='dark'] & {\n background-color: lighten($table-background-color-dark, 2.75%);\n }\n }\n\n & tr:hover {\n background: darken($table-background-color, 4.5%);\n\n [data-theme='dark'] & {\n background-color: lighten($table-background-color-dark, 5.5%);\n }\n }\n }\n\n th,\n td {\n padding: 0.3rem 1rem;\n border: 1px solid darken($table-thead-color, 2%);\n\n [data-theme='dark'] & {\n border-color: darken($table-thead-color-dark, 2%);\n }\n }\n }\n }\n\n img {\n max-width: 100%;\n min-height: 1em;\n\n &:not([height]) {\n height: auto;\n }\n\n &[loading='lazy'][srcset]:not([data-lazyloaded]) {\n &:not(.suffix-invalid__small) {\n width: var(--width-small, var(--width));\n aspect-ratio: var(--aspect-ratio-small, var(--aspect-ratio));\n }\n\n &:not(.suffix-invalid) {\n @media (min-resolution: 1.01dppx) and (max-resolution: 1.5dppx) {\n width: calc(var(--width) / 1.5);\n aspect-ratio: var(--aspect-ratio);\n }\n }\n\n &:not(.suffix-invalid__large) {\n @media (min-resolution: 1.51dppx) {\n width: calc(var(--width-large, var(--width)) / 2);\n aspect-ratio: var(--aspect-ratio-large, var(--aspect-ratio));\n }\n }\n }\n\n &.version {\n height: 1.25em;\n vertical-align: text-bottom;\n }\n }\n svg {\n max-width: 100%;\n }\n\n figure {\n margin: 0.5rem;\n text-align: center;\n\n .image-caption:not(:empty) {\n min-width: 20%;\n max-width: 80%;\n display: inline-block;\n padding: 0.5rem;\n margin: 0 auto;\n font-size: 0.875rem;\n color: #969696;\n }\n\n img {\n display: block;\n margin: 0 auto;\n overflow: hidden;\n }\n }\n\n blockquote {\n display: block;\n border-left: 0.25em solid $global-border-color;\n color: $blockquote-color;\n padding: 0 1em;\n margin: 1rem 0;\n\n ul,\n ol {\n padding-left: 1.5em;\n }\n\n dl dd {\n margin-inline-start: 0.25em;\n }\n\n [data-theme='dark'] & {\n color: $blockquote-color-dark;\n border-left-color: $global-border-color-dark;\n }\n\n @include link(false, true);\n }\n\n sup[id^='fnref']:has(.footnote-ref) {\n padding: 2px 4px;\n background-color: rgba(238, 238, 238, 0.7);\n color: #555555;\n border-radius: 4px;\n cursor: pointer;\n\n [data-theme='dark'] & {\n background-color: rgba(56, 139, 253, 0.1);\n color: #58a6ff;\n }\n\n @include link(true, false);\n }\n\n .footnotes {\n font-size: 0.75rem;\n white-space: normal;\n color: darken($global-font-secondary-color, 5%);\n\n ol {\n margin-block: 1em;\n padding-left: 1rem;\n }\n \n hr {\n background-color: var(--#{$prefix}hr-background-color);\n height: 1px;\n margin-block: 1em;\n }\n\n code {\n font-size: 0.75rem;\n }\n\n a:not(.footnote-backref) {\n color: inherit;\n text-decoration: underline;\n }\n\n @include link(false, true);\n\n [data-theme='dark'] & {\n color: lighten($global-font-secondary-color-dark, 5%);\n }\n\n p {\n margin: 0.25rem 0;\n }\n }\n\n hr {\n margin-block: 0;\n }\n\n kbd {\n display: inline-block;\n padding: 0 0.25rem;\n background-color: $global-background-color;\n border: 1px solid $global-border-color;\n font-size: 0.8rem;\n font-family: $code-font-family;\n color: $code-color;\n @include border-radius($global-border-radius);\n @include box-shadow(inset 0 -1px 0 $global-border-color);\n\n [data-theme='dark'] & {\n background-color: $global-background-color-dark;\n border: 1px solid $global-border-color-dark;\n color: $code-color-dark;\n @include box-shadow(inset 0 -1px 0 $global-border-color-dark);\n }\n }\n\n @import '../_partials/_single/alert';\n @import '../_partials/_single/code';\n @import '../_shortcodes';\n }\n\n @import '../_partials/_single/reward';\n @import '../_partials/_single/footer';\n @import '../_partials/_single/comment';\n}\n\n.lg-toolbar .lg-icon::after {\n color: #999;\n}\n", + ".toc {\n .toc-title {\n font-size: $toc-title-font-size;\n font-weight: bold;\n text-transform: uppercase;\n }\n\n .toc-content {\n font-size: $toc-content-font-size;\n\n ul {\n text-indent: -0.8em;\n padding-left: 0.8em;\n list-style: none;\n\n a:first-child::before {\n content: '|';\n font-weight: bolder;\n margin-right: 0.5em;\n position: relative;\n bottom: 2px;\n color: $single-link-color;\n\n [data-theme='dark'] & {\n color: $single-link-color-dark;\n }\n }\n\n ul {\n padding-left: 1em;\n }\n }\n\n ol {\n margin: 0;\n padding-left: 2.25em;\n\n ol {\n padding-left: 1.25em;\n }\n\n li:has(> a:hover)::marker {\n color: $single-link-color;\n\n [data-theme='dark'] & {\n color: $single-link-color-dark;\n }\n }\n }\n }\n\n ruby {\n background: $code-background-color;\n\n rt {\n color: $global-font-secondary-color;\n }\n\n [data-theme='dark'] & {\n background: $code-background-color-dark;\n\n rt {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n}\n\n#toc-auto {\n display: block;\n position: sticky;\n top: calc(#{$header-height} + var(--#{$prefix}breadcrumb-height));\n box-sizing: border-box;\n visibility: hidden;\n @include overflow-wrap(break-word);\n @include blur;\n @extend .print-d-none;\n\n [data-header-desktop='normal'] & {\n --#{$prefix}scroll-mt: #{$global-scroll-margin-top};\n }\n\n .toc-title {\n margin-block: 0 0.5em;\n cursor: pointer;\n @include user-select(none);\n\n &::before {\n content: '|';\n font-weight: bolder;\n margin-right: 0.5em;\n position: relative;\n bottom: 2px;\n color: $global-border-color;\n\n [data-theme='dark'] & {\n color: $global-border-color-dark;\n }\n }\n\n i.toc-icon {\n @include transition(transform 0.2s ease);\n }\n }\n\n &.toc-hidden i.toc-icon {\n @include transform(rotate(-90deg));\n @include transition(transform 0.2s ease);\n }\n\n .toc-content {\n overflow-y: scroll;\n max-height: calc(100vh - #{2*$header-height});\n @include scrollbar-width(none, 0);\n\n &.always-active ul,\n &.always-active ol {\n display: block;\n }\n\n > nav > ul {\n margin: 0;\n }\n\n li.has-active {\n &::marker {\n color: $single-link-color;\n\n [data-theme='dark'] & {\n color: $single-link-color-dark;\n }\n }\n\n &:has(> .active)::marker {\n font-weight: bold;\n }\n\n > a {\n color: $single-link-color;\n\n [data-theme='dark'] & {\n color: $single-link-color-dark;\n }\n }\n }\n\n // for unordered list automatically collapsed\n ul {\n ul {\n display: none;\n }\n\n .has-active > ul {\n display: block;\n }\n\n a.active::before {\n color: $single-link-hover-color;\n\n [data-theme='dark'] & {\n color: $single-link-hover-color-dark;\n }\n }\n }\n\n // for ordered list automatically collapsed\n ol {\n ol {\n display: none;\n }\n\n .has-active > ol {\n display: block;\n }\n }\n\n a.active {\n font-weight: bold;\n }\n }\n}\n\n#toc-static {\n display: none;\n margin: 0.8em 0;\n\n &[data-kept='true'] {\n display: block;\n }\n\n .toc-title {\n display: flex;\n justify-content: space-between;\n line-height: 2em;\n padding: 0 0.75em;\n background: darken($code-background-color, 3%);\n\n [data-theme='dark'] & {\n background: darken($code-background-color-dark, 6%);\n }\n }\n\n .toc-content {\n background-color: $code-background-color;\n\n > nav {\n > ul {\n margin: 0;\n padding: 0.4em 1em 0.4em 1.8em;\n\n a:hover {\n font-weight: bold;\n\n &::before {\n color: $single-link-hover-color;\n \n [data-theme='dark'] & {\n color: $single-link-hover-color-dark;\n }\n }\n }\n }\n \n > ol {\n margin: 0;\n padding: 0.4em 1em 0.4em 2.25em;\n\n li:has(> a:hover)::marker,\n a:hover {\n font-weight: bold;\n }\n }\n }\n\n [data-theme='dark'] & {\n background-color: $code-background-color-dark;\n }\n }\n\n &.open {\n .toc-title {\n background: darken($code-background-color, 6%);\n\n [data-theme='dark'] & {\n background: darken($code-background-color-dark, 3%);\n }\n }\n }\n}\n", + ".fixit-decryptor-container {\n font-family: $global-font-family;\n text-align: center;\n margin-block: var(--fixit-decryptor-margin-block);\n\n .fixit-decryptor-loading {\n vertical-align: middle;\n }\n\n .fixit-decryptor-input,\n .fixit-decryptor-btn,\n .fixit-encryptor-btn {\n display: none;\n box-sizing: border-box;\n outline: none;\n color: $global-font-color;\n border: 1px solid darken($global-border-color, 15%);\n border-radius: $global-border-radius;\n @include transition(all 0.1s ease-out);\n box-shadow: 0px 0px 5px 0px darken($global-border-color, 15%);\n\n &:active,\n &:focus,\n &:hover {\n color: darken($global-link-hover-color, 6%);\n border-color: $global-link-hover-color;\n box-shadow: 0px 0px 5px 0px lighten($global-link-hover-color, 20%);\n\n [data-theme='dark'] & {\n color: lighten($global-link-hover-color-dark, 6%);\n border-color: $global-link-hover-color-dark;\n box-shadow: 0px 0px 5px 0px darken($global-link-hover-color-dark, 20%);\n }\n }\n\n [data-theme='dark'] & {\n color: $global-font-color-dark;\n border-color: lighten($global-border-color-dark, 15%);\n box-shadow: 0px 0px 5px 0px lighten($global-border-color-dark, 15%);\n }\n }\n\n .fixit-decryptor-input {\n width: calc(clamp(50%, 450px, 100%) - 100px);\n height: 3rem;\n padding-left: 1rem;\n padding-right: 1rem;\n background-color: $global-background-color;\n\n [data-theme='dark'] & {\n background-color: $global-background-color-dark;\n }\n }\n\n .fixit-decryptor-btn,\n .fixit-encryptor-btn {\n cursor: pointer;\n @include transition(all 0.1s ease-out);\n padding: 0.8rem 1rem;\n\n background-color: $header-background-color;\n\n [data-theme='dark'] & {\n background-color: $header-background-color-dark;\n }\n }\n\n .fixit-encryptor-btn {\n display: none;\n }\n}\n\nfixit-encryptor {\n &.initialized > .fixit-decryptor-container {\n .fixit-decryptor-input,\n .fixit-decryptor-btn {\n display: inline-block;\n }\n\n .fixit-decryptor-loading {\n display: none;\n }\n }\n\n cipher-text {\n display: none !important;\n }\n}\n\n// fixit-encryptor for for the encrypted pages\narticle fixit-encryptor {\n .fixit-decryptor-container {\n --fixit-decryptor-margin-block: 2rem;\n }\n &.decrypted > .fixit-decryptor-container {\n .fixit-decryptor-loading,\n .fixit-decryptor-input,\n .fixit-decryptor-btn {\n display: none;\n }\n\n .fixit-encryptor-btn {\n display: inline-block;\n }\n }\n}\n\n// fixit-encryptor shortcodes\n#content fixit-encryptor {\n .fixit-decryptor-container {\n --fixit-decryptor-margin-block: 1rem;\n }\n &.decrypted > .fixit-decryptor-container {\n display: none;\n }\n}\n\n.encrypted-hidden {\n display: none !important;\n}\n", + "// Collection Navigation\n.collection-card {\n font-size: 0.875rem;\n background-color: darken($global-background-color, 3%);\n margin-block: 1rem;\n padding: 1rem 1.25rem;\n position: relative;\n @include border-radius($global-border-radius * 1.5);\n @include user-select(none);\n @extend .print-d-none;\n\n [data-theme='dark'] & {\n background-color: lighten($global-background-color-dark, 3%);\n }\n\n &:has(.collection-nav-item:nth-child(2))::before {\n content: '';\n position: absolute;\n left: 50%;\n bottom: 0.75rem;\n width: 1px;\n height: 2rem;\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.05) 50%, rgba(0, 0, 0, 0.03) 100%);\n\n [data-theme='dark'] & {\n background: linear-gradient(\n to bottom,\n rgba(255, 255, 255, 0.03),\n rgba(255, 255, 255, 0.05) 50%,\n rgba(255, 255, 255, 0.03) 100%\n );\n }\n }\n\n .collection-title {\n @include link(false, false);\n }\n\n .collection-nav {\n display: flex;\n justify-content: space-between;\n gap: 1rem;\n\n &:not(:empty) {\n margin-top: 0.5rem;\n }\n\n .collection-nav-item {\n flex-grow: 1;\n max-width: calc(50% - 0.5rem);\n font-weight: 500;\n display: flex;\n align-items: center;\n @include transition(all 0.3s ease-out);\n\n &:only-child {\n max-width: 100%;\n }\n\n i {\n flex-shrink: 0;\n }\n\n span {\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &[rel='next'] {\n text-align: right;\n }\n\n &[rel='prev']:hover {\n @include transform(translateX(-4px));\n }\n\n &[rel='next']:hover {\n @include transform(translateX(4px));\n }\n }\n }\n}\n\n// Collection aside container\n.aside-collection {\n position: sticky;\n top: calc(#{$header-height} + var(--#{$prefix}breadcrumb-height));\n box-sizing: border-box;\n @include overflow-wrap(break-word);\n @include blur;\n @extend .print-d-none;\n}\n\n// Collection List\n.collection-details {\n &:not(:last-of-type) {\n margin-bottom: 0.5rem;\n }\n\n &.open {\n .collection-summary {\n background-color: darken($global-background-color, 4%);\n\n [data-theme='dark'] & {\n background-color: lighten($global-background-color-dark, 4%);\n }\n }\n }\n\n .collection-summary {\n display: flex;\n align-items: baseline;\n gap: 0.25em;\n padding: 0.2em 0.5em;\n background-color: darken($global-background-color, 3%);\n\n [data-theme='dark'] & {\n background-color: lighten($global-background-color-dark, 3%);\n }\n \n > i.fa-layer-group {\n flex-shrink: 0;\n }\n\n .collection-name {\n flex-grow: 1;\n font-weight: bold;\n font-size: $collection-title-font-size;\n\n &::before {\n content: attr(data-collections) '・';\n }\n }\n\n .collection-count {\n flex-shrink: 0;\n color: var(--#{$prefix}secondary);\n }\n\n .details-icon {\n flex-shrink: 0;\n }\n\n @include user-select(none);\n }\n\n .collection-content {\n font-size: $collection-list-font-size;\n background-color: darken($global-background-color, 2%);\n\n [data-theme='dark'] & {\n background-color: lighten($global-background-color-dark, 2%);\n }\n\n .collection-list {\n margin: 0;\n padding-inline: 1.6em 0.8em;\n padding-block: 0.4em;\n text-indent: -0.8em;\n list-style: none;\n overflow-y: scroll;\n max-height: 60vh;\n @include scrollbar-width(none, 0);\n\n .collection-item > a::before,\n .collection-item > span::before {\n content: '|';\n font-weight: 600;\n margin-right: 0.5em;\n position: relative;\n bottom: 2px;\n color: $single-link-color;\n\n [data-theme='dark'] & {\n color: $single-link-color-dark;\n }\n }\n\n .collection-item > .active {\n font-weight: bold;\n color: $single-link-color;\n\n [data-theme='dark'] & {\n color: $single-link-color-dark;\n }\n\n &::before {\n color: $single-link-hover-color;\n \n [data-theme='dark'] & {\n color: $single-link-hover-color-dark;\n }\n }\n }\n }\n\n .collection-nav-simple {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5em;\n background-color: darken($global-background-color, 3%);\n\n [data-theme='dark'] & {\n background-color: lighten($global-background-color-dark, 3%);\n }\n\n a.collection-nav-item {\n padding-inline: 2px;\n border-radius: 50%;\n @include transition(background-color 0.3s ease-out);\n\n &:hover {\n background-color: darken($global-background-color, 10%);\n\n [data-theme='dark'] & {\n background-color: lighten($global-background-color-dark, 10%);\n }\n }\n }\n\n > i.collection-nav-item {\n padding: 4px 2px;\n cursor: not-allowed;\n }\n }\n }\n}\n", + ".alert {\n padding: 0.5rem 1rem;\n margin-block: 1rem;\n color: inherit;\n border-left: 0.25em solid var(--#{$prefix}alert-border-color);\n\n > :first-child {\n margin-top: 0;\n }\n > :last-child {\n margin-bottom: 0;\n }\n\n .alert-title {\n display: flex;\n font-weight: 500;\n align-items: center;\n line-height: 1;\n margin-bottom: 1rem;\n color: var(--#{$prefix}alert-color);\n\n > svg.icon {\n width: initial;\n height: initial;\n margin-right: 0.5rem;\n }\n }\n\n @each $type, $item in $alert-color-map {\n &.alert-#{$type} {\n --#{$prefix}alert-border-color: #{map-get($item, border-color)};\n --#{$prefix}alert-color: #{map-get($item, color)};\n }\n }\n\n [data-theme='dark'] & {\n @each $type, $item in $alert-color-map-dark {\n &.alert-#{$type} {\n --#{$prefix}alert-border-color: #{map-get($item, border-color)};\n --#{$prefix}alert-color: #{map-get($item, color)};\n }\n }\n }\n}\n", + "// inline code\ncode {\n padding: 0.2em 0.4em;\n margin: 0;\n font-size: $code-font-size;\n font-family: $code-font-family;\n color: $code-color;\n background-color: rgba(175, 184, 193, 0.2);\n text-decoration: inherit;\n @include border-radius($global-border-radius);\n @include overflow-wrap(break-word);\n @include line-break(auto);\n\n [data-theme='dark'] & {\n color: $code-color-dark;\n background-color: rgba(99, 110, 123, 0.4);\n }\n}\n\n// indented code\npre:not(.mermaid[data-processed='true']) {\n margin: 0;\n line-height: 1.45em;\n padding: 0.5rem;\n overflow: auto;\n font-size: $code-font-size;\n font-family: $code-font-family;\n @include border-radius($global-border-radius);\n @include tab-size(4);\n\n background-color: $code-background-color;\n\n [data-theme='dark'] & {\n background-color: $code-background-color-dark;\n }\n\n code {\n padding: 0;\n background-color: transparent;\n @include border-radius(0);\n @include max-content(min-width);\n\n [data-theme='dark'] & {\n background-color: transparent;\n }\n }\n\n img {\n min-height: 1em;\n max-height: 1.2em;\n vertical-align: text-bottom;\n }\n}\n\n.highlight,\n.gist {\n font-size: $code-font-size;\n font-family: $code-font-family;\n\n .table-wrapper {\n --#{$prefix}scrollbar-thumb-color: initial;\n > table,\n > table thead,\n > table tr,\n > table td {\n margin: 0;\n padding: 0;\n border: none !important;\n white-space: nowrap;\n }\n }\n}\n\n// block fenced code\n.highlight {\n margin: 0.5rem 0;\n\n > .chroma {\n position: relative;\n\n .code-header {\n --#{$prefix}bg-code-header: #{darken($code-background-color, 3%)};\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n width: 100%;\n font-family: $global-font-family;\n font-weight: bold;\n line-height: 1.4em;\n color: $code-info-color;\n background-color: var(--#{$prefix}bg-code-header);\n @include border-radius($global-border-radius);\n @include transition(border-radius 0.2s ease);\n\n // delayed loading table-wrapper\n & + .table-wrapper {\n max-height: 0;\n @include border-radius(0 0 $global-border-radius $global-border-radius);\n @include details-transition-open;\n }\n\n [data-theme='dark'] & {\n color: $code-info-color-dark;\n --#{$prefix}bg-code-header: #{darken($code-background-color-dark, 3%)};\n }\n\n &:hover {\n cursor: pointer;\n }\n\n .ellipses,\n .edit,\n .copy {\n @extend .print-d-none;\n }\n\n .code-title {\n width: 100%;\n padding: 0.4rem;\n\n .arrow {\n padding: 0 0.2rem;\n @include transition(transform 0.2s ease);\n }\n\n .title-inner {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--#{$prefix}bg-code-header);\n padding-inline: 1em;\n max-width: 80%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n @include z-index(0, 1);\n }\n }\n\n .code-title::after {\n padding-left: 0.2rem;\n content: 'Code';\n }\n\n .ellipses {\n padding: 0.4rem;\n }\n\n .edit,\n .copy {\n display: none;\n padding: 0.4rem;\n\n &:hover {\n cursor: pointer;\n color: $global-link-hover-color;\n\n [data-theme='dark'] & {\n color: $global-link-hover-color-dark;\n }\n }\n }\n\n @each $type, $text in $code-type-map {\n &.language-#{$type} .code-title::after {\n content: $text;\n }\n }\n }\n\n // delayed loading table-wrapper\n .table-wrapper {\n overflow: hidden;\n @include border-radius($global-border-radius);\n }\n\n table {\n border-spacing: 0;\n width: auto;\n overflow: auto;\n display: block;\n background-color: $code-background-color;\n\n [data-theme='dark'] & {\n background-color: $code-background-color-dark;\n }\n\n td {\n vertical-align: top;\n padding: 0;\n }\n\n pre {\n padding: 0.25rem;\n outline-offset: -1px;\n @include border-radius(0);\n }\n\n /* lineNumbersInTable=false */\n .ln {\n min-width: 1.25rem;\n }\n\n // ========== lineNumbersInTable ========== //\n // line numbers\n .lntd:first-child {\n min-width: 1.6rem;\n text-align: right;\n position: sticky;\n left: 0;\n\n pre {\n @include user-select(none);\n }\n }\n // code content\n .lntd:last-child {\n width: 100%;\n\n pre {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n }\n code {\n width: 100%;\n }\n }\n // ========== lineNumbersInTable ========== //\n }\n\n &.open {\n .code-header {\n --#{$prefix}bg-code-header: #{darken($code-background-color, 6%)};\n @include border-radius($global-border-radius $global-border-radius 0 0);\n\n [data-theme='dark'] & {\n --#{$prefix}bg-code-header: #{darken($code-background-color-dark, 6%)};\n }\n }\n\n .table-wrapper {\n max-height: 100%;\n @include details-transition-close;\n }\n\n .arrow {\n @include transform(rotate(90deg));\n }\n\n .ellipses {\n display: none;\n }\n\n .edit,\n .copy {\n display: inline;\n }\n }\n }\n\n /* LineHighlight */\n .hl {\n display: block;\n background-color: $code-hightlight-color;\n box-shadow: -0.5rem 0 0 $code-hightlight-color, 0.5rem 0 0 $code-hightlight-color;\n\n [data-theme='dark'] & {\n background-color: $code-hightlight-color-dark;\n box-shadow: -0.5rem 0 0 $code-hightlight-color-dark, 0.5rem 0 0 $code-hightlight-color-dark;\n }\n }\n /* GenericUnderline */\n .gl {\n text-decoration: underline;\n }\n /* GenericStrong */\n .gs {\n font-weight: bold;\n }\n /* GenericEmph */\n .ge {\n font-style: italic;\n }\n /* lineNumbersInTable=false */\n .ln {\n padding-right: 0.5rem;\n display: inline-block;\n min-width: 1.1rem;\n text-align: right;\n }\n /* LineNumbers */\n .lnt,\n .ln {\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n\n // ========== Higtlight Color ========== //\n\n /* Error */\n .err {\n font-style: italic;\n border-bottom: 1px dotted $code-error-color;\n }\n /* GenericDeleted */\n .gd {\n background-color: #ffebe9;\n\n [data-theme='dark'] & {\n background-color: #78191b;\n }\n }\n /* GenericInserted */\n .gi {\n background-color: #dafbe1;\n\n [data-theme='dark'] & {\n background-color: #1b4721;\n }\n }\n\n @each $class, $color in $code-highlight-color-map {\n .#{$class} {\n color: $color;\n }\n }\n\n [data-theme='dark'] & {\n @each $class, $color in $code-highlight-color-map-dark {\n .#{$class} {\n color: $color;\n }\n }\n }\n // ========== Higtlight Color ========== //\n}\n\n// gist shortcode\n.gist {\n .gist-file,\n .gist-data,\n .gist-meta {\n border: none;\n }\n\n .gist-data {\n background-color: transparent;\n }\n\n .gist-meta {\n padding: 0.4rem 0.8rem;\n @include link(false, false);\n background-color: darken($code-background-color, 5%);\n\n [data-theme='dark'] & {\n background-color: darken($code-background-color-dark, 5%);\n }\n }\n\n .table-wrapper {\n .highlight {\n background-color: $code-background-color;\n\n [data-theme='dark'] & {\n background-color: $code-background-color-dark;\n }\n }\n }\n\n [data-theme='dark'] & {\n @import './github-dark-dimmed';\n }\n}\n", + "/**\n * GitHub Dark Dimmed\n * Copyright (c) 2012 - current GitHub, Inc.\n * Licensed under MIT (https://github.com/primer/github-syntax-theme-generator/blob/master/LICENSE)\n * Maintained by @Lruihao for FixIt theme\n * Created on 2022-03-01\n * Updated on 2024-07-14\n */\n& {\n // Blob colors\n --#{$prefix}color-blob-num: #778491;\n --#{$prefix}color-blob-code-inner: #c5d1de;\n // Syntax colors\n --#{$prefix}color-prettylights-syntax-comment: #768390;\n --#{$prefix}color-prettylights-syntax-constant: #6cb6ff;\n --#{$prefix}color-prettylights-syntax-constant-other-reference-link: #96d0ff;\n --#{$prefix}color-prettylights-syntax-entity: #dcbdfb;\n --#{$prefix}color-prettylights-syntax-storage-modifier-import: #adbac7;\n --#{$prefix}color-prettylights-syntax-entity-tag: #8ddb8c;\n --#{$prefix}color-prettylights-syntax-keyword: #f47067;\n --#{$prefix}color-prettylights-syntax-string: #96d0ff;\n --#{$prefix}color-prettylights-syntax-variable: #f69d50;\n --#{$prefix}color-prettylights-syntax-brackethighlighter-unmatched: #e5534b;\n --#{$prefix}color-prettylights-syntax-brackethighlighter-angle: #768390;\n --#{$prefix}color-prettylights-syntax-invalid-illegal-text: #cdd9e5;\n --#{$prefix}color-prettylights-syntax-invalid-illegal-bg: #922323;\n --#{$prefix}color-prettylights-syntax-carriage-return-text: #cdd9e5;\n --#{$prefix}color-prettylights-syntax-carriage-return-bg: #ad2e2c;\n --#{$prefix}color-prettylights-syntax-string-regexp: #8ddb8c;\n --#{$prefix}color-prettylights-syntax-markup-list: #eac55f;\n --#{$prefix}color-prettylights-syntax-markup-heading: #316dca;\n --#{$prefix}color-prettylights-syntax-markup-italic: #adbac7;\n --#{$prefix}color-prettylights-syntax-markup-bold: #adbac7;\n --#{$prefix}color-prettylights-syntax-markup-deleted-text: #ffd8d3;\n --#{$prefix}color-prettylights-syntax-markup-deleted-bg: #78191b;\n --#{$prefix}color-prettylights-syntax-markup-inserted-text: #b4f1b4;\n --#{$prefix}color-prettylights-syntax-markup-inserted-bg: #1b4721;\n --#{$prefix}color-prettylights-syntax-markup-changed-text: #ffddb0;\n --#{$prefix}color-prettylights-syntax-markup-changed-bg: #682d0f;\n --#{$prefix}color-prettylights-syntax-markup-ignored-text: #adbac7;\n --#{$prefix}color-prettylights-syntax-markup-ignored-bg: #255ab2;\n --#{$prefix}color-prettylights-syntax-meta-diff-range: #dcbdfb;\n --#{$prefix}color-prettylights-syntax-sublimelinter-gutter-mark: #545d68;\n\n .blob-num {\n color: var(--#{$prefix}color-blob-num);\n }\n .blob-code-inner {\n color: var(--#{$prefix}color-blob-code-inner);\n }\n\n .pl-c /* comment, punctuation.definition.comment, string.comment */ {\n color: var(--#{$prefix}color-prettylights-syntax-comment);\n }\n\n .pl-c1 /* constant, entity.name.constant, variable.other.constant, variable.language, support, meta.property-name, support.constant, support.variable, meta.module-reference, markup.raw, meta.diff.header, meta.output */,\n .pl-s .pl-v /* string variable */ {\n color: var(--#{$prefix}color-prettylights-syntax-constant);\n }\n\n .pl-e /* entity */,\n .pl-en /* entity.name */ {\n color: var(--#{$prefix}color-prettylights-syntax-entity);\n }\n\n .pl-smi /* variable.parameter.function, storage.modifier.package, storage.modifier.import, storage.type.java, variable.other */,\n .pl-s .pl-s1 /* string source */ {\n color: var(--#{$prefix}color-prettylights-syntax-storage-modifier-import);\n }\n\n .pl-ent /* entity.name.tag, markup.quote */ {\n color: var(--#{$prefix}color-prettylights-syntax-entity-tag);\n }\n\n .pl-k /* keyword, storage, storage.type */ {\n color: var(--#{$prefix}color-prettylights-syntax-keyword);\n }\n\n .pl-s /* string */,\n .pl-pds /* punctuation.definition.string, source.regexp, string.regexp.character-class */,\n .pl-s .pl-pse .pl-s1 /* string punctuation.section.embedded source */,\n .pl-sr /* string.regexp */,\n .pl-sr .pl-cce /* string.regexp constant.character.escape */,\n .pl-sr .pl-sre /* string.regexp source.ruby.embedded */,\n .pl-sr .pl-sra /* string.regexp string.regexp.arbitrary-repitition */ {\n color: var(--#{$prefix}color-prettylights-syntax-string);\n }\n\n .pl-v /* variable */,\n .pl-smw /* sublimelinter.mark.warning */ {\n color: var(--#{$prefix}color-prettylights-syntax-variable);\n }\n\n .pl-bu /* invalid.broken, invalid.deprecated, invalid.unimplemented, message.error, brackethighlighter.unmatched, sublimelinter.mark.error */ {\n color: var(--#{$prefix}color-prettylights-syntax-brackethighlighter-unmatched);\n }\n\n .pl-ii /* invalid.illegal */ {\n color: var(--#{$prefix}color-prettylights-syntax-invalid-illegal-text);\n background-color: var(--#{$prefix}color-prettylights-syntax-invalid-illegal-bg);\n }\n\n .pl-c2 /* carriage-return */ {\n color: var(--#{$prefix}color-prettylights-syntax-carriage-return-text);\n background-color: var(--#{$prefix}color-prettylights-syntax-carriage-return-bg);\n }\n\n .pl-c2::before /* carriage-return */ {\n content: '^M';\n }\n\n .pl-sr .pl-cce /* string.regexp constant.character.escape */ {\n font-weight: bold;\n color: var(--#{$prefix}color-prettylights-syntax-string-regexp);\n }\n\n .pl-ml /* markup.list */ {\n color: var(--#{$prefix}color-prettylights-syntax-markup-list);\n }\n\n .pl-mh /* markup.heading */,\n .pl-mh .pl-en /* markup.heading entity.name */,\n .pl-ms /* meta.separator */ {\n font-weight: bold;\n color: var(--#{$prefix}color-prettylights-syntax-markup-heading);\n }\n\n .pl-mi /* markup.italic */ {\n font-style: italic;\n color: var(--#{$prefix}color-prettylights-syntax-markup-italic);\n }\n\n .pl-mb /* markup.bold */ {\n font-weight: bold;\n color: var(--#{$prefix}color-prettylights-syntax-markup-bold);\n }\n\n .pl-md /* markup.deleted, meta.diff.header.from-file, punctuation.definition.deleted */ {\n color: var(--#{$prefix}color-prettylights-syntax-markup-deleted-text);\n background-color: var(--#{$prefix}color-prettylights-syntax-markup-deleted-bg);\n }\n\n .pl-mi1 /* markup.inserted, meta.diff.header.to-file, punctuation.definition.inserted */ {\n color: var(--#{$prefix}color-prettylights-syntax-markup-inserted-text);\n background-color: var(--#{$prefix}color-prettylights-syntax-markup-inserted-bg);\n }\n\n .pl-mc /* markup.changed, punctuation.definition.changed */ {\n color: var(--#{$prefix}color-prettylights-syntax-markup-changed-text);\n background-color: var(--#{$prefix}color-prettylights-syntax-markup-changed-bg);\n }\n\n .pl-mi2 /* markup.ignored, markup.untracked */ {\n color: var(--#{$prefix}color-prettylights-syntax-markup-ignored-text);\n background-color: var(--#{$prefix}color-prettylights-syntax-markup-ignored-bg);\n }\n\n .pl-mdr /* meta.diff.range */ {\n font-weight: bold;\n color: var(--#{$prefix}color-prettylights-syntax-meta-diff-range);\n }\n\n .pl-ba /* brackethighlighter.tag, brackethighlighter.curly, brackethighlighter.round, brackethighlighter.square, brackethighlighter.angle, brackethighlighter.quote */ {\n color: var(--#{$prefix}color-prettylights-syntax-brackethighlighter-angle);\n }\n\n .pl-sg /* sublimelinter.gutter-mark */ {\n color: var(--#{$prefix}color-prettylights-syntax-sublimelinter-gutter-mark);\n }\n\n .pl-corl /* constant.other.reference.link, string.other.link */ {\n text-decoration: underline;\n color: var(--#{$prefix}color-prettylights-syntax-constant-other-reference-link);\n }\n}\n", + "@import '_admonition';\n@import '_bilibili';\n@import '_douyin';\n@import '_cardlink';\n@import '_center-quote';\n@import '_echarts';\n@import '_instagram';\n@import '_mapbox';\n@import '_mermaid';\n@import '_timeline';\n", + ".admonition {\n position: relative;\n margin: 1rem 0;\n padding: 0 0.75rem;\n border-left: .25rem solid;\n overflow: hidden;\n @include border-radius($global-border-radius);\n\n .admonition-title {\n font-weight: bold;\n margin: 0 -0.75rem;\n padding: 0.25rem 1.8rem;\n border-bottom: 1px solid;\n @include border-radius(0);\n }\n\n .admonition-content {\n padding: 0.5rem 0;\n \n // for extended alert syntax\n > p {\n margin: 0;\n }\n // title-only alert\n &:empty {\n display: none;\n }\n // BUG of Hugo https://github.com/gohugoio/hugo/issues/12913\n &:has(> p:only-child:empty) {\n display: none;\n }\n }\n\n i.icon {\n font-size: 0.85rem;\n position: absolute;\n top: 0.6rem;\n left: 0.4rem;\n }\n\n i.details-icon {\n position: absolute;\n top: 0.6rem;\n right: 0.3rem;\n }\n \n background-color: var(--#{$prefix}admonition-bg-color);\n border-left-color: var(--#{$prefix}admonition-color);\n\n > .admonition-title {\n border-bottom-color: var(--#{$prefix}admonition-bg-color);\n background-color: var(--#{$prefix}admonition-bg-color-collapsed);\n\n i.icon {\n color: var(--#{$prefix}admonition-color);\n }\n }\n\n &.open > .admonition-title {\n background-color: var(--#{$prefix}admonition-bg-color);\n }\n\n // default admonition type is note\n --#{$prefix}admonition-color: #{map-get(map-get($admonition-color-map, note), color)};\n --#{$prefix}admonition-bg-color: #{map-get(map-get($admonition-color-map, note), bg-color)};\n --#{$prefix}admonition-bg-color-collapsed: #{opacify(map-get(map-get($admonition-color-map, note), bg-color), 0.15)};\n\n // set color for each admonition type\n @each $type, $item in $admonition-color-map {\n @if $type != 'note' {\n &.#{$type} {\n --#{$prefix}admonition-color: #{map-get($item, color)};\n --#{$prefix}admonition-bg-color: #{map-get($item, bg-color)};\n --#{$prefix}admonition-bg-color-collapsed: #{opacify(map-get($item, bg-color), 0.15)};\n }\n }\n }\n\n &:last-child {\n margin-bottom: 0.75rem;\n }\n}\n", + ".bilibili {\n position: relative;\n width: 100%;\n height: auto;\n aspect-ratio: 16 / 9;\n margin: 1rem auto;\n text-align: center;\n\n iframe {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n }\n}\n", + ".douyin {\n position: relative;\n width: 100%;\n height: 0;\n padding-bottom: 60.725%;\n margin: 1rem auto;\n text-align: center;\n\n iframe {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n }\n}\n\n@media only screen and (max-width: 680px) {\n .douyin {\n width: 92%;\n margin-inline: 4%;\n padding-bottom: 190%;\n }\n}\n", + "/**\n * Card link style\n * @author @Lruihao https://lruihao.cn\n */\n\n.card-link {\n position: relative;\n display: block;\n margin: 0.5rem auto;\n box-sizing: border-box;\n width: clamp(50%, 400px, 100%);\n max-width: 100%;\n overflow: hidden;\n text-decoration: none;\n border: none;\n @include border-radius(0.75rem);\n}\n\n.cl- {\n &backdrop {\n position: absolute;\n top: 0.75rem;\n bottom: 0.75rem;\n left: 0;\n right: 0;\n background-image: var(--cl-bg-url);\n background-repeat: no-repeat;\n filter: blur(0.5rem);\n opacity: 0.5;\n background-size: contain;\n background-position: center;\n }\n\n &content {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 0.75rem;\n background-color: rgba(245, 245, 245, 0.88);\n }\n\n &text {\n overflow: hidden;\n }\n\n &title {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n overflow: hidden;\n max-height: calc(1rem * 1.25 * 2);\n font-size: 1rem;\n font-weight: 500;\n line-height: 1.25;\n color: $global-font-color;\n }\n\n &meta {\n display: flex;\n align-items: center;\n margin-top: 0.25rem;\n font-size: 0.825rem;\n color: $global-font-secondary-color;\n }\n\n &icon-link {\n width: 1rem;\n height: 1rem;\n flex-shrink: 0;\n margin-right: 0.25rem;\n }\n\n &url {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n &shortcut-icon {\n width: 4rem;\n height: 4rem;\n flex-shrink: 0;\n margin-left: 0.25rem;\n\n &:is(i) {\n text-align: center;\n font-size: 3rem;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n }\n\n &shortcut-image {\n width: 4rem;\n height: 4rem !important;\n flex-shrink: 0;\n margin-left: 0.25rem;\n object-fit: cover;\n border-radius: 50%;\n }\n\n [data-theme='dark'] & {\n &content {\n background-color: rgba(61, 62, 65, 0.88);\n }\n\n &title {\n color: $global-font-color-dark;\n }\n\n &meta {\n color: $global-font-secondary-color-dark;\n }\n }\n}\n", + "blockquote.blockquote-center {\n border-left: none;\n margin: 40px 0;\n padding: 0;\n position: relative;\n text-align: center;\n color: inherit;\n\n &::after,\n &::before {\n left: 0;\n line-height: 1;\n opacity: 0.6;\n position: absolute;\n width: 100%;\n }\n\n &::before {\n border-top: 1px solid $global-border-color;\n text-align: left;\n top: -20px;\n content: '\\f10d';\n font-family: 'Font Awesome 5 Free';\n font-weight: 900;\n\n [data-theme='dark'] & {\n border-top-color: $global-border-color-dark;\n }\n }\n\n &::after {\n border-bottom: 1px solid $global-border-color;\n bottom: -20px;\n text-align: right;\n content: '\\f10e';\n font-family: 'Font Awesome 5 Free';\n font-weight: 900;\n\n [data-theme='dark'] & {\n border-bottom-color: $global-border-color-dark;\n }\n }\n}\n", + ".echarts {\n margin: 0.5rem 0;\n text-align: center;\n}\n", + "iframe.instagram-media {\n [data-theme='dark'] & {\n border: none !important;\n }\n}\n", + ".mapbox {\n margin: 0.5rem 0;\n padding: 0.5rem 0;\n @include border-radius($global-border-radius);\n}\n", + ".mermaid {\n &[data-processed='true'] {\n text-align: center;\n }\n\n svg {\n max-width: 100%;\n height: auto; \n }\n}\n", + ".#{$prefix}timeline {\n list-style: none;\n box-sizing: border-box;\n overflow: auto;\n margin: 1rem auto;\n --timeline-color: #{darken($global-border-color, 5%)};\n --timeline-circle-color: #FF735A;\n --timeline-circle-size: 10px;\n --timeline-width: 2px;\n\n &[data-animation] {\n .#{$prefix}timeline-item::before {\n border-color: var(--timeline-color);\n animation-name: border-color-fade;\n animation-duration: 2s;\n animation-iteration-count: infinite;\n animation-delay: calc(var(--timeline-index) * 0.3s);\n \n @keyframes border-color-fade {\n 0% {\n border-color: var(--timeline-color);\n }\n 50% {\n border-color: var(--timeline-circle-color);\n }\n 100% {\n border-color: var(--timeline-color);\n }\n }\n }\n }\n\n .#{$prefix}timeline-item {\n position: relative;\n padding: 0.5rem 1.75rem;\n\n @each $color, $value in $theme-colors {\n &[data-type='#{$color}'] {\n --timeline-circle-color: var(--#{$prefix}#{$color});\n }\n }\n\n .#{$prefix}timeline-item__timestamp {\n font-size: 0.8125rem;\n line-height: 1;\n color: var(--#{$prefix}secondary);\n\n &.is-top {\n margin-bottom: 0.25rem;\n padding-top: 0.34375rem;\n }\n &.is-bottom {\n margin-top: 0.25rem;\n }\n }\n\n .#{$prefix}timeline-item__content {\n font-size: 0.875rem;\n }\n\n &[data-node='dot']::before {\n background-color: var(--timeline-circle-color) !important;\n }\n &[data-size='small']::before {\n transform: scale(0.8) translateY(-50%);\n }\n &[data-size='large']::before {\n transform: scale(1.2) translateY(-50%);\n }\n \n &::before {\n content: '';\n position: absolute;\n top: 1.25rem;\n transform: translateY(-50%);\n left: 0;\n width: var(--timeline-circle-size);\n height: var(--timeline-circle-size);\n font-size: var(--timeline-circle-size);\n line-height: var(--timeline-circle-size);\n text-align: center;\n border-radius: 50%;\n border-width: var(--timeline-width);\n border-style: solid;\n border-color: var(--timeline-circle-color);\n background-color: $global-background-color;\n color: transparent;\n z-index: 1;\n \n [data-theme='dark'] & {\n background-color: $global-background-color-dark;\n }\n }\n &::after {\n content: '';\n position: absolute;\n top: 0;\n left: calc(var(--timeline-circle-size) / 2 + var(--timeline-width) / 2);\n width: var(--timeline-width);\n height: 100%;\n background-color: var(--timeline-color);\n }\n \n [data-theme='dark'] & {\n --timeline-color: #{darken($global-border-color, 50%)};\n }\n } \n}", + ".post-reward {\n padding: 1rem;\n text-align: center;\n @extend .print-d-none;\n\n &:has(.reward-ways:empty) {\n display: none;\n }\n\n .comment {\n margin: 0.5rem 0;\n font-weight: 500;\n }\n\n .reward-ways {\n display: none;\n }\n\n .reward-input:checked~.reward-ways {\n display: block;\n padding-top: 20px;\n\n div {\n display: inline-block;\n @include user-select(none);\n \n span {\n display: block;\n }\n \n &:hover span[data-animation] {\n animation: var(--animation-reward, jackInTheBox) 0.8s infinite linear;\n // The animation may affect :hover of img in dark mode\n pointer-events: none;\n }\n \n img {\n display: inline-block;\n margin: 0.8em 2em 0;\n max-width: 100%;\n width: $reward-img-width;\n }\n }\n\n // `fixed` mode only supports desktop\n &[data-mode='fixed'] {\n position: fixed;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n padding: 1rem;\n background-color: $global-background-color;\n @include z-index(2);\n @include border-radius($global-border-radius);\n @include box-shadow(0 0 1.5rem 0 rgba(0, 0, 0, 0.2));\n\n [data-theme='dark'] & {\n background-color: $global-background-color-dark;\n @include box-shadow(0 0 1.5rem 0 rgba(255, 255, 255, 0.2));\n }\n }\n }\n\n .reward-button {\n display: inline-block;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n color: lighten($reward-color, 5%);\n border: 2px solid lighten($reward-color, 10%);\n border-radius: $global-border-radius;\n padding: 0.6rem 1rem;\n background-color: $global-background-color;\n vertical-align: text-top;\n line-height: 1rem;\n @include transition(all 0.3s ease-out);\n\n &:active,\n &:hover {\n color: #ffffff;\n border-color: $reward-color;\n background-color: $reward-color;\n\n [data-theme='dark'] & {\n color: #ffffff;\n border-color: $reward-color-dark;\n background-color: $reward-color-dark;\n }\n }\n\n [data-theme='dark'] & {\n color: $reward-color;\n border-color: lighten($reward-color, 5%);\n background-color: $global-background-color-dark;\n }\n }\n}\n", + ".post-footer {\n margin: 2rem 0;\n\n &~.post-reward {\n margin-block: -2rem 0;\n }\n\n .post-info {\n border-bottom: 1px solid $global-border-color;\n padding: 0.3rem 0;\n\n [data-theme='dark'] & {\n border-bottom: 1px solid $global-border-color-dark;\n }\n\n .post-info-line {\n display: flex;\n justify-content: space-between;\n\n .post-info-mod {\n font-size: 0.8em;\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, false);\n }\n\n .post-info-license {\n font-size: 0.8em;\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n\n @include link(false, false);\n }\n\n .post-info-md {\n font-size: 0.8rem;\n width: fit-content;\n\n @include link(false, false);\n\n >span:not(:first-child)::before {\n content: '|';\n margin-left: 0.25rem;\n margin-right: 0.25rem;\n }\n }\n\n .post-info-share {\n @extend .print-d-none;\n a * {\n vertical-align: text-bottom;\n }\n }\n }\n }\n\n .post-info-more {\n padding: 0.3rem 0;\n display: flex;\n justify-content: space-between;\n font-size: 0.9rem;\n\n section:last-child {\n @extend .print-d-none;\n }\n }\n\n .post-tags {\n max-width: 65%;\n\n * {\n display: inline;\n }\n\n @include link(true, true);\n\n .post-tag:not(:last-child)::after {\n content: ',';\n margin-right: 0.25rem;\n }\n }\n\n .post-nav {\n display: flex;\n justify-content: space-between;\n gap: 1.5rem;\n padding-block: 0.5rem;\n @extend .print-d-none;\n\n .post-nav-item {\n flex: 1;\n font-size: 1rem;\n font-weight: 600;\n @include transition(all 0.3s ease-out);\n\n &[rel='next'] {\n text-align: right;\n }\n\n &[rel='prev']:hover {\n @include transform(translateX(-4px));\n }\n\n &[rel='next']:hover {\n @include transform(translateX(4px));\n }\n }\n }\n}\n", + ">#comments {\n padding: 2rem 0;\n @extend .print-d-none;\n\n iframe {\n width: 100%;\n }\n}\n", + ".special {\n .single-title,\n .single-subtitle {\n text-align: right;\n }\n}\n", + ".archive {\n .single-title {\n padding: 1rem 0 0.5rem;\n margin: 0;\n font-size: 1.6rem;\n font-weight: bold;\n line-height: 140%;\n text-align: right;\n }\n\n .single-subtitle {\n margin: 0.5rem 0;\n font-size: 1.2rem;\n font-weight: normal;\n line-height: 100%;\n text-align: right;\n }\n\n .group-title {\n font-size: 1.2rem;\n margin-top: 1.5rem;\n margin-bottom: 1rem;\n }\n\n @import '../_partials/_archive/terms';\n @import '../_partials/_archive/tags';\n}\n", + ".categories-card,\n.collections-card {\n margin: 0 auto;\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n flex-direction: row;\n flex-wrap: wrap;\n line-height: 1.6rem;\n\n .card-item {\n font-size: 0.875rem;\n text-align: left;\n width: 45%;\n display: flex;\n align-items: flex-start;\n min-height: 10rem;\n padding: 0 2%;\n position: relative;\n\n &:nth-child(n+3){\n margin-top: 2rem;\n }\n\n .card-item-wrapper {\n width: 100%;\n overflow: hidden;\n\n .card-item-title {\n font-size: 1.2rem;\n font-weight: bold;\n display: inline-block;\n margin-top: 1rem;\n margin-bottom: 0.75rem;\n }\n\n span {\n float: right;\n padding-right: 1rem;\n }\n }\n }\n}\n\n.archive-item {\n display: flex;\n justify-content: space-between;\n align-items: center;\n box-sizing: border-box;\n margin: 0.25rem 0 0.25rem 1.5rem;\n}\n\n.archive-item-link {\n min-width: 10%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &:hover {\n color: $global-link-hover-color;\n background-color: transparent;\n }\n\n [data-theme='dark'] & {\n color: $global-link-color-dark;\n\n &:hover {\n color: $global-link-hover-color-dark;\n }\n }\n}\n\n.archive-item-date {\n text-align: right;\n color: $global-font-secondary-color;\n white-space: nowrap;\n font-variant-numeric: tabular-nums lining-nums;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n}\n\n.more-post {\n text-align: right;\n}\n", + ".tag-cloud-tags {\n margin: 10px 0;\n\n @include link(true, true);\n\n a {\n display: inline-block;\n position: relative;\n margin: 5px 10px;\n @include overflow-wrap(break-word);\n @include transition(all ease-out 0.3s);\n\n &:active,\n &:focus,\n &:hover {\n @include transform(scale(1.2));\n\n sup {\n color: $global-font-color;\n @include transition(all ease-out 0.3s);\n\n [data-theme='dark'] & {\n color: $global-font-color-dark;\n }\n }\n }\n\n sup {\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n}\n\n@for $grade from 0 through 10 {\n $tag-cloud-color: mix($tag-cloud-end, $tag-cloud-start, $grade * 10);\n $tag-cloud-color-dark: mix($tag-cloud-end-dark, $tag-cloud-start-dark, $grade * 10);\n\n .tag-cloud-#{$grade} {\n color: $tag-cloud-color!important;\n font-size: var(--tag-font);\n margin: 10px!important;\n\n &:active,\n &:focus,\n &:hover {\n color: $global-link-hover-color!important;\n\n [data-theme='dark'] & {\n color: $global-link-hover-color-dark;\n }\n\n sup {\n opacity: 1;\n }\n }\n\n [data-theme='dark'] & {\n color: $tag-cloud-color-dark!important;\n }\n\n sup {\n opacity: 0;\n }\n }\n}\n", + ".home {\n .home-profile {\n text-align: center;\n\n .home-avatar {\n padding: 0.5rem;\n\n img {\n display: inline-block;\n width: 8rem;\n height: auto;\n margin: 0 auto;\n @include border-radius(100%);\n @include box-shadow(0 0 0 0.3618em rgba(0, 0, 0, 0.05));\n @include transition(all 0.4s ease);\n\n [data-theme='dark'] & {\n @include box-shadow(0 0 0 0.3618em rgba(255, 255, 255, 0.05));\n }\n\n &:hover {\n position: relative;\n @include transform(translateY(-0.75rem));\n }\n }\n }\n\n .home-title {\n font-size: 1.25rem;\n font-weight: bold;\n margin: 0;\n\n &:not(:empty) {\n padding: 0.5rem;\n }\n }\n\n .home-subtitle {\n font-size: 1rem;\n font-weight: normal;\n margin: 0;\n padding: 0.5rem;\n }\n\n .links {\n padding: 0.5rem;\n font-size: 1.5rem;\n\n a * {\n vertical-align: text-bottom;\n }\n\n img {\n height: 1.5rem;\n padding: 0 0.25rem;\n }\n }\n\n .home-disclaimer {\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: normal;\n margin: 0;\n padding: 0.5rem;\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n}\n\n.home.posts {\n .home-profile {\n padding: 2rem 0;\n }\n\n .home-avatar img {\n width: 6rem;\n }\n\n .summary {\n padding-top: 1rem;\n padding-bottom: 0.8rem;\n color: $global-font-color;\n border-bottom: 1px dashed $global-border-color;\n\n &:first-of-type {\n padding-top: 0;\n }\n\n [data-theme='dark'] & {\n color: $global-font-color-dark;\n border-bottom: 1px dashed $global-border-color-dark;\n }\n\n .featured-image-preview {\n width: 100%;\n // use the same proportions as the cover image of https://dev.to/\n aspect-ratio: auto 1000 / 420;\n position: relative;\n margin: 0.6rem auto;\n @include transition(transform 0.4s ease);\n\n img {\n position: absolute;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n @include object-fit(cover);\n }\n\n &:hover {\n @include transform(scale(1.01));\n }\n }\n\n .single-title {\n font-size: 1.25rem;\n line-height: 140%;\n margin: 0.4rem 0;\n }\n\n .content {\n display: block;\n margin-top: 0.3rem;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n @include overflow-wrap(break-word);\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n\n h2,\n h3,\n h4,\n h5,\n h6,\n p {\n font-size: 1rem;\n line-height: 1.5;\n display: inline;\n\n &::after {\n content: '\\A';\n white-space: pre;\n }\n }\n\n h2 {\n font-size: 1.125rem;\n }\n\n @include link(false, true);\n\n b,\n strong {\n color: $global-font-secondary-color;\n\n [data-theme='dark'] & {\n color: $global-font-secondary-color-dark;\n }\n }\n }\n\n .post-footer {\n margin-top: 0.4rem;\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-size: 0.875rem;\n\n @include link(false, false);\n\n .post-tags {\n padding: 0;\n\n @include link(true, true);\n \n .post-tag:not(:last-child)::after {\n content: ',';\n margin-right: 0.25rem;\n }\n }\n }\n }\n}\n", + "#content-404 {\n font-size: 1.8rem;\n line-height: 3rem;\n @include transform(translateY(30vh));\n text-align: center;\n}\n", + "#content-offline {\n @include transform(translateY(30vh));\n text-align: center;\n\n .offline-title {\n font-size: 3.6rem;\n }\n .offline-subtitle {\n margin: 0.4rem 0;\n font-size: 1rem;\n font-weight: normal;\n font-style: italic;\n line-height: 100%;\n color: #57606a;\n }\n .error-text {\n font-size: 1.2rem;\n }\n}\n", + "/**\n * @Description: Style of layout named 'friends'.\n * @Author: Lruihao \n * @Updated: 2022/3/11 21:36\n */\n\n.friend-links {\n margin-top: 1rem;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n flex-wrap: wrap;\n}\n@media (max-width: 576px) {\n .friend-links {\n justify-content: space-around;\n }\n}\n.friend-link {\n width: 150px;\n height: 200px;\n font-size: 1rem;\n text-align: center;\n background: rgba(255, 255, 255, 0.3);\n box-sizing: border-box;\n box-shadow: 3px 3px 5px #aaa;\n @include border-radius($global-border-radius);\n border: none;\n transition-duration: 0.3s;\n margin-bottom: 1rem;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.friend-link:hover {\n background: #fff;\n @include transform(scale(1.03));\n box-shadow: 0 0 3px #aaa;\n}\n.friend-avatar {\n object-fit: cover;\n object-position: center;\n width: 100% !important;\n height: 150px !important;\n @include border-radius($global-border-radius);\n margin: 0;\n padding: 0;\n}\n.friend-nickname {\n display: block;\n position: relative;\n color: #2bbc8a;\n font-weight: bold;\n max-width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n line-height: 18px;\n margin-bottom: 1rem;\n}\n.friend-nickname:hover {\n color: #d480aa;\n}\n", + "@media only screen and (min-width: 1441px) {\n %page-style {\n width: ROUND(60%, 2px);\n\n [data-page-style='wide'] & {\n width: ROUND(64%, 2px);\n }\n\n [data-page-style='narrow'] & {\n max-width: 800px;\n }\n }\n}\n\n@media only screen and (max-width: 1440px) {\n %page-style {\n width: ROUND(56%, 2px);\n\n [data-page-style='wide'] & {\n width: ROUND(60%, 2px);\n }\n }\n}\n\n@media only screen and (max-width: 1200px) {\n %page-style {\n width: ROUND(52%, 2px);\n\n [data-page-style='wide'] & {\n width: ROUND(56%, 2px);\n }\n }\n\n #header-desktop .header-wrapper {\n padding-right: 1rem;\n }\n\n .search-dropdown.desktop {\n right: 1rem;\n }\n}\n\n@media only screen and (max-width: 960px) {\n %page-style {\n width: ROUND(80%, 2px) !important;\n }\n \n aside {\n display: none !important;\n }\n\n #toc-static {\n display: block;\n }\n\n #header-desktop .header-wrapper {\n padding-left: 1rem;\n }\n}\n\n@media only screen and (min-width: 681px) {\n .d-none-desktop {\n display: none;\n }\n .breadcrumb-container.sticky {\n body:not([data-header-desktop='sticky']) & {\n top: 0;\n }\n // adjust the scroll margin top of the content anchors on the page\n body:not([data-header-desktop='auto']) &+.container .content [id] {\n scroll-margin-top: calc(var(--#{$prefix}scroll-mt) + var(--#{$prefix}breadcrumb-height));\n }\n }\n\n [data-header-desktop='normal'] .page .content [id] {\n --#{$prefix}scroll-mt: #{$global-scroll-margin-top};\n }\n}\n\n@media only screen and (max-width: 680px) {\n #header-desktop {\n display: none;\n }\n\n #header-mobile {\n display: block;\n }\n\n .d-none-mobile {\n display: none !important;\n }\n\n .breadcrumb-container.sticky {\n body:not([data-header-mobile='sticky']) & {\n top: 0;\n }\n // adjust the scroll margin top of the content anchors on the page\n body:not([data-header-mobile='auto']) &+.container .content [id] {\n scroll-margin-top: calc(var(--#{$prefix}scroll-mt) + var(--#{$prefix}breadcrumb-height));\n }\n }\n\n [data-header-mobile='normal'] .page .content [id] {\n --#{$prefix}scroll-mt: #{$global-scroll-margin-top};\n }\n \n %page-style {\n width: 100% !important;\n }\n\n .page {\n .categories-card,\n .collections-card {\n .card-item {\n width: 100%;\n }\n }\n }\n\n footer {\n .footer-container {\n font-size: 0.618rem;\n }\n }\n\n .pagination .page-item {\n margin: 0 5px;\n }\n}\n\n@media only print {\n @page {\n size: A4 portrait;\n margin: 1.27cm;\n }\n\n .page {\n width: 100% !important;\n padding-top: 0 !important;\n\n &.single {\n .single-title,\n .single-subtitle,\n .post-meta {\n text-align: center;\n }\n }\n\n h1:not(.single-title),\n .page-break-before {\n page-break-before: always;\n }\n\n .page-break-after {\n page-break-after: always;\n }\n }\n\n .print-d-none {\n display: none !important;\n }\n}\n", + "/* Resolve style conflicts between third-party plugins */\n\n@keyframes #{$prefix}pulse {\n from {\n @include transform(scale3d(1, 1, 1));\n }\n\n 50% {\n @include transform(scale3d(1.05, 1.05, 1.05));\n }\n\n to {\n @include transform(scale3d(1, 1, 1));\n }\n}\n\n.animate__pulse {\n -webkit-animation-name: #{$prefix}pulse !important;\n animation-name: #{$prefix}pulse !important;\n}\n\n/**\n * After the CSS round() function exceeds 90% browser support in the future, this code can be removed\n * See https://caniuse.com/mdn-css_types_round\n */\n@supports not (width: ROUND(60%, 2px)) {\n @media only screen and (min-width: 1441px) {\n %page-style {\n width: 60%;\n \n [data-page-style='wide'] & {\n width: 64%;\n }\n \n [data-page-style='narrow'] & {\n max-width: 800px;\n }\n }\n }\n @media only screen and (max-width: 1440px) {\n %page-style {\n width: 56%;\n \n [data-page-style='wide'] & {\n width: 60%;\n }\n }\n }\n @media only screen and (max-width: 1200px) {\n %page-style {\n width: 52%;\n \n [data-page-style='wide'] & {\n width: 56%;\n }\n }\n }\n @media only screen and (max-width: 960px) {\n %page-style {\n width: 80% !important;\n }\n }\n @media only screen and (max-width: 680px) {\n %page-style {\n width: 100% !important;\n }\n }\n}\n", + "// ==============================\n// Custom style\n// 自定义样式\n// ==============================\n" + ], + "names": [], + "mappings": "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K,CvC3Te,OAAO,CuC4T5B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCzTa,OAAO,CuC0T1B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCxTgB,OAAO,CuCyT7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCvTiB,OAAO,CuCwT9B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCtTc,OAAO,CuCuT3B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCrTiB,OAAO,CuCsT9B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCpTgB,OAAO,CuCqT7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCnTqB,OAAO,CuCoTlC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvClTa,OAAO,CuCmT1B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCjTiB,OAAO,CuCkT9B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvChTa,OAAO,CuCiT1B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC/SgB,OAAO,CuCgT7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC9SW,OAAO,CuC+SxB,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC7SgB,OAAO,CuC8S7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC5SqB,OAAO,CuC6SlC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC3SsB,OAAO,CuC4SnC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC1SwB,OAAO,CuC2SrC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCzSqB,OAAO,CuC0SlC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,CvCxSU,OAAO,CuCySvB,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCvSe,OAAO,CuCwS5B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,CvCtSgB,OAAO,CuCuS7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCrSsB,OAAO,CuCsSnC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCpSyB,OAAO,CuCqStC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCnSqB,OAAO,CuCoSlC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvClS0B,OAAO,CuCmSvC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCjSoB,OAAO,CuCkSjC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvChSuB,OAAO,CuCiSpC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC/RuB,OAAO,CuCgSpC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC9RwB,OAAO,CuC+RrC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC7RyB,OAAO,CuC8RtC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC5RsB,OAAO,CuC6RnC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC3RsB,OAAO,CuC4RnC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC1RuB,OAAO,CuC2RpC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCzRuB,OAAO,CuC0RpC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,CvCxRgB,OAAO,CuCyR7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCvRoB,OAAO,CuCwRjC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCtRsB,OAAO,CuCuRnC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCrRoB,OAAO,CuCsRjC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCpRwB,OAAO,CuCqRrC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCnR4B,OAAO,CuCoRzC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvClRoB,OAAO,CuCmRjC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,CvCjRW,OAAO,CuCkRxB,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvChRgB,OAAO,CuCiR7B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,CvC9QU,OAAO,CuC+QvB,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC7QmB,OAAO,CuC8QhC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC5QoB,OAAO,CuC6QjC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC3QiB,OAAO,CuC4Q9B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvC1QkB,OAAO,CuC2Q/B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCzQkB,OAAO,CuC0Q/B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,IAAI,AAsUQ,CACN,KAAK,CvCxQuB,OAAO,CuCyQpC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvCtQkB,OAAO,CuCuQ/B,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1ChLQ,OAAO,C0CiLrB,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,CvClQmB,OAAO,CuCmQhC,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1ChLQ,OAAO,C0CiLrB,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AAsUS,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,C1CvLE,OAAO,C0CwLf,ALpUL,AKkUI,OLlUG,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AAsUU,CACN,KAAK,C1CvLE,OAAO,C0CwLf,CAGH,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,IAAI,AA6UU,CACN,KAAK,C1CvLM,OAAO,C0CwLnB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,CvC7PQ,OAAO,CuC8PrB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC5PiB,OAAO,CuC6P9B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC3PoB,OAAO,CuC4PjC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC1PkB,OAAO,CuC2P/B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCzPe,OAAO,CuC0P5B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCxPiB,OAAO,CuCyP9B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCvPa,OAAO,CuCwP1B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCrPe,OAAO,CuCsP5B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCpPa,OAAO,CuCqP1B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvClPW,OAAO,CuCmPxB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCjPc,OAAO,CuCkP3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvChPe,OAAO,CuCiP5B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC/OY,OAAO,CuCgPzB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC9Oe,OAAO,CuC+O5B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC7Oc,OAAO,CuC8O3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC5OmB,OAAO,CuC6OhC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC3OW,OAAO,CuC4OxB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC1Oe,OAAO,CuC2O5B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCzOW,OAAO,CuC0OxB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCxOc,OAAO,CuCyO3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCvOS,OAAO,CuCwOtB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCtOc,OAAO,CuCuO3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCrOmB,OAAO,CuCsOhC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCpOoB,OAAO,CuCqOjC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCnOsB,OAAO,CuCoOnC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvClOmB,OAAO,CuCmOhC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,CvCjOQ,OAAO,CuCkOrB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvChOa,OAAO,CuCiO1B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,CvC/Nc,OAAO,CuCgO3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC9NoB,OAAO,CuC+NjC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC7NuB,OAAO,CuC8NpC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC5NmB,OAAO,CuC6NhC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC3NwB,OAAO,CuC4NrC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC1NkB,OAAO,CuC2N/B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCzNqB,OAAO,CuC0NlC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCxNqB,OAAO,CuCyNlC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCvNsB,OAAO,CuCwNnC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCtNuB,OAAO,CuCuNpC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCrNoB,OAAO,CuCsNjC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCpNoB,OAAO,CuCqNjC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCnNqB,OAAO,CuCoNlC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvClNqB,OAAO,CuCmNlC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,CvCjNc,OAAO,CuCkN3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvChNkB,OAAO,CuCiN/B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC/MoB,OAAO,CuCgNjC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC9MkB,OAAO,CuC+M/B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC7MsB,OAAO,CuC8MnC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC5M0B,OAAO,CuC6MvC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC3MkB,OAAO,CuC4M/B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,CvC1MS,OAAO,CuC2MtB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCzMc,OAAO,CuC0M3B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,CvCvMQ,OAAO,CuCwMrB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCtMiB,OAAO,CuCuM9B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCrMkB,OAAO,CuCsM/B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCpMe,OAAO,CuCqM5B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvCnMgB,OAAO,CuCoM7B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvClMgB,OAAO,CuCmM7B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,IAAI,AA6UU,CACN,KAAK,CvCjMqB,OAAO,CuCkMlC,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC/LgB,OAAO,CuCgM7B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1CvLM,OAAO,C0CwLnB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,CvC3LiB,OAAO,CuC4L9B,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1CvLM,OAAO,C0CwLnB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,GAAG,AA6UW,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,CAJL,AAAA,AAEI,UAFH,CAAW,MAAM,AAAjB,ELvUH,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CA1EV,EAAE,AA6UY,CACN,KAAK,C1C7LK,OAAO,C0C8LlB,AL3UP,AKmVE,OLnVK,CAgIL,QAAQ,CKkNV,KAAK,CACH,UAAU,CLnVZ,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAEH,UAAU,CLpVZ,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAGH,UAAU,AAAC,CACT,MAAM,CAAE,IAAI,CACb,ALvVH,AKyVE,OLzVK,CAgIL,QAAQ,CKkNV,KAAK,CAOH,UAAU,AAAC,CACT,gBAAgB,CAAE,WAAW,CAC9B,AL3VH,AK6VE,OL7VK,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,AAAC,CACT,OAAO,CAAE,aAAa,CAEtB,gBAAgB,C1ChNI,OAAO,C0CqN5B,ALrWH,A3BGE,O2BHK,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChC1VV,CAAC,C2BHH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChCzVV,CAAC,EAAE,MAAM,C2BJX,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChCxVV,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAWtC,KAAK,CVwFS,OAAO,CU5ExB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChC1VV,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChCzVV,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChCxVV,CAAC,EAAE,KAAK,AAWgB,CAMlB,KAAK,CVgFY,OAAO,CU9E3B,A2BxBL,A3B2BE,O2B3BK,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChClUV,CAAC,CAAC,MAAM,C2B3BV,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChCjUV,CAAC,CAAC,KAAK,AAAC,CAMJ,KAAK,CVuEe,OAAO,CU3D9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChClUV,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,ChCjUV,CAAC,CAAC,KAAK,AASiB,CAMlB,KAAK,CV+DkB,OAAO,CU7DjC,CgCqTD,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,ELlWL,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAWH,UAAU,AAKc,CACpB,gBAAgB,C1ClNO,OAAO,C0CmN/B,ALpWL,AKwWI,OLxWG,CAgIL,QAAQ,CKkNV,KAAK,CAqBH,cAAc,CACZ,UAAU,AAAC,CACT,gBAAgB,C1CzNE,OAAO,C0C8N1B,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EL3WP,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CAqBH,cAAc,CACZ,UAAU,AAGc,CACpB,gBAAgB,C1C3NK,OAAO,C0C4N7B,CAIL,AAAA,AC7WF,UD6WG,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,AC9UH,CAEA,mBAA0B,CAAuB,QAAC,CAClD,0BAAiC,CAA8B,QAAC,CAEhE,sCAA6C,CAA0C,QAAC,CACxF,uCAA8C,CAA2C,QAAC,CAC1F,4DAAmE,CAAgE,QAAC,CACpI,qCAA4C,CAAyC,QAAC,CACtF,sDAA6D,CAA0D,QAAC,CACxH,yCAAgD,CAA6C,QAAC,CAC9F,sCAA6C,CAA0C,QAAC,CACxF,qCAA4C,CAAyC,QAAC,CACtF,uCAA8C,CAA2C,QAAC,CAC1F,2DAAkE,CAA+D,QAAC,CAClI,uDAA8D,CAA2D,QAAC,CAC1H,mDAA0D,CAAuD,QAAC,CAClH,iDAAwD,CAAqD,QAAC,CAC9G,mDAA0D,CAAuD,QAAC,CAClH,iDAAwD,CAAqD,QAAC,CAC9G,4CAAmD,CAAgD,QAAC,CACpG,0CAAiD,CAA8C,QAAC,CAChG,6CAAoD,CAAiD,QAAC,CACtG,4CAAmD,CAAgD,QAAC,CACpG,0CAAiD,CAA8C,QAAC,CAChG,kDAAyD,CAAsD,QAAC,CAChH,gDAAuD,CAAoD,QAAC,CAC5G,mDAA0D,CAAuD,QAAC,CAClH,iDAAwD,CAAqD,QAAC,CAC9G,kDAAyD,CAAsD,QAAC,CAChH,gDAAuD,CAAoD,QAAC,CAC5G,kDAAyD,CAAsD,QAAC,CAChH,gDAAuD,CAAoD,QAAC,CAC5G,8CAAqD,CAAkD,QAAC,CACxG,wDAA+D,CAA4D,QAAC,CAoI7H,CDuMC,AAAA,ACzUA,UDyUC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC1SH,SAAS,AAAC,CACR,KAAK,CAAE,wBAAsD,CAC9D,CDuUD,AAAA,ACtUA,UDsUC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCvSH,gBAAgB,AAAC,CACf,KAAK,CAAE,+BAAoE,CAC5E,CDoUD,AAAA,AClUA,UDkUC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCnSH,KAAK,AAA+D,CAClE,KAAK,CAAE,2CAA4F,CACpG,CDgUD,AAAA,AC9TA,UD8TC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC/RH,MAAM,ED8TN,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC9RH,KAAK,CAAC,KAAK,AAAuB,CAChC,KAAK,CAAE,4CAA8F,CACtG,CD2TD,AAAA,ACzTA,UDyTC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC1RH,KAAK,EDyTL,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCzRH,MAAM,AAAmB,CACvB,KAAK,CAAE,0CAA0F,CAClG,CDsTD,AAAA,ACpTA,UDoTC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCrRH,OAAO,EDoTP,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCpRH,KAAK,CAAC,MAAM,AAAqB,CAC/B,KAAK,CAAE,2DAA4H,CACpI,CDiTD,AAAA,AC/SA,UD+SC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CChRH,OAAO,AAAqC,CAC1C,KAAK,CAAE,8CAAkG,CAC1G,CD6SD,AAAA,AC3SA,UD2SC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC5QH,KAAK,AAAsC,CACzC,KAAK,CAAE,2CAA4F,CACpG,CDySD,AAAA,ACvSA,UDuSC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCxQH,KAAK,EDuSL,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCvQH,OAAO,EDsSP,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCtQH,KAAK,CAAC,OAAO,CAAC,MAAM,EDqSpB,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCrQH,MAAM,EDoSN,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCpQH,MAAM,CAAC,OAAO,EDmSd,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCnQH,MAAM,CAAC,OAAO,EDkSd,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CClQH,MAAM,CAAC,OAAO,AAAwD,CACpE,KAAK,CAAE,0CAA0F,CAClG,CD+RD,AAAA,AC7RA,UD6RC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC9PH,KAAK,ED6RL,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC7PH,OAAO,AAAkC,CACvC,KAAK,CAAE,4CAA8F,CACtG,CD0RD,AAAA,ACxRA,UDwRC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCzPH,MAAM,AAAwI,CAC5I,KAAK,CAAE,gEAAsI,CAC9I,CDsRD,AAAA,ACpRA,UDoRC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCrPH,MAAM,AAAuB,CAC3B,KAAK,CAAE,wDAAsH,CAC7H,gBAAgB,CAAE,sDAAkH,CACrI,CDiRD,AAAA,AC/QA,UD+QC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CChPH,MAAM,AAAuB,CAC3B,KAAK,CAAE,wDAAsH,CAC7H,gBAAgB,CAAE,sDAAkH,CACrI,CD4QD,AAAA,AC1QA,UD0QC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC3OH,MAAM,EAAE,MAAM,AAAuB,CACnC,OAAO,CAAE,IAAI,CACd,CDwQD,AAAA,ACtQA,UDsQC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCvOH,MAAM,CAAC,OAAO,AAA+C,CAC3D,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,iDAAwG,CAChH,CDmQD,AAAA,ACjQA,UDiQC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CClOH,MAAM,AAAmB,CACvB,KAAK,CAAE,+CAAoG,CAC5G,CD+PD,AAAA,AC7PA,UD6PC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC9NH,MAAM,ED6PN,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC7NH,MAAM,CAAC,MAAM,ED4Pb,AAAA,UAAC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC5NH,MAAM,AAAsB,CAC1B,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,kDAA0G,CAClH,CDwPD,AAAA,ACtPA,UDsPC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCvNH,MAAM,AAAqB,CACzB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,iDAAwG,CAChH,CDmPD,AAAA,ACjPA,UDiPC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CClNH,MAAM,AAAmB,CACvB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,+CAAoG,CAC5G,CD8OD,AAAA,AC5OA,UD4OC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC7MH,MAAM,AAAkF,CACtF,KAAK,CAAE,uDAAoH,CAC3H,gBAAgB,CAAE,qDAAgH,CACnI,CDyOD,AAAA,ACvOA,UDuOC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCxMH,OAAO,AAAkF,CACvF,KAAK,CAAE,wDAAsH,CAC7H,gBAAgB,CAAE,sDAAkH,CACrI,CDoOD,AAAA,AClOA,UDkOC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCnMH,MAAM,AAAsD,CAC1D,KAAK,CAAE,uDAAoH,CAC3H,gBAAgB,CAAE,qDAAgH,CACnI,CD+ND,AAAA,AC7NA,UD6NC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC9LH,OAAO,AAAwC,CAC7C,KAAK,CAAE,uDAAoH,CAC3H,gBAAgB,CAAE,qDAAgH,CACnI,CD0ND,AAAA,ACxNA,UDwNC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCzLH,OAAO,AAAuB,CAC5B,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,mDAA4G,CACpH,CDqND,AAAA,ACnNA,UDmNC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CCpLH,MAAM,AAAiK,CACrK,KAAK,CAAE,4DAA8H,CACtI,CDiND,AAAA,AC/MA,UD+MC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CChLH,MAAM,AAAiC,CACrC,KAAK,CAAE,6DAAgI,CACxI,CD6MD,AAAA,AC3MA,UD2MC,CAAW,MAAM,AAAjB,ELjXH,OAAO,CAgIL,QAAQ,CKkNV,KAAK,CC5KH,QAAQ,AAAwD,CAC9D,eAAe,CAAE,SAAS,CAC1B,KAAK,CAAE,iEAAwI,CAChJ,ANzKH,AQJA,ORIO,CAgIL,QAAQ,CQpIV,WAAW,AAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,SAAS,CAClB,WAAW,CAAE,YAAY,CACzB,QAAQ,CAAE,MAAM,CpCJhB,qBAAqB,CTiBA,GAAG,CShBxB,kBAAkB,CTgBG,GAAG,CSfxB,aAAa,CTeQ,GAAG,C6C4BxB,gBAAgB,CAAE,6BAAgE,CAClF,iBAAiB,CAAE,0BAA0D,CAgB7E,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,qBAAC,CAC5D,kCAAyC,CAAsC,sBAAC,CAgBjF,AR7ED,AQIE,ORJK,CAgIL,QAAQ,CQpIV,WAAW,CAQT,iBAAiB,AAAC,CAChB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,UAAU,CAClB,OAAO,CAAE,cAAc,CACvB,aAAa,CAAE,SAAS,CpCX1B,qBAAqB,CoCYI,CAAC,CpCX1B,kBAAkB,CoCWO,CAAC,CpCV1B,aAAa,CoCUY,CAAC,CACzB,ARVH,AQYE,ORZK,CAgIL,QAAQ,CQpIV,WAAW,CAgBT,mBAAmB,AAAC,CAClB,OAAO,CAAE,QAAQ,CAclB,AR3BH,AQgBI,ORhBG,CAgIL,QAAQ,CQpIV,WAAW,CAgBT,mBAAmB,CAIf,CAAC,AAAC,CACF,MAAM,CAAE,CAAC,CACV,ARlBL,AQoBI,ORpBG,CAgIL,QAAQ,CQpIV,WAAW,CAgBT,mBAAmB,CAQf,KAAK,AAAC,CACN,OAAO,CAAE,IAAI,CACd,ARtBL,AQwBI,ORxBG,CAgIL,QAAQ,CQpIV,WAAW,CAgBT,mBAAmB,CAYf,GAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAE,CAC1B,OAAO,CAAE,IAAI,CACd,AR1BL,AQ6BE,OR7BK,CAgIL,QAAQ,CQpIV,WAAW,CAiCT,CAAC,AAAA,KAAK,AAAC,CACL,SAAS,CAAE,OAAO,CAClB,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,MAAM,CACX,IAAI,CAAE,MAAM,CACb,ARlCH,AQoCE,ORpCK,CAgIL,QAAQ,CQpIV,WAAW,CAwCT,CAAC,AAAA,aAAa,AAAC,CACb,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,MAAM,CACX,KAAK,CAAE,MAAM,CACd,ARxCH,AQ6CE,OR7CK,CAgIL,QAAQ,CQpIV,WAAW,CAiDP,iBAAiB,AAAC,CAClB,mBAAmB,CAAE,6BAAgE,CACrF,gBAAgB,CAAE,uCAAoF,CAKvG,ARpDH,AQiDI,ORjDG,CAgIL,QAAQ,CQpIV,WAAW,CAiDP,iBAAiB,CAIjB,CAAC,AAAA,KAAK,AAAC,CACL,KAAK,CAAE,0BAA0D,CAClE,ARnDL,AQsDE,ORtDK,CAgIL,QAAQ,CQpIV,WAAW,AA0DR,KAAK,CAAG,iBAAiB,AAAC,CACzB,gBAAgB,CAAE,6BAAgE,CACnF,ARxDH,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,SAAS,AAsEG,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,KAAK,AAsEO,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,KAAK,AAsEO,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,qBAAC,CAC5D,kCAAyC,CAAsC,sBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,IAAI,AAsEQ,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,QAAQ,AAsEI,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,mBAAC,CAC5D,kCAAyC,CAAsC,oBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,SAAS,AAsEG,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,QAAQ,AAsEI,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,QAAQ,AAsEI,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,OAAO,AAsEK,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,oBAAC,CAC5D,kCAAyC,CAAsC,qBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,IAAI,AAsEQ,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,mBAAC,CAC5D,kCAAyC,CAAsC,oBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,QAAQ,AAsEI,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,qBAAC,CAC5D,kCAAyC,CAAsC,sBAAC,CACjF,ARtEP,AQkEM,ORlEC,CAgIL,QAAQ,CQpIV,WAAW,AAAV,MAAM,AAsEM,CACL,qBAA4B,CAAyB,QAAC,CACtD,wBAA+B,CAA4B,sBAAC,CAC5D,kCAAyC,CAAsC,uBAAC,CACjF,ARtEP,AQ0EE,OR1EK,CAgIL,QAAQ,CQpIV,WAAW,CA8EP,UAAU,AAAC,CACX,aAAa,CAAE,OAAO,CACvB,AR5EH,ASJA,OTIO,CAgIL,QAAQ,CSpIV,SAAS,AAAC,CACR,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,YAAY,CAAE,MAAM,CACpB,MAAM,CAAE,SAAS,CACjB,UAAU,CAAE,MAAM,CASnB,ATXD,ASIE,OTJK,CAgIL,QAAQ,CSpIV,SAAS,CAQP,MAAM,AAAC,CACL,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACP,ATVH,AUJA,OVIO,CAgIL,QAAQ,CUpIV,OAAO,AAAC,CACN,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,CAAC,CACT,cAAc,CAAE,OAAO,CACvB,MAAM,CAAE,SAAS,CACjB,UAAU,CAAE,MAAM,CASnB,AVXD,AUIE,OVJK,CAgIL,QAAQ,CUpIV,OAAO,CAQL,MAAM,AAAC,CACL,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CACP,AAGH,MAAM,mCACJ,CVdF,AUcE,OVdK,CAgIL,QAAQ,CUlHR,OAAO,AAAC,CACN,KAAK,CAAE,GAAG,CACV,aAAa,CAAE,EAAE,CACjB,cAAc,CAAE,IAAI,CACrB,CAAA,AVlBH,AWCA,OXDO,CAgIL,QAAQ,CW/HV,UAAU,AAAC,CACT,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,KAAK,CACd,MAAM,CAAE,WAAW,CACnB,UAAU,CAAE,UAAU,CACtB,KAAK,CAAE,uBAAuB,CAC9B,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,MAAM,CAChB,eAAe,CAAE,IAAI,CACrB,MAAM,CAAE,IAAI,CvCbZ,qBAAqB,CuCcE,MAAO,CvCb9B,kBAAkB,CuCaK,MAAO,CvCZ9B,aAAa,CuCYU,MAAO,CAC/B,AXZD,AWeE,OXfK,CAgIL,QAAQ,CWlHV,YAAI,AACQ,CACR,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,OAAO,CACZ,MAAM,CAAE,OAAO,CACf,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,CAAC,CACR,gBAAgB,CAAE,gBAAgB,CAClC,iBAAiB,CAAE,SAAS,CAC5B,MAAM,CAAE,YAAY,CACpB,OAAO,CAAE,GAAG,CACZ,eAAe,CAAE,OAAO,CACxB,mBAAmB,CAAE,MAAM,CAC5B,AX3BH,AW6BE,OX7BK,CAgIL,QAAQ,CWlHV,WAAI,AAeO,CACP,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,aAAa,CAC9B,OAAO,CAAE,OAAO,CAChB,gBAAgB,CAAE,sBAAyB,CAC5C,AXpCH,AWsCE,OXtCK,CAgIL,QAAQ,CWlHV,QAAI,AAwBI,CACJ,QAAQ,CAAE,MAAM,CACjB,AXxCH,AW0CE,OX1CK,CAgIL,QAAQ,CWlHV,SAAI,AA4BK,CACL,OAAO,CAAE,WAAW,CACpB,kBAAkB,CAAE,CAAC,CACrB,QAAQ,CAAE,MAAM,CAChB,UAAU,CAAE,qBAAqB,CACjC,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,WAAW,CAAE,IAAI,CACjB,KAAK,ChD7BW,OAAO,CgD8BxB,AXnDH,AWqDE,OXrDK,CAgIL,QAAQ,CWlHV,QAAI,AAuCI,CACJ,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,OAAO,CACnB,SAAS,CAAE,QAAQ,CACnB,KAAK,ChDjCqB,OAAO,CgDkClC,AX3DH,AW6DE,OX7DK,CAgIL,QAAQ,CWlHV,aAAI,AA+CS,CACT,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,CAAC,CACd,YAAY,CAAE,OAAO,CACtB,AXlEH,AWoEE,OXpEK,CAgIL,QAAQ,CWlHV,OAAI,AAsDG,CACH,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,MAAM,CACpB,AXxEH,AW0EE,OX1EK,CAgIL,QAAQ,CWlHV,iBAAI,AA4Da,CACb,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,WAAW,CAAE,CAAC,CACd,WAAW,CAAE,OAAO,CASrB,AXvFH,AWgFI,OXhFG,CAgIL,QAAQ,CWlHV,iBAAI,CAkEE,EAAG,CAAA,CAAC,CAAE,CACN,UAAU,CAAE,MAAM,CAClB,SAAS,CAAE,IAAI,CACf,OAAO,CAAE,WAAW,CACpB,WAAW,CAAE,MAAM,CACnB,eAAe,CAAE,MAAM,CACxB,AXtFL,AWyFE,OXzFK,CAgIL,QAAQ,CWlHV,kBAAI,AA2Ec,CACd,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,eAAe,CACvB,WAAW,CAAE,CAAC,CACd,WAAW,CAAE,OAAO,CACpB,UAAU,CAAE,KAAK,CACjB,aAAa,CAAE,GAAG,CACnB,CAED,AAAA,AACE,UADD,CAAW,MAAM,AAAjB,EXlGH,OAAO,CAgIL,QAAQ,CWlHV,WAAI,AAqFS,CACP,gBAAgB,CAAE,mBAAsB,CACzC,CAHH,AAAA,AAKE,UALD,CAAW,MAAM,AAAjB,EXlGH,OAAO,CAgIL,QAAQ,CWlHV,SAAI,AAyFO,CACL,KAAK,ChDlFc,OAAO,CgDmF3B,CAPH,AAAA,AASE,UATD,CAAW,MAAM,AAAjB,EXlGH,OAAO,CAgIL,QAAQ,CWlHV,QAAI,AA6FM,CACJ,KAAK,ChDlFwB,OAAO,CgDmFrC,AX7GL,AYJA,OZIO,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,AAAC,CAC3B,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,CAAC,CACV,QAAQ,CAAE,QAAQ,CAClB,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,OAAO,CAoCf,AZtCD,AYIE,OZJK,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,EAQvB,KAAK,CZJV,OAAO,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,EASvB,MAAM,AAAC,CACR,IAAI,CAAE,CAAC,CACP,WAAW,CAAE,CAAC,CACd,OAAO,CAAE,GAAG,CACZ,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACZ,AZXH,AYaE,OZbK,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,EAiBvB,MAAM,AAAC,CACR,UAAU,CAAE,GAAG,CAAC,KAAK,CjDuBH,OAAO,CiDtBzB,UAAU,CAAE,IAAI,CAChB,GAAG,CAAE,KAAK,CACV,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,GAAG,CAKjB,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EZrBL,OAAO,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,EAiBvB,MAAM,AAQe,CACpB,gBAAgB,CjDgBK,OAAO,CiDf7B,AZvBL,AY0BE,OZ1BK,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,EA8BvB,KAAK,AAAC,CACP,aAAa,CAAE,GAAG,CAAC,KAAK,CjDUN,OAAO,CiDTzB,MAAM,CAAE,KAAK,CACb,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,OAAO,CAChB,WAAW,CAAE,qBAAqB,CAClC,WAAW,CAAE,GAAG,CAKjB,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EZlCL,OAAO,CAgIL,QAAQ,CYpIV,UAAU,AAAA,kBAAkB,EA8BvB,KAAK,AAQgB,CACpB,mBAAmB,CjDGE,OAAO,CiDF7B,AZpCL,AaJA,ObIO,CAgIL,QAAQ,CapIV,QAAQ,AAAC,CACP,MAAM,CAAE,QAAQ,CAChB,UAAU,CAAE,MAAM,CACnB,CCFC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EdGH,OAAO,CAgIL,QAAQ,CcpIV,MAAM,AAAA,gBAAgB,AACE,CACpB,MAAM,CAAE,eAAe,CACxB,AdCH,AeJA,OfIO,CAgIL,QAAQ,CepIV,OAAO,AAAC,CACN,MAAM,CAAE,QAAQ,CAChB,OAAO,CAAE,QAAQ,C3CDjB,qBAAqB,CTiBA,GAAG,CShBxB,kBAAkB,CTgBG,GAAG,CSfxB,aAAa,CTeQ,GAAG,CoDdzB,AfAD,AgBHE,OhBGK,CAgIL,QAAQ,CgBpIV,QAAQ,CACL,AAAA,cAAC,CAAe,MAAM,AAArB,CAAuB,CACvB,UAAU,CAAE,MAAM,CACnB,AhBCH,AgBCE,OhBDK,CAgIL,QAAQ,CgBpIV,QAAQ,CAKN,GAAG,AAAC,CACF,SAAS,CAAE,IAAI,CACf,MAAM,CAAE,IAAI,CACb,AhBJH,AiBJA,OjBIO,CAgIL,QAAQ,CiBpIV,YAAY,AAAK,CACf,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,UAAU,CACtB,QAAQ,CAAE,IAAI,CACd,MAAM,CAAE,SAAS,CACjB,gBAAgB,CAAA,QAAC,CACjB,uBAAuB,CAAA,QAAC,CACxB,sBAAsB,CAAA,KAAC,CACvB,gBAAgB,CAAA,IAAC,CAmGlB,AjBvGD,AiBOI,OjBPG,CAgIL,QAAQ,CiBpIV,YAAY,CAUT,AAAA,cAAC,AAAA,EAVJ,iBAAiB,EAAE,MAAM,AAWS,CAC5B,YAAY,CAAE,qBAAqB,CACnC,cAAc,CAAE,iBAAiB,CACjC,kBAAkB,CAAE,EAAE,CACtB,yBAAyB,CAAE,QAAQ,CACnC,eAAe,CAAE,kCAAkC,CAapD,AAXC,UAAU,CAAV,iBAAU,CACR,EAAE,CACA,YAAY,CAAE,qBAAqB,CAErC,GAAG,CACD,YAAY,CAAE,4BAA4B,CAE5C,IAAI,CACF,YAAY,CAAE,qBAAqB,EjBtB7C,AiB4BE,OjB5BK,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,AAgCO,CACpB,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,cAAc,CAwExB,AjBtGH,AiBiCM,OjBjCC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAhB,AAAA,SAAC,CAAU,SAAS,AAAnB,CAqCc,CACR,uBAAuB,CAAA,kBAAC,CACzB,AjBnCP,AiBiCM,OjBjCC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAhB,AAAA,SAAC,CAAU,WAAW,AAArB,CAqCc,CACR,uBAAuB,CAAA,oBAAC,CACzB,AjBnCP,AiBiCM,OjBjCC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAhB,AAAA,SAAC,CAAU,SAAS,AAAnB,CAqCc,CACR,uBAAuB,CAAA,kBAAC,CACzB,AjBnCP,AiBiCM,OjBjCC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAhB,AAAA,SAAC,CAAU,MAAM,AAAhB,CAqCc,CACR,uBAAuB,CAAA,eAAC,CACzB,AjBnCP,AiBiCM,OjBjCC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAhB,AAAA,SAAC,CAAU,SAAS,AAAnB,CAqCc,CACR,uBAAuB,CAAA,kBAAC,CACzB,AjBnCP,AiBiCM,OjBjCC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAhB,AAAA,SAAC,CAAU,QAAQ,AAAlB,CAqCc,CACR,uBAAuB,CAAA,iBAAC,CACzB,AjBnCP,AiBsCI,OjBtCG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAjB,4BAA4B,AA0CS,CAC/B,SAAS,CAAE,SAAS,CACpB,WAAW,CAAE,CAAC,CACd,KAAK,CAAE,mBAA4C,CASpD,AjBlDL,AiB2CM,OjB3CC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAjB,4BAA4B,AA+CrB,OAAO,AAAC,CACP,aAAa,CAAE,OAAO,CACtB,WAAW,CAAE,UAAU,CACxB,AjB9CP,AiB+CM,OjB/CC,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAjB,4BAA4B,AAmDrB,UAAU,AAAC,CACV,UAAU,CAAE,OAAO,CACpB,AjBjDP,AiBoDI,OjBpDG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAAjB,0BAA0B,AAwDS,CAC7B,SAAS,CAAE,QAAQ,CACpB,AjBtDL,AiBwDI,OjBxDG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CA4DZ,AAAA,SAAC,CAAU,KAAK,AAAf,GAAkB,MAAM,AAAC,CACzB,gBAAgB,CAAE,4BAA4B,CAAC,UAAU,CAC1D,AjB1DL,AiB2DI,OjB3DG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CA+DZ,AAAA,SAAC,CAAU,OAAO,AAAjB,GAAoB,MAAM,AAAC,CAC3B,SAAS,CAAE,UAAU,CAAC,gBAAgB,CACvC,AjB7DL,AiB8DI,OjB9DG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,CAkEZ,AAAA,SAAC,CAAU,OAAO,AAAjB,GAAoB,MAAM,AAAC,CAC3B,SAAS,CAAE,UAAU,CAAC,gBAAgB,CACvC,AjBhEL,AiBkEI,OjBlEG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,EAsEV,MAAM,AAAC,CACR,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,OAAO,CACZ,SAAS,CAAE,gBAAgB,CAC3B,IAAI,CAAE,CAAC,CACP,KAAK,CAAE,2BAA2B,CAClC,MAAM,CAAE,2BAA2B,CACnC,SAAS,CAAE,2BAA2B,CACtC,WAAW,CAAE,2BAA2B,CACxC,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,GAAG,CAClB,YAAY,CAAE,qBAAqB,CACnC,YAAY,CAAE,KAAK,CACnB,YAAY,CAAE,4BAA4B,CAC1C,gBAAgB,CtDhEI,IAAO,CsDiE3B,KAAK,CAAE,WAAW,CAClB,OAAO,CAAE,CAAC,CAKX,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EjBrFP,OAAO,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,EAsEV,MAAM,AAmBe,CACpB,gBAAgB,CtDpEO,OAAO,CsDqE/B,AjBvFP,AiByFI,OjBzFG,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,EA6FV,KAAK,AAAC,CACP,OAAO,CAAE,EAAE,CACX,QAAQ,CAAE,QAAQ,CAClB,GAAG,CAAE,CAAC,CACN,IAAI,CAAE,iEAAiE,CACvE,KAAK,CAAE,qBAAqB,CAC5B,MAAM,CAAE,IAAI,CACZ,gBAAgB,CAAE,qBAAqB,CACxC,CAED,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EjBnGL,OAAO,CAgIL,QAAQ,CiBpIV,YAAY,CAAZ,iBAAiB,AAuGS,CACpB,gBAAgB,CAAA,QAAC,CAClB,AjBrGL,AkBJA,OlBIO,CkBJP,YAAY,AAAC,CACX,OAAO,CAAE,IAAI,CACb,UAAU,CAAE,MAAM,CA8FnB,AlB5FD,AkBCE,OlBDK,CkBJP,YAAY,CAKR,GAAI,CAAA,YAAY,CAAC,KAAK,CAAE,CACxB,OAAO,CAAE,IAAI,CACd,AlBHH,AkBKE,OlBLK,CkBJP,YAAY,CASV,QAAQ,AAAC,CACP,MAAM,CAAE,QAAQ,CAChB,WAAW,CAAE,GAAG,CACjB,AlBRH,AkBUE,OlBVK,CkBJP,YAAY,CAcV,YAAY,AAAC,CACX,OAAO,CAAE,IAAI,CACd,AlBZH,AkBcE,OlBdK,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,AAAC,CACjC,OAAO,CAAE,KAAK,CACd,WAAW,CAAE,IAAI,CAyClB,AlBzDH,AkBkBI,OlBlBG,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,CAIhC,GAAG,AAAC,CACF,OAAO,CAAE,YAAY,C9CgFzB,mBAAmB,C8C/EM,IAAI,C9C+ED,UAAU,CACtC,gBAAgB,C8ChFS,IAAI,C9CgFJ,UAAU,CACnC,WAAW,C8CjFc,IAAI,C9CiFT,UAAU,C8C/D3B,AlBtCL,AkBsBM,OlBtBC,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,CAIhC,GAAG,CAID,IAAI,AAAC,CACH,OAAO,CAAE,KAAK,CACf,AlBxBP,AkB0BM,OlB1BC,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,CAIhC,GAAG,CAQC,KAAK,CAAC,IAAI,CAAA,AAAA,cAAC,AAAA,CAAgB,CAC3B,SAAS,CAAE,qCAAqC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAErE,cAAc,CAAE,IAAI,CACrB,AlB9BP,AkBgCM,OlBhCC,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,CAIhC,GAAG,CAcD,GAAG,AAAC,CACF,OAAO,CAAE,YAAY,CACrB,MAAM,CAAE,WAAW,CACnB,SAAS,CAAE,IAAI,CACf,KAAK,CvDyFM,KAAK,CuDxFjB,AlBrCP,AkByCI,OlBzCG,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,CA2B/B,AAAA,SAAC,CAAU,OAAO,AAAjB,CAAmB,CACnB,QAAQ,CAAE,KAAK,CACf,GAAG,CAAE,GAAG,CACR,IAAI,CAAE,GAAG,CACT,SAAS,CAAE,qBAAqB,CAChC,OAAO,CAAE,IAAI,CACb,gBAAgB,CvD9BI,IAAO,CcpB/B,OAAO,CyCmDc,GAAC,C9CnDtB,qBAAqB,CTiBA,GAAG,CShBxB,kBAAkB,CTgBG,GAAG,CSfxB,aAAa,CTeQ,GAAG,CSXxB,kBAAkB,C8C+CM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAkB,C9C9CvD,UAAU,C8C8Cc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,eAAkB,CAMpD,CAJC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,ElBpDP,OAAO,CkBJP,YAAY,CAkBV,aAAa,CAAC,OAAO,CAAC,YAAY,CA2B/B,AAAA,SAAC,CAAU,OAAO,AAAjB,CAWsB,CACpB,gBAAgB,CvDnCO,OAAO,CSfpC,kBAAkB,C8CmDQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAwB,C9ClD/D,UAAU,C8CkDgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAwB,CAC1D,AlBvDP,AkB2DE,OlB3DK,CkBJP,YAAY,CA+DV,cAAc,AAAC,CACb,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,UAAU,CACtB,MAAM,CAAE,OAAO,CACf,OAAO,CAAE,IAAI,CACb,KAAK,CvDyDM,OAAM,CuDxDjB,MAAM,CAAE,GAAG,CAAC,KAAK,CvDwDN,OAAM,CuDvDjB,aAAa,CvDpDM,GAAG,CuDqDtB,OAAO,CAAE,WAAW,CACpB,gBAAgB,CvDnDM,IAAO,CuDoD7B,cAAc,CAAE,QAAQ,CACxB,WAAW,CAAE,IAAI,C9C9DnB,kBAAkB,C8C+DI,GAAG,CAAC,IAAI,CAAC,QAAQ,C9C9DvC,eAAe,C8C8DO,GAAG,CAAC,IAAI,CAAC,QAAQ,C9C7DvC,aAAa,C8C6DS,GAAG,CAAC,IAAI,CAAC,QAAQ,C9C5DvC,UAAU,C8C4DY,GAAG,CAAC,IAAI,CAAC,QAAQ,CAoBtC,AlB3FH,AkByEI,OlBzEG,CkBJP,YAAY,CA+DV,cAAc,CAcV,MAAM,ClBzEZ,OAAO,CkBJP,YAAY,CA+DV,cAAc,CAeV,KAAK,AAAC,CACN,KAAK,CAAE,OAAO,CACd,YAAY,CvD6CH,MAAM,CuD5Cf,gBAAgB,CvD4CP,MAAM,CuDrChB,CALC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,ElB/EP,OAAO,CkBJP,YAAY,CA+DV,cAAc,CAcV,MAAM,EAMN,AAAA,UAAC,CAAW,MAAM,AAAjB,ElB/EP,OAAO,CkBJP,YAAY,CA+DV,cAAc,CAeV,KAAK,AAKiB,CACpB,KAAK,CAAE,OAAO,CACd,YAAY,CvDwCL,OAAM,CuDvCb,gBAAgB,CvDuCT,OAAM,CuDtCd,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,ElBtFL,OAAO,CkBJP,YAAY,CA+DV,cAAc,AA2BU,CACpB,KAAK,CvDkCI,MAAM,CuDjCf,YAAY,CvDiCH,OAAM,CuDhCf,gBAAgB,CvDvES,OAAO,CuDwEjC,AlB1FL,AmBJA,OnBIO,CmBJP,YAAY,AAAC,CACX,MAAM,CAAE,MAAM,CAkHf,AnB/GD,AmBDE,OnBCK,CmBJP,YAAY,CAGR,YAAY,AAAC,CACb,YAAY,CAAE,OAAO,CACtB,AnBDH,AmBGE,OnBHK,CmBJP,YAAY,CAOV,UAAU,AAAC,CACT,aAAa,CAAE,GAAG,CAAC,KAAK,CxDiCN,OAAO,CwDhCzB,OAAO,CAAE,QAAQ,CAoDlB,CAlDC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EnBPL,OAAO,CmBJP,YAAY,CAOV,UAAU,AAIc,CACpB,aAAa,CAAE,GAAG,CAAC,KAAK,CxD8BH,OAAO,CwD7B7B,AnBTL,AmBWI,OnBXG,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,AAAC,CACd,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CA2C/B,AnBxDL,AmBeM,OnBfC,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,AAAC,CACb,SAAS,CAAE,KAAK,CAChB,KAAK,CxDQiB,OAAO,CwDD9B,CALC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EnBnBT,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,AAIU,CACpB,KAAK,CxDMoB,OAAO,CwDLjC,AnBrBT,A3BGE,O2BHK,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CZlB,CAAC,C2BHH,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CXlB,CAAC,EAAE,MAAM,C2BJX,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CVlB,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAWtC,KAAK,CVwFS,OAAO,CU5ExB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CZlB,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CXlB,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CVlB,CAAC,EAAE,KAAK,AAWgB,CAMlB,KAAK,CVgFY,OAAO,CU9E3B,A2BxBL,A3B2BE,O2B3BK,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CYlB,CAAC,CAAC,MAAM,C2B3BV,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CalB,CAAC,CAAC,KAAK,AAAC,CAMJ,KAAK,CVuEe,OAAO,CU3D9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CYlB,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAIb,cAAc,C9CalB,CAAC,CAAC,KAAK,AASiB,CAMlB,KAAK,CV+DkB,OAAO,CU7DjC,A2B7CL,AmB0BM,OnB1BC,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,AAAC,CACjB,SAAS,CAAE,KAAK,CAChB,KAAK,CxDHiB,OAAO,CwDU9B,CALC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EnB9BT,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,AAIM,CACpB,KAAK,CxDLoB,OAAO,CwDMjC,AnBhCT,A3BGE,O2BHK,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CvBtB,CAAC,C2BHH,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CtBtB,CAAC,EAAE,MAAM,C2BJX,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CrBtB,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAWtC,KAAK,CVwFS,OAAO,CU5ExB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CvBtB,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CtBtB,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CrBtB,CAAC,EAAE,KAAK,AAWgB,CAMlB,KAAK,CVgFY,OAAO,CU9E3B,A2BxBL,A3B2BE,O2B3BK,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CCtB,CAAC,CAAC,MAAM,C2B3BV,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CEtB,CAAC,CAAC,KAAK,AAAC,CAMJ,KAAK,CVuEe,OAAO,CU3D9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CCtB,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAeb,kBAAkB,C9CEtB,CAAC,CAAC,KAAK,AASiB,CAMlB,KAAK,CV+DkB,OAAO,CU7DjC,A2B7CL,AmBqCM,OnBrCC,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,AAAC,CACZ,SAAS,CAAE,MAAM,CACjB,KAAK,CAAE,WAAW,CASnB,AnBhDP,A3BGE,O2BHK,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9ClCjB,CAAC,C2BHH,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9CjCjB,CAAC,EAAE,MAAM,C2BJX,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9ChCjB,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAWtC,KAAK,CVwFS,OAAO,CU5ExB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9ClCjB,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9CjCjB,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9ChCjB,CAAC,EAAE,KAAK,AAWgB,CAMlB,KAAK,CVgFY,OAAO,CU9E3B,A2BxBL,A3B2BE,O2B3BK,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9CVjB,CAAC,CAAC,MAAM,C2B3BV,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9CTjB,CAAC,CAAC,KAAK,AAAC,CAMJ,KAAK,CVuEe,OAAO,CU3D9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9CVjB,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,C9CTjB,CAAC,CAAC,KAAK,AASiB,CAMlB,KAAK,CV+DkB,OAAO,CU7DjC,A2B7CL,AmB2CQ,OnB3CD,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CA0Bb,aAAa,CAMV,IAAI,CAAA,GAAK,EAAC,WAAW,GAAG,MAAM,AAAC,CAC9B,OAAO,CAAE,GAAG,CACZ,WAAW,CAAE,OAAO,CACpB,YAAY,CAAE,OAAO,CACtB,AnB/CT,AmBoDQ,OnBpDD,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAuCb,gBAAgB,CAEd,CAAC,CAAC,CAAC,AAAC,CACF,cAAc,CAAE,WAAW,CAC5B,AnBtDT,AmB2DE,OnB3DK,CmBJP,YAAY,CA+DV,eAAe,AAAC,CACd,OAAO,CAAE,QAAQ,CACjB,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,SAAS,CAAE,MAAM,CAKlB,AnBpEH,AmBsEE,OnBtEK,CmBJP,YAAY,CA0EV,UAAU,AAAC,CACT,SAAS,CAAE,GAAG,CAYf,AnBnFH,AmByEI,OnBzEG,CmBJP,YAAY,CA0EV,UAAU,CAGR,CAAC,AAAC,CACA,OAAO,CAAE,MAAM,CAChB,AnB3EL,A3BGE,O2BHK,CmBJP,YAAY,CA0EV,UAAU,C9CnEV,CAAC,C2BHH,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9ClEV,CAAC,EAAE,MAAM,C2BJX,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9CjEV,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAOtC,KAAK,CVoBS,OAAO,CUJxB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9CnEV,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9ClEV,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BhBL,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9CjEV,CAAC,EAAE,KAAK,AAWgB,CAElB,KAAK,CVYY,OAAO,CUN3B,A2BxBL,A3B2BE,O2B3BK,CmBJP,YAAY,CA0EV,UAAU,C9C3CV,CAAC,CAAC,MAAM,C2B3BV,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9C1CV,CAAC,CAAC,KAAK,AAAC,CAEJ,KAAK,CVGe,OAAO,CUa9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9C3CV,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,E2BrCL,OAAO,CmBJP,YAAY,CA0EV,UAAU,C9C1CV,CAAC,CAAC,KAAK,AASiB,CAElB,KAAK,CVLkB,IAAI,CUW9B,A2B7CL,AmB+EI,OnB/EG,CmBJP,YAAY,CA0EV,UAAU,CASR,SAAS,CAAA,GAAK,EAAC,UAAU,GAAG,KAAK,AAAC,CAChC,OAAO,CAAE,GAAG,CACZ,YAAY,CAAE,OAAO,CACtB,AnBlFL,AmBqFE,OnBrFK,CmBJP,YAAY,CAyFV,SAAS,AAAC,CACR,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,GAAG,CAAE,MAAM,CACX,aAAa,CAAE,MAAM,CAqBtB,AnB9GH,AmB4FI,OnB5FG,CmBJP,YAAY,CAyFV,SAAS,CAOP,cAAc,AAAC,CACb,IAAI,CAAE,CAAC,CACP,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,C/CvFpB,kBAAkB,C+CwFM,GAAG,CAAC,IAAI,CAAC,QAAQ,C/CvFzC,eAAe,C+CuFS,GAAG,CAAC,IAAI,CAAC,QAAQ,C/CtFzC,aAAa,C+CsFW,GAAG,CAAC,IAAI,CAAC,QAAQ,C/CrFzC,UAAU,C+CqFc,GAAG,CAAC,IAAI,CAAC,QAAQ,CAatC,AnB7GL,AmBkGM,OnBlGC,CmBJP,YAAY,CAyFV,SAAS,CAOP,cAAc,CAMX,AAAA,GAAC,CAAI,MAAM,AAAV,CAAY,CACZ,UAAU,CAAE,KAAK,CAClB,AnBpGP,AmBsGM,OnBtGC,CmBJP,YAAY,CAyFV,SAAS,CAOP,cAAc,CAUX,AAAA,GAAC,CAAI,MAAM,AAAV,EAAY,KAAK,AAAC,C/CvFxB,iBAAiB,C+CwFQ,gBAAgB,C/CvFzC,aAAa,C+CuFY,gBAAgB,C/CtFzC,YAAY,C+CsFa,gBAAgB,C/CrFzC,SAAS,C+CqFgB,gBAAgB,CACpC,AnBxGP,AmB0GM,OnB1GC,CmBJP,YAAY,CAyFV,SAAS,CAOP,cAAc,CAcX,AAAA,GAAC,CAAI,MAAM,AAAV,EAAY,KAAK,AAAC,C/C3FxB,iBAAiB,C+C4FQ,eAAe,C/C3FxC,aAAa,C+C2FY,eAAe,C/C1FxC,YAAY,C+C0Fa,eAAe,C/CzFxC,SAAS,C+CyFgB,eAAe,CACnC,AnB5GP,AoBJA,OpBIO,CoBJN,SAAS,AAAC,CACT,OAAO,CAAE,MAAM,CAMhB,ApBHD,AoBAE,OpBAK,CoBJN,SAAS,CAIR,MAAM,AAAC,CACL,KAAK,CAAE,IAAI,CACZ,ApB8dH,AAAA,WAAW,CAAC,QAAQ,EAAE,KAAK,AAAC,CAC1B,KAAK,CAAE,IAAI,CACZ,AqBteD,AACE,QADM,CACN,aAAa,CADf,QAAQ,CAEN,gBAAgB,AAAC,CACf,UAAU,CAAE,KAAK,CAClB,ACJH,AACE,QADM,CACN,aAAa,AAAC,CACZ,OAAO,CAAE,aAAa,CACtB,MAAM,CAAE,CAAC,CACT,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,IAAI,CACjB,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,KAAK,CAClB,AARH,AAUE,QAVM,CAUN,gBAAgB,AAAC,CACf,MAAM,CAAE,QAAQ,CAChB,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,IAAI,CACjB,UAAU,CAAE,KAAK,CAClB,AAhBH,AAkBE,QAlBM,CAkBN,YAAY,AAAC,CACX,SAAS,CAAE,MAAM,CACjB,UAAU,CAAE,MAAM,CAClB,aAAa,CAAE,IAAI,CACpB,AAtBH,ACAA,QDAQ,CCAR,gBAAgB,CDAhB,QAAQ,CCCR,iBAAiB,AAAC,CAChB,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,UAAU,CACvB,eAAe,CAAE,aAAa,CAC9B,cAAc,CAAE,GAAG,CACnB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CAkCpB,AD1CD,ACUE,QDVM,CCAR,gBAAgB,CAUd,UAAU,CDVZ,QAAQ,CCCR,iBAAiB,CASf,UAAU,AAAC,CACT,SAAS,CAAE,QAAQ,CACnB,UAAU,CAAE,IAAI,CAChB,KAAK,CAAE,GAAG,CACV,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,UAAU,CACvB,UAAU,CAAE,KAAK,CACjB,OAAO,CAAE,IAAI,CACb,QAAQ,CAAE,QAAQ,CAuBnB,ADzCH,ACoBI,QDpBI,CCAR,gBAAgB,CAUd,UAAU,CAUN,SAAU,CAAA,GAAG,EDpBnB,QAAQ,CCCR,iBAAiB,CASf,UAAU,CAUN,SAAU,CAAA,GAAG,CAAC,CACd,UAAU,CAAE,IAAI,CACjB,ADtBL,ACwBI,QDxBI,CCAR,gBAAgB,CAUd,UAAU,CAcR,kBAAkB,CDxBtB,QAAQ,CCCR,iBAAiB,CASf,UAAU,CAcR,kBAAkB,AAAC,CACjB,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,MAAM,CAcjB,ADxCL,AC4BM,QD5BE,CCAR,gBAAgB,CAUd,UAAU,CAcR,kBAAkB,CAIhB,gBAAgB,CD5BtB,QAAQ,CCCR,iBAAiB,CASf,UAAU,CAcR,kBAAkB,CAIhB,gBAAgB,AAAC,CACf,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,IAAI,CACjB,OAAO,CAAE,YAAY,CACrB,UAAU,CAAE,IAAI,CAChB,aAAa,CAAE,OAAO,CACvB,ADlCP,ACoCM,QDpCE,CCAR,gBAAgB,CAUd,UAAU,CAcR,kBAAkB,CAYhB,IAAI,CDpCV,QAAQ,CCCR,iBAAiB,CASf,UAAU,CAcR,kBAAkB,CAYhB,IAAI,AAAC,CACH,KAAK,CAAE,KAAK,CACZ,aAAa,CAAE,IAAI,CACpB,ADvCP,AC4CA,QD5CQ,CC4CR,aAAa,AAAC,CACZ,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,UAAU,CACtB,MAAM,CAAE,wBAAwB,CACjC,ADlDD,ACoDA,QDpDQ,CCoDR,kBAAkB,AAAC,CACjB,SAAS,CAAE,GAAG,CACd,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,QAAQ,CAcxB,ADtED,AC0DE,QD1DM,CCoDR,kBAAkB,CAMd,KAAK,AAAC,CACN,KAAK,C5DtBiB,OAAO,C4DuB7B,gBAAgB,CAAE,WAAW,CAC9B,CAED,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,ED/DH,QAAQ,CCoDR,kBAAkB,AAWM,CACpB,KAAK,C5D9BgB,OAAO,C4DmC7B,CAND,AAAA,AAGE,UAHD,CAAW,MAAM,AAAjB,ED/DH,QAAQ,CCoDR,kBAAkB,CAcZ,KAAK,AAAC,CACN,KAAK,C5D7BoB,IAAI,C4D8B9B,ADpEL,ACwEA,QDxEQ,CCwER,kBAAkB,AAAC,CACjB,UAAU,CAAE,KAAK,CACjB,KAAK,C5D7CuB,OAAO,C4D8CnC,WAAW,CAAE,MAAM,CACnB,oBAAoB,CAAE,wBAAwB,CAK/C,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,ED9EH,QAAQ,CCwER,kBAAkB,AAMM,CACpB,KAAK,C5DjD0B,OAAO,C4DkDvC,ADhFH,ACmFA,QDnFQ,CCmFR,UAAU,AAAC,CACT,UAAU,CAAE,KAAK,CAClB,ADrFD,AEAA,QFAQ,CEAR,eAAe,AAAC,CACd,MAAM,CAAE,MAAM,CAkCf,AFnCD,AjDOE,QiDPM,CEAR,eAAe,CnDOb,CAAC,CiDPH,QAAQ,CEAR,eAAe,CnDQb,CAAC,EAAE,MAAM,CiDRX,QAAQ,CEAR,eAAe,CnDSb,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAOtC,KAAK,CVoBS,OAAO,CUJxB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EiDpBL,QAAQ,CEAR,eAAe,CnDOb,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,EiDpBL,QAAQ,CEAR,eAAe,CnDQb,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,EiDpBL,QAAQ,CEAR,eAAe,CnDSb,CAAC,EAAE,KAAK,AAWgB,CAElB,KAAK,CVYY,OAAO,CUN3B,AiD5BL,AjD+BE,QiD/BM,CEAR,eAAe,CnD+Bb,CAAC,CAAC,MAAM,CiD/BV,QAAQ,CEAR,eAAe,CnDgCb,CAAC,CAAC,KAAK,AAAC,CAEJ,KAAK,CVGe,OAAO,CUa9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EiDzCL,QAAQ,CEAR,eAAe,CnD+Bb,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,EiDzCL,QAAQ,CEAR,eAAe,CnDgCb,CAAC,CAAC,KAAK,AASiB,CAElB,KAAK,CVLkB,IAAI,CUW9B,AiDjDL,AEKE,QFLM,CEAR,eAAe,CAKb,CAAC,AAAC,CACA,OAAO,CAAE,YAAY,CACrB,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,QAAQ,CpD8ElB,SAAS,CoD7EgB,UAAU,CpD8EnC,aAAa,CoD9EY,UAAU,CpDGnC,kBAAkB,CoDFI,GAAG,CAAC,QAAQ,CAAC,IAAI,CpDGvC,eAAe,CoDHO,GAAG,CAAC,QAAQ,CAAC,IAAI,CpDIvC,aAAa,CoDJS,GAAG,CAAC,QAAQ,CAAC,IAAI,CpDKvC,UAAU,CoDLY,GAAG,CAAC,QAAQ,CAAC,IAAI,CAwBtC,AFlCH,AEYI,QFZI,CEAR,eAAe,CAKb,CAAC,CAOG,MAAM,CFZZ,QAAQ,CEAR,eAAe,CAKb,CAAC,CAQG,KAAK,CFbX,QAAQ,CEAR,eAAe,CAKb,CAAC,CASG,KAAK,AAAC,CpDKV,iBAAiB,CoDJM,UAAU,CpDKjC,aAAa,CoDLU,UAAU,CpDMjC,YAAY,CoDNW,UAAU,CpDOjC,SAAS,CoDPc,UAAU,CAU9B,AFzBL,AEiBM,QFjBE,CEAR,eAAe,CAKb,CAAC,CAOG,MAAM,CAKN,GAAG,CFjBT,QAAQ,CEAR,eAAe,CAKb,CAAC,CAQG,KAAK,CAIL,GAAG,CFjBT,QAAQ,CEAR,eAAe,CAKb,CAAC,CASG,KAAK,CAGL,GAAG,AAAC,CACF,KAAK,C7DOO,OAAO,CSbzB,kBAAkB,CoDOQ,GAAG,CAAC,QAAQ,CAAC,IAAI,CpDN3C,eAAe,CoDMW,GAAG,CAAC,QAAQ,CAAC,IAAI,CpDL3C,aAAa,CoDKa,GAAG,CAAC,QAAQ,CAAC,IAAI,CpDJ3C,UAAU,CoDIgB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAKtC,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFrBT,QAAQ,CEAR,eAAe,CAKb,CAAC,CAOG,MAAM,CAKN,GAAG,EAID,AAAA,UAAC,CAAW,MAAM,AAAjB,EFrBT,QAAQ,CEAR,eAAe,CAKb,CAAC,CAQG,KAAK,CAIL,GAAG,EAID,AAAA,UAAC,CAAW,MAAM,AAAjB,EFrBT,QAAQ,CEAR,eAAe,CAKb,CAAC,CASG,KAAK,CAGL,GAAG,AAIqB,CACpB,KAAK,C7DIU,OAAO,C6DHvB,AFvBT,AE2BI,QF3BI,CEAR,eAAe,CAKb,CAAC,CAsBC,GAAG,AAAC,CACF,KAAK,C7DCmB,OAAO,C6DIhC,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF9BP,QAAQ,CEAR,eAAe,CAKb,CAAC,CAsBC,GAAG,AAGqB,CACpB,KAAK,C7DDsB,OAAO,C6DEnC,AFhCP,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,YAAY,AAyCF,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,YAAY,CA8CN,MAAM,CF9CZ,QAAQ,CEAR,YAAY,CA+CN,KAAK,CF/CX,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA8CN,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CA+CN,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,YAAY,CAgDN,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,YAAY,CA8CN,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,YAAY,CA+CN,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,YAAY,CAgDN,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,YAAY,AA4Dc,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,YAAY,CAgER,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AFlEL,AEyCE,QFzCM,CEAR,aAAa,AAyCH,CACN,KAAK,CAJW,OAAkD,CAI3C,UAAU,CACjC,SAAS,CAAE,eAAe,CAC1B,MAAM,CAAE,IAAI,CAAA,UAAU,CAuBvB,AFnEH,AE8CI,QF9CI,CEAR,aAAa,CA8CP,MAAM,CF9CZ,QAAQ,CEAR,aAAa,CA+CP,KAAK,CF/CX,QAAQ,CEAR,aAAa,CAgDP,KAAK,AAAC,CACN,KAAK,C7DZe,OAAO,C6DYI,UAAU,CAS1C,CAPC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,aAAa,CA8CP,MAAM,EAKN,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,aAAa,CA+CP,KAAK,EAIL,AAAA,UAAC,CAAW,MAAM,AAAjB,EFnDP,QAAQ,CEAR,aAAa,CAgDP,KAAK,AAGiB,CACpB,KAAK,C7DdkB,IAAI,C6De5B,AFrDP,AEuDM,QFvDE,CEAR,aAAa,CA8CP,MAAM,CASN,GAAG,CFvDT,QAAQ,CEAR,aAAa,CA+CP,KAAK,CAQL,GAAG,CFvDT,QAAQ,CEAR,aAAa,CAgDP,KAAK,CAOL,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,CAGH,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EF5DL,QAAQ,CEAR,aAAa,AA4Da,CACpB,KAAK,CAtBc,OAA4D,CAsBnD,UAAU,CACvC,AF9DL,AEgEI,QFhEI,CEAR,aAAa,CAgET,GAAG,AAAC,CACF,OAAO,CAAE,CAAC,CACX,AClEL,AACE,KADG,CACH,aAAa,AAAC,CACZ,UAAU,CAAE,MAAM,CAoEnB,AAtEH,AAII,KAJC,CACH,aAAa,CAGX,YAAY,AAAC,CACX,OAAO,CAAE,MAAM,CAoBhB,AAzBL,AAOM,KAPD,CACH,aAAa,CAGX,YAAY,CAGV,GAAG,AAAC,CACF,OAAO,CAAE,YAAY,CACrB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,MAAM,CAAE,MAAM,CrDVpB,qBAAqB,CqDWQ,IAAI,CrDVjC,kBAAkB,CqDUW,IAAI,CrDTjC,aAAa,CqDSgB,IAAI,CrDLjC,kBAAkB,CqDMQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAmB,CrDL5D,UAAU,CqDKgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAmB,CrDD5D,kBAAkB,CqDEQ,GAAG,CAAC,IAAI,CAAC,IAAI,CrDDvC,eAAe,CqDCW,GAAG,CAAC,IAAI,CAAC,IAAI,CrDAvC,aAAa,CqDAa,GAAG,CAAC,IAAI,CAAC,IAAI,CrDCvC,UAAU,CqDDgB,GAAG,CAAC,IAAI,CAAC,IAAI,CAUlC,CARC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EAhBT,KAAK,CACH,aAAa,CAGX,YAAY,CAGV,GAAG,AASqB,CrDT5B,kBAAkB,CqDUU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAyB,CrDTpE,UAAU,CqDSkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAyB,CAC7D,AAlBT,AAoBQ,KApBH,CACH,aAAa,CAGX,YAAY,CAGV,GAAG,CAaC,KAAK,AAAC,CACN,QAAQ,CAAE,QAAQ,CrDF1B,iBAAiB,CqDGU,oBAAoB,CrDF/C,aAAa,CqDEc,oBAAoB,CrDD/C,YAAY,CqDCe,oBAAoB,CrDA/C,SAAS,CqDAkB,oBAAoB,CACxC,AAvBT,AA2BI,KA3BC,CACH,aAAa,CA0BX,WAAW,AAAC,CACV,SAAS,CAAE,OAAO,CAClB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,CAAC,CAKV,AAnCL,AAgCM,KAhCD,CACH,aAAa,CA0BX,WAAW,CAKR,GAAK,EAAC,KAAK,CAAE,CACZ,OAAO,CAAE,MAAM,CAChB,AAlCP,AAqCI,KArCC,CACH,aAAa,CAoCX,cAAc,AAAC,CACb,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,MAAM,CAChB,AA1CL,AA4CI,KA5CC,CACH,aAAa,CA2CX,MAAM,AAAC,CACL,OAAO,CAAE,MAAM,CACf,SAAS,CAAE,MAAM,CAUlB,AAxDL,AAgDM,KAhDD,CACH,aAAa,CA2CX,MAAM,CAIJ,CAAC,CAAC,CAAC,AAAC,CACF,cAAc,CAAE,WAAW,CAC5B,AAlDP,AAoDM,KApDD,CACH,aAAa,CA2CX,MAAM,CAQJ,GAAG,AAAC,CACF,MAAM,CAAE,MAAM,CACd,OAAO,CAAE,SAAS,CACnB,AAvDP,AA0DI,KA1DC,CACH,aAAa,CAyDX,gBAAgB,AAAC,CACf,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CACnB,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,MAAM,CACf,KAAK,C9DnCmB,OAAO,C8DwChC,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EAlEP,KAAK,CACH,aAAa,CAyDX,gBAAgB,AAQQ,CACpB,KAAK,C9DrCsB,OAAO,C8DsCnC,AAKP,AACE,KADG,AAAA,MAAM,CACT,aAAa,AAAC,CACZ,OAAO,CAAE,MAAM,CAChB,AAHH,AAKE,KALG,AAAA,MAAM,CAKT,YAAY,CAAC,GAAG,AAAC,CACf,KAAK,CAAE,IAAI,CACZ,AAPH,AASE,KATG,AAAA,MAAM,CAST,QAAQ,AAAC,CACP,WAAW,CAAE,IAAI,CACjB,cAAc,CAAE,MAAM,CACtB,KAAK,C9D5DW,OAAO,C8D6DvB,aAAa,CAAE,GAAG,CAAC,MAAM,C9D7CP,OAAO,C8DqJ1B,AArHH,AAeI,KAfC,AAAA,MAAM,CAST,QAAQ,CAMJ,aAAa,AAAC,CACd,WAAW,CAAE,CAAC,CACf,CAED,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EAnBL,KAAK,AAAA,MAAM,CAST,QAAQ,AAUgB,CACpB,KAAK,C9DnEc,OAAO,C8DoE1B,aAAa,CAAE,GAAG,CAAC,MAAM,C9DpDJ,OAAO,C8DqD7B,AAtBL,AAwBI,KAxBC,AAAA,MAAM,CAST,QAAQ,CAeN,uBAAuB,AAAC,CACtB,KAAK,CAAE,IAAI,CAEX,YAAY,CAAE,eAAe,CAC7B,QAAQ,CAAE,QAAQ,CAClB,MAAM,CAAE,WAAW,CrD1FvB,kBAAkB,CqD2FM,SAAS,CAAC,IAAI,CAAC,IAAI,CrD1F3C,eAAe,CqD0FS,SAAS,CAAC,IAAI,CAAC,IAAI,CrDzF3C,aAAa,CqDyFW,SAAS,CAAC,IAAI,CAAC,IAAI,CrDxF3C,UAAU,CqDwFc,SAAS,CAAC,IAAI,CAAC,IAAI,CAcxC,AA5CL,AAgCM,KAhCD,AAAA,MAAM,CAST,QAAQ,CAeN,uBAAuB,CAQrB,GAAG,AAAC,CACF,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,IAAI,CAAE,CAAC,CACP,GAAG,CAAE,CAAC,CrDbZ,aAAa,CqDca,KAAK,CrDb/B,UAAU,CqDagB,KAAK,CrDZ/B,WAAW,CAAE,oBAA8B,CqDatC,AAvCP,AAyCM,KAzCD,AAAA,MAAM,CAST,QAAQ,CAeN,uBAAuB,CAiBnB,KAAK,AAAC,CrD/FZ,iBAAiB,CqDgGQ,WAAW,CrD/FpC,aAAa,CqD+FY,WAAW,CrD9FpC,YAAY,CqD8Fa,WAAW,CrD7FpC,SAAS,CqD6FgB,WAAW,CAC/B,AA3CP,AA8CI,KA9CC,AAAA,MAAM,CAST,QAAQ,CAqCN,aAAa,AAAC,CACZ,SAAS,CAAE,OAAO,CAClB,WAAW,CAAE,IAAI,CACjB,MAAM,CAAE,QAAQ,CACjB,AAlDL,AAoDI,KApDC,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,AAAC,CACP,OAAO,CAAE,KAAK,CACd,UAAU,CAAE,MAAM,CAClB,KAAK,CAAE,IAAI,CACX,QAAQ,CAAE,MAAM,CAChB,aAAa,CAAE,QAAQ,CrD5C3B,SAAS,CqD6CkB,UAAU,CrD5CrC,aAAa,CqD4Cc,UAAU,CACjC,KAAK,C9DvGmB,OAAO,C8D2IhC,CAlCC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EA7DP,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,AASgB,CACpB,KAAK,C9DzGsB,OAAO,C8D0GnC,AA/DP,AAiEM,KAjED,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAaN,EAAE,CAjER,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAcN,EAAE,CAlER,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAeN,EAAE,CAnER,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAgBN,EAAE,CApER,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAiBN,EAAE,CArER,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAkBN,CAAC,AAAC,CACA,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,GAAG,CAChB,OAAO,CAAE,MAAM,CAMhB,AA/EP,AA2EQ,KA3EH,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAaN,EAAE,EAUG,KAAK,CA3EhB,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAcN,EAAE,EASG,KAAK,CA3EhB,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAeN,EAAE,EAQG,KAAK,CA3EhB,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAgBN,EAAE,EAOG,KAAK,CA3EhB,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAiBN,EAAE,EAMG,KAAK,CA3EhB,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAkBN,CAAC,EAKI,KAAK,AAAC,CACP,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,GAAG,CACjB,AA9ET,AAiFM,KAjFD,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CA6BN,EAAE,AAAC,CACD,SAAS,CAAE,QAAQ,CACpB,AAnFP,ApDlEE,KoDkEG,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpDtHV,CAAC,CoDkEH,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpDrHV,CAAC,EAAE,MAAM,CoDiEX,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpDpHV,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAWtC,KAAK,CVwFS,OAAO,CU5ExB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpDtHV,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpDrHV,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpDpHV,CAAC,EAAE,KAAK,AAWgB,CAElB,KAAK,CVYY,OAAO,CUN3B,AoD6CL,ApD1CE,KoD0CG,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpD9FV,CAAC,CAAC,MAAM,CoD0CV,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpD7FV,CAAC,CAAC,KAAK,AAAC,CAMJ,KAAK,CVuEe,OAAO,CU3D9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDgCL,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpD9FV,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDgCL,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CpD7FV,CAAC,CAAC,KAAK,AASiB,CAElB,KAAK,CVLkB,IAAI,CUW9B,AoDwBL,AAuFM,KAvFD,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAmCN,CAAC,CAvFP,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAoCN,MAAM,AAAC,CACL,KAAK,C9DrIiB,OAAO,C8D0I9B,CAHC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EA3FT,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAmCN,CAAC,EAIC,AAAA,UAAC,CAAW,MAAM,AAAjB,EA3FT,KAAK,AAAA,MAAM,CAST,QAAQ,CA2CN,QAAQ,CAoCN,MAAM,AAGkB,CACpB,KAAK,C9DvIoB,OAAO,C8DwIjC,AA7FT,AAiGI,KAjGC,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,AAAC,CACX,UAAU,CAAE,MAAM,CAClB,OAAO,CAAE,IAAI,CACb,eAAe,CAAE,aAAa,CAC9B,WAAW,CAAE,MAAM,CACnB,SAAS,CAAE,QAAQ,CAcpB,AApHL,ApDlEE,KoDkEG,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpDnKd,CAAC,CoDkEH,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpDlKd,CAAC,EAAE,MAAM,CoDiEX,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpDjKd,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAWtC,KAAK,CVwFS,OAAO,CU5ExB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpDnKd,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpDlKd,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpDjKd,CAAC,EAAE,KAAK,AAWgB,CAMlB,KAAK,CVgFY,OAAO,CU9E3B,AoD6CL,ApD1CE,KoD0CG,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpD3Id,CAAC,CAAC,MAAM,CoD0CV,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpD1Id,CAAC,CAAC,KAAK,AAAC,CAMJ,KAAK,CVuEe,OAAO,CU3D9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDgCL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpD3Id,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDgCL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CpD1Id,CAAC,CAAC,KAAK,AASiB,CAMlB,KAAK,CV+DkB,OAAO,CU7DjC,AoDwBL,AA0GM,KA1GD,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,AAAC,CACT,OAAO,CAAE,CAAC,CAQX,AAnHP,ApDlEE,KoDkEG,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpD5Kd,CAAC,CoDkEH,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpD3Kd,CAAC,EAAE,MAAM,CoDiEX,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpD1Kd,CAAC,EAAE,KAAK,AAAC,CACP,eAAe,CAJqB,IAAI,CAOtC,KAAK,CVoBS,OAAO,CUJxB,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpD5Kd,CAAC,EAaC,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpD3Kd,CAAC,EAAE,MAAM,EAYP,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDqDL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpD1Kd,CAAC,EAAE,KAAK,AAWgB,CAElB,KAAK,CVYY,OAAO,CUN3B,AoD6CL,ApD1CE,KoD0CG,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpDpJd,CAAC,CAAC,MAAM,CoD0CV,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpDnJd,CAAC,CAAC,KAAK,AAAC,CAEJ,KAAK,CVGe,OAAO,CUa9B,CATC,AAAA,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDgCL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpDpJd,CAAC,CAAC,MAAM,EAUN,AAAA,UAAC,CAAW,MAAM,AAAjB,EoDgCL,KAAK,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CpDnJd,CAAC,CAAC,KAAK,AASiB,CAElB,KAAK,CVLkB,IAAI,CUW9B,AoDwBL,AA+GQ,KA/GH,AAAA,MAAM,CAST,QAAQ,CAwFN,YAAY,CASV,UAAU,CAKR,SAAS,CAAA,GAAK,EAAC,UAAU,GAAG,KAAK,AAAC,CAChC,OAAO,CAAE,GAAG,CACZ,YAAY,CAAE,OAAO,CACtB,AC3LT,AAAA,YAAY,AAAC,CACX,SAAS,CAAE,MAAM,CACjB,WAAW,CAAE,IAAI,CtDiBjB,iBAAiB,CsDhBE,gBAAgB,CtDiBnC,aAAa,CsDjBM,gBAAgB,CtDkBnC,YAAY,CsDlBO,gBAAgB,CtDmBnC,SAAS,CsDnBU,gBAAgB,CACnC,UAAU,CAAE,MAAM,CACnB,ACLD,AAAA,gBAAgB,AAAC,CvDmBf,iBAAiB,CuDlBE,gBAAgB,CvDmBnC,aAAa,CuDnBM,gBAAgB,CvDoBnC,YAAY,CuDpBO,gBAAgB,CvDqBnC,SAAS,CuDrBU,gBAAgB,CACnC,UAAU,CAAE,MAAM,CAgBnB,AAlBD,AAIE,gBAJc,CAId,cAAc,AAAC,CACb,SAAS,CAAE,MAAM,CAClB,AANH,AAOE,gBAPc,CAOd,iBAAiB,AAAC,CAChB,MAAM,CAAE,QAAQ,CAChB,SAAS,CAAE,IAAI,CACf,WAAW,CAAE,MAAM,CACnB,UAAU,CAAE,MAAM,CAClB,WAAW,CAAE,IAAI,CACjB,KAAK,CAAE,OAAO,CACf,AAdH,AAeE,gBAfc,CAed,WAAW,AAAC,CACV,SAAS,CAAE,MAAM,CAClB,ACXH,AAAA,aAAa,AAAC,CACZ,UAAU,CAAE,IAAI,CAChB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,GAAG,CACnB,eAAe,CAAE,aAAa,CAC9B,SAAS,CAAE,IAAI,CAChB,AACD,MAAM,mBACJ,CAAA,AAAA,aAAa,AAAC,CACZ,eAAe,CAAE,YAAY,CAC9B,CAAA,AAEH,AAAA,YAAY,AAAC,CACX,KAAK,CAAE,KAAK,CACZ,MAAM,CAAE,KAAK,CACb,SAAS,CAAE,IAAI,CACf,UAAU,CAAE,MAAM,CAClB,UAAU,CAAE,qBAAwB,CACpC,UAAU,CAAE,UAAU,CACtB,UAAU,CAAE,gBAAgB,CxDxB5B,qBAAqB,CTiBA,GAAG,CShBxB,kBAAkB,CTgBG,GAAG,CSfxB,aAAa,CTeQ,GAAG,CiESxB,MAAM,CAAE,IAAI,CACZ,mBAAmB,CAAE,IAAI,CACzB,aAAa,CAAE,IAAI,CACnB,OAAO,CAAE,IAAI,CACb,cAAc,CAAE,MAAM,CACtB,eAAe,CAAE,aAAa,CAC/B,AACD,AAAA,YAAY,CAAC,KAAK,AAAC,CACjB,UAAU,CAAE,IAAI,CxDhBhB,iBAAiB,CwDiBE,WAAW,CxDhB9B,aAAa,CwDgBM,WAAW,CxDf9B,YAAY,CwDeO,WAAW,CxDd9B,SAAS,CwDcU,WAAW,CAC9B,UAAU,CAAE,YAAY,CACzB,AACD,AAAA,cAAc,AAAC,CACb,UAAU,CAAE,KAAK,CACjB,eAAe,CAAE,MAAM,CACvB,KAAK,CAAE,eAAe,CACtB,MAAM,CAAE,gBAAgB,CxD1CxB,qBAAqB,CTiBA,GAAG,CShBxB,kBAAkB,CTgBG,GAAG,CSfxB,aAAa,CTeQ,GAAG,CiE2BxB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACX,AACD,AAAA,gBAAgB,AAAC,CACf,OAAO,CAAE,KAAK,CACd,QAAQ,CAAE,QAAQ,CAClB,KAAK,CAAE,OAAO,CACd,WAAW,CAAE,IAAI,CACjB,SAAS,CAAE,IAAI,CACf,QAAQ,CAAE,MAAM,CAChB,WAAW,CAAE,MAAM,CACnB,aAAa,CAAE,QAAQ,CACvB,WAAW,CAAE,IAAI,CACjB,aAAa,CAAE,IAAI,CACpB,AACD,AAAA,gBAAgB,CAAC,KAAK,AAAC,CACrB,KAAK,CAAE,OAAO,CACf,AC9DD,MAAM,oCACJ,ClCDF,AkCCE,qBlCDmB,CAgBnB,WAAW,CIhBb,KAAK,A8BCS,CACV,KAAK,CAAE,eAAe,CASvB,CAPC,AAAA,AAAA,eAAC,CAAgB,MAAM,AAAtB,ElCJL,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EkCIjB,AAAA,eAAC,CAAgB,MAAM,AAAtB,ElCYH,WAAW,EkCZT,AAAA,eAAC,CAAgB,MAAM,AAAtB,E9BJL,KAAK,A8BI0B,CACzB,KAAK,CAAE,eAAe,CACvB,CAED,AAAA,AAAA,eAAC,CAAgB,QAAQ,AAAxB,ElCRL,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EkCQjB,AAAA,eAAC,CAAgB,QAAQ,AAAxB,ElCQH,WAAW,EkCRT,AAAA,eAAC,CAAgB,QAAQ,AAAxB,E9BRL,KAAK,A8BQ4B,CAC3B,SAAS,CAAE,KAAK,CACjB,CACF,AAGH,MAAM,oCACJ,ClCfF,AkCeE,qBlCfmB,CAgBnB,WAAW,CIhBb,KAAK,A8BeS,CACV,KAAK,CAAE,eAAe,CAKvB,CAHC,AAAA,AAAA,eAAC,CAAgB,MAAM,AAAtB,ElClBL,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EkCkBjB,AAAA,eAAC,CAAgB,MAAM,AAAtB,ElCFH,WAAW,EkCET,AAAA,eAAC,CAAgB,MAAM,AAAtB,E9BlBL,KAAK,A8BkB0B,CACzB,KAAK,CAAE,eAAe,CACvB,CACF,AAGH,MAAM,oCACJ,ClCzBF,AkCyBE,qBlCzBmB,CAgBnB,WAAW,CIhBb,KAAK,A8ByBS,CACV,KAAK,CAAE,eAAe,CAKvB,CAHC,AAAA,AAAA,eAAC,CAAgB,MAAM,AAAtB,ElC5BL,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EkC4BjB,AAAA,eAAC,CAAgB,MAAM,AAAtB,ElCZH,WAAW,EkCYT,AAAA,eAAC,CAAgB,MAAM,AAAtB,E9B5BL,KAAK,A8B4B0B,CACzB,KAAK,CAAE,eAAe,CACvB,AAGH,AAAA,eAAe,CAAC,eAAe,AAAC,CAC9B,aAAa,CAAE,IAAI,CACpB,AAED,AAAA,gBAAgB,AAAA,QAAQ,AAAC,CACvB,KAAK,CAAE,IAAI,CACZ,CARA,AAWH,MAAM,mCACJ,ClC3CF,AkC2CE,qBlC3CmB,CAgBnB,WAAW,CIhBb,KAAK,A8B2CS,CACV,KAAK,CAAE,eAAe,CAAC,UAAU,CAClC,AAED,AAAA,KAAK,AAAC,CACJ,OAAO,CAAE,eAAe,CACzB,AAED,AAAA,WAAW,AAAC,CACV,OAAO,CAAE,KAAK,CACf,AAED,AAAA,eAAe,CAAC,eAAe,AAAC,CAC9B,YAAY,CAAE,IAAI,CACnB,CAZA,AAeH,MAAM,mCACJ,CAAA,AAAA,eAAe,AAAC,CACd,OAAO,CAAE,IAAI,CACd,AAEC,AAAA,IAAI,CAAA,GAAK,EAAA,AAAA,mBAAC,CAAoB,QAAQ,AAA5B,GADZ,qBAAqB,AAAA,OAAO,AACiB,CACzC,GAAG,CAAE,CAAC,CACP,AAED,AAAA,IAAI,CAAA,GAAK,EAAA,AAAA,mBAAC,CAAoB,MAAM,AAA1B,GALZ,qBAAqB,AAAA,OAAO,CAKe,UAAU,CAAC,QAAQ,EAAC,AAAA,EAAC,AAAA,CAAI,CAChE,iBAAiB,CAAE,uDAA+H,CACnJ,CAGH,AAAA,AAAA,mBAAC,CAAoB,QAAQ,AAA5B,EAA8B,KAAK,CAAC,QAAQ,EAAC,AAAA,EAAC,AAAA,CAAI,CACjD,cAAqB,CAAkB,MAAC,CACzC,CAbA,AAgBH,MAAM,mCACJ,CAAA,AAAA,eAAe,AAAC,CACd,OAAO,CAAE,IAAI,CACd,AAED,AAAA,cAAc,AAAC,CACb,OAAO,CAAE,KAAK,CACf,AAED,AAAA,cAAc,AAAC,CACb,OAAO,CAAE,eAAe,CACzB,AAGC,AAAA,IAAI,CAAA,GAAK,EAAA,AAAA,kBAAC,CAAmB,QAAQ,AAA3B,GADZ,qBAAqB,AAAA,OAAO,AACgB,CACxC,GAAG,CAAE,CAAC,CACP,AAED,AAAA,IAAI,CAAA,GAAK,EAAA,AAAA,kBAAC,CAAmB,MAAM,AAAzB,GALZ,qBAAqB,AAAA,OAAO,CAKc,UAAU,CAAC,QAAQ,EAAC,AAAA,EAAC,AAAA,CAAI,CAC/D,iBAAiB,CAAE,uDAA+H,CACnJ,CAGH,AAAA,AAAA,kBAAC,CAAmB,QAAQ,AAA3B,EAA6B,KAAK,CAAC,QAAQ,EAAC,AAAA,EAAC,AAAA,CAAI,CAChD,cAAqB,CAAkB,MAAC,CACzC,AlCxGH,AkC0GE,qBlC1GmB,CAgBnB,WAAW,CIhBb,KAAK,A8B0GS,CACV,KAAK,CAAE,eAAe,CACvB,AAED,AAGI,KAHC,CACH,gBAAgB,CAEd,UAAU,CAHd,KAAK,CAEH,iBAAiB,CACf,UAAU,AAAC,CACT,KAAK,CAAE,IAAI,CACZ,AAIL,AACE,MADI,CACJ,iBAAiB,AAAC,CAChB,SAAS,CAAE,QAAQ,CACpB,AAGH,AAAA,WAAW,CAAC,UAAU,AAAC,CACrB,MAAM,CAAE,KAAK,CACd,CA7CA,AAgDH,MAAM,WACJ,CAAA,KAAK,CACH,IAAI,CAAE,WAAW,CACjB,MAAM,CAAE,MAAM,CAGhB,AAAA,KAAK,AAAC,CACJ,KAAK,CAAE,eAAe,CACtB,WAAW,CAAE,YAAY,CAkB1B,AApBD,AAKI,KALC,AAIF,OAAO,CACN,aAAa,CALjB,KAAK,AAIF,OAAO,CAEN,gBAAgB,CANpB,KAAK,AAIF,OAAO,CAGN,UAAU,AAAC,CACT,UAAU,CAAE,MAAM,CACnB,AATL,AAYE,KAZG,CAYH,EAAE,CAAA,GAAK,CAAA,aAAa,EAZtB,KAAK,CAaH,kBAAkB,AAAC,CACjB,iBAAiB,CAAE,MAAM,CAC1B,AAfH,AAiBE,KAjBG,CAiBH,iBAAiB,AAAC,CAChB,gBAAgB,CAAE,MAAM,CACzB,AAGH,AAAA,aAAa,CzC9Jf,aAAa,CCeb,cAAc,CEfd,qBAAqB,CGArB,MAAM,CCAN,qBAAqB,CCArB,MAAM,CKoEN,SAAS,CEnET,gBAAgB,CAqFhB,iBAAiB,CHlFjB,OAAO,CA+BL,UAAU,CAIR,iBAAiB,CAnCrB,OAAO,CA+BL,UAAU,CAKR,cAAc,CApClB,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CAGN,OAAO,CAGP,YAAY,CA+BV,SAAS,CL3Gf,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CAGN,OAAO,CAGP,YAAY,CAgCV,KAAK,CL5GX,OAAO,CAgIL,QAAQ,CK1DV,UAAU,CAGN,OAAO,CAGP,YAAY,CAiCV,KAAK,CL7GX,OAAO,CkBJP,YAAY,ClBIZ,OAAO,CmBJP,YAAY,CAOV,UAAU,CAQR,eAAe,CAuCb,gBAAgB,CnBlDtB,OAAO,CmBJP,YAAY,CA+DV,eAAe,CAMb,OAAO,CAAC,UAAU,CnBjEtB,OAAO,CmBJP,YAAY,CAyFV,SAAS,CnBrFX,OAAO,CoBJN,SAAS,AS8JM,CACZ,OAAO,CAAE,eAAe,CACzB,CA7BI,ACjIP,UAAU,CAAV,QAAU,CACR,IAAI,C1DgBJ,iBAAiB,C0DfI,gBAAgB,C1DgBrC,aAAa,C0DhBQ,gBAAgB,C1DiBrC,YAAY,C0DjBS,gBAAgB,C1DkBrC,SAAS,C0DlBY,gBAAgB,CAGrC,GAAG,C1DYH,iBAAiB,C0DXI,yBAAyB,C1DY9C,aAAa,C0DZQ,yBAAyB,C1Da9C,YAAY,C0DbS,yBAAyB,C1Dc9C,SAAS,C0DdY,yBAAyB,CAG9C,EAAE,C1DQF,iBAAiB,C0DPI,gBAAgB,C1DQrC,aAAa,C0DRQ,gBAAgB,C1DSrC,YAAY,C0DTS,gBAAgB,C1DUrC,SAAS,C0DVY,gBAAgB,EAIvC,AAAA,eAAe,AAAC,CACd,sBAAsB,CAAE,QAA2B,CAAC,UAAU,CAC9D,cAAc,CAAE,QAA2B,CAAC,UAAU,CACvD,AAMqC,SAAC,CAAD,GAAC,EAAxB,KAAK,EAAE,eAAe,EACnC,MAAM,oCACJ,CnC3BJ,AmC2BI,qBnC3BiB,CAgBnB,WAAW,CIhBb,KAAK,A+B2BW,CACV,KAAK,CAAE,GAAG,CASX,CAPC,AAAA,AAAA,eAAC,CAAgB,MAAM,AAAtB,EnC9BP,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EmC8Bf,AAAA,eAAC,CAAgB,MAAM,AAAtB,EnCdL,WAAW,EmCcP,AAAA,eAAC,CAAgB,MAAM,AAAtB,E/B9BP,KAAK,A+B8B4B,CACzB,KAAK,CAAE,GAAG,CACX,CAED,AAAA,AAAA,eAAC,CAAgB,QAAQ,AAAxB,EnClCP,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EmCkCf,AAAA,eAAC,CAAgB,QAAQ,AAAxB,EnClBL,WAAW,EmCkBP,AAAA,eAAC,CAAgB,QAAQ,AAAxB,E/BlCP,KAAK,A+BkC8B,CAC3B,SAAS,CAAE,KAAK,CACjB,CACF,AAEH,MAAM,oCACJ,CnCxCJ,AmCwCI,qBnCxCiB,CAgBnB,WAAW,CIhBb,KAAK,A+BwCW,CACV,KAAK,CAAE,GAAG,CAKX,CAHC,AAAA,AAAA,eAAC,CAAgB,MAAM,AAAtB,EnC3CP,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EmC2Cf,AAAA,eAAC,CAAgB,MAAM,AAAtB,EnC3BL,WAAW,EmC2BP,AAAA,eAAC,CAAgB,MAAM,AAAtB,E/B3CP,KAAK,A+B2C4B,CACzB,KAAK,CAAE,GAAG,CACX,CACF,AAEH,MAAM,oCACJ,CnCjDJ,AmCiDI,qBnCjDiB,CAgBnB,WAAW,CIhBb,KAAK,A+BiDW,CACV,KAAK,CAAE,GAAG,CAKX,CAHC,AAAA,AAAA,eAAC,CAAgB,MAAM,AAAtB,EnCpDP,qBAAqB,CAgBnB,WAAW,CAhBb,qBAAqB,EmCoDf,AAAA,eAAC,CAAgB,MAAM,AAAtB,EnCpCL,WAAW,EmCoCP,AAAA,eAAC,CAAgB,MAAM,AAAtB,E/BpDP,KAAK,A+BoD4B,CACzB,KAAK,CAAE,GAAG,CACX,CACF,AAEH,MAAM,mCACJ,CnC1DJ,AmC0DI,qBnC1DiB,CAgBnB,WAAW,CIhBb,KAAK,A+B0DW,CACV,KAAK,CAAE,cAAc,CACtB,CAAA,AAEH,MAAM,mCACJ,CnC/DJ,AmC+DI,qBnC/DiB,CAgBnB,WAAW,CIhBb,KAAK,A+B+DW,CACV,KAAK,CAAE,eAAe,CACvB,CAAA" +} \ No newline at end of file diff --git a/images/fixit.min.svg b/images/fixit.min.svg new file mode 100644 index 00000000..12987de6 --- /dev/null +++ b/images/fixit.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/hugo.min.svg b/images/hugo.min.svg new file mode 100644 index 00000000..4da1d72c --- /dev/null +++ b/images/hugo.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/loading.min.svg b/images/loading.min.svg new file mode 100644 index 00000000..efb11940 --- /dev/null +++ b/images/loading.min.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/images/profile-picture.jpg b/images/profile-picture.jpg new file mode 100644 index 00000000..130d43e5 Binary files /dev/null and b/images/profile-picture.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..bc875304 --- /dev/null +++ b/index.html @@ -0,0 +1,7 @@ +dingyufan's blog +
/images/profile-picture.jpg

潦倒不通世务,愚顽怕读文章

0%
\ No newline at end of file diff --git a/index.xml b/index.xml new file mode 100644 index 00000000..7f43700f --- /dev/null +++ b/index.xml @@ -0,0 +1 @@ +dingyufan's bloghttps://dingyufan.github.io/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/TechJDK8日期时间API导致Dubbo调用StackOverflow错误https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/CodingGitHub Pages + Hugo搭建个人博客https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/Tech \ No newline at end of file diff --git a/js/head/color-scheme.min.js b/js/head/color-scheme.min.js new file mode 100644 index 00000000..16ddbcae --- /dev/null +++ b/js/head/color-scheme.min.js @@ -0,0 +1 @@ +(()=>{var t={defaultTheme:"light"};(function(){let a=window.localStorage;if(!a)return;let e=!1,m=a.getItem("theme");m?e=m==="dark":e=t.defaultTheme==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:t.defaultTheme==="dark",e&&(document.documentElement.dataset.theme="dark")})();})(); diff --git a/js/theme.min.js b/js/theme.min.js new file mode 100644 index 00000000..87ff2edb --- /dev/null +++ b/js/theme.min.js @@ -0,0 +1,2 @@ +(()=>{var A=class{forEach(e,t){e=e||[];for(let i=0;i{!i&&e.classList.remove("animate__animated",...t),typeof n=="function"&&n()},{once:!0})}isValidDate(e){return e instanceof Date&&!isNaN(e.getTime())}scrollIntoView(e){(e.startsWith("#")?document.getElementById(e.slice(1)):document.querySelector(e))?.scrollIntoView({behavior:"smooth"})}getStagingDOM(){let e=document.createElement("div");return e.style.display="none",e.dataset.stagingId=Math.random().toString(36).slice(2),document.body.appendChild(e),{$el:e,stage(t){e.innerHTML="",e.appendChild(t)},contentAsHtml(){return e.innerHTML},contentAsText(){return e.innerText},contentAsJson(){return JSON.parse(e.innerHTML)},destroy(){document.body.removeChild(e)}}}};var B=class{constructor(){this.config=window.config,this.isDark=document.documentElement.dataset.theme==="dark",this.util=new A,this.newScrollTop=this.util.getScrollTop(),this.oldScrollTop=this.newScrollTop,this.scrollEventSet=new Set,this.resizeEventSet=new Set,this.switchThemeEventSet=new Set,this.clickMaskEventSet=new Set,this.beforeprintEventSet=new Set,this.disableScrollEvent=!1,window.objectFitImages&&objectFitImages()}initThemeColor(){let e=document.querySelector('[name="theme-color"]');e&&(this._themeColorOnSwitchTheme=this._themeColorOnSwitchTheme||(()=>{e.content=this.isDark?e.dataset.dark:e.dataset.light}),this.switchThemeEventSet.add(this._themeColorOnSwitchTheme),this._themeColorOnSwitchTheme())}initSVGIcon(){this.util.forEach(document.querySelectorAll("[data-svg-src]"),e=>{fetch(e.dataset.svgSrc).then(t=>t.text()).then(t=>{let i=document.createElement("div");i.insertAdjacentHTML("afterbegin",t);let n=i.firstChild;n.dataset.svgSrc=e.dataset.svgSrc,n.classList.add("icon");let s=n.getElementsByTagName("title");s.length&&n.removeChild(s[0]),e.parentElement.replaceChild(n,e)}).catch(t=>{console.error(t)})})}initTwemoji(e=document.body){this.config.twemoji&&twemoji.parse(e)}initMenu(){this.initMenuDesktop(),this.initMenuMobile()}initMenuDesktop(){this.util.forEach(document.querySelectorAll(".has-children"),e=>{e.querySelector(".sub-menu").style.minWidth=`${e.offsetWidth-8}px`})}initMenuMobile(){let e=document.getElementById("menu-toggle-mobile"),t=document.getElementById("menu-mobile");e.addEventListener("click",i=>{document.body.classList.toggle("blur"),e.classList.toggle("active"),t.classList.toggle("active"),this.disableScrollEvent=document.body.classList.contains("blur")},!1),this._menuMobileOnClickMask=this._menuMobileOnClickMask||(()=>{e.classList.remove("active"),t.classList.remove("active")}),this.clickMaskEventSet.add(this._menuMobileOnClickMask),this.util.forEach(document.querySelectorAll(".menu-item>.nested-item"),i=>{i.addEventListener("click",function(){this.parentNode.querySelector(".sub-menu").classList.toggle("open"),this.querySelector(".dropdown-icon").classList.toggle("open")})})}initSwitchTheme(){this.util.forEach(document.getElementsByClassName("theme-switch"),e=>{e.addEventListener("click",()=>{document.documentElement.dataset.theme=this.isDark?"light":"dark",this.isDark=!this.isDark,window.localStorage?.setItem("theme",this.isDark?"dark":"light");for(let t of this.switchThemeEventSet)t(this.isDark)},!1)})}initSearch(){let e=this.config.search,t=this.util.isMobile();if(!e||t&&this._searchMobileOnce||!t&&this._searchDesktopOnce)return;let i=e.maxResultLength??10,n=e.snippetLength??50,s=e.highlightTag??"em",c=e.isCaseSensitive??!1,a=e.minMatchCharLength??1,l=e.findAllMatches??!1,h=e.location??0,r=e.threshold??.3,o=e.distance??100,m=e.ignoreLocation??!1,d=e.useExtendedSearch??!1,u=e.ignoreFieldNorm??!1,f=t?"mobile":"desktop",b=document.getElementById(`header-${f}`),v=document.getElementById(`search-input-${f}`),I=document.getElementById(`search-toggle-${f}`),_=document.getElementById(`search-loading-${f}`),S=document.getElementById(`search-clear-${f}`);t?(this._searchMobileOnce=!0,v.addEventListener("focus",()=>{this.disableScrollEvent=!0,document.body.classList.add("blur"),b.classList.add("open")},!1),document.getElementById("search-cancel-mobile").addEventListener("click",()=>{this.disableScrollEvent=!1,b.classList.remove("open"),document.body.classList.remove("blur"),document.getElementById("menu-toggle-mobile").classList.remove("active"),document.getElementById("menu-mobile").classList.remove("active"),_.style.display="none",S.style.display="none",this._searchMobile&&this._searchMobile.autocomplete.setVal("")},!1),S.addEventListener("click",()=>{S.style.display="none",this._searchMobile&&this._searchMobile.autocomplete.setVal("")},!1),this._searchMobileOnClickMask=this._searchMobileOnClickMask||(()=>{b.classList.remove("open"),_.style.display="none",S.style.display="none",this._searchMobile&&this._searchMobile.autocomplete.setVal("")}),this.clickMaskEventSet.add(this._searchMobileOnClickMask)):(this._searchDesktopOnce=!0,I.addEventListener("click",()=>{document.body.classList.add("blur"),b.classList.add("open"),v.focus()},!1),S.addEventListener("click",()=>{S.style.display="none",this._searchDesktop&&this._searchDesktop.autocomplete.setVal("")},!1),this._searchDesktopOnClickMask=this._searchDesktopOnClickMask||(()=>{b.classList.remove("open"),_.style.display="none",S.style.display="none",this._searchDesktop&&this._searchDesktop.autocomplete.setVal("")}),this.clickMaskEventSet.add(this._searchDesktopOnClickMask)),v.addEventListener("input",()=>{v.value===""?S.style.display="none":S.style.display="inline"},!1),(()=>{let O=autocomplete(`#search-input-${f}`,{hint:!1,autoselect:!0,dropdownMenuContainer:`#search-dropdown-${f}`,clearOnSelected:!0,cssClasses:{noPrefix:!0},debug:!0},{name:"search",source:(T,M)=>{_.style.display="inline",S.style.display="none";let E=L=>{_.style.display="none",S.style.display="inline",M(L)};if(e.type==="algolia")this._algoliaIndex=this._algoliaIndex||algoliasearch(e.algoliaAppID,e.algoliaSearchKey).initIndex(e.algoliaIndex),this._algoliaIndex.search(T,{offset:0,length:i*8,attributesToHighlight:["title"],attributesToSnippet:[`content:${n}`],highlightPreTag:`<${s}>`,highlightPostTag:``}).then(({hits:L})=>{let g={};L.forEach(({uri:y,date:N,_highlightResult:{title:D},_snippetResult:{content:C}})=>{g[y]&&g[y].context.length>C.value||(g[y]={uri:y,title:D.value,date:N,context:C.value})}),E(Object.values(g).slice(0,i))}).catch(L=>{console.error(L),E([])});else if(e.type==="fuse"){let L=()=>{let g={};return window._index.search(T).forEach(({item:y,refIndex:N,matches:D})=>{let C=y.title,x=y.content.replace(/&/g,"&").replace(//g,">");D.forEach(({indices:k,value:P,key:H})=>{if(H==="content"){let w=0;for(let p=0;p`+q+``;x=x.substring(0,k[p][0]+w)+$+x.substring(k[p][1]+1+w,x.length),w+=s.length*2+5}}else if(H==="title"){let w=0;for(let p=0;p`+q+``;C=C.substring(0,k[p][0]+w)+$+C.substring(k[p][1]+1+w,x.length),w+=s.length*2+5}}}),g[y.uri]={uri:y.uri,title:C,date:y.date,context:x}}),Object.values(g).slice(0,i)};window._index?E(L()):fetch(e.fuseIndexURL).then(g=>g.json()).then(g=>{let y={isCaseSensitive:c,findAllMatches:l,minMatchCharLength:a,location:h,threshold:r,distance:o,ignoreLocation:m,useExtendedSearch:d,ignoreFieldNorm:u,includeScore:!1,shouldSort:!0,includeMatches:!0,keys:["content","title"]};window._index=new Fuse(g,y),E(L())}).catch(g=>{console.error(g),E([])})}},templates:{suggestion:({title:T,date:M,context:E})=>`
${T}${M}
${E}
`,empty:({query:T})=>`
${e.noResultsFound}: "${T}"
`,footer:({})=>{let{searchType:T,icon:M,href:E}=e.type==="algolia"?{searchType:"algolia",icon:'',href:"https://www.algolia.com/"}:{searchType:"Fuse.js",icon:"",href:"https://fusejs.io/"};return``}}});O.on("autocomplete:selected",(T,M,E,L)=>{window.location.assign(M.uri)}),t?this._searchMobile=O:this._searchDesktop=O})()}initBreadcrumb(){let e=document.querySelector(".breadcrumb-container.sticky");this.breadcrumbHeight=e?.clientHeight??0,this.breadcrumbHeight&&document.querySelector("main.container")?.style.setProperty("--fi-breadcrumb-height",`${this.breadcrumbHeight}px`)}initDetails(e=document){this.util.forEach(e.querySelectorAll(".details:not(.disabled)"),t=>{t.querySelector(".details-summary").addEventListener("click",()=>{t.classList.toggle("open")},!1)})}initLightGallery(){this.config.lightgallery&&(this.lg&&this.lg.destroy(!0),this.lg=lightGallery(document.getElementById("content"),{plugins:[lgThumbnail,lgZoom],selector:".lightgallery",speed:400,hideBarsDelay:2e3,allowMediaOverlap:!0,exThumbImage:"data-thumbnail",toggleThumb:!0,thumbWidth:80,thumbHeight:"60px",actualSize:!1,showZoomInOutIcons:!0,licenseKey:"none"}))}initCodeWrapper(){if(!this.config.code){this.initCopyCode();return}this.util.forEach(document.querySelectorAll(".highlight > pre.chroma"),e=>{let t=document.createElement("div");t.className=e.className;let i=document.createElement("table");t.appendChild(i);let n=document.createElement("tbody");i.appendChild(n);let s=document.createElement("tr");n.appendChild(s);let c=document.createElement("td");s.appendChild(c),e.parentElement.replaceChild(t,e),c.appendChild(e)}),this.util.forEach(document.querySelectorAll(".highlight > .chroma:not([data-init])"),e=>{if(e.dataset.init="true",e.parentElement.classList.contains("no-header")){this.initCopyCode(e);return}let t=e.querySelectorAll("pre.chroma > code");if(t.length){let i=t[t.length-1],n=document.createElement("div");n.className="code-header "+i.className.toLowerCase();let s=document.createElement("span");s.classList.add("code-title"),s.insertAdjacentHTML("afterbegin",e.parentNode.title?`${e.parentNode.title}`:''),s.addEventListener("click",()=>{e.classList.toggle("open")},!1),n.appendChild(s);let c=document.createElement("span");if(c.insertAdjacentHTML("afterbegin",''),c.classList.add("ellipses"),c.addEventListener("click",()=>{e.classList.add("open")},!1),n.appendChild(c),this.config.code.editable){let a=document.createElement("span");a.classList.add("edit"),a.insertAdjacentHTML("afterbegin",``),a.addEventListener("click",()=>{let l=a.querySelector(".fa-pen-to-square"),h=a.querySelector(".fa-lock"),r=a.parentElement.parentElement.querySelectorAll("pre.chroma"),o=r.length===2?r[1]:r[0];l?(l.classList.add("fa-lock"),l.classList.remove("fa-pen-to-square"),l.title=this.config.code.editLockTitle,o.setAttribute("contenteditable",!0),o.focus()):(h.classList.add("fa-pen-to-square"),h.classList.remove("fa-lock"),h.title=this.config.code.editUnLockTitle,o.setAttribute("contenteditable",!1),o.blur())},!1),n.appendChild(a)}if(this.config.code.copyTitle){let a=document.createElement("span");a.insertAdjacentHTML("afterbegin",''),a.classList.add("copy");let l=i.innerText.trim();if(e.closest("details")!==null){let r=document.createElement("div");r.appendChild(i.cloneNode(!0)),l=r.innerText.trim()}((e.parentElement.dataset.open?JSON.parse(e.parentElement.dataset.open):void 0)??(this.config.code.maxShownLines<0||l.split(` +`).length{navigator.clipboard.writeText(l).then(()=>{this.util.animateCSS(i,"animate__flash")},()=>{console.error("Clipboard write failed!","Your browser does not support clipboard API!")})},!1),n.appendChild(a)}e.insertBefore(n,e.firstChild)}})}initTable(e=document){this.util.forEach(e.querySelectorAll(".content table"),t=>{let i=document.createElement("div");i.className="table-wrapper",t.parentElement.replaceChild(i,t),i.appendChild(t)})}initCopyCode(e){}initToc(){let e=document.getElementById("TableOfContents");if(e!==null)if(document.getElementById("toc-static").dataset.kept==="true"||this.util.isTocStatic()){let t=document.getElementById("toc-content-static");e.parentElement!==t&&(e.parentElement.removeChild(e),t.appendChild(e)),this._tocOnScroll&&this.scrollEventSet.delete(this._tocOnScroll)}else{let t=document.getElementById("toc-content-auto");e.parentElement!==t&&(e.parentElement.removeChild(e),t.appendChild(e));let i=document.getElementById("toc-auto");i.style.visibility="visible",this.util.animateCSS(i,["animate__fadeIn","animate__faster"],!0);let n=document.querySelector(".post-meta");i.style.marginTop=`${n.offsetTop+n.clientHeight}px`;let s=e.querySelectorAll("a:first-child"),c=e.getElementsByTagName("li"),a=document.getElementsByClassName("heading-element"),l=document.getElementById("header-desktop").offsetHeight;document.querySelector(".container").addEventListener("resize",()=>{i.style.marginBottom=`${document.querySelector(".container").clientHeight-document.querySelector(".post-footer").offsetTop}px`}),this._tocOnScroll=this._tocOnScroll||(()=>{i.style.marginBottom=`${document.querySelector(".container").clientHeight-document.querySelector(".post-footer").offsetTop}px`,this.util.forEach(s,o=>{o.classList.remove("active")}),this.util.forEach(c,o=>{o.classList.remove("has-active")});let h=20+(document.body.dataset.headerDesktop!=="normal"?l:0)+this.breadcrumbHeight,r=a.length-1;for(let o=0;oh||m<=h&&d>h){r=o;break}}if(r!==-1&&s[r]){s[r].classList.add("active");let o=s[r].parentElement;for(;o!==e;)o.classList.add("has-active"),o=o.parentElement.parentElement}}),this._tocOnScroll(),this.scrollEventSet.add(this._tocOnScroll)}}initTocListener(){let e=document.getElementById("toc-auto"),t=document.getElementById("toc-content-auto");document.querySelector("#toc-auto>.toc-title")?.addEventListener("click",()=>{let i=["animate__faster"],n=e.classList.contains("toc-hidden");i.push(n?"animate__fadeIn":"animate__fadeOut"),t.classList.remove(n?"animate__fadeOut":"animate__fadeIn"),this.util.animateCSS(t,i,!0),e.classList.toggle("toc-hidden")},!1)}fixTocScroll(){if(typeof APlayer=="function"){let e=document.getElementById("TableOfContents");if(e){let t=e.cloneNode(!0);e.parentElement.replaceChild(t,e),e=t}this.util.forEach(document.querySelectorAll(".heading-mark"),t=>{let i=t.cloneNode(!0);t.parentElement.replaceChild(i,t)})}}initMath(e=document.body){this.config.math&&renderMathInElement(e,this.config.math)}initMermaid(){if(!window.mermaid?.initialize)return;let e=()=>{let t=window.mermaid.themes??["default","dark"];window.mermaid.initialize({securityLevel:"loose",startOnLoad:!1,theme:this.isDark?t[1]:t[0]}),window.mermaid.run()};e(),this.switchThemeEventSet.add(()=>{this.util.forEach(document.querySelectorAll(".mermaid[data-processed]"),t=>{t.dataset.processed="",t.innerHTML="",t.appendChild(t.nextElementSibling.content.cloneNode(!0))}),e()}),this.beforeprintEventSet.add(()=>{})}initEcharts(){this.config.echarts&&(echarts.registerTheme("light",this.config.echarts.lightTheme),echarts.registerTheme("dark",this.config.echarts.darkTheme),this._echartsOnSwitchTheme=this._echartsOnSwitchTheme||(()=>{this._echartsArr=this._echartsArr||[];for(let t=0;t{if(t.nextElementSibling.tagName==="TEMPLATE"){let i=echarts.init(t,this.isDark?"dark":"light",{renderer:"svg"});e.stage(t.nextElementSibling.content.cloneNode(!0)),i.setOption(e.contentAsJson()),this._echartsArr.push(i)}}),e.destroy()}),this.switchThemeEventSet.add(this._echartsOnSwitchTheme),this._echartsOnSwitchTheme(),this._echartsOnResize=this._echartsOnResize||(()=>{for(let e=0;e{let{lng:t,lat:i,zoom:n,lightStyle:s,darkStyle:c,marked:a,markers:l,navigation:h,geolocate:r,scale:o,fullscreen:m}=JSON.parse(e.dataset.options),d=new mapboxgl.Map({container:e,center:[t,i],zoom:n,minZoom:.2,style:this.isDark?c:s,attributionControl:!1});a&&new mapboxgl.Marker().setLngLat([t,i]).addTo(d);let u=typeof l=="string"?JSON.parse(l):l;Array.isArray(u)&&u.length>0&&u.forEach(f=>{let{lng:b,lat:v,description:I}=f,_=new mapboxgl.Popup({offset:25}).setText(I);new mapboxgl.Marker().setLngLat([b,v]).setPopup(_).addTo(d)}),h&&d.addControl(new mapboxgl.NavigationControl,"bottom-right"),r&&d.addControl(new mapboxgl.GeolocateControl({positionOptions:{enableHighAccuracy:!0},showUserLocation:!0,trackUserLocation:!0}),"bottom-right"),o&&d.addControl(new mapboxgl.ScaleControl),m&&d.addControl(new mapboxgl.FullscreenControl),d.addControl(new MapboxLanguage),this._mapboxArr.push(d)}),this._mapboxOnSwitchTheme=this._mapboxOnSwitchTheme||(()=>{this.util.forEach(this._mapboxArr,e=>{let t=e.getContainer(),{lightStyle:i,darkStyle:n}=JSON.parse(t.dataset.options);e.setStyle(this.isDark?n:i),e.addControl(new MapboxLanguage)})}),this.switchThemeEventSet.add(this._mapboxOnSwitchTheme))}initTypeit(e=document){if(this.config.typeit){let t=this.config.typeit,i=t.speed||100,n=t.cursorSpeed||1e3,s=t.cursorChar||"|",c=t.loop??!1,a=e.querySelectorAll(".typeit"),l=Array.from(a).reduce((r,o)=>{let m=o.dataset.group||o.id||Math.random().toString(36).substring(2);return r[m]=r[m]||[],r[m].push(o),r},{}),h=this.util.getStagingDOM();Object.values(l).forEach(r=>{let o=m=>{let d=r[m],u=d.dataset;h.stage(d.querySelector("template").content.cloneNode(!0));let f=d.firstElementChild;d.firstElementChild.tagName==="TEMPLATE"&&(d.innerHTML="",f=d);let b=new TypeIt(f,{strings:h.$el.querySelector("pre")?.innerHTML||h.contentAsHtml(),speed:Number(u.speed)>=0?Number(u.speed):i,lifeLike:!0,cursorSpeed:Number(u.cursorSpeed)>=0?Number(u.cursorSpeed):n,cursorChar:u.cursorChar||s,waitUntilVisible:!0,loop:u.loop?u.loop==="true":c,afterComplete:()=>{let v=Number(u.duration??t.duration);if(m===r.length-1){v>=0&&window.setTimeout(()=>{b.destroy()},v);return}b.destroy(),o(m+1)}}).go()};o(0)}),h.destroy()}}initCommentLightGallery(e,t){document.querySelectorAll(e).forEach(i=>{let n=i.querySelectorAll(t+":not([lightgallery-loaded])");n.forEach(s=>{s.setAttribute("lightgallery-loaded","");let c=document.createElement("a");c.setAttribute("class","comment-lightgallery"),c.setAttribute("href",s.src),c.append(s.cloneNode()),s.replaceWith(c)}),n.length&&lightGallery(i,{selector:".comment-lightgallery",actualSize:!1,hideBarsDelay:2e3,speed:400})})}initComment(){if(this.config.comment?.enable){if(document.querySelector("#comments")){let e=document.querySelector(".view-comments");e.classList.remove("d-none"),e.addEventListener("click",()=>{this.util.scrollIntoView("#comments")},!1)}if(this.config.comment.expired&&document.querySelector("#comments").remove(),this.config.comment.artalk){if(this.config.comment.expired)return Artalk.LoadCountWidget({server:this.config.comment.artalk.server,site:this.config.comment.artalk.site,pvEl:this.config.comment.artalk.pvEl,countEl:this.config.comment.artalk.countEl});let e=Artalk.init(this.config.comment.artalk);return e.setDarkMode(this.isDark),this.switchThemeEventSet.add(()=>{e.setDarkMode(this.isDark)}),e.on("comments-loaded",()=>{this.config.comment.artalk.lightgallery&&this.initCommentLightGallery(".atk-comment .atk-content","img:not([atk-emoticon])")}),e}if(this.config.comment.gitalk){this.config.comment.gitalk.body=decodeURI(window.location.href);let e=new Gitalk(this.config.comment.gitalk);return e.render("gitalk"),e}if(this.config.comment.valine)return new Valine(this.config.comment.valine);if(this.config.comment.waline){if(this.config.comment.expired){this.config.comment.waline.pageview&&Waline.pageviewCount({serverURL:this.config.comment.waline.serverURL,path:window.location.pathname});return}return Waline.init(this.config.comment.waline)}if(this.config.comment.utterances){let e=this.config.comment.utterances,t=document.createElement("script");t.src="https://utteranc.es/client.js",t.setAttribute("repo",e.repo),t.setAttribute("issue-term",e.issueTerm),e.label&&t.setAttribute("label",e.label),t.setAttribute("theme",this.isDark?e.darkTheme:e.lightTheme),t.crossOrigin="anonymous",t.async=!0,document.getElementById("utterances").appendChild(t),this._utterancesOnSwitchTheme=this._utterancesOnSwitchTheme||(()=>{let i={type:"set-theme",theme:this.isDark?e.darkTheme:e.lightTheme};document.querySelector(".utterances-frame")?.contentWindow.postMessage(i,"https://utteranc.es")}),this.switchThemeEventSet.add(this._utterancesOnSwitchTheme);return}if(this.config.comment.twikoo){let e=this.config.comment.twikoo;e.lightgallery&&(e.onCommentLoaded=()=>{this.initCommentLightGallery(".tk-comments .tk-content","img:not(.tk-owo-emotion)")}),twikoo.init(e),e.commentCount&&twikoo.getCommentsCount({envId:e.envId,region:e.region,urls:[window.location.pathname],includeReply:!1}).then(function(t){let i=document.getElementById("twikoo-comment-count");i&&(i.innerHTML=t[0].count)});return}if(this.config.comment.giscus){let e=this.config.comment.giscus;this._giscusOnSwitchTheme=this._giscusOnSwitchTheme||(()=>{let t={setConfig:{theme:this.isDark?e.darkTheme:e.lightTheme}};document.querySelector(".giscus-frame")?.contentWindow.postMessage({giscus:t},e.origin)}),this.switchThemeEventSet.add(this._giscusOnSwitchTheme),this.giscus2parentMsg=window.addEventListener("message",t=>{let i=document.querySelector("#giscus>script");i&&(this._giscusOnSwitchTheme(),i.parentElement.removeChild(i))},{once:!0});return}}}initCookieconsent(){this.config.cookieconsent&&window.cookieconsent?.initialise(this.config.cookieconsent)}getSiteTime=()=>{let e=new Date,t=new Date(this.config.siteTime),i=document.querySelector(".run-times");if(!this.util.isValidDate(t)||!i){clearInterval(this.siteTime),i&&i.parentNode.remove();return}let n=(e-t)/1e3,s=Math.floor(n/60/60/24),c=Math.floor(n/60/60-24*s),a=Math.floor(n/60-24*60*s-60*c),l=Math.floor((e-t)/1e3-24*60*60*s-60*60*c-60*a);i.innerHTML=`${s}, ${String(c).padStart(2,0)}:${String(a).padStart(2,0)}:${String(l).padStart(2,0)}`,document.querySelector(".site-time .d-none")?.classList.remove("d-none")};initSiteTime(){this.config.siteTime&&(this.siteTime=setInterval(this.getSiteTime,500),document.addEventListener("visibilitychange",()=>{if(document.hidden)return clearInterval(this.siteTime);this.siteTime=setInterval(this.getSiteTime,500)},!1))}initServiceWorker(){this.config.enablePWA&&"serviceWorker"in navigator&&(navigator.serviceWorker.register("/service-worker.min.js",{scope:"/"}).then(function(e){}).catch(function(e){console.error("error: ",e)}),navigator.serviceWorker.ready.then(function(e){}))}initWatermark(){this.config.watermark?.enable&&new Watermark({content:this.config.watermark.content||`${document.querySelector("footer .fixit-icon")?.outerHTML??""} FixIt Theme`,appendTo:".widgets",opacity:this.config.watermark.opacity,width:this.config.watermark.width,height:this.config.watermark.height,rowSpacing:this.config.watermark.rowspacing,colSpacing:this.config.watermark.colspacing,rotate:this.config.watermark.rotate,fontSize:this.config.watermark.fontsize,fontFamily:this.config.watermark.fontfamily})}initPangu(){if(!this.config.pangu?.enable)return;let e=this.config.pangu.selector;if(e){e.startsWith("#")?pangu.spacingElementById(e.slice(1)):e.startsWith(".")?pangu.spacingElementByClassName(e.slice(1)):pangu.spacingElementByTagName(e);return}pangu.autoSpacingPage()}initFixItDecryptor(){this.decryptor=new FixItDecryptor({decrypted:()=>{this.initTwemoji(),this.initDetails(),this.initLightGallery(),this.initCodeWrapper(),this.initTable(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.initToc(),this.initTocListener(),this.initPangu(),this.fixTocScroll(),this.util.forEach(document.querySelectorAll(".encrypted-hidden"),e=>{e.classList.replace("encrypted-hidden","decrypted-shown")})},partialDecrypted:e=>{this.initTwemoji(e),this.initDetails(e),this.initLightGallery(),this.initCodeWrapper(),this.initTable(e),this.initMath(e),this.initMermaid(),this.initEcharts(),this.initTypeit(e),this.initMapbox(),this.initPangu(),this.util.forEach(e.querySelectorAll(".encrypted-hidden"),t=>{t.classList.replace("encrypted-hidden","decrypted-shown")})},reset:()=>{this.util.forEach(document.querySelectorAll(".decrypted-shown"),e=>{e.classList.replace("decrypted-shown","encrypted-hidden")})}}),this.decryptor.init(this.config.encryption)}initAutoMark(){if(!this.config.autoBookmark)return;window.addEventListener("beforeunload",()=>{window.sessionStorage?.setItem(`fixit-bookmark/#${location.pathname}`,this.util.getScrollTop())});let e=Number(window.sessionStorage?.getItem(`fixit-bookmark/#${location.pathname}`));e&&location.hash===""&&window.scrollTo({top:e,behavior:"smooth"})}initReward(){let e=document.querySelectorAll('.post-reward [data-mode="fixed"]');if(!e.length)return;if(this.util.isMobile()){this.util.forEach(e,i=>{i.removeAttribute("data-mode")});return}let t=i=>{this.util.forEach(e,n=>{let s=n.parentElement.querySelector(".reward-input");s.id!==i&&(s.checked=!1)})};this.util.forEach(e,i=>{i.previousElementSibling.addEventListener("click",function(){t(this.getAttribute("for"))},!1)}),this.scrollEventSet.add(t)}onScroll(){let e=[],i=document.querySelector(".fixed-buttons"),n=document.querySelector(".back-to-top"),s=document.querySelector(".reading-progress-bar");document.body.dataset.headerDesktop==="auto"&&e.push(document.getElementById("header-desktop")),document.body.dataset.headerMobile==="auto"&&e.push(document.getElementById("header-mobile")),n?.addEventListener("click",()=>{this.util.scrollIntoView("body")}),window.addEventListener("scroll",c=>{if(this.disableScrollEvent){c.preventDefault();return}let a=document.getElementById("mask");this.newScrollTop=this.util.getScrollTop();let l=this.newScrollTop-this.oldScrollTop;this.util.forEach(e,o=>{l>20?(o.classList.remove("animate__fadeInDown"),this.util.animateCSS(o,["animate__fadeOutUp"],!0),a.click()):l<-20&&(o.classList.remove("animate__fadeOutUp"),this.util.animateCSS(o,["animate__fadeInDown"],!0),a.click())});let h=document.body.scrollHeight-window.innerHeight,r=Math.max(Math.min(100*Math.max(this.newScrollTop,0)/h,100),0);s&&s.style.setProperty("--progress",`${r.toFixed(2)}%`),i&&(r>1?(i.classList.remove("d-none","animate__fadeOut"),this.util.animateCSS(i,["animate__fadeIn"],!0)):(i.classList.remove("animate__fadeIn"),this.util.animateCSS(i,["animate__fadeOut"],!0,()=>{i.classList.contains("animate__fadeOut")&&i.classList.add("d-none")})),n&&(n.querySelector("span").innerText=`${Math.round(r)}%`));for(let o of this.scrollEventSet)o();this.oldScrollTop=this.newScrollTop},!1)}onResize(){let e=this.util.isMobile();window.addEventListener("resize",()=>{this._resizeTimeout||(this._resizeTimeout=window.setTimeout(()=>{this._resizeTimeout=null;for(let i of this.resizeEventSet)i();this.initToc(),this.initSearch();let t=this.util.isMobile();t!==e&&(document.getElementById("mask").click(),e=t)},100))},!1)}onClickMask(){document.getElementById("mask").addEventListener("click",()=>{if(document.body.classList.contains("blur")){for(let e of this.clickMaskEventSet)e();this.disableScrollEvent=!1,document.body.classList.remove("blur")}},!1)}beforeprint(){window.addEventListener("beforeprint",()=>{this.util.forEach(document.querySelectorAll(".chroma"),e=>{e.classList.toggle("open",!0)});for(let e of this.beforeprintEventSet)e()},!1)}init(){try{this.config.encryption&&this.initFixItDecryptor(),this.config.encryption?.all||(this.initTwemoji(),this.initDetails(),this.initLightGallery(),this.initCodeWrapper(),this.initTable(),this.initMath(),this.initMermaid(),this.initEcharts(),this.initTypeit(),this.initMapbox(),this.initPangu()),this.initThemeColor(),this.initSVGIcon(),this.initMenu(),this.initSwitchTheme(),this.initSearch(),this.initBreadcrumb(),this.initCookieconsent(),this.initSiteTime(),this.initServiceWorker(),this.initWatermark(),this.initAutoMark(),this.initReward(),window.setTimeout(()=>{this.initComment(),this.config.encryption?.all||(this.initToc(),this.initTocListener(),this.fixTocScroll()),this.onScroll(),this.onResize(),this.onClickMask(),this.beforeprint()},100)}catch(e){console.error(e)}}},R=()=>{window.fixit=new B,window.fixit.init()};document.readyState!=="loading"?R():document.addEventListener("DOMContentLoaded",R,!1);})(); diff --git a/lib/animate/animate.min.css b/lib/animate/animate.min.css new file mode 100644 index 00000000..76d2fe1a --- /dev/null +++ b/lib/animate/animate.min.css @@ -0,0 +1,7 @@ +@charset "UTF-8";/*! + * animate.css - https://animate.style/ + * Version - 4.1.1 + * Licensed under the MIT license - http://opensource.org/licenses/MIT + * + * Copyright (c) 2020 Animate.css + */:root{--animate-duration:1s;--animate-delay:1s;--animate-repeat:1}.animate__animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-duration:var(--animate-duration);animation-duration:var(--animate-duration);-webkit-animation-fill-mode:both;animation-fill-mode:both}.animate__animated.animate__infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animate__animated.animate__repeat-1{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-iteration-count:var(--animate-repeat);animation-iteration-count:var(--animate-repeat)}.animate__animated.animate__repeat-2{-webkit-animation-iteration-count:2;animation-iteration-count:2;-webkit-animation-iteration-count:calc(var(--animate-repeat)*2);animation-iteration-count:calc(var(--animate-repeat)*2)}.animate__animated.animate__repeat-3{-webkit-animation-iteration-count:3;animation-iteration-count:3;-webkit-animation-iteration-count:calc(var(--animate-repeat)*3);animation-iteration-count:calc(var(--animate-repeat)*3)}.animate__animated.animate__delay-1s{-webkit-animation-delay:1s;animation-delay:1s;-webkit-animation-delay:var(--animate-delay);animation-delay:var(--animate-delay)}.animate__animated.animate__delay-2s{-webkit-animation-delay:2s;animation-delay:2s;-webkit-animation-delay:calc(var(--animate-delay)*2);animation-delay:calc(var(--animate-delay)*2)}.animate__animated.animate__delay-3s{-webkit-animation-delay:3s;animation-delay:3s;-webkit-animation-delay:calc(var(--animate-delay)*3);animation-delay:calc(var(--animate-delay)*3)}.animate__animated.animate__delay-4s{-webkit-animation-delay:4s;animation-delay:4s;-webkit-animation-delay:calc(var(--animate-delay)*4);animation-delay:calc(var(--animate-delay)*4)}.animate__animated.animate__delay-5s{-webkit-animation-delay:5s;animation-delay:5s;-webkit-animation-delay:calc(var(--animate-delay)*5);animation-delay:calc(var(--animate-delay)*5)}.animate__animated.animate__faster{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-duration:calc(var(--animate-duration)/2);animation-duration:calc(var(--animate-duration)/2)}.animate__animated.animate__fast{-webkit-animation-duration:.8s;animation-duration:.8s;-webkit-animation-duration:calc(var(--animate-duration)*0.8);animation-duration:calc(var(--animate-duration)*0.8)}.animate__animated.animate__slow{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2)}.animate__animated.animate__slower{-webkit-animation-duration:3s;animation-duration:3s;-webkit-animation-duration:calc(var(--animate-duration)*3);animation-duration:calc(var(--animate-duration)*3)}@media (prefers-reduced-motion:reduce),print{.animate__animated{-webkit-animation-duration:1ms!important;animation-duration:1ms!important;-webkit-transition-duration:1ms!important;transition-duration:1ms!important;-webkit-animation-iteration-count:1!important;animation-iteration-count:1!important}.animate__animated[class*=Out]{opacity:0}}@-webkit-keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes bounce{0%,20%,53%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0);transform:translateZ(0)}40%,43%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-30px,0) scaleY(1.1);transform:translate3d(0,-30px,0) scaleY(1.1)}70%{-webkit-animation-timing-function:cubic-bezier(.755,.05,.855,.06);animation-timing-function:cubic-bezier(.755,.05,.855,.06);-webkit-transform:translate3d(0,-15px,0) scaleY(1.05);transform:translate3d(0,-15px,0) scaleY(1.05)}80%{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1);-webkit-transform:translateZ(0) scaleY(.95);transform:translateZ(0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-4px,0) scaleY(1.02);transform:translate3d(0,-4px,0) scaleY(1.02)}}.animate__bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}.animate__flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes pulse{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__pulse{-webkit-animation-name:pulse;animation-name:pulse;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes rubberBand{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shakeX{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.animate__shakeX{-webkit-animation-name:shakeX;animation-name:shakeX}@-webkit-keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}@keyframes shakeY{0%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}20%,40%,60%,80%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}}.animate__shakeY{-webkit-animation-name:shakeY;animation-name:shakeY}@-webkit-keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes headShake{0%{-webkit-transform:translateX(0);transform:translateX(0)}6.5%{-webkit-transform:translateX(-6px) rotateY(-9deg);transform:translateX(-6px) rotateY(-9deg)}18.5%{-webkit-transform:translateX(5px) rotateY(7deg);transform:translateX(5px) rotateY(7deg)}31.5%{-webkit-transform:translateX(-3px) rotateY(-5deg);transform:translateX(-3px) rotateY(-5deg)}43.5%{-webkit-transform:translateX(2px) rotateY(3deg);transform:translateX(2px) rotateY(3deg)}50%{-webkit-transform:translateX(0);transform:translateX(0)}}.animate__headShake{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;-webkit-animation-name:headShake;animation-name:headShake}@-webkit-keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes swing{20%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}.animate__swing{-webkit-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes tada{0%{-webkit-transform:scaleX(1);transform:scaleX(1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate(-3deg);transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(3deg);transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate(-3deg);transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes wobble{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}15%{-webkit-transform:translate3d(-25%,0,0) rotate(-5deg);transform:translate3d(-25%,0,0) rotate(-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate(3deg);transform:translate3d(20%,0,0) rotate(3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate(-3deg);transform:translate3d(-15%,0,0) rotate(-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate(2deg);transform:translate3d(10%,0,0) rotate(2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate(-1deg);transform:translate3d(-5%,0,0) rotate(-1deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}@keyframes jello{0%,11.1%,to{-webkit-transform:translateZ(0);transform:translateZ(0)}22.2%{-webkit-transform:skewX(-12.5deg) skewY(-12.5deg);transform:skewX(-12.5deg) skewY(-12.5deg)}33.3%{-webkit-transform:skewX(6.25deg) skewY(6.25deg);transform:skewX(6.25deg) skewY(6.25deg)}44.4%{-webkit-transform:skewX(-3.125deg) skewY(-3.125deg);transform:skewX(-3.125deg) skewY(-3.125deg)}55.5%{-webkit-transform:skewX(1.5625deg) skewY(1.5625deg);transform:skewX(1.5625deg) skewY(1.5625deg)}66.6%{-webkit-transform:skewX(-.78125deg) skewY(-.78125deg);transform:skewX(-.78125deg) skewY(-.78125deg)}77.7%{-webkit-transform:skewX(.390625deg) skewY(.390625deg);transform:skewX(.390625deg) skewY(.390625deg)}88.8%{-webkit-transform:skewX(-.1953125deg) skewY(-.1953125deg);transform:skewX(-.1953125deg) skewY(-.1953125deg)}}.animate__jello{-webkit-animation-name:jello;animation-name:jello;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes heartBeat{0%{-webkit-transform:scale(1);transform:scale(1)}14%{-webkit-transform:scale(1.3);transform:scale(1.3)}28%{-webkit-transform:scale(1);transform:scale(1)}42%{-webkit-transform:scale(1.3);transform:scale(1.3)}70%{-webkit-transform:scale(1);transform:scale(1)}}.animate__heartBeat{-webkit-animation-name:heartBeat;animation-name:heartBeat;-webkit-animation-duration:1.3s;animation-duration:1.3s;-webkit-animation-duration:calc(var(--animate-duration)*1.3);animation-duration:calc(var(--animate-duration)*1.3);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInDown{0%{-webkit-transform:translateY(-1200px) scale(.7);transform:translateY(-1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInDown{-webkit-animation-name:backInDown;animation-name:backInDown}@-webkit-keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInLeft{0%{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInLeft{-webkit-animation-name:backInLeft;animation-name:backInLeft}@-webkit-keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInRight{0%{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}80%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInRight{-webkit-animation-name:backInRight;animation-name:backInRight}@-webkit-keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}@keyframes backInUp{0%{-webkit-transform:translateY(1200px) scale(.7);transform:translateY(1200px) scale(.7);opacity:.7}80%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:scale(1);transform:scale(1);opacity:1}}.animate__backInUp{-webkit-animation-name:backInUp;animation-name:backInUp}@-webkit-keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}@keyframes backOutDown{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(700px) scale(.7);transform:translateY(700px) scale(.7);opacity:.7}}.animate__backOutDown{-webkit-animation-name:backOutDown;animation-name:backOutDown}@-webkit-keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}@keyframes backOutLeft{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(-2000px) scale(.7);transform:translateX(-2000px) scale(.7);opacity:.7}}.animate__backOutLeft{-webkit-animation-name:backOutLeft;animation-name:backOutLeft}@-webkit-keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}@keyframes backOutRight{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateX(0) scale(.7);transform:translateX(0) scale(.7);opacity:.7}to{-webkit-transform:translateX(2000px) scale(.7);transform:translateX(2000px) scale(.7);opacity:.7}}.animate__backOutRight{-webkit-animation-name:backOutRight;animation-name:backOutRight}@-webkit-keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}@keyframes backOutUp{0%{-webkit-transform:scale(1);transform:scale(1);opacity:1}20%{-webkit-transform:translateY(0) scale(.7);transform:translateY(0) scale(.7);opacity:.7}to{-webkit-transform:translateY(-700px) scale(.7);transform:translateY(-700px) scale(.7);opacity:.7}}.animate__backOutUp{-webkit-animation-name:backOutUp;animation-name:backOutUp}@-webkit-keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes bounceIn{0%,20%,40%,60%,80%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}to{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}.animate__bounceIn{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInDown{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0) scaleY(3);transform:translate3d(0,-3000px,0) scaleY(3)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0) scaleY(.9);transform:translate3d(0,25px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,-10px,0) scaleY(.95);transform:translate3d(0,-10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,5px,0) scaleY(.985);transform:translate3d(0,5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInLeft{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0) scaleX(3);transform:translate3d(-3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0) scaleX(1);transform:translate3d(25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(-10px,0,0) scaleX(.98);transform:translate3d(-10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(5px,0,0) scaleX(.995);transform:translate3d(5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInRight{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0) scaleX(3);transform:translate3d(3000px,0,0) scaleX(3)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0) scaleX(1);transform:translate3d(-25px,0,0) scaleX(1)}75%{-webkit-transform:translate3d(10px,0,0) scaleX(.98);transform:translate3d(10px,0,0) scaleX(.98)}90%{-webkit-transform:translate3d(-5px,0,0) scaleX(.995);transform:translate3d(-5px,0,0) scaleX(.995)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes bounceInUp{0%,60%,75%,90%,to{-webkit-animation-timing-function:cubic-bezier(.215,.61,.355,1);animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0) scaleY(5);transform:translate3d(0,3000px,0) scaleY(5)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}75%{-webkit-transform:translate3d(0,10px,0) scaleY(.95);transform:translate3d(0,10px,0) scaleY(.95)}90%{-webkit-transform:translate3d(0,-5px,0) scaleY(.985);transform:translate3d(0,-5px,0) scaleY(.985)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}to{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.animate__bounceOut{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0) scaleY(.985);transform:translate3d(0,10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0) scaleY(.9);transform:translate3d(0,-20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,2000px,0) scaleY(3);transform:translate3d(0,2000px,0) scaleY(3)}}.animate__bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0) scaleX(.9);transform:translate3d(20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0) scaleX(2);transform:translate3d(-2000px,0,0) scaleX(2)}}.animate__bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0) scaleX(.9);transform:translate3d(-20px,0,0) scaleX(.9)}to{opacity:0;-webkit-transform:translate3d(2000px,0,0) scaleX(2);transform:translate3d(2000px,0,0) scaleX(2)}}.animate__bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0) scaleY(.985);transform:translate3d(0,-10px,0) scaleY(.985)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0) scaleY(.9);transform:translate3d(0,20px,0) scaleY(.9)}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0) scaleY(3);transform:translate3d(0,-2000px,0) scaleY(3)}}.animate__bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate__fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopLeft{-webkit-animation-name:fadeInTopLeft;animation-name:fadeInTopLeft}@-webkit-keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInTopRight{0%{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInTopRight{-webkit-animation-name:fadeInTopRight;animation-name:fadeInTopRight}@-webkit-keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomLeft{-webkit-animation-name:fadeInBottomLeft;animation-name:fadeInBottomLeft}@-webkit-keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes fadeInBottomRight{0%{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__fadeInBottomRight{-webkit-animation-name:fadeInBottomRight;animation-name:fadeInBottomRight}@-webkit-keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.animate__fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.animate__fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.animate__fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.animate__fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.animate__fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}@keyframes fadeOutTopLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,-100%,0);transform:translate3d(-100%,-100%,0)}}.animate__fadeOutTopLeft{-webkit-animation-name:fadeOutTopLeft;animation-name:fadeOutTopLeft}@-webkit-keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}@keyframes fadeOutTopRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,-100%,0);transform:translate3d(100%,-100%,0)}}.animate__fadeOutTopRight{-webkit-animation-name:fadeOutTopRight;animation-name:fadeOutTopRight}@-webkit-keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}@keyframes fadeOutBottomRight{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(100%,100%,0);transform:translate3d(100%,100%,0)}}.animate__fadeOutBottomRight{-webkit-animation-name:fadeOutBottomRight;animation-name:fadeOutBottomRight}@-webkit-keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}@keyframes fadeOutBottomLeft{0%{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}to{opacity:0;-webkit-transform:translate3d(-100%,100%,0);transform:translate3d(-100%,100%,0)}}.animate__fadeOutBottomLeft{-webkit-animation-name:fadeOutBottomLeft;animation-name:fadeOutBottomLeft}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);transform:perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);transform:perspective(400px) scale3d(.95,.95,.95) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}to{-webkit-transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);transform:perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animate__animated.animate__flip{-webkit-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateX(10deg);transform:perspective(400px) rotateX(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateX(-5deg);transform:perspective(400px) rotateX(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-20deg);transform:perspective(400px) rotateY(-20deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotateY(10deg);transform:perspective(400px) rotateY(10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotateY(-5deg);transform:perspective(400px) rotateY(-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}.animate__flipInY{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateX(-20deg);transform:perspective(400px) rotateX(-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotateX(90deg);transform:perspective(400px) rotateX(90deg);opacity:0}}.animate__flipOutX{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotateY(-15deg);transform:perspective(400px) rotateY(-15deg);opacity:1}to{-webkit-transform:perspective(400px) rotateY(90deg);transform:perspective(400px) rotateY(90deg);opacity:0}}.animate__flipOutY{-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-animation-duration:calc(var(--animate-duration)*0.75);animation-duration:calc(var(--animate-duration)*0.75);-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY}@-webkit-keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInRight{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInRight{-webkit-animation-name:lightSpeedInRight;animation-name:lightSpeedInRight;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes lightSpeedInLeft{0%{-webkit-transform:translate3d(-100%,0,0) skewX(30deg);transform:translate3d(-100%,0,0) skewX(30deg);opacity:0}60%{-webkit-transform:skewX(-20deg);transform:skewX(-20deg);opacity:1}80%{-webkit-transform:skewX(5deg);transform:skewX(5deg)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__lightSpeedInLeft{-webkit-animation-name:lightSpeedInLeft;animation-name:lightSpeedInLeft;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOutRight{0%{opacity:1}to{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.animate__lightSpeedOutRight{-webkit-animation-name:lightSpeedOutRight;animation-name:lightSpeedOutRight;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}@keyframes lightSpeedOutLeft{0%{opacity:1}to{-webkit-transform:translate3d(-100%,0,0) skewX(-30deg);transform:translate3d(-100%,0,0) skewX(-30deg);opacity:0}}.animate__lightSpeedOutLeft{-webkit-animation-name:lightSpeedOutLeft;animation-name:lightSpeedOutLeft;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateIn{0%{-webkit-transform:rotate(-200deg);transform:rotate(-200deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform:rotate(-90deg);transform:rotate(-90deg);opacity:0}to{-webkit-transform:translateZ(0);transform:translateZ(0);opacity:1}}.animate__rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{opacity:1}to{-webkit-transform:rotate(200deg);transform:rotate(200deg);opacity:0}}.animate__rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut;-webkit-transform-origin:center;transform-origin:center}@-webkit-keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{opacity:1}to{-webkit-transform:rotate(45deg);transform:rotate(45deg);opacity:0}}.animate__rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{opacity:1}to{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}}.animate__rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft;-webkit-transform-origin:left bottom;transform-origin:left bottom}@-webkit-keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{opacity:1}to{-webkit-transform:rotate(90deg);transform:rotate(90deg);opacity:0}}.animate__rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight;-webkit-transform-origin:right bottom;transform-origin:right bottom}@-webkit-keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);transform:rotate(80deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate(60deg);transform:rotate(60deg);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}to{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.animate__hinge{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-duration:calc(var(--animate-duration)*2);animation-duration:calc(var(--animate-duration)*2);-webkit-animation-name:hinge;animation-name:hinge;-webkit-transform-origin:top left;transform-origin:top left}@-webkit-keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes jackInTheBox{0%{opacity:0;-webkit-transform:scale(.1) rotate(30deg);transform:scale(.1) rotate(30deg);-webkit-transform-origin:center bottom;transform-origin:center bottom}50%{-webkit-transform:rotate(-10deg);transform:rotate(-10deg)}70%{-webkit-transform:rotate(3deg);transform:rotate(3deg)}to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.animate__jackInTheBox{-webkit-animation-name:jackInTheBox;animation-name:jackInTheBox}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate(-120deg);transform:translate3d(-100%,0,0) rotate(-120deg)}to{opacity:1;-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}@keyframes rollOut{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate(120deg);transform:translate3d(100%,0,0) rotate(120deg)}}.animate__rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.animate__zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}.animate__zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0)}}.animate__zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft;-webkit-transform-origin:left center;transform-origin:left center}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}to{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0)}}.animate__zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight;-webkit-transform-origin:right center;transform-origin:right center}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(.55,.055,.675,.19);animation-timing-function:cubic-bezier(.55,.055,.675,.19)}to{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-animation-timing-function:cubic-bezier(.175,.885,.32,1);animation-timing-function:cubic-bezier(.175,.885,.32,1)}}.animate__zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp;-webkit-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInDown{0%{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInLeft{0%{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInRight{0%{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes slideInUp{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);visibility:visible}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.animate__slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes slideOutDown{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.animate__slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes slideOutLeft{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.animate__slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes slideOutRight{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.animate__slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes slideOutUp{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{visibility:hidden;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.animate__slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} \ No newline at end of file diff --git a/lib/cookieconsent/cookieconsent.min.css b/lib/cookieconsent/cookieconsent.min.css new file mode 100644 index 00000000..d4d43902 --- /dev/null +++ b/lib/cookieconsent/cookieconsent.min.css @@ -0,0 +1,6 @@ +.cc-window{opacity:1;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.cc-window.cc-invisible{opacity:0}.cc-animate.cc-revoke{-webkit-transition:transform 1s ease;-webkit-transition:-webkit-transform 1s ease;transition:-webkit-transform 1s ease;transition:transform 1s ease;transition:transform 1s ease,-webkit-transform 1s ease}.cc-animate.cc-revoke.cc-top{-webkit-transform:translateY(-2em);transform:translateY(-2em)}.cc-animate.cc-revoke.cc-bottom{-webkit-transform:translateY(2em);transform:translateY(2em)}.cc-animate.cc-revoke.cc-active.cc-top{-webkit-transform:translateY(0);transform:translateY(0)}.cc-animate.cc-revoke.cc-active.cc-bottom{-webkit-transform:translateY(0);transform:translateY(0)}.cc-revoke:hover{-webkit-transform:translateY(0);transform:translateY(0)}.cc-grower{max-height:0;overflow:hidden;-webkit-transition:max-height 1s;transition:max-height 1s} +.cc-revoke,.cc-window{position:fixed;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;font-family:Helvetica,Calibri,Arial,sans-serif;font-size:16px;line-height:1.5em;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;z-index:9999}.cc-window.cc-static{position:static}.cc-window.cc-floating{padding:2em;max-width:24em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner{padding:1em 1.8em;width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.cc-revoke{padding:.5em}.cc-revoke:hover{text-decoration:underline}.cc-header{font-size:18px;font-weight:700}.cc-btn,.cc-close,.cc-link,.cc-revoke{cursor:pointer}.cc-link{opacity:.8;display:inline-block;padding:.2em;text-decoration:underline}.cc-link:hover{opacity:1}.cc-link:active,.cc-link:visited{color:initial}.cc-btn{display:block;padding:.4em .8em;font-size:.9em;font-weight:700;border-width:2px;border-style:solid;text-align:center;white-space:nowrap}.cc-highlight .cc-btn:first-child{background-color:transparent;border-color:transparent}.cc-highlight .cc-btn:first-child:focus,.cc-highlight .cc-btn:first-child:hover{background-color:transparent;text-decoration:underline}.cc-close{display:block;position:absolute;top:.5em;right:.5em;font-size:1.6em;opacity:.9;line-height:.75}.cc-close:focus,.cc-close:hover{opacity:1} +.cc-revoke.cc-top{top:0;left:3em;border-bottom-left-radius:.5em;border-bottom-right-radius:.5em}.cc-revoke.cc-bottom{bottom:0;left:3em;border-top-left-radius:.5em;border-top-right-radius:.5em}.cc-revoke.cc-left{left:3em;right:unset}.cc-revoke.cc-right{right:3em;left:unset}.cc-top{top:1em}.cc-left{left:1em}.cc-right{right:1em}.cc-bottom{bottom:1em}.cc-floating>.cc-link{margin-bottom:1em}.cc-floating .cc-message{display:block;margin-bottom:1em}.cc-window.cc-floating .cc-compliance{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.cc-window.cc-banner{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cc-banner.cc-top{left:0;right:0;top:0}.cc-banner.cc-bottom{left:0;right:0;bottom:0}.cc-banner .cc-message{display:block;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;max-width:100%;margin-right:1em}.cc-compliance{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-line-pack:justify;align-content:space-between}.cc-floating .cc-compliance>.cc-btn{-webkit-box-flex:1;-ms-flex:1;flex:1}.cc-btn+.cc-btn{margin-left:.5em} +@media print{.cc-revoke,.cc-window{display:none}}@media screen and (max-width:900px){.cc-btn{white-space:normal}}@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape){.cc-window.cc-top{top:0}.cc-window.cc-bottom{bottom:0}.cc-window.cc-banner,.cc-window.cc-floating,.cc-window.cc-left,.cc-window.cc-right{left:0;right:0}.cc-window.cc-banner{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.cc-window.cc-banner .cc-compliance{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.cc-window.cc-floating{max-width:none}.cc-window .cc-message{margin-bottom:1em}.cc-window.cc-banner{-webkit-box-align:unset;-ms-flex-align:unset;align-items:unset}.cc-window.cc-banner .cc-message{margin-right:0}} +.cc-floating.cc-theme-classic{padding:1.2em;border-radius:5px}.cc-floating.cc-type-info.cc-theme-classic .cc-compliance{text-align:center;display:inline;-webkit-box-flex:0;-ms-flex:none;flex:none}.cc-theme-classic .cc-btn{border-radius:5px}.cc-theme-classic .cc-btn:last-child{min-width:140px}.cc-floating.cc-type-info.cc-theme-classic .cc-btn{display:inline-block} +.cc-theme-edgeless.cc-window{padding:0}.cc-floating.cc-theme-edgeless .cc-message{margin:2em;margin-bottom:1.5em}.cc-banner.cc-theme-edgeless .cc-btn{margin:0;padding:.8em 1.8em;height:100%}.cc-banner.cc-theme-edgeless .cc-message{margin-left:1em}.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn{margin-left:0} \ No newline at end of file diff --git a/lib/cookieconsent/cookieconsent.min.js b/lib/cookieconsent/cookieconsent.min.js new file mode 100644 index 00000000..1e3dccf1 --- /dev/null +++ b/lib/cookieconsent/cookieconsent.min.js @@ -0,0 +1 @@ +!function(e){if(!e.hasInitialised){var t={escapeRegExp:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},hasClass:function(e,t){var i=" ";return 1===e.nodeType&&(i+e.className+i).replace(/[\n\t]/g,i).indexOf(i+t+i)>=0},addClass:function(e,t){e.className+=" "+t},removeClass:function(e,t){var i=new RegExp("\\b"+this.escapeRegExp(t)+"\\b");e.className=e.className.replace(i,"")},interpolateString:function(e,t){return e.replace(/{{([a-z][a-z0-9\-_]*)}}/gi,function(e){return t(arguments[1])||""})},getCookie:function(e){var t=("; "+document.cookie).split("; "+e+"=");return t.length<2?void 0:t.pop().split(";").shift()},setCookie:function(e,t,i,n,o,s){var r=new Date;r.setHours(r.getHours()+24*(i||365));var a=[e+"="+t,"expires="+r.toUTCString(),"path="+(o||"/")];n&&a.push("domain="+n),s&&a.push("secure"),document.cookie=a.join(";")},deepExtend:function(e,t){for(var i in t)t.hasOwnProperty(i)&&(i in e&&this.isPlainObject(e[i])&&this.isPlainObject(t[i])?this.deepExtend(e[i],t[i]):e[i]=t[i]);return e},throttle:function(e,t){var i=!1;return function(){i||(e.apply(this,arguments),i=!0,setTimeout(function(){i=!1},t))}},hash:function(e){var t,i,n=0;if(0===e.length)return n;for(t=0,i=e.length;t=128?"#000":"#fff"},getLuminance:function(e){var t=parseInt(this.normaliseHex(e),16),i=38+(t>>16),n=38+(t>>8&255),o=38+(255&t);return"#"+(16777216+65536*(i<255?i<1?0:i:255)+256*(n<255?n<1?0:n:255)+(o<255?o<1?0:o:255)).toString(16).slice(1)},isMobile:function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},isPlainObject:function(e){return"object"==typeof e&&null!==e&&e.constructor==Object},traverseDOMPath:function(e,i){return e&&e.parentNode?t.hasClass(e,i)?e:this.traverseDOMPath(e.parentNode,i):null}};e.status={deny:"deny",allow:"allow",dismiss:"dismiss"},e.transitionEnd=function(){var e=document.createElement("div"),t={t:"transitionend",OT:"oTransitionEnd",msT:"MSTransitionEnd",MozT:"transitionend",WebkitT:"webkitTransitionEnd"};for(var i in t)if(t.hasOwnProperty(i)&&void 0!==e.style[i+"ransition"])return t[i];return""}(),e.hasTransition=!!e.transitionEnd;var i=Object.keys(e.status).map(t.escapeRegExp);e.customStyles={},e.Popup=function(){var n={enabled:!0,container:null,cookie:{name:"cookieconsent_status",path:"/",domain:"",expiryDays:365,secure:!1},onPopupOpen:function(){},onPopupClose:function(){},onInitialise:function(e){},onStatusChange:function(e,t){},onRevokeChoice:function(){},onNoCookieLaw:function(e,t){},content:{header:"Cookies used on the website!",message:"This website uses cookies to ensure you get the best experience on our website.",dismiss:"Got it!",allow:"Allow cookies",deny:"Decline",link:"Learn more",href:"https://www.cookiesandyou.com",close:"❌",target:"_blank",policy:"Cookie Policy"},elements:{header:'{{header}} ',message:'{{message}}',messagelink:'{{message}} {{link}}',dismiss:'{{dismiss}}',allow:'{{allow}}',deny:'{{deny}}',link:'{{link}}',close:'{{close}}'},window:'',revokeBtn:'
{{policy}}
',compliance:{info:'
{{dismiss}}
',"opt-in":'
{{deny}}{{allow}}
',"opt-out":'
{{deny}}{{allow}}
'},type:"info",layouts:{basic:"{{messagelink}}{{compliance}}","basic-close":"{{messagelink}}{{compliance}}{{close}}","basic-header":"{{header}}{{message}}{{link}}{{compliance}}"},layout:"basic",position:"bottom",theme:"block",static:!1,palette:null,revokable:!1,animateRevokable:!0,showLink:!0,dismissOnScroll:!1,dismissOnTimeout:!1,dismissOnWindowClick:!1,ignoreClicksFrom:["cc-revoke","cc-btn"],autoOpen:!0,autoAttach:!0,whitelistPage:[],blacklistPage:[],overrideHTML:null};function o(){this.initialise.apply(this,arguments)}function s(e){this.openingTimeout=null,t.removeClass(e,"cc-invisible")}function r(t){t.style.display="none",t.removeEventListener(e.transitionEnd,this.afterTransition),this.afterTransition=null}function a(){var e=this.options.position.split("-"),t=[];return e.forEach(function(e){t.push("cc-"+e)}),t}function c(n){var o=this.options,s=document.createElement("div"),r=o.container&&1===o.container.nodeType?o.container:document.body;s.innerHTML=n;var a=s.children[0];return a.style.display="none",t.hasClass(a,"cc-window")&&e.hasTransition&&t.addClass(a,"cc-invisible"),this.onButtonClick=function(n){var o=t.traverseDOMPath(n.target,"cc-btn")||n.target;if(t.hasClass(o,"cc-btn")){var s=o.className.match(new RegExp("\\bcc-("+i.join("|")+")\\b")),r=s&&s[1]||!1;r&&(this.setStatus(r),this.close(!0))}t.hasClass(o,"cc-close")&&(this.setStatus(e.status.dismiss),this.close(!0));t.hasClass(o,"cc-revoke")&&this.revokeChoice()}.bind(this),a.addEventListener("click",this.onButtonClick),o.autoAttach&&(r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a)),a}function l(e){return"000000"==(e=t.normaliseHex(e))?"#222":t.getLuminance(e)}function u(e,t){for(var i=0,n=e.length;i=0;o&&t(n);return o}.call(this)&&(this.options.enabled=!1),u(this.options.blacklistPage,location.pathname)&&(this.options.enabled=!1),u(this.options.whitelistPage,location.pathname)&&(this.options.enabled=!0);var o=this.options.window.replace("{{classes}}",function(){var i=this.options,n="top"==i.position||"bottom"==i.position?"banner":"floating";t.isMobile()&&(n="floating");var o=["cc-"+n,"cc-type-"+i.type,"cc-theme-"+i.theme];i.static&&o.push("cc-static");o.push.apply(o,a.call(this));(function(i){var n=t.hash(JSON.stringify(i)),o="cc-color-override-"+n,s=t.isPlainObject(i);this.customStyleSelector=s?o:null,s&&function(i,n,o){if(e.customStyles[i])return void++e.customStyles[i].references;var s={},r=n.popup,a=n.button,c=n.highlight;r&&(r.text=r.text?r.text:t.getContrast(r.background),r.link=r.link?r.link:r.text,s[o+".cc-window"]=["color: "+r.text,"background-color: "+r.background],s[o+".cc-revoke"]=["color: "+r.text,"background-color: "+r.background],s[o+" .cc-link,"+o+" .cc-link:active,"+o+" .cc-link:visited"]=["color: "+r.link],a&&(a.text=a.text?a.text:t.getContrast(a.background),a.border=a.border?a.border:"transparent",s[o+" .cc-btn"]=["color: "+a.text,"border-color: "+a.border,"background-color: "+a.background],a.padding&&s[o+" .cc-btn"].push("padding: "+a.padding),"transparent"!=a.background&&(s[o+" .cc-btn:hover, "+o+" .cc-btn:focus"]=["background-color: "+(a.hover||l(a.background))]),c?(c.text=c.text?c.text:t.getContrast(c.background),c.border=c.border?c.border:"transparent",s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+c.text,"border-color: "+c.border,"background-color: "+c.background]):s[o+" .cc-highlight .cc-btn:first-child"]=["color: "+r.text]));var u=document.createElement("style");document.head.appendChild(u),e.customStyles[i]={references:1,element:u.sheet};var h=-1;for(var p in s)s.hasOwnProperty(p)&&u.sheet.insertRule(p+"{"+s[p].join(";")+"}",++h)}(n,i,"."+o);return s}).call(this,this.options.palette);this.customStyleSelector&&o.push(this.customStyleSelector);return o}.call(this).join(" ")).replace("{{children}}",function(){var e={},i=this.options;i.showLink||(i.elements.link="",i.elements.messagelink=i.elements.message);Object.keys(i.elements).forEach(function(n){e[n]=t.interpolateString(i.elements[n],function(e){var t=i.content[e];return e&&"string"==typeof t&&t.length?t:""})});var n=i.compliance[i.type];n||(n=i.compliance.info);e.compliance=t.interpolateString(n,function(t){return e[t]});var o=i.layouts[i.layout];o||(o=i.layouts.basic);return t.interpolateString(o,function(t){return e[t]})}.call(this)),s=this.options.overrideHTML;if("string"==typeof s&&s.length&&(o=s),this.options.static){var r=c.call(this,'
'+o+"
");r.style.display="",this.element=r.firstChild,this.element.style.display="none",t.addClass(this.element,"cc-invisible")}else this.element=c.call(this,o);(function(){var i=this.setStatus.bind(this),n=this.close.bind(this),o=this.options.dismissOnTimeout;"number"==typeof o&&o>=0&&(this.dismissTimeout=window.setTimeout(function(){i(e.status.dismiss),n(!0)},Math.floor(o)));var s=this.options.dismissOnScroll;if("number"==typeof s&&s>=0){var r=function(t){window.pageYOffset>Math.floor(s)&&(i(e.status.dismiss),n(!0),window.removeEventListener("scroll",r),this.onWindowScroll=null)};this.options.enabled&&(this.onWindowScroll=r,window.addEventListener("scroll",r))}var a=this.options.dismissOnWindowClick,c=this.options.ignoreClicksFrom;if(a){var l=function(o){for(var s=!1,r=o.path.length,a=c.length,u=0;uo&&(i=!0),i?t.hasClass(n,"cc-active")||t.addClass(n,"cc-active"):t.hasClass(n,"cc-active")&&t.removeClass(n,"cc-active")},200);this.onMouseMove=o,window.addEventListener("mousemove",o)}}}.call(this),this.options.autoOpen&&this.autoOpen()},o.prototype.destroy=function(){this.onButtonClick&&this.element&&(this.element.removeEventListener("click",this.onButtonClick),this.onButtonClick=null),this.dismissTimeout&&(clearTimeout(this.dismissTimeout),this.dismissTimeout=null),this.onWindowScroll&&(window.removeEventListener("scroll",this.onWindowScroll),this.onWindowScroll=null),this.onWindowClick&&(window.removeEventListener("click",this.onWindowClick),this.onWindowClick=null),this.onMouseMove&&(window.removeEventListener("mousemove",this.onMouseMove),this.onMouseMove=null),this.element&&this.element.parentNode&&this.element.parentNode.removeChild(this.element),this.element=null,this.revokeBtn&&this.revokeBtn.parentNode&&this.revokeBtn.parentNode.removeChild(this.revokeBtn),this.revokeBtn=null,function(i){if(t.isPlainObject(i)){var n=t.hash(JSON.stringify(i)),o=e.customStyles[n];if(o&&!--o.references){var s=o.element.ownerNode;s&&s.parentNode&&s.parentNode.removeChild(s),e.customStyles[n]=null}}}(this.options.palette),this.options=null},o.prototype.open=function(t){if(this.element)return this.isOpen()||(e.hasTransition?this.fadeIn():this.element.style.display="",this.options.revokable&&this.toggleRevokeButton(),this.options.onPopupOpen.call(this)),this},o.prototype.close=function(t){if(this.element)return this.isOpen()&&(e.hasTransition?this.fadeOut():this.element.style.display="none",t&&this.options.revokable&&this.toggleRevokeButton(!0),this.options.onPopupClose.call(this)),this},o.prototype.fadeIn=function(){var i=this.element;if(e.hasTransition&&i&&(this.afterTransition&&r.call(this,i),t.hasClass(i,"cc-invisible"))){if(i.style.display="",this.options.static){var n=this.element.clientHeight;this.element.parentNode.style.maxHeight=n+"px"}this.openingTimeout=setTimeout(s.bind(this,i),20)}},o.prototype.fadeOut=function(){var i=this.element;e.hasTransition&&i&&(this.openingTimeout&&(clearTimeout(this.openingTimeout),s.bind(this,i)),t.hasClass(i,"cc-invisible")||(this.options.static&&(this.element.parentNode.style.maxHeight=""),this.afterTransition=r.bind(this,i),i.addEventListener(e.transitionEnd,this.afterTransition),t.addClass(i,"cc-invisible")))},o.prototype.isOpen=function(){return this.element&&""==this.element.style.display&&(!e.hasTransition||!t.hasClass(this.element,"cc-invisible"))},o.prototype.toggleRevokeButton=function(e){this.revokeBtn&&(this.revokeBtn.style.display=e?"":"none")},o.prototype.revokeChoice=function(e){this.options.enabled=!0,this.clearStatus(),this.options.onRevokeChoice.call(this),e||this.autoOpen()},o.prototype.hasAnswered=function(t){return Object.keys(e.status).indexOf(this.getStatus())>=0},o.prototype.hasConsented=function(t){var i=this.getStatus();return i==e.status.allow||i==e.status.dismiss},o.prototype.autoOpen=function(e){!this.hasAnswered()&&this.options.enabled?this.open():this.hasAnswered()&&this.options.revokable&&this.toggleRevokeButton(!0)},o.prototype.setStatus=function(i){var n=this.options.cookie,o=t.getCookie(n.name),s=Object.keys(e.status).indexOf(o)>=0;Object.keys(e.status).indexOf(i)>=0?(t.setCookie(n.name,i,n.expiryDays,n.domain,n.path,n.secure),this.options.onStatusChange.call(this,i,s)):this.clearStatus()},o.prototype.getStatus=function(){return t.getCookie(this.options.cookie.name)},o.prototype.clearStatus=function(){var e=this.options.cookie;t.setCookie(e.name,"",-1,e.domain,e.path)},o}(),e.Location=function(){var e={timeout:5e3,services:["ipinfo"],serviceDefinitions:{ipinfo:function(){return{url:"//ipinfo.io",headers:["Accept: application/json"],callback:function(e,t){try{var i=JSON.parse(t);return i.error?s(i):{code:i.country}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},ipinfodb:function(e){return{url:"//api.ipinfodb.com/v3/ip-country/?key={api_key}&format=json&callback={callback}",isScript:!0,callback:function(e,t){try{var i=JSON.parse(t);return"ERROR"==i.statusCode?s({error:i.statusMessage}):{code:i.countryCode}}catch(e){return s({error:"Invalid response ("+e+")"})}}}},maxmind:function(){return{url:"//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js",isScript:!0,callback:function(e){window.geoip2?geoip2.country(function(t){try{e({code:t.country.iso_code})}catch(t){e(s(t))}},function(t){e(s(t))}):e(new Error("Unexpected response format. The downloaded script should have exported `geoip2` to the global scope"))}}}}};function i(i){t.deepExtend(this.options={},e),t.isPlainObject(i)&&t.deepExtend(this.options,i),this.currentServiceIndex=-1}function n(e,t,i){var n,o=document.createElement("script");o.type="text/"+(e.type||"javascript"),o.src=e.src||e,o.async=!1,o.onreadystatechange=o.onload=function(){var e=o.readyState;clearTimeout(n),t.done||e&&!/loaded|complete/.test(e)||(t.done=!0,t(),o.onreadystatechange=o.onload=null)},document.body.appendChild(o),n=setTimeout(function(){t.done=!0,t(),o.onreadystatechange=o.onload=null},i)}function o(e,t,i,n,o){var s=new(window.XMLHttpRequest||window.ActiveXObject)("MSXML2.XMLHTTP.3.0");if(s.open(n?"POST":"GET",e,1),s.setRequestHeader("Content-type","application/x-www-form-urlencoded"),Array.isArray(o))for(var r=0,a=o.length;r3&&t(s)}),s.send(n)}function s(e){return new Error("Error ["+(e.code||"UNKNOWN")+"]: "+e.error)}return i.prototype.getNextService=function(){var e;do{e=this.getServiceByIdx(++this.currentServiceIndex)}while(this.currentServiceIndex=0,revokable:t.revokable.indexOf(e)>=0,explicitAction:t.explicitAction.indexOf(e)>=0}},i.prototype.applyLaw=function(e,t){var i=this.get(t);return i.hasLaw||(e.enabled=!1,"function"==typeof e.onNoCookieLaw&&e.onNoCookieLaw(t,i)),this.options.regionalLaw&&(i.revokable&&(e.revokable=!0),i.explicitAction&&(e.dismissOnScroll=!1,e.dismissOnTimeout=!1)),e},i}(),e.initialise=function(i,n,o){var s=new e.Law(i.law);n||(n=function(){}),o||(o=function(){});var r=Object.keys(e.status),a=t.getCookie("cookieconsent_status");r.indexOf(a)>=0?n(new e.Popup(i)):e.getCountryCode(i,function(t){delete i.law,delete i.location,t.code&&(i=s.applyLaw(i,t.code)),n(new e.Popup(i))},function(t){delete i.law,delete i.location,o(t,new e.Popup(i))})},e.getCountryCode=function(t,i,n){t.law&&t.law.countryCode?i({code:t.law.countryCode}):t.location?new e.Location(t.location).locate(function(e){i(e||{})},n):i({})},e.utils=t,e.hasInitialised=!0,window.cookieconsent=e}}(window.cookieconsent||{}); \ No newline at end of file diff --git a/lib/fontawesome-free/all.min.css b/lib/fontawesome-free/all.min.css new file mode 100644 index 00000000..d949e4f2 --- /dev/null +++ b/lib/fontawesome-free/all.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Free 6.4.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} + +.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} +.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-threads:before{content:"\e618"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-debian:before{content:"\e60b"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-square-threads:before{content:"\e619"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-x-twitter:before{content:"\e61b"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-square-x-twitter:before{content:"\e61a"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/lib/katex/auto-render.min.js b/lib/katex/auto-render.min.js new file mode 100644 index 00000000..46d62af2 --- /dev/null +++ b/lib/katex/auto-render.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("katex")):"function"==typeof define&&define.amd?define(["katex"],t):"object"==typeof exports?exports.renderMathInElement=t(require("katex")):e.renderMathInElement=t(e.katex)}("undefined"!=typeof self?self:this,(function(e){return function(){"use strict";var t={771:function(t){t.exports=e}},n={};function r(e){var o=n[e];if(void 0!==o)return o.exports;var i=n[e]={exports:{}};return t[e](i,i.exports,r),i.exports}r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};return function(){r.d(o,{default:function(){return d}});var e=r(771),t=r.n(e);const n=function(e,t,n){let r=n,o=0;const i=e.length;for(;re.left.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"))).join("|")+")");for(;r=e.search(a),-1!==r;){r>0&&(o.push({type:"text",data:e.slice(0,r)}),e=e.slice(r));const a=t.findIndex((t=>e.startsWith(t.left)));if(r=n(t[a].right,e,t[a].left.length),-1===r)break;const l=e.slice(0,r+t[a].right.length),s=i.test(l)?l:e.slice(t[a].left.length,r);o.push({type:"math",data:s,rawData:l,display:t[a].display}),e=e.slice(r+t[a].right.length)}return""!==e&&o.push({type:"text",data:e}),o};const l=function(e,n){const r=a(e,n.delimiters);if(1===r.length&&"text"===r[0].type)return null;const o=document.createDocumentFragment();for(let e=0;e-1===e.indexOf(" "+t+" ")))&&s(r,t)}}};var d=function(e,t){if(!e)throw new Error("No element provided to render");const n={};for(const e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);n.delimiters=n.delimiters||[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\[",right:"\\]",display:!0}],n.ignoredTags=n.ignoredTags||["script","noscript","style","textarea","pre","code","option"],n.ignoredClasses=n.ignoredClasses||[],n.errorCallback=n.errorCallback||console.error,n.macros=n.macros||{},s(e,n)}}(),o=o.default}()})); \ No newline at end of file diff --git a/lib/katex/copy-tex.min.js b/lib/katex/copy-tex.min.js new file mode 100644 index 00000000..a826f4f5 --- /dev/null +++ b/lib/katex/copy-tex.min.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={};const t={inline:["$","$"],display:["$$","$$"]};var n=function(e,n){void 0===n&&(n=t);const o=e.querySelectorAll(".katex-mathml + .katex-html");for(let e=0;ee instanceof Text?e.textContent:e.outerHTML)).join("");r.setData("text/html",c),r.setData("text/plain",n(s).textContent),e.preventDefault()})),e=e.default}()})); \ No newline at end of file diff --git a/lib/katex/fonts/KaTeX_AMS-Regular.ttf b/lib/katex/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 00000000..c6f9a5e7 Binary files /dev/null and b/lib/katex/fonts/KaTeX_AMS-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_AMS-Regular.woff b/lib/katex/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 00000000..b804d7b3 Binary files /dev/null and b/lib/katex/fonts/KaTeX_AMS-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_AMS-Regular.woff2 b/lib/katex/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 00000000..0acaaff0 Binary files /dev/null and b/lib/katex/fonts/KaTeX_AMS-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf b/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 00000000..9ff4a5e0 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Caligraphic-Bold.ttf differ diff --git a/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff b/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 00000000..9759710d Binary files /dev/null and b/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff differ diff --git a/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 b/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 00000000..f390922e Binary files /dev/null and b/lib/katex/fonts/KaTeX_Caligraphic-Bold.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf b/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 00000000..f522294f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Caligraphic-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff b/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 00000000..9bdd534f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 b/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 00000000..75344a1f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Caligraphic-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf b/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 00000000..4e98259c Binary files /dev/null and b/lib/katex/fonts/KaTeX_Fraktur-Bold.ttf differ diff --git a/lib/katex/fonts/KaTeX_Fraktur-Bold.woff b/lib/katex/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 00000000..e7730f66 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Fraktur-Bold.woff differ diff --git a/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 b/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 00000000..395f28be Binary files /dev/null and b/lib/katex/fonts/KaTeX_Fraktur-Bold.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf b/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 00000000..b8461b27 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Fraktur-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Fraktur-Regular.woff b/lib/katex/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 00000000..acab069f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Fraktur-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 b/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 00000000..735f6948 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Fraktur-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Main-Bold.ttf b/lib/katex/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 00000000..4060e627 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Bold.ttf differ diff --git a/lib/katex/fonts/KaTeX_Main-Bold.woff b/lib/katex/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 00000000..f38136ac Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Bold.woff differ diff --git a/lib/katex/fonts/KaTeX_Main-Bold.woff2 b/lib/katex/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 00000000..ab2ad21d Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Bold.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf b/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 00000000..dc007977 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-BoldItalic.ttf differ diff --git a/lib/katex/fonts/KaTeX_Main-BoldItalic.woff b/lib/katex/fonts/KaTeX_Main-BoldItalic.woff new file mode 100644 index 00000000..67807b0b Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-BoldItalic.woff differ diff --git a/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 b/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 new file mode 100644 index 00000000..5931794d Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-BoldItalic.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Main-Italic.ttf b/lib/katex/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 00000000..0e9b0f35 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Italic.ttf differ diff --git a/lib/katex/fonts/KaTeX_Main-Italic.woff b/lib/katex/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 00000000..6f43b594 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Italic.woff differ diff --git a/lib/katex/fonts/KaTeX_Main-Italic.woff2 b/lib/katex/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 00000000..b50920e1 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Italic.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Main-Regular.ttf b/lib/katex/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 00000000..dd45e1ed Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Main-Regular.woff b/lib/katex/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 00000000..21f58129 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Main-Regular.woff2 b/lib/katex/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 00000000..eb24a7ba Binary files /dev/null and b/lib/katex/fonts/KaTeX_Main-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf b/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 00000000..728ce7a1 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Math-BoldItalic.ttf differ diff --git a/lib/katex/fonts/KaTeX_Math-BoldItalic.woff b/lib/katex/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 00000000..0ae390d7 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Math-BoldItalic.woff differ diff --git a/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 b/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 00000000..29657023 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Math-BoldItalic.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Math-Italic.ttf b/lib/katex/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 00000000..70d559b4 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Math-Italic.ttf differ diff --git a/lib/katex/fonts/KaTeX_Math-Italic.woff b/lib/katex/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 00000000..eb5159d4 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Math-Italic.woff differ diff --git a/lib/katex/fonts/KaTeX_Math-Italic.woff2 b/lib/katex/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 00000000..215c143f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Math-Italic.woff2 differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf b/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 00000000..2f65a8a3 Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Bold.ttf differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Bold.woff b/lib/katex/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 00000000..8d47c02d Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Bold.woff differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 b/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 00000000..cfaa3bda Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Bold.woff2 differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf b/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 00000000..d5850df9 Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Italic.ttf differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Italic.woff b/lib/katex/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 00000000..7e02df96 Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Italic.woff differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 b/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 00000000..349c06dc Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Italic.woff2 differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf b/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 00000000..537279f6 Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Regular.woff b/lib/katex/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 00000000..31b84829 Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 b/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 00000000..a90eea85 Binary files /dev/null and b/lib/katex/fonts/KaTeX_SansSerif-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Script-Regular.ttf b/lib/katex/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 00000000..fd679bf3 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Script-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Script-Regular.woff b/lib/katex/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 00000000..0e7da821 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Script-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Script-Regular.woff2 b/lib/katex/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 00000000..b3048fc1 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Script-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Size1-Regular.ttf b/lib/katex/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 00000000..871fd7d1 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size1-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Size1-Regular.woff b/lib/katex/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 00000000..7f292d91 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size1-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Size1-Regular.woff2 b/lib/katex/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 00000000..c5a8462f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size1-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Size2-Regular.ttf b/lib/katex/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 00000000..7a212caf Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size2-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Size2-Regular.woff b/lib/katex/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 00000000..d241d9be Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size2-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Size2-Regular.woff2 b/lib/katex/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 00000000..e1bccfe2 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size2-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Size3-Regular.ttf b/lib/katex/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 00000000..00bff349 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size3-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Size3-Regular.woff b/lib/katex/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 00000000..e6e9b658 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size3-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Size3-Regular.woff2 b/lib/katex/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 00000000..249a2866 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size3-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Size4-Regular.ttf b/lib/katex/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 00000000..74f08921 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size4-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Size4-Regular.woff b/lib/katex/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 00000000..e1ec5457 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size4-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Size4-Regular.woff2 b/lib/katex/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 00000000..680c1308 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Size4-Regular.woff2 differ diff --git a/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf b/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 00000000..c83252c5 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Typewriter-Regular.ttf differ diff --git a/lib/katex/fonts/KaTeX_Typewriter-Regular.woff b/lib/katex/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 00000000..2432419f Binary files /dev/null and b/lib/katex/fonts/KaTeX_Typewriter-Regular.woff differ diff --git a/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 b/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 00000000..771f1af7 Binary files /dev/null and b/lib/katex/fonts/KaTeX_Typewriter-Regular.woff2 differ diff --git a/lib/katex/katex.min.css b/lib/katex/katex.min.css new file mode 100644 index 00000000..b5337aae --- /dev/null +++ b/lib/katex/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.10"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo} diff --git a/lib/katex/katex.min.js b/lib/katex/katex.min.js new file mode 100644 index 00000000..e701cfde --- /dev/null +++ b/lib/katex/katex.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.katex=t():e.katex=t()}("undefined"!=typeof self?self:this,(function(){return function(){"use strict";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}},t={};e.d(t,{default:function(){return Yn}});class r{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;let n,o,s="KaTeX parse error: "+e;const i=t&&t.loc;if(i&&i.start<=i.end){const e=i.lexer.input;n=i.start,o=i.end,n===e.length?s+=" at end of input: ":s+=" at position "+(n+1)+": ";const t=e.slice(n,o).replace(/[^]/g,"$&\u0332");let r,a;r=n>15?"\u2026"+e.slice(n-15,n):e.slice(0,n),a=o+15":">","<":"<",'"':""","'":"'"},i=/[&><"']/g;const a=function(e){return"ordgroup"===e.type||"color"===e.type?1===e.body.length?a(e.body[0]):e:"font"===e.type?a(e.body):e};var l={contains:function(e,t){return-1!==e.indexOf(t)},deflt:function(e,t){return void 0===e?t:e},escape:function(e){return String(e).replace(i,(e=>s[e]))},hyphenate:function(e){return e.replace(o,"-$1").toLowerCase()},getBaseElem:a,isCharacterBox:function(e){const t=a(e);return"mathord"===t.type||"textord"===t.type||"atom"===t.type},protocolFromUrl:function(e){const t=/^[\x00-\x20]*([^\\/#?]*?)(:|�*58|�*3a|&colon)/i.exec(e);return t?":"!==t[2]?null:/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1])?t[1].toLowerCase():null:"_relative"}};const h={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format "},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color ",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:e=>"#"+e},macros:{type:"object",cli:"-m, --macro ",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(e,t)=>(t.push(e),t)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:e=>Math.max(0,e),cli:"--min-rule-thickness ",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:e=>Math.max(0,e),cli:"-s, --max-size ",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:e=>Math.max(0,e),cli:"-e, --max-expand ",cliProcessor:e=>"Infinity"===e?1/0:parseInt(e)},globalGroup:{type:"boolean",cli:!1}};function c(e){if(e.default)return e.default;const t=e.type,r=Array.isArray(t)?t[0]:t;if("string"!=typeof r)return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class m{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(const t in h)if(h.hasOwnProperty(t)){const r=h[t];this[t]=void 0!==e[t]?r.processor?r.processor(e[t]):e[t]:c(r)}}reportNonstrict(e,t,r){let o=this.strict;if("function"==typeof o&&(o=o(e,t,r)),o&&"ignore"!==o){if(!0===o||"error"===o)throw new n("LaTeX-incompatible input and strict mode is set to 'error': "+t+" ["+e+"]",r);"warn"===o?"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"):"undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+o+"': "+t+" ["+e+"]")}}useStrictBehavior(e,t,r){let n=this.strict;if("function"==typeof n)try{n=n(e,t,r)}catch(e){n="error"}return!(!n||"ignore"===n)&&(!0===n||"error"===n||("warn"===n?("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+t+" ["+e+"]"),!1):("undefined"!=typeof console&&console.warn("LaTeX-incompatible input and strict mode is set to unrecognized '"+n+"': "+t+" ["+e+"]"),!1)))}isTrusted(e){if(e.url&&!e.protocol){const t=l.protocolFromUrl(e.url);if(null==t)return!1;e.protocol=t}const t="function"==typeof this.trust?this.trust(e):this.trust;return Boolean(t)}}class p{constructor(e,t,r){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=r}sup(){return u[d[this.id]]}sub(){return u[g[this.id]]}fracNum(){return u[f[this.id]]}fracDen(){return u[b[this.id]]}cramp(){return u[y[this.id]]}text(){return u[x[this.id]]}isTight(){return this.size>=2}}const u=[new p(0,0,!1),new p(1,0,!0),new p(2,1,!1),new p(3,1,!0),new p(4,2,!1),new p(5,2,!0),new p(6,3,!1),new p(7,3,!0)],d=[4,5,4,5,6,7,6,7],g=[5,5,5,5,7,7,7,7],f=[2,3,4,5,6,7,6,7],b=[3,3,5,5,7,7,7,7],y=[1,1,3,3,5,5,7,7],x=[0,1,2,3,2,3,2,3];var w={DISPLAY:u[0],TEXT:u[2],SCRIPT:u[4],SCRIPTSCRIPT:u[6]};const v=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];const k=[];function S(e){for(let t=0;t=k[t]&&e<=k[t+1])return!0;return!1}v.forEach((e=>e.blocks.forEach((e=>k.push(...e)))));const M=80,z={doubleleftarrow:"M262 157\nl10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3\n 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28\n 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5\nc2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5\n 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z",doublerightarrow:"M399738 392l\n-10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5\n 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88\n-33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68\n-17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z",leftarrow:"M400000 241H110l3-3c68.7-52.7 113.7-120\n 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8\n-5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247\nc-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208\n 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3\n 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202\n l-3-3h399890zM100 241v40h399900v-40z",leftbrace:"M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 5-6 9-10 13-.7 1-7.3 1-20 1H6z",leftbraceunder:"M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13\n 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z",leftgroup:"M400000 80\nH435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0\n 435 0h399565z",leftgroupunder:"M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z",leftharpoon:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5\n-18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7\n-196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z",leftharpoonplus:"M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5\n 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3\n-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z",leftharpoondown:"M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667\n-152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z",leftharpoondownplus:"M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12\n 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z",lefthook:"M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3\n-68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21\n 71.5 23h399859zM103 281v-40h399897v40z",leftlinesegment:"M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z",leftmapsto:"M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z",leftToFrom:"M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z",longequal:"M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z",midbrace:"M200428 334\nc-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z",midbraceunder:"M199572 214\nc100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0\n-5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z",oiintSize1:"M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8\n60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z",oiintSize2:"M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 110 84 276 504 276s502.4-166 502.4-276z",oiiintSize1:"M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z",oiiintSize2:"M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z",rightarrow:"M0 241v40h399891c-47.3 35.3-84 78-110 128\n-16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20\n 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7\n 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85\n-40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n 151.7 139 205zm0 0v40h399900v-40z",rightbrace:"M400000 542l\n-6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z",rightbraceunder:"M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z",rightgroup:"M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0\n 3-1 3-3v-38c-76-158-257-219-435-219H0z",rightgroupunder:"M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18\n 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z",rightharpoon:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3\n-3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2\n-10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58\n 69.2 92 94.5zm0 0v40h399900v-40z",rightharpoonplus:"M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11\n-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7\n 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z\nm0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z",rightharpoondown:"M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8\n 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5\n-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95\n-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z",rightharpoondownplus:"M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8\n 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3\n 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-194v40h400000v-40zm0 0v40h400000v-40z",righthook:"M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3\n 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0\n-13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21\n 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z",rightlinesegment:"M399960 241 V94 h40 V428 h-40 V281 H0 v-40z\nM399960 241 V94 h40 V428 h-40 V281 H0 v-40z",rightToFrom:"M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z",twoheadleftarrow:"M0 167c68 40\n 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z",twoheadrightarrow:"M400000 167\nc-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3\n 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z",tilde1:"M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0\n 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z",tilde2:"M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751\n 181.476 676 181.476c-149 0-189-126.21-332-126.21z",tilde3:"M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z",tilde4:"M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z",vec:"M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z",widehat1:"M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z",widehat2:"M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat3:"M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widehat4:"M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z",widecheck1:"M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z",widecheck2:"M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck3:"M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",widecheck4:"M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z",baraboveleftarrow:"M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130\ns-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47\n121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6\ns2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z",rightarrowabovebar:"M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0\n13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39\n-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5\n-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5\n-12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z",baraboveshortleftharpoon:"M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z",rightharpoonaboveshortbar:"M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z",shortbaraboveleftharpoon:"M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,\n1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z",shortrightharpoonabovebar:"M53,241l0,40c398570,0,399437,0,399437,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6\nc-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z"};class A{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createDocumentFragment();for(let t=0;te.toText())).join("")}}var T={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}};const B={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},C={"\xc5":"A","\xd0":"D","\xde":"o","\xe5":"a","\xf0":"d","\xfe":"o","\u0410":"A","\u0411":"B","\u0412":"B","\u0413":"F","\u0414":"A","\u0415":"E","\u0416":"K","\u0417":"3","\u0418":"N","\u0419":"N","\u041a":"K","\u041b":"N","\u041c":"M","\u041d":"H","\u041e":"O","\u041f":"N","\u0420":"P","\u0421":"C","\u0422":"T","\u0423":"y","\u0424":"O","\u0425":"X","\u0426":"U","\u0427":"h","\u0428":"W","\u0429":"W","\u042a":"B","\u042b":"X","\u042c":"B","\u042d":"3","\u042e":"X","\u042f":"R","\u0430":"a","\u0431":"b","\u0432":"a","\u0433":"r","\u0434":"y","\u0435":"e","\u0436":"m","\u0437":"e","\u0438":"n","\u0439":"n","\u043a":"n","\u043b":"n","\u043c":"m","\u043d":"n","\u043e":"o","\u043f":"n","\u0440":"p","\u0441":"c","\u0442":"o","\u0443":"y","\u0444":"b","\u0445":"x","\u0446":"n","\u0447":"n","\u0448":"w","\u0449":"w","\u044a":"a","\u044b":"m","\u044c":"a","\u044d":"e","\u044e":"m","\u044f":"r"};function N(e,t,r){if(!T[t])throw new Error("Font metrics not found for font: "+t+".");let n=e.charCodeAt(0),o=T[t][n];if(!o&&e[0]in C&&(n=C[e[0]].charCodeAt(0),o=T[t][n]),o||"text"!==r||S(n)&&(o=T[t][77]),o)return{depth:o[0],height:o[1],italic:o[2],skew:o[3],width:o[4]}}const q={};const I=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],R=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],H=function(e,t){return t.size<2?e:I[e-1][t.size-1]};class O{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||O.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=R[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){const t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return new O(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:H(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:R[e-1]})}havingBaseStyle(e){e=e||this.style.text();const t=H(O.BASESIZE,e);return this.size===t&&this.textSize===O.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){let e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==O.BASESIZE?["sizing","reset-size"+this.size,"size"+O.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=function(e){let t;if(t=e>=5?0:e>=3?1:2,!q[t]){const e=q[t]={cssEmPerMu:B.quad[t]/18};for(const r in B)B.hasOwnProperty(r)&&(e[r]=B[r][t])}return q[t]}(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}O.BASESIZE=6;var E=O;const L={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:1.00375,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:1.00375},D={ex:!0,em:!0,mu:!0},V=function(e){return"string"!=typeof e&&(e=e.unit),e in L||e in D||"ex"===e},P=function(e,t){let r;if(e.unit in L)r=L[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if("mu"===e.unit)r=t.fontMetrics().cssEmPerMu;else{let o;if(o=t.style.isTight()?t.havingStyle(t.style.text()):t,"ex"===e.unit)r=o.fontMetrics().xHeight;else{if("em"!==e.unit)throw new n("Invalid unit: '"+e.unit+"'");r=o.fontMetrics().quad}o!==t&&(r*=o.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*r,t.maxSize)},F=function(e){return+e.toFixed(4)+"em"},G=function(e){return e.filter((e=>e)).join(" ")},U=function(e,t,r){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=r||{},t){t.style.isTight()&&this.classes.push("mtight");const e=t.getColor();e&&(this.style.color=e)}},Y=function(e){const t=document.createElement(e);t.className=G(this.classes);for(const e in this.style)this.style.hasOwnProperty(e)&&(t.style[e]=this.style[e]);for(const e in this.attributes)this.attributes.hasOwnProperty(e)&&t.setAttribute(e,this.attributes[e]);for(let e=0;e",t};class W{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,e,r,n),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"span")}toMarkup(){return X.call(this,"span")}}class _{constructor(e,t,r,n){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,U.call(this,t,n),this.children=r||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return l.contains(this.classes,e)}toNode(){return Y.call(this,"a")}toMarkup(){return X.call(this,"a")}}class j{constructor(e,t,r){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=r}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(const t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){let e=''+l.escape(this.alt)+'=n[0]&&e<=n[1])return r.name}}return null}(this.text.charCodeAt(0));l&&this.classes.push(l+"_fallback"),/[\xee\xef\xed\xec]/.test(this.text)&&(this.text=$[this.text])}hasClass(e){return l.contains(this.classes,e)}toNode(){const e=document.createTextNode(this.text);let t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=F(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=G(this.classes));for(const e in this.style)this.style.hasOwnProperty(e)&&(t=t||document.createElement("span"),t.style[e]=this.style[e]);return t?(t.appendChild(e),t):e}toMarkup(){let e=!1,t="0&&(r+="margin-right:"+this.italic+"em;");for(const e in this.style)this.style.hasOwnProperty(e)&&(r+=l.hyphenate(e)+":"+this.style[e]+";");r&&(e=!0,t+=' style="'+l.escape(r)+'"');const n=l.escape(this.text);return e?(t+=">",t+=n,t+="",t):n}}class K{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","svg");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);for(let t=0;t':''}}class Q{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){const e=document.createElementNS("http://www.w3.org/2000/svg","line");for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);return e}toMarkup(){let e="","\\gt",!0),se(ie,le,ye,"\u2208","\\in",!0),se(ie,le,ye,"\ue020","\\@not"),se(ie,le,ye,"\u2282","\\subset",!0),se(ie,le,ye,"\u2283","\\supset",!0),se(ie,le,ye,"\u2286","\\subseteq",!0),se(ie,le,ye,"\u2287","\\supseteq",!0),se(ie,he,ye,"\u2288","\\nsubseteq",!0),se(ie,he,ye,"\u2289","\\nsupseteq",!0),se(ie,le,ye,"\u22a8","\\models"),se(ie,le,ye,"\u2190","\\leftarrow",!0),se(ie,le,ye,"\u2264","\\le"),se(ie,le,ye,"\u2264","\\leq",!0),se(ie,le,ye,"<","\\lt",!0),se(ie,le,ye,"\u2192","\\rightarrow",!0),se(ie,le,ye,"\u2192","\\to"),se(ie,he,ye,"\u2271","\\ngeq",!0),se(ie,he,ye,"\u2270","\\nleq",!0),se(ie,le,xe,"\xa0","\\ "),se(ie,le,xe,"\xa0","\\space"),se(ie,le,xe,"\xa0","\\nobreakspace"),se(ae,le,xe,"\xa0","\\ "),se(ae,le,xe,"\xa0"," "),se(ae,le,xe,"\xa0","\\space"),se(ae,le,xe,"\xa0","\\nobreakspace"),se(ie,le,xe,null,"\\nobreak"),se(ie,le,xe,null,"\\allowbreak"),se(ie,le,be,",",","),se(ie,le,be,";",";"),se(ie,he,me,"\u22bc","\\barwedge",!0),se(ie,he,me,"\u22bb","\\veebar",!0),se(ie,le,me,"\u2299","\\odot",!0),se(ie,le,me,"\u2295","\\oplus",!0),se(ie,le,me,"\u2297","\\otimes",!0),se(ie,le,we,"\u2202","\\partial",!0),se(ie,le,me,"\u2298","\\oslash",!0),se(ie,he,me,"\u229a","\\circledcirc",!0),se(ie,he,me,"\u22a1","\\boxdot",!0),se(ie,le,me,"\u25b3","\\bigtriangleup"),se(ie,le,me,"\u25bd","\\bigtriangledown"),se(ie,le,me,"\u2020","\\dagger"),se(ie,le,me,"\u22c4","\\diamond"),se(ie,le,me,"\u22c6","\\star"),se(ie,le,me,"\u25c3","\\triangleleft"),se(ie,le,me,"\u25b9","\\triangleright"),se(ie,le,fe,"{","\\{"),se(ae,le,we,"{","\\{"),se(ae,le,we,"{","\\textbraceleft"),se(ie,le,pe,"}","\\}"),se(ae,le,we,"}","\\}"),se(ae,le,we,"}","\\textbraceright"),se(ie,le,fe,"{","\\lbrace"),se(ie,le,pe,"}","\\rbrace"),se(ie,le,fe,"[","\\lbrack",!0),se(ae,le,we,"[","\\lbrack",!0),se(ie,le,pe,"]","\\rbrack",!0),se(ae,le,we,"]","\\rbrack",!0),se(ie,le,fe,"(","\\lparen",!0),se(ie,le,pe,")","\\rparen",!0),se(ae,le,we,"<","\\textless",!0),se(ae,le,we,">","\\textgreater",!0),se(ie,le,fe,"\u230a","\\lfloor",!0),se(ie,le,pe,"\u230b","\\rfloor",!0),se(ie,le,fe,"\u2308","\\lceil",!0),se(ie,le,pe,"\u2309","\\rceil",!0),se(ie,le,we,"\\","\\backslash"),se(ie,le,we,"\u2223","|"),se(ie,le,we,"\u2223","\\vert"),se(ae,le,we,"|","\\textbar",!0),se(ie,le,we,"\u2225","\\|"),se(ie,le,we,"\u2225","\\Vert"),se(ae,le,we,"\u2225","\\textbardbl"),se(ae,le,we,"~","\\textasciitilde"),se(ae,le,we,"\\","\\textbackslash"),se(ae,le,we,"^","\\textasciicircum"),se(ie,le,ye,"\u2191","\\uparrow",!0),se(ie,le,ye,"\u21d1","\\Uparrow",!0),se(ie,le,ye,"\u2193","\\downarrow",!0),se(ie,le,ye,"\u21d3","\\Downarrow",!0),se(ie,le,ye,"\u2195","\\updownarrow",!0),se(ie,le,ye,"\u21d5","\\Updownarrow",!0),se(ie,le,ge,"\u2210","\\coprod"),se(ie,le,ge,"\u22c1","\\bigvee"),se(ie,le,ge,"\u22c0","\\bigwedge"),se(ie,le,ge,"\u2a04","\\biguplus"),se(ie,le,ge,"\u22c2","\\bigcap"),se(ie,le,ge,"\u22c3","\\bigcup"),se(ie,le,ge,"\u222b","\\int"),se(ie,le,ge,"\u222b","\\intop"),se(ie,le,ge,"\u222c","\\iint"),se(ie,le,ge,"\u222d","\\iiint"),se(ie,le,ge,"\u220f","\\prod"),se(ie,le,ge,"\u2211","\\sum"),se(ie,le,ge,"\u2a02","\\bigotimes"),se(ie,le,ge,"\u2a01","\\bigoplus"),se(ie,le,ge,"\u2a00","\\bigodot"),se(ie,le,ge,"\u222e","\\oint"),se(ie,le,ge,"\u222f","\\oiint"),se(ie,le,ge,"\u2230","\\oiiint"),se(ie,le,ge,"\u2a06","\\bigsqcup"),se(ie,le,ge,"\u222b","\\smallint"),se(ae,le,ue,"\u2026","\\textellipsis"),se(ie,le,ue,"\u2026","\\mathellipsis"),se(ae,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u2026","\\ldots",!0),se(ie,le,ue,"\u22ef","\\@cdots",!0),se(ie,le,ue,"\u22f1","\\ddots",!0),se(ie,le,we,"\u22ee","\\varvdots"),se(ie,le,ce,"\u02ca","\\acute"),se(ie,le,ce,"\u02cb","\\grave"),se(ie,le,ce,"\xa8","\\ddot"),se(ie,le,ce,"~","\\tilde"),se(ie,le,ce,"\u02c9","\\bar"),se(ie,le,ce,"\u02d8","\\breve"),se(ie,le,ce,"\u02c7","\\check"),se(ie,le,ce,"^","\\hat"),se(ie,le,ce,"\u20d7","\\vec"),se(ie,le,ce,"\u02d9","\\dot"),se(ie,le,ce,"\u02da","\\mathring"),se(ie,le,de,"\ue131","\\@imath"),se(ie,le,de,"\ue237","\\@jmath"),se(ie,le,we,"\u0131","\u0131"),se(ie,le,we,"\u0237","\u0237"),se(ae,le,we,"\u0131","\\i",!0),se(ae,le,we,"\u0237","\\j",!0),se(ae,le,we,"\xdf","\\ss",!0),se(ae,le,we,"\xe6","\\ae",!0),se(ae,le,we,"\u0153","\\oe",!0),se(ae,le,we,"\xf8","\\o",!0),se(ae,le,we,"\xc6","\\AE",!0),se(ae,le,we,"\u0152","\\OE",!0),se(ae,le,we,"\xd8","\\O",!0),se(ae,le,ce,"\u02ca","\\'"),se(ae,le,ce,"\u02cb","\\`"),se(ae,le,ce,"\u02c6","\\^"),se(ae,le,ce,"\u02dc","\\~"),se(ae,le,ce,"\u02c9","\\="),se(ae,le,ce,"\u02d8","\\u"),se(ae,le,ce,"\u02d9","\\."),se(ae,le,ce,"\xb8","\\c"),se(ae,le,ce,"\u02da","\\r"),se(ae,le,ce,"\u02c7","\\v"),se(ae,le,ce,"\xa8",'\\"'),se(ae,le,ce,"\u02dd","\\H"),se(ae,le,ce,"\u25ef","\\textcircled");const ve={"--":!0,"---":!0,"``":!0,"''":!0};se(ae,le,we,"\u2013","--",!0),se(ae,le,we,"\u2013","\\textendash"),se(ae,le,we,"\u2014","---",!0),se(ae,le,we,"\u2014","\\textemdash"),se(ae,le,we,"\u2018","`",!0),se(ae,le,we,"\u2018","\\textquoteleft"),se(ae,le,we,"\u2019","'",!0),se(ae,le,we,"\u2019","\\textquoteright"),se(ae,le,we,"\u201c","``",!0),se(ae,le,we,"\u201c","\\textquotedblleft"),se(ae,le,we,"\u201d","''",!0),se(ae,le,we,"\u201d","\\textquotedblright"),se(ie,le,we,"\xb0","\\degree",!0),se(ae,le,we,"\xb0","\\degree"),se(ae,le,we,"\xb0","\\textdegree",!0),se(ie,le,we,"\xa3","\\pounds"),se(ie,le,we,"\xa3","\\mathsterling",!0),se(ae,le,we,"\xa3","\\pounds"),se(ae,le,we,"\xa3","\\textsterling",!0),se(ie,he,we,"\u2720","\\maltese"),se(ae,he,we,"\u2720","\\maltese");const ke='0123456789/@."';for(let e=0;e{if(G(e.classes)!==G(t.classes)||e.skew!==t.skew||e.maxFontSize!==t.maxFontSize)return!1;if(1===e.classes.length){const t=e.classes[0];if("mbin"===t||"mord"===t)return!1}for(const r in e.style)if(e.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;for(const r in t.style)if(t.style.hasOwnProperty(r)&&e.style[r]!==t.style[r])return!1;return!0},Ie=function(e){let t=0,r=0,n=0;for(let o=0;ot&&(t=s.height),s.depth>r&&(r=s.depth),s.maxFontSize>n&&(n=s.maxFontSize)}e.height=t,e.depth=r,e.maxFontSize=n},Re=function(e,t,r,n){const o=new W(e,t,r,n);return Ie(o),o},He=(e,t,r,n)=>new W(e,t,r,n),Oe=function(e){const t=new A(e);return Ie(t),t},Ee=function(e,t,r){let n,o="";switch(e){case"amsrm":o="AMS";break;case"textrm":o="Main";break;case"textsf":o="SansSerif";break;case"texttt":o="Typewriter";break;default:o=e}return n="textbf"===t&&"textit"===r?"BoldItalic":"textbf"===t?"Bold":"textit"===t?"Italic":"Regular",o+"-"+n},Le={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},De={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]};var Ve={fontMap:Le,makeSymbol:Ne,mathsym:function(e,t,r,n){return void 0===n&&(n=[]),"boldsymbol"===r.font&&Ce(e,"Main-Bold",t).metrics?Ne(e,"Main-Bold",t,r,n.concat(["mathbf"])):"\\"===e||"main"===oe[t][e].font?Ne(e,"Main-Regular",t,r,n):Ne(e,"AMS-Regular",t,r,n.concat(["amsrm"]))},makeSpan:Re,makeSvgSpan:He,makeLineSpan:function(e,t,r){const n=Re([e],[],t);return n.height=Math.max(r||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),n.style.borderBottomWidth=F(n.height),n.maxFontSize=1,n},makeAnchor:function(e,t,r,n){const o=new _(e,t,r,n);return Ie(o),o},makeFragment:Oe,wrapFragment:function(e,t){return e instanceof A?Re([],[e],t):e},makeVList:function(e,t){const{children:r,depth:n}=function(e){if("individualShift"===e.positionType){const t=e.children,r=[t[0]],n=-t[0].shift-t[0].elem.depth;let o=n;for(let e=1;e0)return Ne(s,h,o,t,i.concat(c));if(l){let e,n;if("boldsymbol"===l){const t=function(e,t,r,n,o){return"textord"!==o&&Ce(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}}(s,o,0,0,r);e=t.fontName,n=[t.fontClass]}else a?(e=Le[l].fontName,n=[l]):(e=Ee(l,t.fontWeight,t.fontShape),n=[l,t.fontWeight,t.fontShape]);if(Ce(s,e,o).metrics)return Ne(s,e,o,t,i.concat(n));if(ve.hasOwnProperty(s)&&"Typewriter"===e.slice(0,10)){const r=[];for(let a=0;a{const r=Re(["mspace"],[],t),n=P(e,t);return r.style.marginRight=F(n),r},staticSvg:function(e,t){const[r,n,o]=De[e],s=new J(r),i=new K([s],{width:F(n),height:F(o),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+1e3*o,preserveAspectRatio:"xMinYMin"}),a=He(["overlay"],[i],t);return a.height=o,a.style.height=F(o),a.style.width=F(n),a},svgData:De,tryCombineChars:e=>{for(let t=0;t{const r=t.classes[0],n=e.classes[0];"mbin"===r&&l.contains(et,n)?t.classes[0]="mord":"mbin"===n&&l.contains(Qe,r)&&(e.classes[0]="mord")}),{node:i},a,h),ot(o,((e,t)=>{const r=at(t),n=at(e),o=r&&n?e.hasClass("mtight")?Ye[r][n]:Ue[r][n]:null;if(o)return Ve.makeGlue(o,s)}),{node:i},a,h),o},ot=function(e,t,r,n,o){n&&e.push(n);let s=0;for(;sr=>{e.splice(t+1,0,r),s++})(s)}n&&e.pop()},st=function(e){return e instanceof A||e instanceof _||e instanceof W&&e.hasClass("enclosing")?e:null},it=function(e,t){const r=st(e);if(r){const e=r.children;if(e.length){if("right"===t)return it(e[e.length-1],"right");if("left"===t)return it(e[0],"left")}}return e},at=function(e,t){return e?(t&&(e=it(e,t)),rt[e.classes[0]]||null):null},lt=function(e,t){const r=["nulldelimiter"].concat(e.baseSizingClasses());return Je(t.concat(r))},ht=function(e,t,r){if(!e)return Je();if(We[e.type]){let n=We[e.type](e,t);if(r&&t.size!==r.size){n=Je(t.sizingClasses(r),[n],t);const e=t.sizeMultiplier/r.sizeMultiplier;n.height*=e,n.depth*=e}return n}throw new n("Got group of unknown type: '"+e.type+"'")};function ct(e,t){const r=Je(["base"],e,t),n=Je(["strut"]);return n.style.height=F(r.height+r.depth),r.depth&&(n.style.verticalAlign=F(-r.depth)),r.children.unshift(n),r}function mt(e,t){let r=null;1===e.length&&"tag"===e[0].type&&(r=e[0].tag,e=e[0].body);const n=nt(e,t,"root");let o;2===n.length&&n[1].hasClass("tag")&&(o=n.pop());const s=[];let i,a=[];for(let e=0;e0&&(s.push(ct(a,t)),a=[]),s.push(n[e]));a.length>0&&s.push(ct(a,t)),r?(i=ct(nt(r,t,!0)),i.classes=["tag"],s.push(i)):o&&s.push(o);const l=Je(["katex-html"],s);if(l.setAttribute("aria-hidden","true"),i){const e=i.children[0];e.style.height=F(l.height+l.depth),l.depth&&(e.style.verticalAlign=F(-l.depth))}return l}function pt(e){return new A(e)}class ut{constructor(e,t,r){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=r||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){const e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(const t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=G(this.classes));for(let t=0;t0&&(e+=' class ="'+l.escape(G(this.classes))+'"'),e+=">";for(let t=0;t",e}toText(){return this.children.map((e=>e.toText())).join("")}}class dt{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return l.escape(this.toText())}toText(){return this.text}}var gt={MathNode:ut,TextNode:dt,SpaceNode:class{constructor(e){this.width=void 0,this.character=void 0,this.width=e,this.character=e>=.05555&&e<=.05556?"\u200a":e>=.1666&&e<=.1667?"\u2009":e>=.2222&&e<=.2223?"\u2005":e>=.2777&&e<=.2778?"\u2005\u200a":e>=-.05556&&e<=-.05555?"\u200a\u2063":e>=-.1667&&e<=-.1666?"\u2009\u2063":e>=-.2223&&e<=-.2222?"\u205f\u2063":e>=-.2778&&e<=-.2777?"\u2005\u2063":null}toNode(){if(this.character)return document.createTextNode(this.character);{const e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",F(this.width)),e}}toMarkup(){return this.character?""+this.character+"":''}toText(){return this.character?this.character:" "}},newDocumentFragment:pt};const ft=function(e,t,r){return!oe[t][e]||!oe[t][e].replace||55349===e.charCodeAt(0)||ve.hasOwnProperty(e)&&r&&(r.fontFamily&&"tt"===r.fontFamily.slice(4,6)||r.font&&"tt"===r.font.slice(4,6))||(e=oe[t][e].replace),new gt.TextNode(e)},bt=function(e){return 1===e.length?e[0]:new gt.MathNode("mrow",e)},yt=function(e,t){if("texttt"===t.fontFamily)return"monospace";if("textsf"===t.fontFamily)return"textit"===t.fontShape&&"textbf"===t.fontWeight?"sans-serif-bold-italic":"textit"===t.fontShape?"sans-serif-italic":"textbf"===t.fontWeight?"bold-sans-serif":"sans-serif";if("textit"===t.fontShape&&"textbf"===t.fontWeight)return"bold-italic";if("textit"===t.fontShape)return"italic";if("textbf"===t.fontWeight)return"bold";const r=t.font;if(!r||"mathnormal"===r)return null;const n=e.mode;if("mathit"===r)return"italic";if("boldsymbol"===r)return"textord"===e.type?"bold":"bold-italic";if("mathbf"===r)return"bold";if("mathbb"===r)return"double-struck";if("mathfrak"===r)return"fraktur";if("mathscr"===r||"mathcal"===r)return"script";if("mathsf"===r)return"sans-serif";if("mathtt"===r)return"monospace";let o=e.text;if(l.contains(["\\imath","\\jmath"],o))return null;oe[n][o]&&oe[n][o].replace&&(o=oe[n][o].replace);return N(o,Ve.fontMap[r].fontName,n)?Ve.fontMap[r].variant:null},xt=function(e,t,r){if(1===e.length){const n=vt(e[0],t);return r&&n instanceof ut&&"mo"===n.type&&(n.setAttribute("lspace","0em"),n.setAttribute("rspace","0em")),[n]}const n=[];let o;for(let r=0;r0&&(e.text=e.text.slice(0,1)+"\u0338"+e.text.slice(1),n.pop())}}}n.push(s),o=s}return n},wt=function(e,t,r){return bt(xt(e,t,r))},vt=function(e,t){if(!e)return new gt.MathNode("mrow");if(_e[e.type]){return _e[e.type](e,t)}throw new n("Got group of unknown type: '"+e.type+"'")};function kt(e,t,r,n,o){const s=xt(e,r);let i;i=1===s.length&&s[0]instanceof ut&&l.contains(["mrow","mtable"],s[0].type)?s[0]:new gt.MathNode("mrow",s);const a=new gt.MathNode("annotation",[new gt.TextNode(t)]);a.setAttribute("encoding","application/x-tex");const h=new gt.MathNode("semantics",[i,a]),c=new gt.MathNode("math",[h]);c.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&c.setAttribute("display","block");const m=o?"katex":"katex-mathml";return Ve.makeSpan([m],[c])}const St=function(e){return new E({style:e.displayMode?w.DISPLAY:w.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},Mt=function(e,t){if(t.displayMode){const r=["katex-display"];t.leqno&&r.push("leqno"),t.fleqn&&r.push("fleqn"),e=Ve.makeSpan(r,[e])}return e},zt=function(e,t,r){const n=St(r);let o;if("mathml"===r.output)return kt(e,t,n,r.displayMode,!0);if("html"===r.output){const t=mt(e,n);o=Ve.makeSpan(["katex"],[t])}else{const s=kt(e,t,n,r.displayMode,!1),i=mt(e,n);o=Ve.makeSpan(["katex"],[s,i])}return Mt(o,r)};const At={widehat:"^",widecheck:"\u02c7",widetilde:"~",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23df",overbrace:"\u23de",overgroup:"\u23e0",undergroup:"\u23e1",overleftrightarrow:"\u2194",underleftrightarrow:"\u2194",xleftrightarrow:"\u2194",Overrightarrow:"\u21d2",xRightarrow:"\u21d2",overleftharpoon:"\u21bc",xleftharpoonup:"\u21bc",overrightharpoon:"\u21c0",xrightharpoonup:"\u21c0",xLeftarrow:"\u21d0",xLeftrightarrow:"\u21d4",xhookleftarrow:"\u21a9",xhookrightarrow:"\u21aa",xmapsto:"\u21a6",xrightharpoondown:"\u21c1",xleftharpoondown:"\u21bd",xrightleftharpoons:"\u21cc",xleftrightharpoons:"\u21cb",xtwoheadleftarrow:"\u219e",xtwoheadrightarrow:"\u21a0",xlongequal:"=",xtofrom:"\u21c4",xrightleftarrows:"\u21c4",xrightequilibrium:"\u21cc",xleftequilibrium:"\u21cb","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"="},Tt={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]};var Bt=function(e,t,r,n,o){let s;const i=e.height+e.depth+r+n;if(/fbox|color|angl/.test(t)){if(s=Ve.makeSpan(["stretchy",t],[],o),"fbox"===t){const e=o.color&&o.getColor();e&&(s.style.borderColor=e)}}else{const e=[];/^[bx]cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&e.push(new Q({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));const r=new K(e,{width:"100%",height:F(i)});s=Ve.makeSvgSpan([],[r],o)}return s.height=i,s.style.height=F(i),s},Ct=function(e){const t=new gt.MathNode("mo",[new gt.TextNode(At[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},Nt=function(e,t){const{span:r,minWidth:n,height:o}=function(){let r=4e5;const n=e.label.slice(1);if(l.contains(["widehat","widecheck","widetilde","utilde"],n)){const s="ordgroup"===(o=e.base).type?o.body.length:1;let i,a,l;if(s>5)"widehat"===n||"widecheck"===n?(i=420,r=2364,l=.42,a=n+"4"):(i=312,r=2340,l=.34,a="tilde4");else{const e=[1,1,2,2,3,3][s];"widehat"===n||"widecheck"===n?(r=[0,1062,2364,2364,2364][e],i=[0,239,300,360,420][e],l=[0,.24,.3,.3,.36,.42][e],a=n+e):(r=[0,600,1033,2339,2340][e],i=[0,260,286,306,312][e],l=[0,.26,.286,.3,.306,.34][e],a="tilde"+e)}const h=new J(a),c=new K([h],{width:"100%",height:F(l),viewBox:"0 0 "+r+" "+i,preserveAspectRatio:"none"});return{span:Ve.makeSvgSpan([],[c],t),minWidth:0,height:l}}{const e=[],o=Tt[n],[s,i,a]=o,l=a/1e3,h=s.length;let c,m;if(1===h){c=["hide-tail"],m=[o[3]]}else if(2===h)c=["halfarrow-left","halfarrow-right"],m=["xMinYMin","xMaxYMin"];else{if(3!==h)throw new Error("Correct katexImagesData or update code here to support\n "+h+" children.");c=["brace-left","brace-center","brace-right"],m=["xMinYMin","xMidYMin","xMaxYMin"]}for(let n=0;n0&&(r.style.minWidth=F(n)),r};function qt(e,t){if(!e||e.type!==t)throw new Error("Expected node of type "+t+", but got "+(e?"node of type "+e.type:String(e)));return e}function It(e){const t=Rt(e);if(!t)throw new Error("Expected node of symbol group type, but got "+(e?"node of type "+e.type:String(e)));return t}function Rt(e){return e&&("atom"===e.type||re.hasOwnProperty(e.type))?e:null}const Ht=(e,t)=>{let r,n,o;e&&"supsub"===e.type?(n=qt(e.base,"accent"),r=n.base,e.base=r,o=function(e){if(e instanceof W)return e;throw new Error("Expected span but got "+String(e)+".")}(ht(e,t)),e.base=n):(n=qt(e,"accent"),r=n.base);const s=ht(r,t.havingCrampedStyle());let i=0;if(n.isShifty&&l.isCharacterBox(r)){const e=l.getBaseElem(r);i=ee(ht(e,t.havingCrampedStyle())).skew}const a="\\c"===n.label;let h,c=a?s.height+s.depth:Math.min(s.height,t.fontMetrics().xHeight);if(n.isStretchy)h=Nt(n,t),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"elem",elem:h,wrapperClasses:["svg-align"],wrapperStyle:i>0?{width:"calc(100% - "+F(2*i)+")",marginLeft:F(2*i)}:void 0}]},t);else{let e,r;"\\vec"===n.label?(e=Ve.staticSvg("vec",t),r=Ve.svgData.vec[1]):(e=Ve.makeOrd({mode:n.mode,text:n.label},t,"textord"),e=ee(e),e.italic=0,r=e.width,a&&(c+=e.depth)),h=Ve.makeSpan(["accent-body"],[e]);const o="\\textcircled"===n.label;o&&(h.classes.push("accent-full"),c=s.height);let l=i;o||(l-=r/2),h.style.left=F(l),"\\textcircled"===n.label&&(h.style.top=".2em"),h=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:-c},{type:"elem",elem:h}]},t)}const m=Ve.makeSpan(["mord","accent"],[h],t);return o?(o.children[0]=m,o.height=Math.max(m.height,o.height),o.classes[0]="mord",o):m},Ot=(e,t)=>{const r=e.isStretchy?Ct(e.label):new gt.MathNode("mo",[ft(e.label,e.mode)]),n=new gt.MathNode("mover",[vt(e.base,t),r]);return n.setAttribute("accent","true"),n},Et=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map((e=>"\\"+e)).join("|"));je({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(e,t)=>{const r=Ze(t[0]),n=!Et.test(e.funcName),o=!n||"\\widehat"===e.funcName||"\\widetilde"===e.funcName||"\\widecheck"===e.funcName;return{type:"accent",mode:e.parser.mode,label:e.funcName,isStretchy:n,isShifty:o,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(e,t)=>{const r=t[0];let n=e.parser.mode;return"math"===n&&(e.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+e.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:e.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Ht,mathmlBuilder:Ot}),je({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"accentUnder",mode:r.mode,label:n,base:o}},htmlBuilder:(e,t)=>{const r=ht(e.base,t),n=Nt(e,t),o="\\utilde"===e.label?.12:0,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","accentunder"],[s],t)},mathmlBuilder:(e,t)=>{const r=Ct(e.label),n=new gt.MathNode("munder",[vt(e.base,t),r]);return n.setAttribute("accentunder","true"),n}});const Lt=e=>{const t=new gt.MathNode("mpadded",e?[e]:[]);return t.setAttribute("width","+0.6em"),t.setAttribute("lspace","0.3em"),t};je({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n,funcName:o}=e;return{type:"xArrow",mode:n.mode,label:o,body:t[0],below:r[0]}},htmlBuilder(e,t){const r=t.style;let n=t.havingStyle(r.sup());const o=Ve.wrapFragment(ht(e.body,n,t),t),s="\\x"===e.label.slice(0,2)?"x":"cd";let i;o.classes.push(s+"-arrow-pad"),e.below&&(n=t.havingStyle(r.sub()),i=Ve.wrapFragment(ht(e.below,n,t),t),i.classes.push(s+"-arrow-pad"));const a=Nt(e,t),l=-t.fontMetrics().axisHeight+.5*a.height;let h,c=-t.fontMetrics().axisHeight-.5*a.height-.111;if((o.depth>.25||"\\xleftequilibrium"===e.label)&&(c-=o.depth),i){const e=-t.fontMetrics().axisHeight+i.height+.5*a.height+.111;h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l},{type:"elem",elem:i,shift:e}]},t)}else h=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:c},{type:"elem",elem:a,shift:l}]},t);return h.children[0].children[0].children[1].classes.push("svg-align"),Ve.makeSpan(["mrel","x-arrow"],[h],t)},mathmlBuilder(e,t){const r=Ct(e.label);let n;if(r.setAttribute("minsize","x"===e.label.charAt(0)?"1.75em":"3.0em"),e.body){const o=Lt(vt(e.body,t));if(e.below){const s=Lt(vt(e.below,t));n=new gt.MathNode("munderover",[r,s,o])}else n=new gt.MathNode("mover",[r,o])}else if(e.below){const o=Lt(vt(e.below,t));n=new gt.MathNode("munder",[r,o])}else n=Lt(),n=new gt.MathNode("mover",[r,n]);return n}});const Dt=Ve.makeSpan;function Vt(e,t){const r=nt(e.body,t,!0);return Dt([e.mclass],r,t)}function Pt(e,t){let r;const n=xt(e.body,t);return"minner"===e.mclass?r=new gt.MathNode("mpadded",n):"mord"===e.mclass?e.isCharacterBox?(r=n[0],r.type="mi"):r=new gt.MathNode("mi",n):(e.isCharacterBox?(r=n[0],r.type="mo"):r=new gt.MathNode("mo",n),"mbin"===e.mclass?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):"mpunct"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):"mopen"===e.mclass||"mclose"===e.mclass?(r.attributes.lspace="0em",r.attributes.rspace="0em"):"minner"===e.mclass&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}je({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:Ke(o),isCharacterBox:l.isCharacterBox(o)}},htmlBuilder:Vt,mathmlBuilder:Pt});const Ft=e=>{const t="ordgroup"===e.type&&e.body.length?e.body[0]:e;return"atom"!==t.type||"bin"!==t.family&&"rel"!==t.family?"mord":"m"+t.family};je({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(e,t){let{parser:r}=e;return{type:"mclass",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[1]),isCharacterBox:l.isCharacterBox(t[1])}}}),je({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(e,t){let{parser:r,funcName:n}=e;const o=t[1],s=t[0];let i;i="\\stackrel"!==n?Ft(o):"mrel";const a={type:"op",mode:o.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:"\\stackrel"!==n,body:Ke(o)},h={type:"supsub",mode:s.mode,base:a,sup:"\\underset"===n?null:s,sub:"\\underset"===n?s:null};return{type:"mclass",mode:r.mode,mclass:i,body:[h],isCharacterBox:l.isCharacterBox(h)}},htmlBuilder:Vt,mathmlBuilder:Pt}),je({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"pmb",mode:r.mode,mclass:Ft(t[0]),body:Ke(t[0])}},htmlBuilder(e,t){const r=nt(e.body,t,!0),n=Ve.makeSpan([e.mclass],r,t);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(e,t){const r=xt(e.body,t),n=new gt.MathNode("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});const Gt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Ut=e=>"textord"===e.type&&"@"===e.text;function Yt(e,t,r){const n=Gt[e];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[t[0]],[t[1]]);case"\\uparrow":case"\\downarrow":{const e={type:"atom",text:n,mode:"math",family:"rel"},o={type:"ordgroup",mode:"math",body:[r.callFunction("\\\\cdleft",[t[0]],[]),r.callFunction("\\Big",[e],[]),r.callFunction("\\\\cdright",[t[1]],[])]};return r.callFunction("\\\\cdparent",[o],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{const e={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[e],[])}default:return{type:"textord",text:" ",mode:"math"}}}je({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:t[0]}},htmlBuilder(e,t){const r=t.havingStyle(t.style.sup()),n=Ve.wrapFragment(ht(e.label,r,t),t);return n.classes.push("cd-label-"+e.side),n.style.bottom=F(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(e,t){let r=new gt.MathNode("mrow",[vt(e.label,t)]);return r=new gt.MathNode("mpadded",[r]),r.setAttribute("width","0"),"left"===e.side&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new gt.MathNode("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}}),je({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(e,t){let{parser:r}=e;return{type:"cdlabelparent",mode:r.mode,fragment:t[0]}},htmlBuilder(e,t){const r=Ve.wrapFragment(ht(e.fragment,t),t);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(e,t){return new gt.MathNode("mrow",[vt(e.fragment,t)])}}),je({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;const o=qt(t[0],"ordgroup").body;let s="";for(let e=0;e=1114111)throw new n("\\@char with invalid code point "+s);return a<=65535?i=String.fromCharCode(a):(a-=65536,i=String.fromCharCode(55296+(a>>10),56320+(1023&a))),{type:"textord",mode:r.mode,text:i}}});const Xt=(e,t)=>{const r=nt(e.body,t.withColor(e.color),!1);return Ve.makeFragment(r)},Wt=(e,t)=>{const r=xt(e.body,t.withColor(e.color)),n=new gt.MathNode("mstyle",r);return n.setAttribute("mathcolor",e.color),n};je({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(e,t){let{parser:r}=e;const n=qt(t[0],"color-token").color,o=t[1];return{type:"color",mode:r.mode,color:n,body:Ke(o)}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(e,t){let{parser:r,breakOnTokenText:n}=e;const o=qt(t[0],"color-token").color;r.gullet.macros.set("\\current@color",o);const s=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:o,body:s}},htmlBuilder:Xt,mathmlBuilder:Wt}),je({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(e,t,r){let{parser:n}=e;const o="["===n.gullet.future().text?n.parseSizeGroup(!0):null,s=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:s,size:o&&qt(o,"size").value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mspace"],[],t);return e.newLine&&(r.classes.push("newline"),e.size&&(r.style.marginTop=F(P(e.size,t)))),r},mathmlBuilder(e,t){const r=new gt.MathNode("mspace");return e.newLine&&(r.setAttribute("linebreak","newline"),e.size&&r.setAttribute("height",F(P(e.size,t)))),r}});const _t={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},jt=e=>{const t=e.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(t))throw new n("Expected a control sequence",e);return t},$t=(e,t,r,n)=>{let o=e.gullet.macros.get(r.text);null==o&&(r.noexpand=!0,o={tokens:[r],numArgs:0,unexpandable:!e.gullet.isExpandable(r.text)}),e.gullet.macros.set(t,o,n)};je({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t,funcName:r}=e;t.consumeSpaces();const o=t.fetch();if(_t[o.text])return"\\global"!==r&&"\\\\globallong"!==r||(o.text=_t[o.text]),qt(t.parseFunction(),"internal");throw new n("Invalid token after macro prefix",o)}}),je({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e,o=t.gullet.popToken();const s=o.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new n("Expected a control sequence",o);let i,a=0;const l=[[]];for(;"{"!==t.gullet.future().text;)if(o=t.gullet.popToken(),"#"===o.text){if("{"===t.gullet.future().text){i=t.gullet.future(),l[a].push("{");break}if(o=t.gullet.popToken(),!/^[1-9]$/.test(o.text))throw new n('Invalid argument number "'+o.text+'"');if(parseInt(o.text)!==a+1)throw new n('Argument number "'+o.text+'" out of order');a++,l.push([])}else{if("EOF"===o.text)throw new n("Expected a macro definition");l[a].push(o.text)}let{tokens:h}=t.gullet.consumeArg();return i&&h.unshift(i),"\\edef"!==r&&"\\xdef"!==r||(h=t.gullet.expandTokens(h),h.reverse()),t.gullet.macros.set(s,{tokens:h,numArgs:a,delimiters:l},r===_t[r]),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken());t.gullet.consumeSpaces();const o=(e=>{let t=e.gullet.popToken();return"="===t.text&&(t=e.gullet.popToken()," "===t.text&&(t=e.gullet.popToken())),t})(t);return $t(t,n,o,"\\\\globallet"===r),{type:"internal",mode:t.mode}}}),je({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e){let{parser:t,funcName:r}=e;const n=jt(t.gullet.popToken()),o=t.gullet.popToken(),s=t.gullet.popToken();return $t(t,n,s,"\\\\globalfuture"===r),t.gullet.pushToken(s),t.gullet.pushToken(o),{type:"internal",mode:t.mode}}});const Zt=function(e,t,r){const n=N(oe.math[e]&&oe.math[e].replace||e,t,r);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Kt=function(e,t,r,n){const o=r.havingBaseStyle(t),s=Ve.makeSpan(n.concat(o.sizingClasses(r)),[e],r),i=o.sizeMultiplier/r.sizeMultiplier;return s.height*=i,s.depth*=i,s.maxFontSize=o.sizeMultiplier,s},Jt=function(e,t,r){const n=t.havingBaseStyle(r),o=(1-t.sizeMultiplier/n.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=F(o),e.height-=o,e.depth+=o},Qt=function(e,t,r,n,o,s){const i=function(e,t,r,n){return Ve.makeSymbol(e,"Size"+t+"-Regular",r,n)}(e,t,o,n),a=Kt(Ve.makeSpan(["delimsizing","size"+t],[i],n),w.TEXT,n,s);return r&&Jt(a,n,w.TEXT),a},er=function(e,t,r){let n;n="Size1-Regular"===t?"delim-size1":"delim-size4";return{type:"elem",elem:Ve.makeSpan(["delimsizinginner",n],[Ve.makeSpan([],[Ve.makeSymbol(e,t,r)])])}},tr=function(e,t,r){const n=T["Size4-Regular"][e.charCodeAt(0)]?T["Size4-Regular"][e.charCodeAt(0)][4]:T["Size1-Regular"][e.charCodeAt(0)][4],o=new J("inner",function(e,t){switch(e){case"\u239c":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"\u2223":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"\u2225":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145zM367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z";case"\u239f":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"\u23a2":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"\u23a5":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"\u23aa":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"\u23d0":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"\u2016":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257zM478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z";default:return""}}(e,Math.round(1e3*t))),s=new K([o],{width:F(n),height:F(t),style:"width:"+F(n),viewBox:"0 0 "+1e3*n+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),i=Ve.makeSvgSpan([],[s],r);return i.height=t,i.style.height=F(t),i.style.width=F(n),{type:"elem",elem:i}},rr={type:"kern",size:-.008},nr=["|","\\lvert","\\rvert","\\vert"],or=["\\|","\\lVert","\\rVert","\\Vert"],sr=function(e,t,r,n,o,s){let i,a,h,c,m="",p=0;i=h=c=e,a=null;let u="Size1-Regular";"\\uparrow"===e?h=c="\u23d0":"\\Uparrow"===e?h=c="\u2016":"\\downarrow"===e?i=h="\u23d0":"\\Downarrow"===e?i=h="\u2016":"\\updownarrow"===e?(i="\\uparrow",h="\u23d0",c="\\downarrow"):"\\Updownarrow"===e?(i="\\Uparrow",h="\u2016",c="\\Downarrow"):l.contains(nr,e)?(h="\u2223",m="vert",p=333):l.contains(or,e)?(h="\u2225",m="doublevert",p=556):"["===e||"\\lbrack"===e?(i="\u23a1",h="\u23a2",c="\u23a3",u="Size4-Regular",m="lbrack",p=667):"]"===e||"\\rbrack"===e?(i="\u23a4",h="\u23a5",c="\u23a6",u="Size4-Regular",m="rbrack",p=667):"\\lfloor"===e||"\u230a"===e?(h=i="\u23a2",c="\u23a3",u="Size4-Regular",m="lfloor",p=667):"\\lceil"===e||"\u2308"===e?(i="\u23a1",h=c="\u23a2",u="Size4-Regular",m="lceil",p=667):"\\rfloor"===e||"\u230b"===e?(h=i="\u23a5",c="\u23a6",u="Size4-Regular",m="rfloor",p=667):"\\rceil"===e||"\u2309"===e?(i="\u23a4",h=c="\u23a5",u="Size4-Regular",m="rceil",p=667):"("===e||"\\lparen"===e?(i="\u239b",h="\u239c",c="\u239d",u="Size4-Regular",m="lparen",p=875):")"===e||"\\rparen"===e?(i="\u239e",h="\u239f",c="\u23a0",u="Size4-Regular",m="rparen",p=875):"\\{"===e||"\\lbrace"===e?(i="\u23a7",a="\u23a8",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\}"===e||"\\rbrace"===e?(i="\u23ab",a="\u23ac",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lgroup"===e||"\u27ee"===e?(i="\u23a7",c="\u23a9",h="\u23aa",u="Size4-Regular"):"\\rgroup"===e||"\u27ef"===e?(i="\u23ab",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\lmoustache"===e||"\u23b0"===e?(i="\u23a7",c="\u23ad",h="\u23aa",u="Size4-Regular"):"\\rmoustache"!==e&&"\u23b1"!==e||(i="\u23ab",c="\u23a9",h="\u23aa",u="Size4-Regular");const d=Zt(i,u,o),g=d.height+d.depth,f=Zt(h,u,o),b=f.height+f.depth,y=Zt(c,u,o),x=y.height+y.depth;let v=0,k=1;if(null!==a){const e=Zt(a,u,o);v=e.height+e.depth,k=2}const S=g+x+v,M=S+Math.max(0,Math.ceil((t-S)/(k*b)))*k*b;let z=n.fontMetrics().axisHeight;r&&(z*=n.sizeMultiplier);const A=M/2-z,T=[];if(m.length>0){const e=M-g-x,t=Math.round(1e3*M),r=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v1759 h347 v-84\nH403z M403 1759 V0 H319 V1759 v"+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v1759 H0 v84 H347z\nM347 1759 V0 H263 V1759 v"+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M188 15 H145 v585 v"+t+" v585 h43z\nM367 15 v585 v"+t+" v585 c2.667,10,9.667,15,21,15\nc10,0,16.667,-5,20,-15 v-585 v"+-t+" v-585 c-2.667,-10,-9.667,-15,-21,-15\nc-10,0,-16.667,5,-20,15z M410 15 H367 v585 v"+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+" v1715 h263 v84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+" v1799 H0 v-84 H319z\nMM319 602 V0 H403 V602 v"+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+" v602 h84z\nM403 1759 V0 H319 V1759 v"+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+" v602 h84z\nM347 1759 V0 h-84 V1759 v"+t+" v602 h84z";case"lparen":return"M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1\nc-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,\n-36,557 l0,"+(t+84)+"c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,\n949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9\nc0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,\n-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189\nl0,-"+(t+92)+"c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,\n-210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z";case"rparen":return"M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,\n63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5\nc11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,"+(t+9)+"\nc-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664\nc-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11\nc0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17\nc242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558\nl0,-"+(t+144)+"c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,\n-470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z";default:throw new Error("Unknown stretchy delimiter.")}}(m,Math.round(1e3*e)),o=new J(m,r),s=(p/1e3).toFixed(3)+"em",i=(t/1e3).toFixed(3)+"em",a=new K([o],{width:s,height:i,viewBox:"0 0 "+p+" "+t}),l=Ve.makeSvgSpan([],[a],n);l.height=t/1e3,l.style.width=s,l.style.height=i,T.push({type:"elem",elem:l})}else{if(T.push(er(c,u,o)),T.push(rr),null===a){const e=M-g-x+.016;T.push(tr(h,e,n))}else{const e=(M-g-x-v)/2+.016;T.push(tr(h,e,n)),T.push(rr),T.push(er(a,u,o)),T.push(rr),T.push(tr(h,e,n))}T.push(rr),T.push(er(i,u,o))}const B=n.havingBaseStyle(w.TEXT),C=Ve.makeVList({positionType:"bottom",positionData:A,children:T},B);return Kt(Ve.makeSpan(["delimsizing","mult"],[C],B),w.TEXT,n,s)},ir=.08,ar=function(e,t,r,n,o){const s=function(e,t,r){t*=1e3;let n="";switch(e){case"sqrtMain":n=function(e,t){return"M95,"+(622+e+t)+"\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl"+e/2.075+" -"+e+"\nc5.3,-9.3,12,-14,20,-14\nH400000v"+(40+e)+"H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM"+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize1":n=function(e,t){return"M263,"+(601+e+t)+"c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl"+e/2.084+" -"+e+"\nc4.7,-7.3,11,-11,19,-11\nH40000v"+(40+e)+"H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize2":n=function(e,t){return"M983 "+(10+e+t)+"\nl"+e/3.13+" -"+e+"\nc4,-6.7,10,-10,18,-10 H400000v"+(40+e)+"\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM"+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize3":n=function(e,t){return"M424,"+(2398+e+t)+"\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl"+e/4.223+" -"+e+"c4,-6.7,10,-10,18,-10 H400000\nv"+(40+e)+"H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M"+(1001+e)+" "+t+"\nh400000v"+(40+e)+"h-400000z"}(t,M);break;case"sqrtSize4":n=function(e,t){return"M473,"+(2713+e+t)+"\nc339.3,-1799.3,509.3,-2700,510,-2702 l"+e/5.298+" -"+e+"\nc3.3,-7.3,9.3,-11,18,-11 H400000v"+(40+e)+"H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM"+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"}(t,M);break;case"sqrtTall":n=function(e,t,r){return"M702 "+(e+t)+"H400000"+(40+e)+"\nH742v"+(r-54-t-e)+"l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 "+t+"H400000v"+(40+e)+"H742z"}(t,M,r)}return n}(e,n,r),i=new J(e,s),a=new K([i],{width:"400em",height:F(t),viewBox:"0 0 400000 "+r,preserveAspectRatio:"xMinYMin slice"});return Ve.makeSvgSpan(["hide-tail"],[a],o)},lr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","\\surd"],hr=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1"],cr=["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"],mr=[0,1.2,1.8,2.4,3],pr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],ur=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"stack"}],dr=[{type:"small",style:w.SCRIPTSCRIPT},{type:"small",style:w.SCRIPT},{type:"small",style:w.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],gr=function(e){if("small"===e.type)return"Main-Regular";if("large"===e.type)return"Size"+e.size+"-Regular";if("stack"===e.type)return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},fr=function(e,t,r,n){for(let o=Math.min(2,3-n.style.size);ot)return r[o]}return r[r.length-1]},br=function(e,t,r,n,o,s){let i;"<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),i=l.contains(cr,e)?pr:l.contains(lr,e)?dr:ur;const a=fr(e,t,i,n);return"small"===a.type?function(e,t,r,n,o,s){const i=Ve.makeSymbol(e,"Main-Regular",o,n),a=Kt(i,t,n,s);return r&&Jt(a,n,t),a}(e,a.style,r,n,o,s):"large"===a.type?Qt(e,a.size,r,n,o,s):sr(e,t,r,n,o,s)};var yr={sqrtImage:function(e,t){const r=t.havingBaseSizing(),n=fr("\\surd",e*r.sizeMultiplier,dr,r);let o=r.sizeMultiplier;const s=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness);let i,a,l=0,h=0,c=0;return"small"===n.type?(c=1e3+1e3*s+80,e<1?o=1:e<1.4&&(o=.7),l=(1+s+ir)/o,h=(1+s)/o,i=ar("sqrtMain",l,c,s,t),i.style.minWidth="0.853em",a=.833/o):"large"===n.type?(c=1080*mr[n.size],h=(mr[n.size]+s)/o,l=(mr[n.size]+s+ir)/o,i=ar("sqrtSize"+n.size,l,c,s,t),i.style.minWidth="1.02em",a=1/o):(l=e+s+ir,h=e+s,c=Math.floor(1e3*e+s)+80,i=ar("sqrtTall",l,c,s,t),i.style.minWidth="0.742em",a=1.056),i.height=h,i.style.height=F(l),{span:i,advanceWidth:a,ruleWidth:(t.fontMetrics().sqrtRuleThickness+s)*o}},sizedDelim:function(e,t,r,o,s){if("<"===e||"\\lt"===e||"\u27e8"===e?e="\\langle":">"!==e&&"\\gt"!==e&&"\u27e9"!==e||(e="\\rangle"),l.contains(lr,e)||l.contains(cr,e))return Qt(e,t,!1,r,o,s);if(l.contains(hr,e))return sr(e,mr[t],!1,r,o,s);throw new n("Illegal delimiter: '"+e+"'")},sizeToMaxHeight:mr,customSizedDelim:br,leftRightDelim:function(e,t,r,n,o,s){const i=n.fontMetrics().axisHeight*n.sizeMultiplier,a=5/n.fontMetrics().ptPerEm,l=Math.max(t-i,r+i),h=Math.max(l/500*901,2*l-a);return br(e,h,!0,n,o,s)}};const xr={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},wr=["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\u230a","\u230b","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27e8","\\rangle","\u27e9","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27ee","\u27ef","\\lmoustache","\\rmoustache","\u23b0","\u23b1","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];function vr(e,t){const r=Rt(e);if(r&&l.contains(wr,r.text))return r;throw new n(r?"Invalid delimiter '"+r.text+"' after '"+t.funcName+"'":"Invalid delimiter type '"+e.type+"'",e)}function kr(e){if(!e.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}je({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(e,t)=>{const r=vr(t[0],e);return{type:"delimsizing",mode:e.parser.mode,size:xr[e.funcName].size,mclass:xr[e.funcName].mclass,delim:r.text}},htmlBuilder:(e,t)=>"."===e.delim?Ve.makeSpan([e.mclass]):yr.sizedDelim(e.delim,e.size,t,e.mode,[e.mclass]),mathmlBuilder:e=>{const t=[];"."!==e.delim&&t.push(ft(e.delim,e.mode));const r=new gt.MathNode("mo",t);"mopen"===e.mclass||"mclose"===e.mclass?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");const n=F(yr.sizeToMaxHeight[e.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}}),je({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=e.parser.gullet.macros.get("\\current@color");if(r&&"string"!=typeof r)throw new n("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:e.parser.mode,delim:vr(t[0],e).text,color:r}}}),je({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e),n=e.parser;++n.leftrightDepth;const o=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);const s=qt(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:o,left:r.text,right:s.delim,rightColor:s.color}},htmlBuilder:(e,t)=>{kr(e);const r=nt(e.body,t,!0,["mopen","mclose"]);let n,o,s=0,i=0,a=!1;for(let e=0;e{kr(e);const r=xt(e.body,t);if("."!==e.left){const t=new gt.MathNode("mo",[ft(e.left,e.mode)]);t.setAttribute("fence","true"),r.unshift(t)}if("."!==e.right){const t=new gt.MathNode("mo",[ft(e.right,e.mode)]);t.setAttribute("fence","true"),e.rightColor&&t.setAttribute("mathcolor",e.rightColor),r.push(t)}return bt(r)}}),je({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{const r=vr(t[0],e);if(!e.parser.leftrightDepth)throw new n("\\middle without preceding \\left",r);return{type:"middle",mode:e.parser.mode,delim:r.text}},htmlBuilder:(e,t)=>{let r;if("."===e.delim)r=lt(t,[]);else{r=yr.sizedDelim(e.delim,1,t,e.mode,[]);const n={delim:e.delim,options:t};r.isMiddle=n}return r},mathmlBuilder:(e,t)=>{const r="\\vert"===e.delim||"|"===e.delim?ft("|","text"):ft(e.delim,e.mode),n=new gt.MathNode("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});const Sr=(e,t)=>{const r=Ve.wrapFragment(ht(e.body,t),t),n=e.label.slice(1);let o,s=t.sizeMultiplier,i=0;const a=l.isCharacterBox(e.body);if("sout"===n)o=Ve.makeSpan(["stretchy","sout"]),o.height=t.fontMetrics().defaultRuleThickness/s,i=-.5*t.fontMetrics().xHeight;else if("phase"===n){const e=P({number:.6,unit:"pt"},t),n=P({number:.35,unit:"ex"},t);s/=t.havingBaseSizing().sizeMultiplier;const a=r.height+r.depth+e+n;r.style.paddingLeft=F(a/2+e);const l=Math.floor(1e3*a*s),c="M400000 "+(h=l)+" H0 L"+h/2+" 0 l65 45 L145 "+(h-80)+" H400000z",m=new K([new J("phase",c)],{width:"400em",height:F(l/1e3),viewBox:"0 0 400000 "+l,preserveAspectRatio:"xMinYMin slice"});o=Ve.makeSvgSpan(["hide-tail"],[m],t),o.style.height=F(a),i=r.depth+e+n}else{/cancel/.test(n)?a||r.classes.push("cancel-pad"):"angl"===n?r.classes.push("anglpad"):r.classes.push("boxpad");let s=0,l=0,h=0;/box/.test(n)?(h=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness),s=t.fontMetrics().fboxsep+("colorbox"===n?0:h),l=s):"angl"===n?(h=Math.max(t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s=4*h,l=Math.max(0,.25-r.depth)):(s=a?.2:0,l=s),o=Bt(r,n,s,l,t),/fbox|boxed|fcolorbox/.test(n)?(o.style.borderStyle="solid",o.style.borderWidth=F(h)):"angl"===n&&.049!==h&&(o.style.borderTopWidth=F(h),o.style.borderRightWidth=F(h)),i=r.depth+l,e.backgroundColor&&(o.style.backgroundColor=e.backgroundColor,e.borderColor&&(o.style.borderColor=e.borderColor))}var h;let c;if(e.backgroundColor)c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:o,shift:i},{type:"elem",elem:r,shift:0}]},t);else{const e=/cancel|phase/.test(n)?["svg-align"]:[];c=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:o,shift:i,wrapperClasses:e}]},t)}return/cancel/.test(n)&&(c.height=r.height,c.depth=r.depth),/cancel/.test(n)&&!a?Ve.makeSpan(["mord","cancel-lap"],[c],t):Ve.makeSpan(["mord"],[c],t)},Mr=(e,t)=>{let r=0;const n=new gt.MathNode(e.label.indexOf("colorbox")>-1?"mpadded":"menclose",[vt(e.body,t)]);switch(e.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=t.fontMetrics().fboxsep*t.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),"\\fcolorbox"===e.label){const r=Math.max(t.fontMetrics().fboxrule,t.minRuleThickness);n.setAttribute("style","border: "+r+"em solid "+String(e.borderColor))}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike")}return e.backgroundColor&&n.setAttribute("mathbackground",e.backgroundColor),n};je({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=t[1];return{type:"enclose",mode:n.mode,label:o,backgroundColor:s,body:i}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(e,t,r){let{parser:n,funcName:o}=e;const s=qt(t[0],"color-token").color,i=qt(t[1],"color-token").color,a=t[2];return{type:"enclose",mode:n.mode,label:o,backgroundColor:i,borderColor:s,body:a}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\fbox",body:t[0]}}}),je({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"enclose",mode:r.mode,label:n,body:o}},htmlBuilder:Sr,mathmlBuilder:Mr}),je({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"enclose",mode:r.mode,label:"\\angl",body:t[0]}}});const zr={};function Ar(e){let{type:t,names:r,props:n,handler:o,htmlBuilder:s,mathmlBuilder:i}=e;const a={type:t,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:o};for(let e=0;e{if(!e.parser.settings.displayMode)throw new n("{"+e.envName+"} can be used only in display mode.")};function Rr(e){if(-1===e.indexOf("ed"))return-1===e.indexOf("*")}function Hr(e,t,r){let{hskipBeforeAndAfter:o,addJot:s,cols:i,arraystretch:a,colSeparationType:l,autoTag:h,singleRow:c,emptySingleRow:m,maxNumCols:p,leqno:u}=t;if(e.gullet.beginGroup(),c||e.gullet.macros.set("\\cr","\\\\\\relax"),!a){const t=e.gullet.expandMacroAsText("\\arraystretch");if(null==t)a=1;else if(a=parseFloat(t),!a||a<0)throw new n("Invalid \\arraystretch: "+t)}e.gullet.beginGroup();let d=[];const g=[d],f=[],b=[],y=null!=h?[]:void 0;function x(){h&&e.gullet.macros.set("\\@eqnsw","1",!0)}function w(){y&&(e.gullet.macros.get("\\df@tag")?(y.push(e.subparse([new Nr("\\df@tag")])),e.gullet.macros.set("\\df@tag",void 0,!0)):y.push(Boolean(h)&&"1"===e.gullet.macros.get("\\@eqnsw")))}for(x(),b.push(qr(e));;){let t=e.parseExpression(!1,c?"\\end":"\\\\");e.gullet.endGroup(),e.gullet.beginGroup(),t={type:"ordgroup",mode:e.mode,body:t},r&&(t={type:"styling",mode:e.mode,style:r,body:[t]}),d.push(t);const o=e.fetch().text;if("&"===o){if(p&&d.length===p){if(c||l)throw new n("Too many tab characters: &",e.nextToken);e.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}e.consume()}else{if("\\end"===o){w(),1===d.length&&"styling"===t.type&&0===t.body[0].body.length&&(g.length>1||!m)&&g.pop(),b.length0&&(x+=.25),c.push({pos:x,isDashed:e[t]})}for(v(i[0]),r=0;r0&&(p+=y,le)))for(r=0;r=a)continue;(o>0||e.hskipBeforeAndAfter)&&(i=l.deflt(c.pregap,u),0!==i&&(z=Ve.makeSpan(["arraycolsep"],[]),z.style.width=F(i),M.push(z)));let d=[];for(r=0;r0){const e=Ve.makeLineSpan("hline",t,m),r=Ve.makeLineSpan("hdashline",t,m),n=[{type:"elem",elem:h,shift:0}];for(;c.length>0;){const t=c.pop(),o=t.pos-k;t.isDashed?n.push({type:"elem",elem:r,shift:o}):n.push({type:"elem",elem:e,shift:o})}h=Ve.makeVList({positionType:"individualShift",children:n},t)}if(0===T.length)return Ve.makeSpan(["mord"],[h],t);{let e=Ve.makeVList({positionType:"individualShift",children:T},t);return e=Ve.makeSpan(["tag"],[e],t),Ve.makeFragment([h,e])}},Lr={c:"center ",l:"left ",r:"right "},Dr=function(e,t){const r=[],n=new gt.MathNode("mtd",[],["mtr-glue"]),o=new gt.MathNode("mtd",[],["mml-eqn-num"]);for(let s=0;s0){const t=e.cols;let r="",n=!1,o=0,i=t.length;"separator"===t[0].type&&(a+="top ",o=1),"separator"===t[t.length-1].type&&(a+="bottom ",i-=1);for(let e=o;e0?"left ":"",a+=c[c.length-1].length>0?"right ":"";for(let e=1;e-1?"alignat":"align",s="split"===e.envName,i=Hr(e.parser,{cols:r,addJot:!0,autoTag:s?void 0:Rr(e.envName),emptySingleRow:!0,colSeparationType:o,maxNumCols:s?2:void 0,leqno:e.parser.settings.leqno},"display");let a,l=0;const h={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&"ordgroup"===t[0].type){let e="";for(let r=0;r0&&c&&(n=1),r[e]={type:"align",align:t,pregap:n,postgap:0}}return i.colSeparationType=c?"align":"alignat",i};Ar({type:"array",names:["array","darray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lcr".indexOf(t))return{type:"align",align:t};if("|"===t)return{type:"separator",separator:"|"};if(":"===t)return{type:"separator",separator:":"};throw new n("Unknown column alignment: "+t,e)})),o={cols:r,hskipBeforeAndAfter:!0,maxNumCols:r.length};return Hr(e.parser,o,Or(e.envName))},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(e){const t={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[e.envName.replace("*","")];let r="c";const o={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if("*"===e.envName.charAt(e.envName.length-1)){const t=e.parser;if(t.consumeSpaces(),"["===t.fetch().text){if(t.consume(),t.consumeSpaces(),r=t.fetch().text,-1==="lcr".indexOf(r))throw new n("Expected l or c or r",t.nextToken);t.consume(),t.consumeSpaces(),t.expect("]"),t.consume(),o.cols=[{type:"align",align:r}]}}const s=Hr(e.parser,o,Or(e.envName)),i=Math.max(0,...s.body.map((e=>e.length)));return s.cols=new Array(i).fill({type:"align",align:r}),t?{type:"leftright",mode:e.mode,body:[s],left:t[0],right:t[1],rightColor:void 0}:s},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:.5},"script");return t.colSeparationType="small",t},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["subarray"],props:{numArgs:1},handler(e,t){const r=(Rt(t[0])?[t[0]]:qt(t[0],"ordgroup").body).map((function(e){const t=It(e).text;if(-1!=="lc".indexOf(t))return{type:"align",align:t};throw new n("Unknown column alignment: "+t,e)}));if(r.length>1)throw new n("{subarray} can contain only one column");let o={cols:r,hskipBeforeAndAfter:!1,arraystretch:.5};if(o=Hr(e.parser,o,"script"),o.body.length>0&&o.body[0].length>1)throw new n("{subarray} can contain only one column");return o},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(e){const t=Hr(e.parser,{arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},Or(e.envName));return{type:"leftright",mode:e.mode,body:[t],left:e.envName.indexOf("r")>-1?".":"\\{",right:e.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(e){l.contains(["gather","gather*"],e.envName)&&Ir(e);const t={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Rr(e.envName),emptySingleRow:!0,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Vr,htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(e){Ir(e);const t={autoTag:Rr(e.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:e.parser.settings.leqno};return Hr(e.parser,t,"display")},htmlBuilder:Er,mathmlBuilder:Dr}),Ar({type:"array",names:["CD"],props:{numArgs:0},handler(e){return Ir(e),function(e){const t=[];for(e.gullet.beginGroup(),e.gullet.macros.set("\\cr","\\\\\\relax"),e.gullet.beginGroup();;){t.push(e.parseExpression(!1,"\\\\")),e.gullet.endGroup(),e.gullet.beginGroup();const r=e.fetch().text;if("&"!==r&&"\\\\"!==r){if("\\end"===r){0===t[t.length-1].length&&t.pop();break}throw new n("Expected \\\\ or \\cr or \\end",e.nextToken)}e.consume()}let r=[];const o=[r];for(let a=0;a-1);else{if(!("<>AV".indexOf(o)>-1))throw new n('Expected one of "<>AV=|." after @',l[t]);for(let e=0;e<2;e++){let r=!0;for(let h=t+1;h{const r=e.font,n=t.withFont(r);return ht(e.body,n)},Gr=(e,t)=>{const r=e.font,n=t.withFont(r);return vt(e.body,n)},Ur={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};je({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=Ze(t[0]);let s=n;return s in Ur&&(s=Ur[s]),{type:"font",mode:r.mode,font:s.slice(1),body:o}},htmlBuilder:Fr,mathmlBuilder:Gr}),je({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(e,t)=>{let{parser:r}=e;const n=t[0],o=l.isCharacterBox(n);return{type:"mclass",mode:r.mode,mclass:Ft(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:o}}}),je({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n,breakOnTokenText:o}=e;const{mode:s}=r,i=r.parseExpression(!0,o);return{type:"font",mode:s,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:i}}},htmlBuilder:Fr,mathmlBuilder:Gr});const Yr=(e,t)=>{let r=t;return"display"===e?r=r.id>=w.SCRIPT.id?r.text():w.DISPLAY:"text"===e&&r.size===w.DISPLAY.size?r=w.TEXT:"script"===e?r=w.SCRIPT:"scriptscript"===e&&(r=w.SCRIPTSCRIPT),r},Xr=(e,t)=>{const r=Yr(e.size,t.style),n=r.fracNum(),o=r.fracDen();let s;s=t.havingStyle(n);const i=ht(e.numer,s,t);if(e.continued){const e=8.5/t.fontMetrics().ptPerEm,r=3.5/t.fontMetrics().ptPerEm;i.height=i.height0?3*c:7*c,u=t.fontMetrics().denom1):(h>0?(m=t.fontMetrics().num2,p=c):(m=t.fontMetrics().num3,p=3*c),u=t.fontMetrics().denom2),l){const e=t.fontMetrics().axisHeight;m-i.depth-(e+.5*h){let r=new gt.MathNode("mfrac",[vt(e.numer,t),vt(e.denom,t)]);if(e.hasBarLine){if(e.barSize){const n=P(e.barSize,t);r.setAttribute("linethickness",F(n))}}else r.setAttribute("linethickness","0px");const n=Yr(e.size,t.style);if(n.size!==t.style.size){r=new gt.MathNode("mstyle",[r]);const e=n.size===w.DISPLAY.size?"true":"false";r.setAttribute("displaystyle",e),r.setAttribute("scriptlevel","0")}if(null!=e.leftDelim||null!=e.rightDelim){const t=[];if(null!=e.leftDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.leftDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}if(t.push(r),null!=e.rightDelim){const r=new gt.MathNode("mo",[new gt.TextNode(e.rightDelim.replace("\\",""))]);r.setAttribute("fence","true"),t.push(r)}return bt(t)}return r};je({type:"genfrac",names:["\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];let i,a=null,l=null,h="auto";switch(n){case"\\dfrac":case"\\frac":case"\\tfrac":i=!0;break;case"\\\\atopfrac":i=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":i=!1,a="(",l=")";break;case"\\\\bracefrac":i=!1,a="\\{",l="\\}";break;case"\\\\brackfrac":i=!1,a="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}switch(n){case"\\dfrac":case"\\dbinom":h="display";break;case"\\tfrac":case"\\tbinom":h="text"}return{type:"genfrac",mode:r.mode,continued:!1,numer:o,denom:s,hasBarLine:i,leftDelim:a,rightDelim:l,size:h,barSize:null}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"genfrac",names:["\\cfrac"],props:{numArgs:2},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=t[1];return{type:"genfrac",mode:r.mode,continued:!0,numer:o,denom:s,hasBarLine:!0,leftDelim:null,rightDelim:null,size:"display",barSize:null}}}),je({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(e){let t,{parser:r,funcName:n,token:o}=e;switch(n){case"\\over":t="\\frac";break;case"\\choose":t="\\binom";break;case"\\atop":t="\\\\atopfrac";break;case"\\brace":t="\\\\bracefrac";break;case"\\brack":t="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:r.mode,replaceWith:t,token:o}}});const _r=["display","text","script","scriptscript"],jr=function(e){let t=null;return e.length>0&&(t=e,t="."===t?null:t),t};je({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(e,t){let{parser:r}=e;const n=t[4],o=t[5],s=Ze(t[0]),i="atom"===s.type&&"open"===s.family?jr(s.text):null,a=Ze(t[1]),l="atom"===a.type&&"close"===a.family?jr(a.text):null,h=qt(t[2],"size");let c,m=null;h.isBlank?c=!0:(m=h.value,c=m.number>0);let p="auto",u=t[3];if("ordgroup"===u.type){if(u.body.length>0){const e=qt(u.body[0],"textord");p=_r[Number(e.text)]}}else u=qt(u,"textord"),p=_r[Number(u.text)];return{type:"genfrac",mode:r.mode,numer:n,denom:o,continued:!1,hasBarLine:c,barSize:m,leftDelim:i,rightDelim:l,size:p}},htmlBuilder:Xr,mathmlBuilder:Wr}),je({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(e,t){let{parser:r,funcName:n,token:o}=e;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:qt(t[0],"size").value,token:o}}}),je({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0],s=function(e){if(!e)throw new Error("Expected non-null, but got "+String(e));return e}(qt(t[1],"infix").size),i=t[2],a=s.number>0;return{type:"genfrac",mode:r.mode,numer:o,denom:i,continued:!1,hasBarLine:a,barSize:s,leftDelim:null,rightDelim:null,size:"auto"}},htmlBuilder:Xr,mathmlBuilder:Wr});const $r=(e,t)=>{const r=t.style;let n,o;"supsub"===e.type?(n=e.sup?ht(e.sup,t.havingStyle(r.sup()),t):ht(e.sub,t.havingStyle(r.sub()),t),o=qt(e.base,"horizBrace")):o=qt(e,"horizBrace");const s=ht(o.base,t.havingBaseStyle(w.DISPLAY)),i=Nt(o,t);let a;if(o.isOver?(a=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:s},{type:"kern",size:.1},{type:"elem",elem:i}]},t),a.children[0].children[0].children[1].classes.push("svg-align")):(a=Ve.makeVList({positionType:"bottom",positionData:s.depth+.1+i.height,children:[{type:"elem",elem:i},{type:"kern",size:.1},{type:"elem",elem:s}]},t),a.children[0].children[0].children[0].classes.push("svg-align")),n){const e=Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t);a=o.isOver?Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:e},{type:"kern",size:.2},{type:"elem",elem:n}]},t):Ve.makeVList({positionType:"bottom",positionData:e.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:e}]},t)}return Ve.makeSpan(["mord",o.isOver?"mover":"munder"],[a],t)};je({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(e,t){let{parser:r,funcName:n}=e;return{type:"horizBrace",mode:r.mode,label:n,isOver:/^\\over/.test(n),base:t[0]}},htmlBuilder:$r,mathmlBuilder:(e,t)=>{const r=Ct(e.label);return new gt.MathNode(e.isOver?"mover":"munder",[vt(e.base,t),r])}}),je({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[1],o=qt(t[0],"url").url;return r.settings.isTrusted({command:"\\href",url:o})?{type:"href",mode:r.mode,href:o,body:Ke(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(e,t)=>{const r=nt(e.body,t,!1);return Ve.makeAnchor(e.href,[],r,t)},mathmlBuilder:(e,t)=>{let r=wt(e.body,t);return r instanceof ut||(r=new ut("mrow",[r])),r.setAttribute("href",e.href),r}}),je({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=qt(t[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");const o=[];for(let e=0;e{let{parser:r,funcName:o,token:s}=e;const i=qt(t[0],"raw").string,a=t[1];let l;r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");const h={};switch(o){case"\\htmlClass":h.class=i,l={command:"\\htmlClass",class:i};break;case"\\htmlId":h.id=i,l={command:"\\htmlId",id:i};break;case"\\htmlStyle":h.style=i,l={command:"\\htmlStyle",style:i};break;case"\\htmlData":{const e=i.split(",");for(let t=0;t{const r=nt(e.body,t,!1),n=["enclosing"];e.attributes.class&&n.push(...e.attributes.class.trim().split(/\s+/));const o=Ve.makeSpan(n,r,t);for(const t in e.attributes)"class"!==t&&e.attributes.hasOwnProperty(t)&&o.setAttribute(t,e.attributes[t]);return o},mathmlBuilder:(e,t)=>wt(e.body,t)}),je({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"htmlmathml",mode:r.mode,html:Ke(t[0]),mathml:Ke(t[1])}},htmlBuilder:(e,t)=>{const r=nt(e.html,t,!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>wt(e.mathml,t)});const Zr=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};{const t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new n("Invalid size: '"+e+"' in \\includegraphics");const r={number:+(t[1]+t[2]),unit:t[3]};if(!V(r))throw new n("Invalid unit: '"+r.unit+"' in \\includegraphics.");return r}};je({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(e,t,r)=>{let{parser:o}=e,s={number:0,unit:"em"},i={number:.9,unit:"em"},a={number:0,unit:"em"},l="";if(r[0]){const e=qt(r[0],"raw").string.split(",");for(let t=0;t{const r=P(e.height,t);let n=0;e.totalheight.number>0&&(n=P(e.totalheight,t)-r);let o=0;e.width.number>0&&(o=P(e.width,t));const s={height:F(r+n)};o>0&&(s.width=F(o)),n>0&&(s.verticalAlign=F(-n));const i=new j(e.src,e.alt,s);return i.height=r,i.depth=n,i},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mglyph",[]);r.setAttribute("alt",e.alt);const n=P(e.height,t);let o=0;if(e.totalheight.number>0&&(o=P(e.totalheight,t)-n,r.setAttribute("valign",F(-o))),r.setAttribute("height",F(n+o)),e.width.number>0){const n=P(e.width,t);r.setAttribute("width",F(n))}return r.setAttribute("src",e.src),r}}),je({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=qt(t[0],"size");if(r.settings.strict){const e="m"===n[1],t="mu"===o.value.unit;e?(t||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, not "+o.value.unit+" units"),"math"!==r.mode&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):t&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:o.value}},htmlBuilder(e,t){return Ve.makeGlue(e.dimension,t)},mathmlBuilder(e,t){const r=P(e.dimension,t);return new gt.SpaceNode(r)}}),je({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r,funcName:n}=e;const o=t[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:o}},htmlBuilder:(e,t)=>{let r;"clap"===e.alignment?(r=Ve.makeSpan([],[ht(e.body,t)]),r=Ve.makeSpan(["inner"],[r],t)):r=Ve.makeSpan(["inner"],[ht(e.body,t)]);const n=Ve.makeSpan(["fix"],[]);let o=Ve.makeSpan([e.alignment],[r,n],t);const s=Ve.makeSpan(["strut"]);return s.style.height=F(o.height+o.depth),o.depth&&(s.style.verticalAlign=F(-o.depth)),o.children.unshift(s),o=Ve.makeSpan(["thinbox"],[o],t),Ve.makeSpan(["mord","vbox"],[o],t)},mathmlBuilder:(e,t)=>{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);if("rlap"!==e.alignment){const t="llap"===e.alignment?"-1":"-0.5";r.setAttribute("lspace",t+"width")}return r.setAttribute("width","0px"),r}}),je({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){let{funcName:r,parser:n}=e;const o=n.mode;n.switchMode("math");const s="\\("===r?"\\)":"$",i=n.parseExpression(!1,s);return n.expect(s),n.switchMode(o),{type:"styling",mode:n.mode,style:"text",body:i}}}),je({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(e,t){throw new n("Mismatched "+e.funcName)}});const Kr=(e,t)=>{switch(t.style.size){case w.DISPLAY.size:return e.display;case w.TEXT.size:return e.text;case w.SCRIPT.size:return e.script;case w.SCRIPTSCRIPT.size:return e.scriptscript;default:return e.text}};je({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(e,t)=>{let{parser:r}=e;return{type:"mathchoice",mode:r.mode,display:Ke(t[0]),text:Ke(t[1]),script:Ke(t[2]),scriptscript:Ke(t[3])}},htmlBuilder:(e,t)=>{const r=Kr(e,t),n=nt(r,t,!1);return Ve.makeFragment(n)},mathmlBuilder:(e,t)=>{const r=Kr(e,t);return wt(r,t)}});const Jr=(e,t,r,n,o,s,i)=>{e=Ve.makeSpan([],[e]);const a=r&&l.isCharacterBox(r);let h,c,m;if(t){const e=ht(t,n.havingStyle(o.sup()),n);c={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-e.depth)}}if(r){const e=ht(r,n.havingStyle(o.sub()),n);h={elem:e,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-e.height)}}if(c&&h){const t=n.fontMetrics().bigOpSpacing5+h.elem.height+h.elem.depth+h.kern+e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}else if(h){const t=e.height-i;m=Ve.makeVList({positionType:"top",positionData:t,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:h.elem,marginLeft:F(-s)},{type:"kern",size:h.kern},{type:"elem",elem:e}]},n)}else{if(!c)return e;{const t=e.depth+i;m=Ve.makeVList({positionType:"bottom",positionData:t,children:[{type:"elem",elem:e},{type:"kern",size:c.kern},{type:"elem",elem:c.elem,marginLeft:F(s)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]},n)}}const p=[m];if(h&&0!==s&&!a){const e=Ve.makeSpan(["mspace"],[],n);e.style.marginRight=F(s),p.unshift(e)}return Ve.makeSpan(["mop","op-limits"],p,n)},Qr=["\\smallint"],en=(e,t)=>{let r,n,o,s=!1;"supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"op"),s=!0):o=qt(e,"op");const i=t.style;let a,h=!1;if(i.size===w.DISPLAY.size&&o.symbol&&!l.contains(Qr,o.name)&&(h=!0),o.symbol){const e=h?"Size2-Regular":"Size1-Regular";let r="";if("\\oiint"!==o.name&&"\\oiiint"!==o.name||(r=o.name.slice(1),o.name="oiint"===r?"\\iint":"\\iiint"),a=Ve.makeSymbol(o.name,e,"math",t,["mop","op-symbol",h?"large-op":"small-op"]),r.length>0){const e=a.italic,n=Ve.staticSvg(r+"Size"+(h?"2":"1"),t);a=Ve.makeVList({positionType:"individualShift",children:[{type:"elem",elem:a,shift:0},{type:"elem",elem:n,shift:h?.08:0}]},t),o.name="\\"+r,a.classes.unshift("mop"),a.italic=e}}else if(o.body){const e=nt(o.body,t,!0);1===e.length&&e[0]instanceof Z?(a=e[0],a.classes[0]="mop"):a=Ve.makeSpan(["mop"],e,t)}else{const e=[];for(let r=1;r{let r;if(e.symbol)r=new ut("mo",[ft(e.name,e.mode)]),l.contains(Qr,e.name)&&r.setAttribute("largeop","false");else if(e.body)r=new ut("mo",xt(e.body,t));else{r=new ut("mi",[new dt(e.name.slice(1))]);const t=new ut("mo",[ft("\u2061","text")]);r=e.parentIsSupSub?new ut("mrow",[r,t]):pt([r,t])}return r},rn={"\u220f":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22c0":"\\bigwedge","\u22c1":"\\bigvee","\u22c2":"\\bigcap","\u22c3":"\\bigcup","\u2a00":"\\bigodot","\u2a01":"\\bigoplus","\u2a02":"\\bigotimes","\u2a04":"\\biguplus","\u2a06":"\\bigsqcup"};je({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","\u220f","\u2210","\u2211","\u22c0","\u22c1","\u22c2","\u22c3","\u2a00","\u2a01","\u2a02","\u2a04","\u2a06"],props:{numArgs:0},handler:(e,t)=>{let{parser:r,funcName:n}=e,o=n;return 1===o.length&&(o=rn[o]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:o}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:Ke(n)}},htmlBuilder:en,mathmlBuilder:tn});const nn={"\u222b":"\\int","\u222c":"\\iint","\u222d":"\\iiint","\u222e":"\\oint","\u222f":"\\oiint","\u2230":"\\oiiint"};je({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e;return{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:en,mathmlBuilder:tn}),je({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","\u222b","\u222c","\u222d","\u222e","\u222f","\u2230"],props:{numArgs:0},handler(e){let{parser:t,funcName:r}=e,n=r;return 1===n.length&&(n=nn[n]),{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:en,mathmlBuilder:tn});const on=(e,t)=>{let r,n,o,s,i=!1;if("supsub"===e.type?(r=e.sup,n=e.sub,o=qt(e.base,"operatorname"),i=!0):o=qt(e,"operatorname"),o.body.length>0){const e=o.body.map((e=>{const t=e.text;return"string"==typeof t?{type:"textord",mode:e.mode,text:t}:e})),r=nt(e,t.withFont("mathrm"),!0);for(let e=0;e{let{parser:r,funcName:n}=e;const o=t[0];return{type:"operatorname",mode:r.mode,body:Ke(o),alwaysHandleSupSub:"\\operatornamewithlimits"===n,limits:!1,parentIsSupSub:!1}},htmlBuilder:on,mathmlBuilder:(e,t)=>{let r=xt(e.body,t.withFont("mathrm")),n=!0;for(let e=0;ee.toText())).join("");r=[new gt.TextNode(e)]}const o=new gt.MathNode("mi",r);o.setAttribute("mathvariant","normal");const s=new gt.MathNode("mo",[ft("\u2061","text")]);return e.parentIsSupSub?new gt.MathNode("mrow",[o,s]):gt.newDocumentFragment([o,s])}}),Br("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@"),$e({type:"ordgroup",htmlBuilder(e,t){return e.semisimple?Ve.makeFragment(nt(e.body,t,!1)):Ve.makeSpan(["mord"],nt(e.body,t,!0),t)},mathmlBuilder(e,t){return wt(e.body,t,!0)}}),je({type:"overline",names:["\\overline"],props:{numArgs:1},handler(e,t){let{parser:r}=e;const n=t[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(e,t){const r=ht(e.body,t.havingCrampedStyle()),n=Ve.makeLineSpan("overline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*o},{type:"elem",elem:n},{type:"kern",size:o}]},t);return Ve.makeSpan(["mord","overline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("mover",[vt(e.body,t),r]);return n.setAttribute("accent","true"),n}}),je({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"phantom",mode:r.mode,body:Ke(n)}},htmlBuilder:(e,t)=>{const r=nt(e.body,t.withPhantom(),!1);return Ve.makeFragment(r)},mathmlBuilder:(e,t)=>{const r=xt(e.body,t);return new gt.MathNode("mphantom",r)}}),je({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"hphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{let r=Ve.makeSpan([],[ht(e.body,t.withPhantom())]);if(r.height=0,r.depth=0,r.children)for(let e=0;e{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("height","0px"),o.setAttribute("depth","0px"),o}}),je({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(e,t)=>{let{parser:r}=e;const n=t[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(e,t)=>{const r=Ve.makeSpan(["inner"],[ht(e.body,t.withPhantom())]),n=Ve.makeSpan(["fix"],[]);return Ve.makeSpan(["mord","rlap"],[r,n],t)},mathmlBuilder:(e,t)=>{const r=xt(Ke(e.body),t),n=new gt.MathNode("mphantom",r),o=new gt.MathNode("mpadded",[n]);return o.setAttribute("width","0px"),o}}),je({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(e,t){let{parser:r}=e;const n=qt(t[0],"size").value,o=t[1];return{type:"raisebox",mode:r.mode,dy:n,body:o}},htmlBuilder(e,t){const r=ht(e.body,t),n=P(e.dy,t);return Ve.makeVList({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){const r=new gt.MathNode("mpadded",[vt(e.body,t)]),n=e.dy.number+e.dy.unit;return r.setAttribute("voffset",n),r}}),je({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0},handler(e){let{parser:t}=e;return{type:"internal",mode:t.mode}}}),je({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,argTypes:["size","size","size"]},handler(e,t,r){let{parser:n}=e;const o=r[0],s=qt(t[0],"size"),i=qt(t[1],"size");return{type:"rule",mode:n.mode,shift:o&&qt(o,"size").value,width:s.value,height:i.value}},htmlBuilder(e,t){const r=Ve.makeSpan(["mord","rule"],[],t),n=P(e.width,t),o=P(e.height,t),s=e.shift?P(e.shift,t):0;return r.style.borderRightWidth=F(n),r.style.borderTopWidth=F(o),r.style.bottom=F(s),r.width=n,r.height=o+s,r.depth=-s,r.maxFontSize=1.125*o*t.sizeMultiplier,r},mathmlBuilder(e,t){const r=P(e.width,t),n=P(e.height,t),o=e.shift?P(e.shift,t):0,s=t.color&&t.getColor()||"black",i=new gt.MathNode("mspace");i.setAttribute("mathbackground",s),i.setAttribute("width",F(r)),i.setAttribute("height",F(n));const a=new gt.MathNode("mpadded",[i]);return o>=0?a.setAttribute("height",F(o)):(a.setAttribute("height",F(o)),a.setAttribute("depth",F(-o))),a.setAttribute("voffset",F(o)),a}});const an=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];je({type:"sizing",names:an,props:{numArgs:0,allowedInText:!0},handler:(e,t)=>{let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!1,r);return{type:"sizing",mode:o.mode,size:an.indexOf(n)+1,body:s}},htmlBuilder:(e,t)=>{const r=t.havingSize(e.size);return sn(e.body,r,t)},mathmlBuilder:(e,t)=>{const r=t.havingSize(e.size),n=xt(e.body,r),o=new gt.MathNode("mstyle",n);return o.setAttribute("mathsize",F(r.sizeMultiplier)),o}}),je({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(e,t,r)=>{let{parser:n}=e,o=!1,s=!1;const i=r[0]&&qt(r[0],"ordgroup");if(i){let e="";for(let t=0;t{const r=Ve.makeSpan([],[ht(e.body,t)]);if(!e.smashHeight&&!e.smashDepth)return r;if(e.smashHeight&&(r.height=0,r.children))for(let e=0;e{const r=new gt.MathNode("mpadded",[vt(e.body,t)]);return e.smashHeight&&r.setAttribute("height","0px"),e.smashDepth&&r.setAttribute("depth","0px"),r}}),je({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(e,t,r){let{parser:n}=e;const o=r[0],s=t[0];return{type:"sqrt",mode:n.mode,body:s,index:o}},htmlBuilder(e,t){let r=ht(e.body,t.havingCrampedStyle());0===r.height&&(r.height=t.fontMetrics().xHeight),r=Ve.wrapFragment(r,t);const n=t.fontMetrics().defaultRuleThickness;let o=n;t.style.idr.height+r.depth+s&&(s=(s+c-r.height-r.depth)/2);const m=a.height-r.height-s-l;r.style.paddingLeft=F(h);const p=Ve.makeVList({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+m)},{type:"elem",elem:a},{type:"kern",size:l}]},t);if(e.index){const r=t.havingStyle(w.SCRIPTSCRIPT),n=ht(e.index,r,t),o=.6*(p.height-p.depth),s=Ve.makeVList({positionType:"shift",positionData:-o,children:[{type:"elem",elem:n}]},t),i=Ve.makeSpan(["root"],[s]);return Ve.makeSpan(["mord","sqrt"],[i,p],t)}return Ve.makeSpan(["mord","sqrt"],[p],t)},mathmlBuilder(e,t){const{body:r,index:n}=e;return n?new gt.MathNode("mroot",[vt(r,t),vt(n,t)]):new gt.MathNode("msqrt",[vt(r,t)])}});const ln={display:w.DISPLAY,text:w.TEXT,script:w.SCRIPT,scriptscript:w.SCRIPTSCRIPT};je({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(e,t){let{breakOnTokenText:r,funcName:n,parser:o}=e;const s=o.parseExpression(!0,r),i=n.slice(1,n.length-5);return{type:"styling",mode:o.mode,style:i,body:s}},htmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r).withFont("");return sn(e.body,n,t)},mathmlBuilder(e,t){const r=ln[e.style],n=t.havingStyle(r),o=xt(e.body,n),s=new gt.MathNode("mstyle",o),i={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]}[e.style];return s.setAttribute("scriptlevel",i[0]),s.setAttribute("displaystyle",i[1]),s}});$e({type:"supsub",htmlBuilder(e,t){const r=function(e,t){const r=e.base;if(r)return"op"===r.type?r.limits&&(t.style.size===w.DISPLAY.size||r.alwaysHandleSupSub)?en:null:"operatorname"===r.type?r.alwaysHandleSupSub&&(t.style.size===w.DISPLAY.size||r.limits)?on:null:"accent"===r.type?l.isCharacterBox(r.base)?Ht:null:"horizBrace"===r.type&&!e.sub===r.isOver?$r:null;return null}(e,t);if(r)return r(e,t);const{base:n,sup:o,sub:s}=e,i=ht(n,t);let a,h;const c=t.fontMetrics();let m=0,p=0;const u=n&&l.isCharacterBox(n);if(o){const e=t.havingStyle(t.style.sup());a=ht(o,e,t),u||(m=i.height-e.fontMetrics().supDrop*e.sizeMultiplier/t.sizeMultiplier)}if(s){const e=t.havingStyle(t.style.sub());h=ht(s,e,t),u||(p=i.depth+e.fontMetrics().subDrop*e.sizeMultiplier/t.sizeMultiplier)}let d;d=t.style===w.DISPLAY?c.sup1:t.style.cramped?c.sup3:c.sup2;const g=t.sizeMultiplier,f=F(.5/c.ptPerEm/g);let b,y=null;if(h){const t=e.base&&"op"===e.base.type&&e.base.name&&("\\oiint"===e.base.name||"\\oiiint"===e.base.name);(i instanceof Z||t)&&(y=F(-i.italic))}if(a&&h){m=Math.max(m,d,a.depth+.25*c.xHeight),p=Math.max(p,c.sub2);const e=4*c.defaultRuleThickness;if(m-a.depth-(h.height-p)0&&(m+=t,p-=t)}const r=[{type:"elem",elem:h,shift:p,marginRight:f,marginLeft:y},{type:"elem",elem:a,shift:-m,marginRight:f}];b=Ve.makeVList({positionType:"individualShift",children:r},t)}else if(h){p=Math.max(p,c.sub1,h.height-.8*c.xHeight);const e=[{type:"elem",elem:h,marginLeft:y,marginRight:f}];b=Ve.makeVList({positionType:"shift",positionData:p,children:e},t)}else{if(!a)throw new Error("supsub must have either sup or sub.");m=Math.max(m,d,a.depth+.25*c.xHeight),b=Ve.makeVList({positionType:"shift",positionData:-m,children:[{type:"elem",elem:a,marginRight:f}]},t)}const x=at(i,"right")||"mord";return Ve.makeSpan([x],[i,Ve.makeSpan(["msupsub"],[b])],t)},mathmlBuilder(e,t){let r,n,o=!1;e.base&&"horizBrace"===e.base.type&&(n=!!e.sup,n===e.base.isOver&&(o=!0,r=e.base.isOver)),!e.base||"op"!==e.base.type&&"operatorname"!==e.base.type||(e.base.parentIsSupSub=!0);const s=[vt(e.base,t)];let i;if(e.sub&&s.push(vt(e.sub,t)),e.sup&&s.push(vt(e.sup,t)),o)i=r?"mover":"munder";else if(e.sub)if(e.sup){const r=e.base;i=r&&"op"===r.type&&r.limits&&t.style===w.DISPLAY||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(t.style===w.DISPLAY||r.limits)?"munderover":"msubsup"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"munder":"msub"}else{const r=e.base;i=r&&"op"===r.type&&r.limits&&(t.style===w.DISPLAY||r.alwaysHandleSupSub)||r&&"operatorname"===r.type&&r.alwaysHandleSupSub&&(r.limits||t.style===w.DISPLAY)?"mover":"msup"}return new gt.MathNode(i,s)}}),$e({type:"atom",htmlBuilder(e,t){return Ve.mathsym(e.text,e.mode,t,["m"+e.family])},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[ft(e.text,e.mode)]);if("bin"===e.family){const n=yt(e,t);"bold-italic"===n&&r.setAttribute("mathvariant",n)}else"punct"===e.family?r.setAttribute("separator","true"):"open"!==e.family&&"close"!==e.family||r.setAttribute("stretchy","false");return r}});const hn={mi:"italic",mn:"normal",mtext:"normal"};$e({type:"mathord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"mathord")},mathmlBuilder(e,t){const r=new gt.MathNode("mi",[ft(e.text,e.mode,t)]),n=yt(e,t)||"italic";return n!==hn[r.type]&&r.setAttribute("mathvariant",n),r}}),$e({type:"textord",htmlBuilder(e,t){return Ve.makeOrd(e,t,"textord")},mathmlBuilder(e,t){const r=ft(e.text,e.mode,t),n=yt(e,t)||"normal";let o;return o="text"===e.mode?new gt.MathNode("mtext",[r]):/[0-9]/.test(e.text)?new gt.MathNode("mn",[r]):"\\prime"===e.text?new gt.MathNode("mo",[r]):new gt.MathNode("mi",[r]),n!==hn[o.type]&&o.setAttribute("mathvariant",n),o}});const cn={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},mn={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};$e({type:"spacing",htmlBuilder(e,t){if(mn.hasOwnProperty(e.text)){const r=mn[e.text].className||"";if("text"===e.mode){const n=Ve.makeOrd(e,t,"textord");return n.classes.push(r),n}return Ve.makeSpan(["mspace",r],[Ve.mathsym(e.text,e.mode,t)],t)}if(cn.hasOwnProperty(e.text))return Ve.makeSpan(["mspace",cn[e.text]],[],t);throw new n('Unknown type of space "'+e.text+'"')},mathmlBuilder(e,t){let r;if(!mn.hasOwnProperty(e.text)){if(cn.hasOwnProperty(e.text))return new gt.MathNode("mspace");throw new n('Unknown type of space "'+e.text+'"')}return r=new gt.MathNode("mtext",[new gt.TextNode("\xa0")]),r}});const pn=()=>{const e=new gt.MathNode("mtd",[]);return e.setAttribute("width","50%"),e};$e({type:"tag",mathmlBuilder(e,t){const r=new gt.MathNode("mtable",[new gt.MathNode("mtr",[pn(),new gt.MathNode("mtd",[wt(e.body,t)]),pn(),new gt.MathNode("mtd",[wt(e.tag,t)])])]);return r.setAttribute("width","100%"),r}});const un={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},dn={"\\textbf":"textbf","\\textmd":"textmd"},gn={"\\textit":"textit","\\textup":"textup"},fn=(e,t)=>{const r=e.font;return r?un[r]?t.withTextFontFamily(un[r]):dn[r]?t.withTextFontWeight(dn[r]):t.withTextFontShape(gn[r]):t};je({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(e,t){let{parser:r,funcName:n}=e;const o=t[0];return{type:"text",mode:r.mode,body:Ke(o),font:n}},htmlBuilder(e,t){const r=fn(e,t),n=nt(e.body,r,!0);return Ve.makeSpan(["mord","text"],n,r)},mathmlBuilder(e,t){const r=fn(e,t);return wt(e.body,r)}}),je({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(e,t){let{parser:r}=e;return{type:"underline",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=Ve.makeLineSpan("underline-line",t),o=t.fontMetrics().defaultRuleThickness,s=Ve.makeVList({positionType:"top",positionData:r.height,children:[{type:"kern",size:o},{type:"elem",elem:n},{type:"kern",size:3*o},{type:"elem",elem:r}]},t);return Ve.makeSpan(["mord","underline"],[s],t)},mathmlBuilder(e,t){const r=new gt.MathNode("mo",[new gt.TextNode("\u203e")]);r.setAttribute("stretchy","true");const n=new gt.MathNode("munder",[vt(e.body,t),r]);return n.setAttribute("accentunder","true"),n}}),je({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(e,t){let{parser:r}=e;return{type:"vcenter",mode:r.mode,body:t[0]}},htmlBuilder(e,t){const r=ht(e.body,t),n=t.fontMetrics().axisHeight,o=.5*(r.height-n-(r.depth+n));return Ve.makeVList({positionType:"shift",positionData:o,children:[{type:"elem",elem:r}]},t)},mathmlBuilder(e,t){return new gt.MathNode("mpadded",[vt(e.body,t)],["vcenter"])}}),je({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(e,t,r){throw new n("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(e,t){const r=bn(e),n=[],o=t.havingStyle(t.style.text());for(let t=0;te.body.replace(/ /g,e.star?"\u2423":"\xa0");var yn=Xe;const xn="[ \r\n\t]",wn="(\\\\[a-zA-Z@]+)"+xn+"*",vn="[\u0300-\u036f]",kn=new RegExp(vn+"+$"),Sn="("+xn+"+)|\\\\(\n|[ \r\t]+\n?)[ \r\t]*|([!-\\[\\]-\u2027\u202a-\ud7ff\uf900-\uffff]"+vn+"*|[\ud800-\udbff][\udc00-\udfff]"+vn+"*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|"+wn+"|\\\\[^\ud800-\udfff])";class Mn{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp(Sn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){const e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Nr("EOF",new Cr(this,t,t));const r=this.tokenRegex.exec(e);if(null===r||r.index!==t)throw new n("Unexpected character: '"+e[t]+"'",new Nr(e[t],new Cr(this,t,t+1)));const o=r[6]||r[3]||(r[2]?"\\ ":" ");if(14===this.catcodes[o]){const t=e.indexOf("\n",this.tokenRegex.lastIndex);return-1===t?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=t+1,this.lex()}return new Nr(o,new Cr(this,t,this.tokenRegex.lastIndex))}}class zn{constructor(e,t){void 0===e&&(e={}),void 0===t&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(0===this.undefStack.length)throw new n("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");const e=this.undefStack.pop();for(const t in e)e.hasOwnProperty(t)&&(null==e[t]?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,r){if(void 0===r&&(r=!1),r){for(let t=0;t0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{const t=this.undefStack[this.undefStack.length-1];t&&!t.hasOwnProperty(e)&&(t[e]=this.current[e])}null==t?delete this.current[e]:this.current[e]=t}}var An=Tr;Br("\\noexpand",(function(e){const t=e.popToken();return e.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}})),Br("\\expandafter",(function(e){const t=e.popToken();return e.expandOnce(!0),{tokens:[t],numArgs:0}})),Br("\\@firstoftwo",(function(e){return{tokens:e.consumeArgs(2)[0],numArgs:0}})),Br("\\@secondoftwo",(function(e){return{tokens:e.consumeArgs(2)[1],numArgs:0}})),Br("\\@ifnextchar",(function(e){const t=e.consumeArgs(3);e.consumeSpaces();const r=e.future();return 1===t[0].length&&t[0][0].text===r.text?{tokens:t[1],numArgs:0}:{tokens:t[2],numArgs:0}})),Br("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}"),Br("\\TextOrMath",(function(e){const t=e.consumeArgs(2);return"text"===e.mode?{tokens:t[0],numArgs:0}:{tokens:t[1],numArgs:0}}));const Tn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};Br("\\char",(function(e){let t,r=e.popToken(),o="";if("'"===r.text)t=8,r=e.popToken();else if('"'===r.text)t=16,r=e.popToken();else if("`"===r.text)if(r=e.popToken(),"\\"===r.text[0])o=r.text.charCodeAt(1);else{if("EOF"===r.text)throw new n("\\char` missing argument");o=r.text.charCodeAt(0)}else t=10;if(t){if(o=Tn[r.text],null==o||o>=t)throw new n("Invalid base-"+t+" digit "+r.text);let s;for(;null!=(s=Tn[e.future().text])&&s{let o=e.consumeArg().tokens;if(1!==o.length)throw new n("\\newcommand's first argument must be a macro name");const s=o[0].text,i=e.isDefined(s);if(i&&!t)throw new n("\\newcommand{"+s+"} attempting to redefine "+s+"; use \\renewcommand");if(!i&&!r)throw new n("\\renewcommand{"+s+"} when command "+s+" does not yet exist; use \\newcommand");let a=0;if(o=e.consumeArg().tokens,1===o.length&&"["===o[0].text){let t="",r=e.expandNextToken();for(;"]"!==r.text&&"EOF"!==r.text;)t+=r.text,r=e.expandNextToken();if(!t.match(/^\s*[0-9]+\s*$/))throw new n("Invalid number of arguments: "+t);a=parseInt(t),o=e.consumeArg().tokens}return e.macros.set(s,{tokens:o,numArgs:a}),""};Br("\\newcommand",(e=>Bn(e,!1,!0))),Br("\\renewcommand",(e=>Bn(e,!0,!1))),Br("\\providecommand",(e=>Bn(e,!0,!0))),Br("\\message",(e=>{const t=e.consumeArgs(1)[0];return console.log(t.reverse().map((e=>e.text)).join("")),""})),Br("\\errmessage",(e=>{const t=e.consumeArgs(1)[0];return console.error(t.reverse().map((e=>e.text)).join("")),""})),Br("\\show",(e=>{const t=e.popToken(),r=t.text;return console.log(t,e.macros.get(r),yn[r],oe.math[r],oe.text[r]),""})),Br("\\bgroup","{"),Br("\\egroup","}"),Br("~","\\nobreakspace"),Br("\\lq","`"),Br("\\rq","'"),Br("\\aa","\\r a"),Br("\\AA","\\r A"),Br("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xa9}"),Br("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"),Br("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xae}"),Br("\u212c","\\mathscr{B}"),Br("\u2130","\\mathscr{E}"),Br("\u2131","\\mathscr{F}"),Br("\u210b","\\mathscr{H}"),Br("\u2110","\\mathscr{I}"),Br("\u2112","\\mathscr{L}"),Br("\u2133","\\mathscr{M}"),Br("\u211b","\\mathscr{R}"),Br("\u212d","\\mathfrak{C}"),Br("\u210c","\\mathfrak{H}"),Br("\u2128","\\mathfrak{Z}"),Br("\\Bbbk","\\Bbb{k}"),Br("\xb7","\\cdotp"),Br("\\llap","\\mathllap{\\textrm{#1}}"),Br("\\rlap","\\mathrlap{\\textrm{#1}}"),Br("\\clap","\\mathclap{\\textrm{#1}}"),Br("\\mathstrut","\\vphantom{(}"),Br("\\underbar","\\underline{\\text{#1}}"),Br("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'),Br("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}"),Br("\\ne","\\neq"),Br("\u2260","\\neq"),Br("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}"),Br("\u2209","\\notin"),Br("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}"),Br("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"),Br("\u225a","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225a}}"),Br("\u225b","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225b}}"),Br("\u225d","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225d}}"),Br("\u225e","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225e}}"),Br("\u225f","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225f}}"),Br("\u27c2","\\perp"),Br("\u203c","\\mathclose{!\\mkern-0.8mu!}"),Br("\u220c","\\notni"),Br("\u231c","\\ulcorner"),Br("\u231d","\\urcorner"),Br("\u231e","\\llcorner"),Br("\u231f","\\lrcorner"),Br("\xa9","\\copyright"),Br("\xae","\\textregistered"),Br("\ufe0f","\\textregistered"),Br("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}'),Br("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}'),Br("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}'),Br("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}'),Br("\\vdots","\\mathord{\\varvdots\\rule{0pt}{15pt}}"),Br("\u22ee","\\vdots"),Br("\\varGamma","\\mathit{\\Gamma}"),Br("\\varDelta","\\mathit{\\Delta}"),Br("\\varTheta","\\mathit{\\Theta}"),Br("\\varLambda","\\mathit{\\Lambda}"),Br("\\varXi","\\mathit{\\Xi}"),Br("\\varPi","\\mathit{\\Pi}"),Br("\\varSigma","\\mathit{\\Sigma}"),Br("\\varUpsilon","\\mathit{\\Upsilon}"),Br("\\varPhi","\\mathit{\\Phi}"),Br("\\varPsi","\\mathit{\\Psi}"),Br("\\varOmega","\\mathit{\\Omega}"),Br("\\substack","\\begin{subarray}{c}#1\\end{subarray}"),Br("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax"),Br("\\boxed","\\fbox{$\\displaystyle{#1}$}"),Br("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;"),Br("\\implies","\\DOTSB\\;\\Longrightarrow\\;"),Br("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");const Cn={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"};Br("\\dots",(function(e){let t="\\dotso";const r=e.expandAfterFuture().text;return r in Cn?t=Cn[r]:("\\not"===r.slice(0,4)||r in oe.math&&l.contains(["bin","rel"],oe.math[r].group))&&(t="\\dotsb"),t}));const Nn={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};Br("\\dotso",(function(e){return e.future().text in Nn?"\\ldots\\,":"\\ldots"})),Br("\\dotsc",(function(e){const t=e.future().text;return t in Nn&&","!==t?"\\ldots\\,":"\\ldots"})),Br("\\cdots",(function(e){return e.future().text in Nn?"\\@cdots\\,":"\\@cdots"})),Br("\\dotsb","\\cdots"),Br("\\dotsm","\\cdots"),Br("\\dotsi","\\!\\cdots"),Br("\\dotsx","\\ldots\\,"),Br("\\DOTSI","\\relax"),Br("\\DOTSB","\\relax"),Br("\\DOTSX","\\relax"),Br("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"),Br("\\,","\\tmspace+{3mu}{.1667em}"),Br("\\thinspace","\\,"),Br("\\>","\\mskip{4mu}"),Br("\\:","\\tmspace+{4mu}{.2222em}"),Br("\\medspace","\\:"),Br("\\;","\\tmspace+{5mu}{.2777em}"),Br("\\thickspace","\\;"),Br("\\!","\\tmspace-{3mu}{.1667em}"),Br("\\negthinspace","\\!"),Br("\\negmedspace","\\tmspace-{4mu}{.2222em}"),Br("\\negthickspace","\\tmspace-{5mu}{.277em}"),Br("\\enspace","\\kern.5em "),Br("\\enskip","\\hskip.5em\\relax"),Br("\\quad","\\hskip1em\\relax"),Br("\\qquad","\\hskip2em\\relax"),Br("\\tag","\\@ifstar\\tag@literal\\tag@paren"),Br("\\tag@paren","\\tag@literal{({#1})}"),Br("\\tag@literal",(e=>{if(e.macros.get("\\df@tag"))throw new n("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"})),Br("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"),Br("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"),Br("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}"),Br("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1"),Br("\\newline","\\\\\\relax"),Br("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");const qn=F(T["Main-Regular"]["T".charCodeAt(0)][1]-.7*T["Main-Regular"]["A".charCodeAt(0)][1]);Br("\\LaTeX","\\textrm{\\html@mathml{L\\kern-.36em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{LaTeX}}"),Br("\\KaTeX","\\textrm{\\html@mathml{K\\kern-.17em\\raisebox{"+qn+"}{\\scriptstyle A}\\kern-.15em\\TeX}{KaTeX}}"),Br("\\hspace","\\@ifstar\\@hspacer\\@hspace"),Br("\\@hspace","\\hskip #1\\relax"),Br("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax"),Br("\\ordinarycolon",":"),Br("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}"),Br("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}'),Br("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}'),Br("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}'),Br("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}'),Br("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}'),Br("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}'),Br("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}'),Br("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}'),Br("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}'),Br("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}'),Br("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}'),Br("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}'),Br("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}'),Br("\u2237","\\dblcolon"),Br("\u2239","\\eqcolon"),Br("\u2254","\\coloneqq"),Br("\u2255","\\eqqcolon"),Br("\u2a74","\\Coloneqq"),Br("\\ratio","\\vcentcolon"),Br("\\coloncolon","\\dblcolon"),Br("\\colonequals","\\coloneqq"),Br("\\coloncolonequals","\\Coloneqq"),Br("\\equalscolon","\\eqqcolon"),Br("\\equalscoloncolon","\\Eqqcolon"),Br("\\colonminus","\\coloneq"),Br("\\coloncolonminus","\\Coloneq"),Br("\\minuscolon","\\eqcolon"),Br("\\minuscoloncolon","\\Eqcolon"),Br("\\coloncolonapprox","\\Colonapprox"),Br("\\coloncolonsim","\\Colonsim"),Br("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"),Br("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"),Br("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220c}}"),Br("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}"),Br("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}"),Br("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}"),Br("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}"),Br("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}"),Br("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}"),Br("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}"),Br("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}"),Br("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}"),Br("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}"),Br("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}"),Br("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}"),Br("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}"),Br("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}"),Br("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}"),Br("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}"),Br("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}"),Br("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}"),Br("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228a}"),Br("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2acb}"),Br("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228b}"),Br("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2acc}"),Br("\\imath","\\html@mathml{\\@imath}{\u0131}"),Br("\\jmath","\\html@mathml{\\@jmath}{\u0237}"),Br("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27e6}}"),Br("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27e7}}"),Br("\u27e6","\\llbracket"),Br("\u27e7","\\rrbracket"),Br("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}"),Br("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}"),Br("\u2983","\\lBrace"),Br("\u2984","\\rBrace"),Br("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29b5}}"),Br("\u29b5","\\minuso"),Br("\\darr","\\downarrow"),Br("\\dArr","\\Downarrow"),Br("\\Darr","\\Downarrow"),Br("\\lang","\\langle"),Br("\\rang","\\rangle"),Br("\\uarr","\\uparrow"),Br("\\uArr","\\Uparrow"),Br("\\Uarr","\\Uparrow"),Br("\\N","\\mathbb{N}"),Br("\\R","\\mathbb{R}"),Br("\\Z","\\mathbb{Z}"),Br("\\alef","\\aleph"),Br("\\alefsym","\\aleph"),Br("\\Alpha","\\mathrm{A}"),Br("\\Beta","\\mathrm{B}"),Br("\\bull","\\bullet"),Br("\\Chi","\\mathrm{X}"),Br("\\clubs","\\clubsuit"),Br("\\cnums","\\mathbb{C}"),Br("\\Complex","\\mathbb{C}"),Br("\\Dagger","\\ddagger"),Br("\\diamonds","\\diamondsuit"),Br("\\empty","\\emptyset"),Br("\\Epsilon","\\mathrm{E}"),Br("\\Eta","\\mathrm{H}"),Br("\\exist","\\exists"),Br("\\harr","\\leftrightarrow"),Br("\\hArr","\\Leftrightarrow"),Br("\\Harr","\\Leftrightarrow"),Br("\\hearts","\\heartsuit"),Br("\\image","\\Im"),Br("\\infin","\\infty"),Br("\\Iota","\\mathrm{I}"),Br("\\isin","\\in"),Br("\\Kappa","\\mathrm{K}"),Br("\\larr","\\leftarrow"),Br("\\lArr","\\Leftarrow"),Br("\\Larr","\\Leftarrow"),Br("\\lrarr","\\leftrightarrow"),Br("\\lrArr","\\Leftrightarrow"),Br("\\Lrarr","\\Leftrightarrow"),Br("\\Mu","\\mathrm{M}"),Br("\\natnums","\\mathbb{N}"),Br("\\Nu","\\mathrm{N}"),Br("\\Omicron","\\mathrm{O}"),Br("\\plusmn","\\pm"),Br("\\rarr","\\rightarrow"),Br("\\rArr","\\Rightarrow"),Br("\\Rarr","\\Rightarrow"),Br("\\real","\\Re"),Br("\\reals","\\mathbb{R}"),Br("\\Reals","\\mathbb{R}"),Br("\\Rho","\\mathrm{P}"),Br("\\sdot","\\cdot"),Br("\\sect","\\S"),Br("\\spades","\\spadesuit"),Br("\\sub","\\subset"),Br("\\sube","\\subseteq"),Br("\\supe","\\supseteq"),Br("\\Tau","\\mathrm{T}"),Br("\\thetasym","\\vartheta"),Br("\\weierp","\\wp"),Br("\\Zeta","\\mathrm{Z}"),Br("\\argmin","\\DOTSB\\operatorname*{arg\\,min}"),Br("\\argmax","\\DOTSB\\operatorname*{arg\\,max}"),Br("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits"),Br("\\bra","\\mathinner{\\langle{#1}|}"),Br("\\ket","\\mathinner{|{#1}\\rangle}"),Br("\\braket","\\mathinner{\\langle{#1}\\rangle}"),Br("\\Bra","\\left\\langle#1\\right|"),Br("\\Ket","\\left|#1\\right\\rangle");const In=e=>t=>{const r=t.consumeArg().tokens,n=t.consumeArg().tokens,o=t.consumeArg().tokens,s=t.consumeArg().tokens,i=t.macros.get("|"),a=t.macros.get("\\|");t.macros.beginGroup();const l=t=>r=>{e&&(r.macros.set("|",i),o.length&&r.macros.set("\\|",a));let s=t;if(!t&&o.length){"|"===r.future().text&&(r.popToken(),s=!0)}return{tokens:s?o:n,numArgs:0}};t.macros.set("|",l(!1)),o.length&&t.macros.set("\\|",l(!0));const h=t.consumeArg().tokens,c=t.expandTokens([...s,...h,...r]);return t.macros.endGroup(),{tokens:c.reverse(),numArgs:0}};Br("\\bra@ket",In(!1)),Br("\\bra@set",In(!0)),Br("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}"),Br("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}"),Br("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}"),Br("\\angln","{\\angl n}"),Br("\\blue","\\textcolor{##6495ed}{#1}"),Br("\\orange","\\textcolor{##ffa500}{#1}"),Br("\\pink","\\textcolor{##ff00af}{#1}"),Br("\\red","\\textcolor{##df0030}{#1}"),Br("\\green","\\textcolor{##28ae7b}{#1}"),Br("\\gray","\\textcolor{gray}{#1}"),Br("\\purple","\\textcolor{##9d38bd}{#1}"),Br("\\blueA","\\textcolor{##ccfaff}{#1}"),Br("\\blueB","\\textcolor{##80f6ff}{#1}"),Br("\\blueC","\\textcolor{##63d9ea}{#1}"),Br("\\blueD","\\textcolor{##11accd}{#1}"),Br("\\blueE","\\textcolor{##0c7f99}{#1}"),Br("\\tealA","\\textcolor{##94fff5}{#1}"),Br("\\tealB","\\textcolor{##26edd5}{#1}"),Br("\\tealC","\\textcolor{##01d1c1}{#1}"),Br("\\tealD","\\textcolor{##01a995}{#1}"),Br("\\tealE","\\textcolor{##208170}{#1}"),Br("\\greenA","\\textcolor{##b6ffb0}{#1}"),Br("\\greenB","\\textcolor{##8af281}{#1}"),Br("\\greenC","\\textcolor{##74cf70}{#1}"),Br("\\greenD","\\textcolor{##1fab54}{#1}"),Br("\\greenE","\\textcolor{##0d923f}{#1}"),Br("\\goldA","\\textcolor{##ffd0a9}{#1}"),Br("\\goldB","\\textcolor{##ffbb71}{#1}"),Br("\\goldC","\\textcolor{##ff9c39}{#1}"),Br("\\goldD","\\textcolor{##e07d10}{#1}"),Br("\\goldE","\\textcolor{##a75a05}{#1}"),Br("\\redA","\\textcolor{##fca9a9}{#1}"),Br("\\redB","\\textcolor{##ff8482}{#1}"),Br("\\redC","\\textcolor{##f9685d}{#1}"),Br("\\redD","\\textcolor{##e84d39}{#1}"),Br("\\redE","\\textcolor{##bc2612}{#1}"),Br("\\maroonA","\\textcolor{##ffbde0}{#1}"),Br("\\maroonB","\\textcolor{##ff92c6}{#1}"),Br("\\maroonC","\\textcolor{##ed5fa6}{#1}"),Br("\\maroonD","\\textcolor{##ca337c}{#1}"),Br("\\maroonE","\\textcolor{##9e034e}{#1}"),Br("\\purpleA","\\textcolor{##ddd7ff}{#1}"),Br("\\purpleB","\\textcolor{##c6b9fc}{#1}"),Br("\\purpleC","\\textcolor{##aa87ff}{#1}"),Br("\\purpleD","\\textcolor{##7854ab}{#1}"),Br("\\purpleE","\\textcolor{##543b78}{#1}"),Br("\\mintA","\\textcolor{##f5f9e8}{#1}"),Br("\\mintB","\\textcolor{##edf2df}{#1}"),Br("\\mintC","\\textcolor{##e0e5cc}{#1}"),Br("\\grayA","\\textcolor{##f6f7f7}{#1}"),Br("\\grayB","\\textcolor{##f0f1f2}{#1}"),Br("\\grayC","\\textcolor{##e3e5e6}{#1}"),Br("\\grayD","\\textcolor{##d6d8da}{#1}"),Br("\\grayE","\\textcolor{##babec2}{#1}"),Br("\\grayF","\\textcolor{##888d93}{#1}"),Br("\\grayG","\\textcolor{##626569}{#1}"),Br("\\grayH","\\textcolor{##3b3e40}{#1}"),Br("\\grayI","\\textcolor{##21242c}{#1}"),Br("\\kaBlue","\\textcolor{##314453}{#1}"),Br("\\kaGreen","\\textcolor{##71B307}{#1}");const Rn={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Hn{constructor(e,t,r){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new zn(An,t.macros),this.mode=r,this.stack=[]}feed(e){this.lexer=new Mn(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return 0===this.stack.length&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){let t,r,n;if(e){if(this.consumeSpaces(),"["!==this.future().text)return null;t=this.popToken(),({tokens:n,end:r}=this.consumeArg(["]"]))}else({tokens:n,start:t,end:r}=this.consumeArg());return this.pushToken(new Nr("EOF",r.loc)),this.pushTokens(n),t.range(r,"")}consumeSpaces(){for(;;){if(" "!==this.future().text)break;this.stack.pop()}}consumeArg(e){const t=[],r=e&&e.length>0;r||this.consumeSpaces();const o=this.future();let s,i=0,a=0;do{if(s=this.popToken(),t.push(s),"{"===s.text)++i;else if("}"===s.text){if(--i,-1===i)throw new n("Extra }",s)}else if("EOF"===s.text)throw new n("Unexpected end of input in a macro argument, expected '"+(e&&r?e[a]:"}")+"'",s);if(e&&r)if((0===i||1===i&&"{"===e[a])&&s.text===e[a]){if(++a,a===e.length){t.splice(-a,a);break}}else a=0}while(0!==i||r);return"{"===o.text&&"}"===t[t.length-1].text&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:o,end:s}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new n("The length of delimiters doesn't match the number of args!");const r=t[0];for(let e=0;ethis.settings.maxExpand)throw new n("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){const t=this.popToken(),r=t.text,o=t.noexpand?null:this._getExpansion(r);if(null==o||e&&o.unexpandable){if(e&&null==o&&"\\"===r[0]&&!this.isDefined(r))throw new n("Undefined control sequence: "+r);return this.pushToken(t),!1}this.countExpansion(1);let s=o.tokens;const i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){s=s.slice();for(let e=s.length-1;e>=0;--e){let t=s[e];if("#"===t.text){if(0===e)throw new n("Incomplete placeholder at end of macro body",t);if(t=s[--e],"#"===t.text)s.splice(e+1,1);else{if(!/^[1-9]$/.test(t.text))throw new n("Not a valid argument number",t);s.splice(e,2,...i[+t.text-1])}}}}return this.pushTokens(s),s.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(!1===this.expandOnce()){const e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Nr(e)]):void 0}expandTokens(e){const t=[],r=this.stack.length;for(this.pushTokens(e);this.stack.length>r;)if(!1===this.expandOnce(!0)){const e=this.stack.pop();e.treatAsRelax&&(e.noexpand=!1,e.treatAsRelax=!1),t.push(e)}return this.countExpansion(t.length),t}expandMacroAsText(e){const t=this.expandMacro(e);return t?t.map((e=>e.text)).join(""):t}_getExpansion(e){const t=this.macros.get(e);if(null==t)return t;if(1===e.length){const t=this.lexer.catcodes[e];if(null!=t&&13!==t)return}const r="function"==typeof t?t(this):t;if("string"==typeof r){let e=0;if(-1!==r.indexOf("#")){const t=r.replace(/##/g,"");for(;-1!==t.indexOf("#"+(e+1));)++e}const t=new Mn(r,this.settings),n=[];let o=t.lex();for(;"EOF"!==o.text;)n.push(o),o=t.lex();n.reverse();return{tokens:n,numArgs:e}}return r}isDefined(e){return this.macros.has(e)||yn.hasOwnProperty(e)||oe.math.hasOwnProperty(e)||oe.text.hasOwnProperty(e)||Rn.hasOwnProperty(e)}isExpandable(e){const t=this.macros.get(e);return null!=t?"string"==typeof t||"function"==typeof t||!t.unexpandable:yn.hasOwnProperty(e)&&!yn[e].primitive}}const On=/^[\u208a\u208b\u208c\u208d\u208e\u2080\u2081\u2082\u2083\u2084\u2085\u2086\u2087\u2088\u2089\u2090\u2091\u2095\u1d62\u2c7c\u2096\u2097\u2098\u2099\u2092\u209a\u1d63\u209b\u209c\u1d64\u1d65\u2093\u1d66\u1d67\u1d68\u1d69\u1d6a]/,En=Object.freeze({"\u208a":"+","\u208b":"-","\u208c":"=","\u208d":"(","\u208e":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1d62":"i","\u2c7c":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209a":"p","\u1d63":"r","\u209b":"s","\u209c":"t","\u1d64":"u","\u1d65":"v","\u2093":"x","\u1d66":"\u03b2","\u1d67":"\u03b3","\u1d68":"\u03c1","\u1d69":"\u03d5","\u1d6a":"\u03c7","\u207a":"+","\u207b":"-","\u207c":"=","\u207d":"(","\u207e":")","\u2070":"0","\xb9":"1","\xb2":"2","\xb3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1d2c":"A","\u1d2e":"B","\u1d30":"D","\u1d31":"E","\u1d33":"G","\u1d34":"H","\u1d35":"I","\u1d36":"J","\u1d37":"K","\u1d38":"L","\u1d39":"M","\u1d3a":"N","\u1d3c":"O","\u1d3e":"P","\u1d3f":"R","\u1d40":"T","\u1d41":"U","\u2c7d":"V","\u1d42":"W","\u1d43":"a","\u1d47":"b","\u1d9c":"c","\u1d48":"d","\u1d49":"e","\u1da0":"f","\u1d4d":"g","\u02b0":"h","\u2071":"i","\u02b2":"j","\u1d4f":"k","\u02e1":"l","\u1d50":"m","\u207f":"n","\u1d52":"o","\u1d56":"p","\u02b3":"r","\u02e2":"s","\u1d57":"t","\u1d58":"u","\u1d5b":"v","\u02b7":"w","\u02e3":"x","\u02b8":"y","\u1dbb":"z","\u1d5d":"\u03b2","\u1d5e":"\u03b3","\u1d5f":"\u03b4","\u1d60":"\u03d5","\u1d61":"\u03c7","\u1dbf":"\u03b8"}),Ln={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030c":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030a":{text:"\\r",math:"\\mathring"},"\u030b":{text:"\\H"},"\u0327":{text:"\\c"}},Dn={"\xe1":"a\u0301","\xe0":"a\u0300","\xe4":"a\u0308","\u01df":"a\u0308\u0304","\xe3":"a\u0303","\u0101":"a\u0304","\u0103":"a\u0306","\u1eaf":"a\u0306\u0301","\u1eb1":"a\u0306\u0300","\u1eb5":"a\u0306\u0303","\u01ce":"a\u030c","\xe2":"a\u0302","\u1ea5":"a\u0302\u0301","\u1ea7":"a\u0302\u0300","\u1eab":"a\u0302\u0303","\u0227":"a\u0307","\u01e1":"a\u0307\u0304","\xe5":"a\u030a","\u01fb":"a\u030a\u0301","\u1e03":"b\u0307","\u0107":"c\u0301","\u1e09":"c\u0327\u0301","\u010d":"c\u030c","\u0109":"c\u0302","\u010b":"c\u0307","\xe7":"c\u0327","\u010f":"d\u030c","\u1e0b":"d\u0307","\u1e11":"d\u0327","\xe9":"e\u0301","\xe8":"e\u0300","\xeb":"e\u0308","\u1ebd":"e\u0303","\u0113":"e\u0304","\u1e17":"e\u0304\u0301","\u1e15":"e\u0304\u0300","\u0115":"e\u0306","\u1e1d":"e\u0327\u0306","\u011b":"e\u030c","\xea":"e\u0302","\u1ebf":"e\u0302\u0301","\u1ec1":"e\u0302\u0300","\u1ec5":"e\u0302\u0303","\u0117":"e\u0307","\u0229":"e\u0327","\u1e1f":"f\u0307","\u01f5":"g\u0301","\u1e21":"g\u0304","\u011f":"g\u0306","\u01e7":"g\u030c","\u011d":"g\u0302","\u0121":"g\u0307","\u0123":"g\u0327","\u1e27":"h\u0308","\u021f":"h\u030c","\u0125":"h\u0302","\u1e23":"h\u0307","\u1e29":"h\u0327","\xed":"i\u0301","\xec":"i\u0300","\xef":"i\u0308","\u1e2f":"i\u0308\u0301","\u0129":"i\u0303","\u012b":"i\u0304","\u012d":"i\u0306","\u01d0":"i\u030c","\xee":"i\u0302","\u01f0":"j\u030c","\u0135":"j\u0302","\u1e31":"k\u0301","\u01e9":"k\u030c","\u0137":"k\u0327","\u013a":"l\u0301","\u013e":"l\u030c","\u013c":"l\u0327","\u1e3f":"m\u0301","\u1e41":"m\u0307","\u0144":"n\u0301","\u01f9":"n\u0300","\xf1":"n\u0303","\u0148":"n\u030c","\u1e45":"n\u0307","\u0146":"n\u0327","\xf3":"o\u0301","\xf2":"o\u0300","\xf6":"o\u0308","\u022b":"o\u0308\u0304","\xf5":"o\u0303","\u1e4d":"o\u0303\u0301","\u1e4f":"o\u0303\u0308","\u022d":"o\u0303\u0304","\u014d":"o\u0304","\u1e53":"o\u0304\u0301","\u1e51":"o\u0304\u0300","\u014f":"o\u0306","\u01d2":"o\u030c","\xf4":"o\u0302","\u1ed1":"o\u0302\u0301","\u1ed3":"o\u0302\u0300","\u1ed7":"o\u0302\u0303","\u022f":"o\u0307","\u0231":"o\u0307\u0304","\u0151":"o\u030b","\u1e55":"p\u0301","\u1e57":"p\u0307","\u0155":"r\u0301","\u0159":"r\u030c","\u1e59":"r\u0307","\u0157":"r\u0327","\u015b":"s\u0301","\u1e65":"s\u0301\u0307","\u0161":"s\u030c","\u1e67":"s\u030c\u0307","\u015d":"s\u0302","\u1e61":"s\u0307","\u015f":"s\u0327","\u1e97":"t\u0308","\u0165":"t\u030c","\u1e6b":"t\u0307","\u0163":"t\u0327","\xfa":"u\u0301","\xf9":"u\u0300","\xfc":"u\u0308","\u01d8":"u\u0308\u0301","\u01dc":"u\u0308\u0300","\u01d6":"u\u0308\u0304","\u01da":"u\u0308\u030c","\u0169":"u\u0303","\u1e79":"u\u0303\u0301","\u016b":"u\u0304","\u1e7b":"u\u0304\u0308","\u016d":"u\u0306","\u01d4":"u\u030c","\xfb":"u\u0302","\u016f":"u\u030a","\u0171":"u\u030b","\u1e7d":"v\u0303","\u1e83":"w\u0301","\u1e81":"w\u0300","\u1e85":"w\u0308","\u0175":"w\u0302","\u1e87":"w\u0307","\u1e98":"w\u030a","\u1e8d":"x\u0308","\u1e8b":"x\u0307","\xfd":"y\u0301","\u1ef3":"y\u0300","\xff":"y\u0308","\u1ef9":"y\u0303","\u0233":"y\u0304","\u0177":"y\u0302","\u1e8f":"y\u0307","\u1e99":"y\u030a","\u017a":"z\u0301","\u017e":"z\u030c","\u1e91":"z\u0302","\u017c":"z\u0307","\xc1":"A\u0301","\xc0":"A\u0300","\xc4":"A\u0308","\u01de":"A\u0308\u0304","\xc3":"A\u0303","\u0100":"A\u0304","\u0102":"A\u0306","\u1eae":"A\u0306\u0301","\u1eb0":"A\u0306\u0300","\u1eb4":"A\u0306\u0303","\u01cd":"A\u030c","\xc2":"A\u0302","\u1ea4":"A\u0302\u0301","\u1ea6":"A\u0302\u0300","\u1eaa":"A\u0302\u0303","\u0226":"A\u0307","\u01e0":"A\u0307\u0304","\xc5":"A\u030a","\u01fa":"A\u030a\u0301","\u1e02":"B\u0307","\u0106":"C\u0301","\u1e08":"C\u0327\u0301","\u010c":"C\u030c","\u0108":"C\u0302","\u010a":"C\u0307","\xc7":"C\u0327","\u010e":"D\u030c","\u1e0a":"D\u0307","\u1e10":"D\u0327","\xc9":"E\u0301","\xc8":"E\u0300","\xcb":"E\u0308","\u1ebc":"E\u0303","\u0112":"E\u0304","\u1e16":"E\u0304\u0301","\u1e14":"E\u0304\u0300","\u0114":"E\u0306","\u1e1c":"E\u0327\u0306","\u011a":"E\u030c","\xca":"E\u0302","\u1ebe":"E\u0302\u0301","\u1ec0":"E\u0302\u0300","\u1ec4":"E\u0302\u0303","\u0116":"E\u0307","\u0228":"E\u0327","\u1e1e":"F\u0307","\u01f4":"G\u0301","\u1e20":"G\u0304","\u011e":"G\u0306","\u01e6":"G\u030c","\u011c":"G\u0302","\u0120":"G\u0307","\u0122":"G\u0327","\u1e26":"H\u0308","\u021e":"H\u030c","\u0124":"H\u0302","\u1e22":"H\u0307","\u1e28":"H\u0327","\xcd":"I\u0301","\xcc":"I\u0300","\xcf":"I\u0308","\u1e2e":"I\u0308\u0301","\u0128":"I\u0303","\u012a":"I\u0304","\u012c":"I\u0306","\u01cf":"I\u030c","\xce":"I\u0302","\u0130":"I\u0307","\u0134":"J\u0302","\u1e30":"K\u0301","\u01e8":"K\u030c","\u0136":"K\u0327","\u0139":"L\u0301","\u013d":"L\u030c","\u013b":"L\u0327","\u1e3e":"M\u0301","\u1e40":"M\u0307","\u0143":"N\u0301","\u01f8":"N\u0300","\xd1":"N\u0303","\u0147":"N\u030c","\u1e44":"N\u0307","\u0145":"N\u0327","\xd3":"O\u0301","\xd2":"O\u0300","\xd6":"O\u0308","\u022a":"O\u0308\u0304","\xd5":"O\u0303","\u1e4c":"O\u0303\u0301","\u1e4e":"O\u0303\u0308","\u022c":"O\u0303\u0304","\u014c":"O\u0304","\u1e52":"O\u0304\u0301","\u1e50":"O\u0304\u0300","\u014e":"O\u0306","\u01d1":"O\u030c","\xd4":"O\u0302","\u1ed0":"O\u0302\u0301","\u1ed2":"O\u0302\u0300","\u1ed6":"O\u0302\u0303","\u022e":"O\u0307","\u0230":"O\u0307\u0304","\u0150":"O\u030b","\u1e54":"P\u0301","\u1e56":"P\u0307","\u0154":"R\u0301","\u0158":"R\u030c","\u1e58":"R\u0307","\u0156":"R\u0327","\u015a":"S\u0301","\u1e64":"S\u0301\u0307","\u0160":"S\u030c","\u1e66":"S\u030c\u0307","\u015c":"S\u0302","\u1e60":"S\u0307","\u015e":"S\u0327","\u0164":"T\u030c","\u1e6a":"T\u0307","\u0162":"T\u0327","\xda":"U\u0301","\xd9":"U\u0300","\xdc":"U\u0308","\u01d7":"U\u0308\u0301","\u01db":"U\u0308\u0300","\u01d5":"U\u0308\u0304","\u01d9":"U\u0308\u030c","\u0168":"U\u0303","\u1e78":"U\u0303\u0301","\u016a":"U\u0304","\u1e7a":"U\u0304\u0308","\u016c":"U\u0306","\u01d3":"U\u030c","\xdb":"U\u0302","\u016e":"U\u030a","\u0170":"U\u030b","\u1e7c":"V\u0303","\u1e82":"W\u0301","\u1e80":"W\u0300","\u1e84":"W\u0308","\u0174":"W\u0302","\u1e86":"W\u0307","\u1e8c":"X\u0308","\u1e8a":"X\u0307","\xdd":"Y\u0301","\u1ef2":"Y\u0300","\u0178":"Y\u0308","\u1ef8":"Y\u0303","\u0232":"Y\u0304","\u0176":"Y\u0302","\u1e8e":"Y\u0307","\u0179":"Z\u0301","\u017d":"Z\u030c","\u1e90":"Z\u0302","\u017b":"Z\u0307","\u03ac":"\u03b1\u0301","\u1f70":"\u03b1\u0300","\u1fb1":"\u03b1\u0304","\u1fb0":"\u03b1\u0306","\u03ad":"\u03b5\u0301","\u1f72":"\u03b5\u0300","\u03ae":"\u03b7\u0301","\u1f74":"\u03b7\u0300","\u03af":"\u03b9\u0301","\u1f76":"\u03b9\u0300","\u03ca":"\u03b9\u0308","\u0390":"\u03b9\u0308\u0301","\u1fd2":"\u03b9\u0308\u0300","\u1fd1":"\u03b9\u0304","\u1fd0":"\u03b9\u0306","\u03cc":"\u03bf\u0301","\u1f78":"\u03bf\u0300","\u03cd":"\u03c5\u0301","\u1f7a":"\u03c5\u0300","\u03cb":"\u03c5\u0308","\u03b0":"\u03c5\u0308\u0301","\u1fe2":"\u03c5\u0308\u0300","\u1fe1":"\u03c5\u0304","\u1fe0":"\u03c5\u0306","\u03ce":"\u03c9\u0301","\u1f7c":"\u03c9\u0300","\u038e":"\u03a5\u0301","\u1fea":"\u03a5\u0300","\u03ab":"\u03a5\u0308","\u1fe9":"\u03a5\u0304","\u1fe8":"\u03a5\u0306","\u038f":"\u03a9\u0301","\u1ffa":"\u03a9\u0300"};class Vn{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Hn(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(void 0===t&&(t=!0),this.fetch().text!==e)throw new n("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return null==this.nextToken&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{const e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){const t=this.nextToken;this.consume(),this.gullet.pushToken(new Nr("}")),this.gullet.pushTokens(e);const r=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,r}parseExpression(e,t){const r=[];for(;;){"math"===this.mode&&this.consumeSpaces();const n=this.fetch();if(-1!==Vn.endOfExpression.indexOf(n.text))break;if(t&&n.text===t)break;if(e&&yn[n.text]&&yn[n.text].infix)break;const o=this.parseAtom(t);if(!o)break;"internal"!==o.type&&r.push(o)}return"text"===this.mode&&this.formLigatures(r),this.handleInfixNodes(r)}handleInfixNodes(e){let t,r=-1;for(let o=0;o=0&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);const r=oe[this.mode][t].group,n=Cr.range(e);let s;if(te.hasOwnProperty(r)){const e=r;s={type:"atom",mode:this.mode,family:e,loc:n,text:t}}else s={type:r,mode:this.mode,loc:n,text:t};o=s}else{if(!(t.charCodeAt(0)>=128))return null;this.settings.strict&&(S(t.charCodeAt(0))?"math"===this.mode&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'" ('+t.charCodeAt(0)+")",e)),o={type:"textord",mode:"text",loc:Cr.range(e),text:t}}if(this.consume(),r)for(let t=0;t=0;i--)t[i].loc.start>o&&(n+=" ",o=t[i].loc.start),n+=t[i].text,o+=t[i].text.length;return r.go(a.go(n,e))},a={go:function(t,e){if(!t)return[];void 0===e&&(e="ce");var n,o="0",r={};r.parenthesisLevel=0,t=(t=(t=t.replace(/\n/g," ")).replace(/[\u2212\u2013\u2014\u2010]/g,"-")).replace(/[\u2026]/g,"...");for(var i=10,c=[];;){n!==t?(i=10,n=t):i--;var u=a.stateMachines[e],p=u.transitions[o]||u.transitions["*"];t:for(var s=0;s0))return c;if(d.revisit||(t=_.remainder),!d.toContinue)break t}}if(i<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var n=0;n":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(t){return a.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return a.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return a.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return a.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(t){return a.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return a.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return a.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return a.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return a.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return a.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return a.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return a.patterns.findObserveGroups(t,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(t){var e;if(e=t.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/))return{match_:e[0],remainder:t.substr(e[0].length)};var n=a.patterns.findObserveGroups(t,"","$","$","");return n&&(e=n.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/))?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,n,o,a,r,i,c,u,p){var s=function(t,e){if("string"==typeof e)return 0!==t.indexOf(e)?null:e;var n=t.match(e);return n?n[0]:null},_=s(t,e);if(null===_)return null;if(t=t.substr(_.length),null===(_=s(t,n)))return null;var d=function(t,e,n){for(var o=0;e":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(t,e){var n;if((t.d||"").match(/^[0-9]+$/)){var o=t.d;t.d=void 0,n=this.output(t),t.b=o}else n=this.output(t);return a.actions["o="](t,e),n},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var n=[];return a.concatArray(n,this.output(t)),a.concatArray(n,a.actions.bond(t,e,"-")),n}t.d=e},"- after o/d":function(t,e,n){var o=a.patterns.match_("orbital",t.o||""),r=a.patterns.match_("one lowercase greek letter $",t.o||""),i=a.patterns.match_("one lowercase latin letter $",t.o||""),c=a.patterns.match_("$one lowercase latin letter$ $",t.o||""),u="-"===e&&(o&&""===o.remainder||r||i||c);!u||t.a||t.b||t.p||t.d||t.q||o||!i||(t.o="$"+t.o+"$");var p=[];return u?(a.concatArray(p,this.output(t)),p.push({type_:"hyphen"})):(o=a.patterns.match_("digits",t.d||""),n&&o&&""===o.remainder?(a.concatArray(p,a.actions["d="](t,e)),a.concatArray(p,this.output(t))):(a.concatArray(p,this.output(t)),a.concatArray(p,a.actions.bond(t,e,"-")))),p},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:a.go(e,"o")}},comma:function(t,e){var n=e.replace(/\s*$/,"");return n!==e&&0===t.parenthesisLevel?{type_:"comma enumeration L",p1:n}:{type_:"comma enumeration M",p1:n}},output:function(t,e,n){var o,r,i;t.r?(r="M"===t.rdt?a.go(t.rd,"tex-math"):"T"===t.rdt?[{type_:"text",p1:t.rd||""}]:a.go(t.rd),i="M"===t.rqt?a.go(t.rq,"tex-math"):"T"===t.rqt?[{type_:"text",p1:t.rq||""}]:a.go(t.rq),o={type_:"arrow",r:t.r,rd:r,rq:i}):(o=[],(t.a||t.b||t.p||t.o||t.q||t.d||n)&&(t.sb&&o.push({type_:"entitySkip"}),t.o||t.q||t.d||t.b||t.p||2===n?t.o||t.q||t.d||!t.b&&!t.p?t.o&&"kv"===t.dType&&a.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&"kv"===t.dType&&!t.q&&(t.dType=void 0):(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):(t.o=t.a,t.a=void 0),o.push({type_:"chemfive",a:a.go(t.a,"a"),b:a.go(t.b,"bd"),p:a.go(t.p,"pq"),o:a.go(t.o,"o"),q:a.go(t.q,"pq"),d:a.go(t.d,"oxidation"===t.dType?"oxidation":"bd"),dType:t.dType})));for(var c in t)"parenthesisLevel"!==c&&"beginsWithBond"!==c&&delete t[c];return o},"oxidation-output":function(t,e){var n=["{"];return a.concatArray(n,a.go(e,"oxidation")),n.push("}"),n},"frac-output":function(t,e){return{type_:"frac-ce",p1:a.go(e[0]),p2:a.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:a.go(e[0]),p2:a.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:a.go(e[0]),p2:a.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:a.go(e[0]),p2:a.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:a.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,n){return{type_:"operator",kind_:n||e}}}},a:{transitions:a.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:a.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:a.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var n in t)delete t[n];return e}}}},pq:{transitions:a.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(t,e){return{type_:"state of aggregation subscript",p1:a.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:a.go(e[1],"pq")}}}},bd:{transitions:a.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(t,e){return{type_:"color",color1:e[0],color2:a.go(e[1],"bd")}}}},oxidation:{transitions:a.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:a.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"tex-math tight":{transitions:a.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var n in t)delete t[n];return e}}}},"9,9":{transitions:a.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:a.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),e[1]&&(a.concatArray(n,a.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?a.concatArray(n,a.go(e[2],"pu-9,9")):n.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),"e"===e[3]||"*"===e[3].substr(0,1)?n.push({type_:"cdot"}):n.push({type_:"times"}))),e[3]&&n.push("10^{"+e[5]+"}"),n},"number^":function(t,e){var n=[];return"+-"===e[0]||"+/-"===e[0]?n.push("\\pm "):e[0]&&n.push(e[0]),a.concatArray(n,a.go(e[1],"pu-9,9")),n.push("^{"+e[2]+"}"),n},operator:function(t,e,n){return{type_:"operator",kind_:n||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,n=a.patterns.match_("{(...)}",t.d||"");n&&""===n.remainder&&(t.d=n.match_);var o=a.patterns.match_("{(...)}",t.q||"");if(o&&""===o.remainder&&(t.q=o.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var r={d:a.go(t.d,"pu"),q:a.go(t.q,"pu")};"//"===t.o?e={type_:"pu-frac",p1:r.d,p2:r.q}:(e=r.d,r.d.length>1||r.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),a.concatArray(e,r.q))}else e=a.go(t.d,"pu-2");for(var i in t)delete t[i];return e}}},"pu-2":{transitions:a.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var n=a.patterns.match_("{(...)}",t.rm||"");e=n&&""===n.remainder?a.go(n.match_,"pu"):{type_:"rm",p1:t.rm}}for(var o in t)delete t[o];return e}}},"pu-9,9":{transitions:a.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var n=t.text_.length%3;0===n&&(n=3);for(var o=t.text_.length-3;o>0;o-=3)e.push(t.text_.substr(o,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,n)),e.reverse()}else e.push(t.text_);for(var a in t)delete t[a];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var n=t.text_.length-3,o=0;o":case"\u2192":case"\u27f6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<--\x3e":return"rightleftarrows";case"<=>":case"\u21cc":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":case"1":return"{-}";case"=":case"2":return"{=}";case"#":case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(t){switch(t){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":case"$\\approx$":return" {}\\approx{} ";case"v":case"(v)":return" \\downarrow{} ";case"^":case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}}}(),a=a.default}()})); \ No newline at end of file diff --git a/lib/lightgallery/fonts/lg.svg b/lib/lightgallery/fonts/lg.svg new file mode 100644 index 00000000..fe8b0756 --- /dev/null +++ b/lib/lightgallery/fonts/lg.svg @@ -0,0 +1,54 @@ + + + + + + +{ + "fontFamily": "lg", + "majorVersion": 2, + "minorVersion": 0, + "fontURL": "", + "copyright": "", + "license": "", + "licenseURL": "", + "description": "Font generated by IcoMoon.", + "version": "Version 2.0", + "fontId": "lg", + "psName": "lg", + "subFamily": "Regular", + "fullName": "lg" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/lightgallery/fonts/lg.ttf b/lib/lightgallery/fonts/lg.ttf new file mode 100644 index 00000000..825f4832 Binary files /dev/null and b/lib/lightgallery/fonts/lg.ttf differ diff --git a/lib/lightgallery/fonts/lg.woff b/lib/lightgallery/fonts/lg.woff new file mode 100644 index 00000000..fd02a6f4 Binary files /dev/null and b/lib/lightgallery/fonts/lg.woff differ diff --git a/lib/lightgallery/fonts/lg.woff2 b/lib/lightgallery/fonts/lg.woff2 new file mode 100644 index 00000000..2c2e2892 Binary files /dev/null and b/lib/lightgallery/fonts/lg.woff2 differ diff --git a/lib/lightgallery/images/loading.gif b/lib/lightgallery/images/loading.gif new file mode 100644 index 00000000..4744c455 Binary files /dev/null and b/lib/lightgallery/images/loading.gif differ diff --git a/lib/sharer/sharer.min.js b/lib/sharer/sharer.min.js new file mode 100644 index 00000000..953a4517 --- /dev/null +++ b/lib/sharer/sharer.min.js @@ -0,0 +1 @@ +(function(m,r){"use strict";var s=function(t){this.elem=t};s.init=function(){var t=r.querySelectorAll("[data-sharer]"),e,a=t.length;for(e=0;e0?"?":"";for(r=0;rArray.isArray(e),t=t=>e(t)?t:[t];const s="data-typeit-id",i="ti-cursor",r={started:!1,completed:!1,frozen:!1,destroyed:!1},n={breakLines:!0,cursor:{autoPause:!0,autoPauseDelay:500,animation:{frames:[0,0,1].map((e=>({opacity:e}))),options:{iterations:1/0,easing:"steps(2, start)",fill:"forwards"}}},cursorChar:"|",cursorSpeed:1e3,deleteSpeed:null,html:!0,lifeLike:!0,loop:!1,loopDelay:750,nextStringDelay:750,speed:100,startDelay:250,startDelete:!1,strings:[],waitUntilVisible:!1,beforeString:()=>{},afterString:()=>{},beforeStep:()=>{},afterStep:()=>{},afterComplete:()=>{}},o=`[${s}]:before {content: '.'; display: inline-block; width: 0; visibility: hidden;}`,a=e=>document.createElement(e),u=e=>document.createTextNode(e),l=(e,t="")=>{let s=a("style");s.id=t,s.appendChild(u(e)),document.head.appendChild(s)},h=t=>(e(t)||(t=[t/2,t/2]),t),d=(e,t)=>Math.abs(Math.random()*(e+t-(e-t))+(e-t));let p=e=>e/2;const c=e=>Array.from(e);let m=e=>([...e.childNodes].forEach((e=>{if(e.nodeValue)return[...e.nodeValue].forEach((t=>{e.parentNode.insertBefore(u(t),e)})),void e.remove();m(e)})),e);const f=e=>{let t=document.implementation.createHTMLDocument();return t.body.innerHTML=e,m(t.body)};function y(e,t=!1,s=!1){let r,n=e.querySelector(`.${i}`),o=document.createTreeWalker(e,NodeFilter.SHOW_ALL,{acceptNode:e=>{if(n&&s){if(e.classList?.contains(i))return NodeFilter.FILTER_ACCEPT;if(n.contains(e))return NodeFilter.FILTER_REJECT}return e.classList?.contains(i)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),a=[];for(;r=o.nextNode();)r.originalParent||(r.originalParent=r.parentNode),a.push(r);return t?a.reverse():a}function g(e,t=!0){return t?y(f(e)):c(e).map(u)}const b=({index:e,newIndex:t,queueItems:s,cleanUp:i})=>{for(let r=e+1;rNumber.isInteger(e),C=({queueItems:e,selector:t,cursorPosition:s,to:i})=>{if(P(t))return-1*t;let r=new RegExp("END","i").test(i),n=t?[...e].reverse().findIndex((({char:e})=>{let s=e.parentElement,i=s.matches(t);return!(!r||!i)||i&&s.firstChild.isSameNode(e)})):-1;return n<0&&(n=r?0:e.length-1),n-s+(r?0:1)},I=(e,t)=>new Array(t).fill(e);let v=e=>new Promise((t=>{requestAnimationFrame((async()=>{t(await e())}))})),w=e=>e?.getAnimations().find((t=>t.id===e.dataset.tiAnimationId)),T=({cursor:e,frames:t,options:s})=>{let i=e.animate(t,s);return i.pause(),i.id=e.dataset.tiAnimationId,v((()=>{v((()=>{i.play()}))})),i},q=e=>e.func?.call(null),S=async({index:e,queueItems:t,wait:s,cursor:i,cursorOptions:r})=>{let n=t[e][1],o=[],a=e,u=n,l=()=>u&&!u.delay,h=n.shouldPauseCursor()&&r.autoPause;for(;l();)o.push(u),l()&&a++,u=t[a]?t[a][1]:null;if(o.length)return await v((async()=>{for(let e of o)await q(e)})),a-1;let d,p=w(i);return p&&(d={...p.effect.getComputedTiming(),delay:h?r.autoPauseDelay:0}),await s((async()=>{p&&h&&p.cancel(),await v((()=>{q(n)}))}),n.delay),await(({cursor:e,options:t,cursorOptions:s})=>{if(!e||!s)return;let i,r=w(e);r&&(t.delay=r.effect.getComputedTiming().delay,i=r.currentTime,r.cancel());let n=T({cursor:e,frames:s.animation.frames,options:t});return i&&(n.currentTime=i),n})({cursor:i,options:d,cursorOptions:r}),e};const N=e=>"value"in e;let A=e=>"function"==typeof e?e():e,E=(e,t=document,s=!1)=>t["querySelector"+(s?"All":"")](e);const L=(e,t)=>Object.assign({},e,t);let x={"font-family":"","font-weight":"","font-size":"","font-style":"","line-height":"",color:"",transform:"translateX(-.125em)"};return class{element;timeouts;cursorPosition;predictedCursorPosition;statuses={started:!1,completed:!1,frozen:!1,destroyed:!1};opts;id;queue;cursor;unfreeze=()=>{};constructor(e,s={}){var i;this.opts=L(n,s),this.element="string"==typeof(i=e)?E(i):i,this.timeouts=[],this.cursorPosition=0,this.unfreeze=()=>{},this.predictedCursorPosition=null,this.statuses=L({},r),this.id=Math.random().toString().substring(2,9),this.queue=function(e){let s=function(e){return t(e).forEach((e=>n.set(Symbol(e.char?.innerText),i({...e})))),this},i=e=>(e.shouldPauseCursor=function(){return Boolean(this.typeable||this.cursorable||this.deletable)},e),r=()=>Array.from(n.values()),n=new Map;return s(e),{add:s,set:function(e,t){let s=[...n.keys()];n.set(s[e],i(t))},wipe:function(){n=new Map,s(e)},done:(e,t=!1)=>t?n.delete(e):n.get(e).done=!0,reset:function(){n.forEach((e=>delete e.done))},destroy:e=>n.delete(e),getItems:(e=!1)=>e?r():r().filter((e=>!e.done)),getQueue:()=>n,getTypeable:()=>r().filter((e=>e.typeable))}}([{delay:this.opts.startDelay}]),this.#e(s),this.cursor=this.#t(),this.element.dataset.typeitId=this.id,l(o),this.opts.strings.length&&this.#s()}go(){return this.statuses.started?this:(this.#i(),this.opts.waitUntilVisible?(e=this.element,t=this.#r.bind(this),new IntersectionObserver(((s,i)=>{s.forEach((s=>{s.isIntersecting&&(t(),i.unobserve(e))}))}),{threshold:1}).observe(e),this):(this.#r(),this));var e,t}destroy(e=!0){this.timeouts=(this.timeouts.forEach(clearTimeout),[]),A(e)&&this.cursor&&this.#n(this.cursor),this.statuses.destroyed=!0}reset(e){!this.is("destroyed")&&this.destroy(),e?(this.queue.wipe(),e(this)):this.queue.reset(),this.cursorPosition=0;for(let t in this.statuses)this.statuses[t]=!1;return this.element[this.#o()?"value":"innerHTML"]="",this}is=function(e){return this.statuses[e]};type(e,t={}){e=A(e);let{instant:s}=t,i=this.#a(t),r=g(e,this.opts.html).map((e=>{return{func:()=>this.#u(e),char:e,delay:s||(t=e,/<(.+)>(.*?)<\/(.+)>/.test(t.outerHTML))?0:this.#l(),typeable:e.nodeType===Node.TEXT_NODE};var t})),n=[i[0],{func:async()=>await this.opts.beforeString(e,this)},...r,{func:async()=>await this.opts.afterString(e,this)},i[1]];return this.#h(n,t)}break(e={}){return this.#h({func:()=>this.#u(a("BR")),typeable:!0},e)}move(e,t={}){e=A(e);let s=this.#a(t),{instant:i,to:r}=t,n=C({queueItems:this.queue.getTypeable(),selector:null===e?"":e,to:r,cursorPosition:this.#d}),o=n<0?-1:1;return this.predictedCursorPosition=this.#d+n,this.#h([s[0],...I({func:()=>this.#p(o),delay:i?0:this.#l(),cursorable:!0},Math.abs(n)),s[1]],t)}exec(e,t={}){let s=this.#a(t);return this.#h([s[0],{func:()=>e(this)},s[1]],t)}options(e,t={}){return e=A(e),this.#c(e),this.#h({},t)}pause(e,t={}){return this.#h({delay:A(e)},t)}delete(e=null,t={}){e=A(e);let s=this.#a(t),i=e,{instant:r,to:n}=t,o=this.queue.getTypeable(),a=(()=>null===i?o.length:P(i)?i:C({queueItems:o,selector:i,cursorPosition:this.#d,to:n}))();return this.#h([s[0],...I({func:this.#m.bind(this),delay:r?0:this.#l(1),deletable:!0},a),s[1]],t)}freeze(){this.statuses.frozen=!0}flush(e=()=>{}){return this.#i(),this.#r(!1).then(e),this}getQueue(){return this.queue}getOptions(){return this.opts}updateOptions(e){return this.#c(e)}getElement(){return this.element}empty(e={}){return this.#h({func:this.#f.bind(this)},e)}async#f(){this.#o()?this.element.value="":this.#y.forEach(this.#n.bind(this))}async#r(e=!0){this.statuses.started=!0;let t=t=>{this.queue.done(t,!e)};try{let s=[...this.queue.getQueue()];for(let e=0;e{await this.#P(i[0]),this.#r()}),i[1])}catch(s){}return this}async#p(e){var t,s,r;this.cursorPosition=(t=e,s=this.cursorPosition,r=this.#y,Math.min(Math.max(s+t,0),r.length)),((e,t,s)=>{let r=t[s-1],n=E(`.${i}`,e);(e=r?.parentNode||e).insertBefore(n,r||null)})(this.element,this.#y,this.cursorPosition)}async#P(e){let t=this.#d;t&&await this.#p({value:t});let s=this.#y.map((e=>[Symbol(),{func:this.#m.bind(this),delay:this.#l(1),deletable:!0,shouldPauseCursor:()=>!0}]));for(let i=0;i{this.unfreeze=()=>{this.statuses.frozen=!1,e()}})),s||await this.opts.beforeStep(this),await((e,t,s)=>new Promise((i=>{s.push(setTimeout((async()=>{await e(),i()}),t||0))})))(e,t,this.timeouts),s||await this.opts.afterStep(this)}async#i(){if(!this.#o()&&this.cursor&&this.element.appendChild(this.cursor),this.#C){((e,t)=>{let r=`[${s}='${e}'] .${i}`,n=getComputedStyle(t),o=Object.entries(x).reduce(((e,[t,s])=>`${e} ${t}: var(--ti-cursor-${t}, ${s||n[t]});`),"");l(`${r} { display: inline-block; width: 0; ${o} }`,e)})(this.id,this.element),this.cursor.dataset.tiAnimationId=this.id;let{animation:e}=this.opts.cursor,{frames:t,options:r}=e;T({frames:t,cursor:this.cursor,options:{duration:this.opts.cursorSpeed,...r}})}}#o(){return N(this.element)}#h(e,t){return this.queue.add(e),this.#I(t),this}#I(e={}){let t=e.delay;t&&this.queue.add({delay:t})}#a(e={}){return[{func:()=>this.#c(e)},{func:()=>this.#c(this.opts)}]}async#c(e){this.opts=L(this.opts,e)}#s(){let e=this.opts.strings.filter((e=>!!e));e.forEach(((t,s)=>{if(this.type(t),s+1===e.length)return;let i=this.opts.breakLines?[{func:()=>this.#u(a("BR")),typeable:!0}]:I({func:this.#m.bind(this),delay:this.#l(1)},this.queue.getTypeable().length);this.#v(i)}))}#e=e=>{e.cursor=(e=>{if("object"==typeof e){let t={},{frames:s,options:i}=n.cursor.animation;return t.animation=e.animation||{},t.animation.frames=e.animation?.frames||s,t.animation.options=L(i,e.animation?.options||{}),t.autoPause=e.autoPause??n.cursor.autoPause,t.autoPauseDelay=e.autoPauseDelay||n.cursor.autoPauseDelay,t}return!0===e?n.cursor:e})(e.cursor??n.cursor),this.opts.strings=this.#w(t(this.opts.strings)),this.opts=L(this.opts,{html:!this.#T&&this.opts.html,nextStringDelay:h(this.opts.nextStringDelay),loopDelay:h(this.opts.loopDelay)})};#w(e){let t=this.element.innerHTML;return t?(this.element.innerHTML="",this.opts.startDelete?(this.element.innerHTML=t,m(this.element),this.#v(I({func:this.#m.bind(this),delay:this.#l(1),deletable:!0},this.#y.length)),e):(s=t,s.replace(//g,"").trim().split(//)).concat(e)):e;var s}#t(){if(this.#T)return null;let e=a("span");return e.className=i,this.#C?(e.innerHTML=f(this.opts.cursorChar).innerHTML,e):(e.style.visibility="hidden",e)}#v(e){let t=this.opts.nextStringDelay;this.queue.add([{delay:t[0]},...e,{delay:t[1]}])}#u(e){((e,t)=>{if(N(e))return void(e.value=`${e.value}${t.textContent}`);t.innerHTML="";let s=(r=t.originalParent,/body/i.test(r?.tagName)?e:t.originalParent||e);var r;s.insertBefore(t,E("."+i,s)||null)})(this.element,e)}#m(){this.#y.length&&(this.#T?this.element.value=this.element.value.slice(0,-1):this.#n(this.#y[this.cursorPosition]))}#n(e){((e,t)=>{if(!e)return;let s=e.parentNode;(s.childNodes.length>1||s.isSameNode(t)?e:s).remove()})(e,this.element)}#l(e=0){return function(e){let{speed:t,deleteSpeed:s,lifeLike:i}=e;return s=null!==s?s:t/3,i?[d(t,p(t)),d(s,p(s))]:[t,s]}(this.opts)[e]}get#d(){return this.predictedCursorPosition??this.cursorPosition}get#T(){return N(this.element)}get#C(){return!!this.opts.cursor&&!this.#T}get#y(){return e=this.element,N(e)?c(e.value):y(e,!0).filter((e=>!(e.childNodes.length>0)));var e}}})); diff --git a/lib/webfonts/fa-brands-400.ttf b/lib/webfonts/fa-brands-400.ttf new file mode 100644 index 00000000..30f55b74 Binary files /dev/null and b/lib/webfonts/fa-brands-400.ttf differ diff --git a/lib/webfonts/fa-brands-400.woff2 b/lib/webfonts/fa-brands-400.woff2 new file mode 100644 index 00000000..8a480d9b Binary files /dev/null and b/lib/webfonts/fa-brands-400.woff2 differ diff --git a/lib/webfonts/fa-regular-400.ttf b/lib/webfonts/fa-regular-400.ttf new file mode 100644 index 00000000..c79589d8 Binary files /dev/null and b/lib/webfonts/fa-regular-400.ttf differ diff --git a/lib/webfonts/fa-regular-400.woff2 b/lib/webfonts/fa-regular-400.woff2 new file mode 100644 index 00000000..059a94e2 Binary files /dev/null and b/lib/webfonts/fa-regular-400.woff2 differ diff --git a/lib/webfonts/fa-solid-900.ttf b/lib/webfonts/fa-solid-900.ttf new file mode 100644 index 00000000..e479fb29 Binary files /dev/null and b/lib/webfonts/fa-solid-900.ttf differ diff --git a/lib/webfonts/fa-solid-900.woff2 b/lib/webfonts/fa-solid-900.woff2 new file mode 100644 index 00000000..88b0367a Binary files /dev/null and b/lib/webfonts/fa-solid-900.woff2 differ diff --git a/lib/webfonts/fa-v4compatibility.ttf b/lib/webfonts/fa-v4compatibility.ttf new file mode 100644 index 00000000..ba6cb258 Binary files /dev/null and b/lib/webfonts/fa-v4compatibility.ttf differ diff --git a/lib/webfonts/fa-v4compatibility.woff2 b/lib/webfonts/fa-v4compatibility.woff2 new file mode 100644 index 00000000..23b1c47b Binary files /dev/null and b/lib/webfonts/fa-v4compatibility.woff2 differ diff --git a/page/1/index.html b/page/1/index.html new file mode 100644 index 00000000..3ad781cc --- /dev/null +++ b/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/ + \ No newline at end of file diff --git a/posts/dubbo-stack-overflow-due-to-jdk8-instant/index.html b/posts/dubbo-stack-overflow-due-to-jdk8-instant/index.html new file mode 100644 index 00000000..fe5c7210 --- /dev/null +++ b/posts/dubbo-stack-overflow-due-to-jdk8-instant/index.html @@ -0,0 +1,1243 @@ +JDK8日期时间API导致Dubbo调用StackOverflow错误 - dingyufan's blog +

JDK8日期时间API导致Dubbo调用StackOverflow错误

0 前言 +

博客搭建之后,不知道从何写起。思来想去,决定从记录一些工作中遇到的问题开始。一来对问题有个归档,算是有一些积累,方便日后回顾;二来促使自己遇到问题时能探本朔源,做到知其然知其所以然,不要草草百度了事。不积跬步,无以至千里;不积小流,无以成江海。

1 问题 +

最近项目中使用dubbo(v2.5.3)的时候,遇到一个问题:dubbo服务方在对response编码时失败,发生了栈溢出异常。可以通过一个demo(dubbo-stack-overflow-due-to-jkd8-instant)复现这个异常。

image-20220421171300795

看到栈溢出,一般想到的情况要么是递归过深,或是循环调用方法次数过多。为什么会在dubbo序列化编码的时候发生这个异常呢?通过查看源码提交记录,结合异常信息Fail to encode repsonse,并且在异常栈中出现JavaSerializer类,判断问题出在Dubbo在对Response序列化时无法处理Instant类型对象

网上搜索到的博客基本上只是说了有这样的问题,但是没有说明具体的原因,都是草草改用Date了事。通过这篇博客,记录一下Instant类型对象引起Dubbo对Response序列化失败导致栈溢出的根本原因以及解决方案。

3 Dubbo序列化Response +

dubbo对不同协议、不同序列化方式处理方式是不一样的。此项目使用默认协议:dubbo协议,同时也采用dubbo协议默认序列化方式**:hessian2**。下文的序列化过程分析就是基于此的。

1
+2
+
<!-- dubbo协议hessian2序列化方式,是dubbo的默认值。所以在xml配置中写不写这行配置都可以 -->
+<dubbo:protocol name="dubbo" serialization="hessian2"/>

**参考官网文档 2.4 服务提供方返回调用结果 **,我们从Dubbo处理返回结果入手。

3.1 ExchangeCodec / DubboCodec +

ExchangeCodec是Dubbo exchange信息交换层的编码器。ExchangeCodec#encode(Channel, ChannelBuffer, Object)方法是Dubbo对Request和Response进行编码的入口,逻辑很简单,主要是根据消息的类型,交由对应方法进行编码,对于不是自己负责的非Request、Response类型的消息对象,交给父类处理。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+
// ExchangeCodec.java
+public void encode(Channel channel, ChannelBuffer buffer, Object msg) throws IOException {
+    if (msg instanceof Request) {
+        encodeRequest(channel, buffer, (Request) msg);
+    } else if (msg instanceof Response) {
+        // 对response对象进行编码
+        encodeResponse(channel, buffer, (Response) msg);
+    } else {
+        super.encode(channel, buffer, msg);
+    }
+}

ExchangeCodec#encodeResponse(Channel, ChannelBuffer, Response)方法主要做的就是组装消息写入ChannelBuffer,这样消息就可以发送给调用方。消息两部分组成:消息头,包含状态序列化等相关信息的字节数组;消息体:Response返回的具体数据转换成的字节数组。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+
// ExchangeCodec.java
+protected void encodeResponse(Channel channel, ChannelBuffer buffer, Response res) throws IOException {
+    try {
+        // 获取序列化方式*
+        Serialization serialization = getSerialization(channel);
+        // 消息头字节数组。长度16
+        byte[] header = new byte[HEADER_LENGTH];
+        // 消息头 写入魔数
+        Bytes.short2bytes(MAGIC, header);
+        // 消息头 写入序列化器ID信息
+        header[2] = serialization.getContentTypeId();
+        if (res.isHeartbeat()) header[2] |= FLAG_EVENT;
+        byte status = res.getStatus();
+        // 消息头 写入状态
+        header[3] = status;
+        // 消息头 写入
+        Bytes.long2bytes(res.getId(), header, 4);
+
+        int savedWriteIndex = buffer.writerIndex();
+        buffer.writerIndex(savedWriteIndex + HEADER_LENGTH);
+        ChannelBufferOutputStream bos = new ChannelBufferOutputStream(buffer);
+        // 得到序列化器*
+        ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
+        if (status == Response.OK) {
+            if (res.isHeartbeat()) {
+                encodeHeartbeatData(channel, out, res.getResult());
+            } else {
+                // 对调用结果进行序列化*
+                // 这个方法会调用子类DubboCodec的override方法实现
+                encodeResponseData(channel, out, res.getResult());
+            }
+        }
+        else out.writeUTF(res.getErrorMessage());
+        out.flushBuffer();
+        bos.flush();
+        bos.close();
+        // 消息体字节长度
+        int len = bos.writtenBytes();
+        checkPayload(channel, len);
+        Bytes.int2bytes(len, header, 12);
+        // 先写完消息体,再写消息头,再设置writeIndex位置
+        buffer.writerIndex(savedWriteIndex);
+        buffer.writeBytes(header); 
+        buffer.writerIndex(savedWriteIndex + HEADER_LENGTH + len);
+    } catch (Throwable t) {
+        // 略...
+    }
+}

在这里先不关注消息头、ChannelBuffer等操作,这次主要看序列化相关的几个步骤:

3.1.1 获取序列化方式 +

这里实际是父类中的方法AbstractCodec#getSerialization(Channel)方法。这一步是利用Dubbo SPI机制,实例化一个序列化方式对象。具体过程不是本次的重点,只要理解这一步会根据<dubbo:protocol>配置的序列化方式返回对应的序列化方式对象。比如这里得到的就是Hessian2Serialization对象。

3.1.2 得到序列化器 +

这里调用Serialization#serialize(URL, OutputStream)方法,得到一个序列化器。hessian2序列化提供的序列化器是Hessian2ObjectOutput对象,通过构造函数传入了ExchangeCodec#encodeResponse(Channel, ChannelBuffer, Response)方法中定义的包装了buffer的bos。这样Hessian2ObjectOutput对象可以将具体数据写入到buffer中。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+
public class Hessian2Serialization implements Serialization {
+    
+    public static final byte ID = 2;
+
+    public byte getContentTypeId() {
+        return ID;
+    }
+
+    public String getContentType() {
+        return "x-application/hessian2";
+    }
+
+    public ObjectOutput serialize(URL url, OutputStream out) throws IOException {
+        // 序列化器对象
+        return new Hessian2ObjectOutput(out);
+    }
+
+    public ObjectInput deserialize(URL url, InputStream is) throws IOException {
+        return new Hessian2ObjectInput(is);
+    }
+}

3.1.3 对调用结果进行序列化 +

配置中指定的是dubbo协议,这里实际会被调用的是DubboCodec#encodeResponseData(Channel, ObjectOutput, Object)重写方法。DubboCodec继承自ExchangeCodec,是Dubbo protocol远程调用层的编码器,主要负责实现协议层面的Response数据编码。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+
// DubboCodec.java
+@Override
+protected void encodeResponseData(Channel channel, ObjectOutput out, Object data) throws IOException {
+    Result result = (Result) data;
+
+    Throwable th = result.getException();
+    if (th == null) {
+        Object ret = result.getValue();
+        if (ret == null) {
+            out.writeByte(RESPONSE_NULL_VALUE);
+        } else {
+            // 序列化器中写入response数据标志位
+            out.writeByte(RESPONSE_VALUE);
+            // 序列化器中写入正常返回的对象
+            out.writeObject(ret);
+        }
+    } else {
+        out.writeByte(RESPONSE_WITH_EXCEPTION);
+        out.writeObject(th);
+    }
+}

3.2 Hessian2ObjectOutput +

在3.1.2中提到过,得到的序列化器是Hessian2ObjectOutput,实现了ObjectOutput接口。对于常见的简单数据对象,ObjectOutput接口中都定义了相应处理方法,同时还定义writeObject(Object)方法处理复杂对象的序列化。

Hessian2ObjectOutput实现了接口定义的各个方法,通过一个Hessian2Output对象,完成各种数据类型hessian2序列化的具体操作。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+
public class Hessian2ObjectOutput implements ObjectOutput {
+	private final Hessian2Output mH2o;
+
+	public Hessian2ObjectOutput(OutputStream os) {
+		mH2o = new Hessian2Output(os);
+		mH2o.setSerializerFactory(Hessian2SerializerFactory.SERIALIZER_FACTORY);
+	}
+    
+    public void writeBool(boolean v) throws IOException {
+		mH2o.writeBoolean(v);
+	}
+    // 略...
+    
+    public void writeObject(Object obj) throws IOException {
+		mH2o.writeObject(obj);
+	}
+    
+    public void flushBuffer() throws IOException {
+		mH2o.flushBuffer();
+	}
+}

Hessian2ObjectOutput#writeObject(Object)方法是response数据对象序列化的入口,数据对象序列化的操作从这一步正式开始。这个方法中调用的是Hessian2Output#writeObject(Object)方法。

3.3 Hessian2Output +

注意Hessian2Output的方法,如writeBoolean(boolean),对值进行编码写入的时候,没有直接写入 _os,而是维护一个字节数组 _buffer_offset值。回头看3.1中的ExchangeCodec#encodeResponse(Channel, ChannelBuffer, Response)方法,会调用out.flushBuffer(),通过Hessian2ObjectOutput来调用Hessian2Output#flushBuffer()方法,将 _buffer内容写入 _os ,即写入 bos,即ChannelBuffer对象buffer

Hessian2Output#writeObject(Object)方法不像其他方法,没有直接向_buffer写入具体的字节,而是尝试获取一个Serializer对象,完成对象的序列化。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+
public class Hessian2Output extends AbstractHessianOutput implements Hessian2Constants {
+	protected OutputStream _os;
+    private final byte []_buffer = new byte[SIZE];
+    // 略...
+    
+    public Hessian2Output(OutputStream os) {
+        _os = os;
+    }
+    // 略...
+    
+    public void writeBoolean(boolean value) throws IOException {
+        if (SIZE < _offset + 16)
+            flush();
+
+        if (value)
+            // 不直接写入_os
+            _buffer[_offset++] = (byte) 'T';
+        else
+            _buffer[_offset++] = (byte) 'F';
+    }
+    
+    public void writeObject(Object object) throws IOException {
+        if (object == null) {
+            writeNull();
+            return;
+        }
+        
+        Serializer serializer;
+        // 获得序列化工厂类,获得一个Serializer对象
+        serializer = findSerializerFactory().getSerializer(object.getClass());
+        // 完成对象的序列化
+        serializer.writeObject(object, this);
+    }
+    
+    public final void flushBuffer() throws IOException {
+        int offset = _offset;
+        if (! _isStreaming && offset > 0) {
+            _offset = 0;
+            _os.write(_buffer, 0, offset);
+        } else if (_isStreaming && offset > 3) {
+            int len = offset - 3;
+            _buffer[0] = 'p';
+            _buffer[1] = (byte) (len >> 8);
+            _buffer[2] = (byte) len;
+            _offset = 3;
+            
+            _os.write(_buffer, 0, offset);
+        }
+  }
+}

findSerializerFactory()会从父类获得一个SerializerFactory对象,回头从3.2看到,在Hessian2ObjectOutput中,为Hessian2Output指定SerializerFactory 具体对象为Hessian2SerializerFactory.SERIALIZER_FACTORY。我们主要来看getSerializer(object.getClass())

3.4 SerializerFactory / Hessian2SerializerFactory +

Hessian2SerializerFactory相对比较简单,只是实现了getClassLoader() 方法,然后在公共静态常量量中构造了一个Hessian2SerializerFactory对象供使用。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+
public class Hessian2SerializerFactory extends SerializerFactory {
+
+	public static final SerializerFactory SERIALIZER_FACTORY = new Hessian2SerializerFactory();
+
+	private Hessian2SerializerFactory() {
+	}
+
+	@Override
+	public ClassLoader getClassLoader() {
+		return Thread.currentThread().getContextClassLoader();
+	}
+
+}

他父类SerializerFactory功能更加丰富。SerializerFactory#getSerializer(Class)方法比较长,但是其实整体逻辑并不复杂:根据类型Class返回相应的Serializer实例,如果类型和方法中列举的都不匹配,则会返回一个默认的Serializer对象,即 JavaSerializer对象

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+
public class SerializerFactory extends AbstractSerializerFactory {
+    // 略...
+    
+    public Serializer getSerializer(Class cl) throws HessianProtocolException {
+        Serializer serializer;
+        serializer = (Serializer) _staticSerializerMap.get(cl);
+        
+        if (serializer != null)
+            return serializer;
+        
+        if (_cachedSerializerMap != null) {
+            synchronized (_cachedSerializerMap) {
+                serializer = (Serializer) _cachedSerializerMap.get(cl);
+            }
+            if (serializer != null)
+                return serializer;
+        }
+        
+        for (int i = 0; serializer == null && _factories != null && i < _factories.size(); i++) {
+            AbstractSerializerFactory factory;
+            factory = (AbstractSerializerFactory) _factories.get(i);
+            serializer = factory.getSerializer(cl);
+        }
+
+        if (serializer != null) {
+
+        } else if (JavaSerializer.getWriteReplace(cl) != null)
+            serializer = new JavaSerializer(cl, _loader);
+        else if (HessianRemoteObject.class.isAssignableFrom(cl))
+          serializer = new RemoteSerializer();
+//      else if (BurlapRemoteObject.class.isAssignableFrom(cl))
+//        serializer = new RemoteSerializer();
+        else if (Map.class.isAssignableFrom(cl)) {
+            if (_mapSerializer == null)
+                _mapSerializer = new MapSerializer();
+            serializer = _mapSerializer;
+        }
+        else if (Collection.class.isAssignableFrom(cl)) {
+            if (_collectionSerializer == null) {
+                _collectionSerializer = new CollectionSerializer();
+            }
+            serializer = _collectionSerializer;
+        }
+        else if (cl.isArray())
+          serializer = new ArraySerializer();
+        else if (Throwable.class.isAssignableFrom(cl))
+          serializer = new ThrowableSerializer(cl, getClassLoader());
+        else if (InputStream.class.isAssignableFrom(cl))
+          serializer = new InputStreamSerializer();
+        else if (Iterator.class.isAssignableFrom(cl))
+          serializer = IteratorSerializer.create();
+        else if (Enumeration.class.isAssignableFrom(cl))
+          serializer = EnumerationSerializer.create();
+        else if (Calendar.class.isAssignableFrom(cl))
+          serializer = CalendarSerializer.create();
+        else if (Locale.class.isAssignableFrom(cl))
+          serializer = LocaleSerializer.create();
+        else if (Enum.class.isAssignableFrom(cl))
+          serializer = new EnumSerializer(cl);
+
+        if (serializer == null)
+            // 都不符合以上类似,则返回默认的serializer
+            serializer = getDefaultSerializer(cl);
+
+        if (_cachedSerializerMap == null)
+            _cachedSerializerMap = new HashMap(8);
+
+        synchronized (_cachedSerializerMap) {
+            // 缓存这个类型对应的serializer,下次直接从缓存获取
+            _cachedSerializerMap.put(cl, serializer);
+        }
+
+        return serializer;
+    }
+    
+    protected Serializer getDefaultSerializer(Class cl) {
+        if (_defaultSerializer != null)
+            return _defaultSerializer;
+        if (!Serializable.class.isAssignableFrom(cl) && ! _isAllowNonSerializable) {
+            throw new IllegalStateException("Serialized class " + cl.getName() + " must implement java.io.Serializable");
+        }
+        
+        return new JavaSerializer(cl, _loader);
+  }
+}

对于demo中的返回的数据对象DemoDTO,很显然就是会得到一个JavaSerializer,通过它的完成序列化。

3.5 JavaSerializer +

回顾上文3.3节中,serializer对象完成序列哈的入库也是writeObject()方法。来看JavaSerializer#writeObject(Object, AbstractHessianOutput)方法。这里面序列化分两种情况:一是要序列化的对象有writeReplce()方法的,直接调用writeReplce()方法完成序列化;而是常规的使用静态类FieldSerializer序列化。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+
// JavaSerializer.java
+public void writeObject(Object obj, AbstractHessianOutput out) throws IOException {
+    if (out.addRef(obj)) {
+        return;
+    }
+
+    Class cl = obj.getClass();
+    try {
+        // 调用序列化对象的writeReplace方法完成序列化
+        if (_writeReplace != null) {
+            Object repl;
+            if (_writeReplaceFactory != null)
+                repl = _writeReplace.invoke(_writeReplaceFactory, obj);
+            else
+                repl = _writeReplace.invoke(obj);
+
+            out.removeRef(obj);
+            out.writeObject(repl);
+            out.replaceRef(repl, obj);
+            return;
+        }
+    } catch (RuntimeException e) {
+        throw e;
+    } catch (Exception e) {
+        // log.log(Level.FINE, e.toString(), e);
+        throw new RuntimeException(e);
+    }
+
+    // hessian2会写入对象开始标记;hessian会写map开始标记并返回-2
+    int ref = out.writeObjectBegin(cl.getName());
+
+    if (ref < -1) {
+        // 这种情况看起来是兼容hessian序列化的,而不是hessian2序列化的
+        // hessian序列化是把对象当做map处理,所以writeObject10()方法里会循环写入字段名称然后马上字段序列化,最后还会写一个map结束标志
+        writeObject10(obj, out);
+    }
+    else {
+        if (ref == -1) {
+            // 写入对象包含字段长度,以及各个类型字段信息
+            writeDefinition20(out);
+            // 类型信息编码处理
+            out.writeObjectBegin(cl.getName());
+        }
+        // 这里会开始会遍历序列化对象包含的各个字段
+        writeInstance(obj, out);
+    }
+}

3.5.1 writeReplace方法 +

JavaSerializer 使用一个Method变量 _writeReplace保存writeReplace()方法,这个方法是从那里来的呢?在JavaSerializer构造方法中,会调用一个私有方法introspectWriteReplace(Class, ClassLoader)。它会从两个地方找writeReplace()方法:一是序列化类相应的HessianSerializer类;二是序列化类本身。但是要注意,HessianSerializer类的writeReplace方法签名 和 序列化类本身writeReplace方法签名 是有区别的。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+
// JavaSerializer.java
+private void introspectWriteReplace(Class cl, ClassLoader loader) {
+    try {
+        String className = cl.getName() + "HessianSerializer";
+        // 加载 序列化类类名+HessianSerializer的类。例如demo中的DemoDTO类,则会
+        // 尝试加载cn.dingyufan.blog.demo.dubbostackoverflowduetojkd8instantprovider.api.dto.DemoDTOHessianSerializer类
+        Class serializerClass = Class.forName(className, false, loader);
+        // 实例化相应的HessianSerializer类型
+        Object serializerObject = serializerClass.newInstance();
+        // 反射获取WriteReplace方法
+        Method writeReplace = getWriteReplace(serializerClass, cl);
+
+        if (writeReplace != null) {
+            _writeReplaceFactory = serializerObject;
+            _writeReplace = writeReplace;
+            return;
+        }
+    } catch (ClassNotFoundException e) {
+        // 没有相应HessianSerializer类就会抛出ClassNotFoundException,这个异常不处理,后面会再次尝试从序列化类本身寻找
+    } catch (Exception e) {
+        log.log(Level.FINER, e.toString(), e);
+    }
+    // 从序列化类本身找writeReplace方法
+    _writeReplace = getWriteReplace(cl);
+}
+
+// 从要序列化的类型寻找 方法名为writeReplace、入参为空 的方法
+protected static Method getWriteReplace(Class cl) {
+    for (; cl != null; cl = cl.getSuperclass()) {
+        Method []methods = cl.getDeclaredMethods();
+
+        for (int i = 0; i < methods.length; i++) {
+            Method method = methods[i];
+
+            if (method.getName().equals("writeReplace") &&
+                method.getParameterTypes().length == 0)
+                return method;
+        }
+    }
+
+    return null;
+}
+
+// 从相应HessianSerializer类找到  方法名为writeReplace、 入参有且仅为要序列化类型  的方法
+protected Method getWriteReplace(Class cl, Class param)
+{
+    for (; cl != null; cl = cl.getSuperclass()) {
+        for (Method method : cl.getDeclaredMethods()) {
+            if (method.getName().equals("writeReplace")
+                && method.getParameterTypes().length == 1
+                && param.equals(method.getParameterTypes()[0]))
+                return method;
+        }
+    }
+
+    return null;
+}

writeReplace方法提供了一种扩展序列化的方式,对与Dubbo暂不支持的类型,可以通过这个扩展点,返回一个自定义的类型的对象,替代原本需要序列化的对象,然后对自定义的对象进行序列化。

但是有个问题,如果producer通过writeReplace方法自定义一个对象来序列化,consumer反序列化时,怎么把自定义的对象转回原本类型呢?这里不展开讲,但是办法肯定是有的,答案就是readResolve方法 。: )

3.5.2 FieldSerializer +

对于没有writeReplace方法的类型,就继续走hessian2设定的序列化逻辑。从JavaSerializer#writeInstance(Object, AbstractHessianOutput)继续。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+
// JavaSerializer.java
+public void writeInstance(Object obj, AbstractHessianOutput out) throws IOException {
+    for (int i = 0; i < _fields.length; i++) {
+        Field field = _fields[i];
+        // _fieldSerializers是数组 FieldSerializer[]
+        // 是在JavaSerializer构造方法中,根据序列化类中各个字段类型,依次创建FieldSerializer(或子类)的实例存入
+        _fieldSerializers[i].serialize(out, obj, field);
+    }
+}
+
+// JavaSerializer构造方法中调用
+// 根据序列化类中各个字段类型,返回对应类型的FieldSerializer(或子类)实例
+private static FieldSerializer getFieldSerializer(Class type)
+{
+    if (int.class.equals(type)
+        || byte.class.equals(type)
+        || short.class.equals(type)
+        || int.class.equals(type)) {
+        return IntFieldSerializer.SER;
+    }
+    else if (long.class.equals(type)) {
+        return LongFieldSerializer.SER;
+    }
+    else if (double.class.equals(type) ||
+             float.class.equals(type)) {
+        return DoubleFieldSerializer.SER;
+    }
+    else if (boolean.class.equals(type)) {
+        return BooleanFieldSerializer.SER;
+    }
+    else if (String.class.equals(type)) {
+        return StringFieldSerializer.SER;
+    }
+    else if (java.util.Date.class.equals(type)
+             || java.sql.Date.class.equals(type)
+             || java.sql.Timestamp.class.equals(type)
+             || java.sql.Time.class.equals(type)) {
+        return DateFieldSerializer.SER;
+    }
+    else
+        return FieldSerializer.SER;
+}

JavaSerializer#writeObject(Object, AbstractHessianOutput)方法中,写完类型信息、类型字段长度、各字段名称后,就会通过writeInstance方法依次序列化类型中的各字段。字段的序列化,就是由静态类FieldSerializer类完成。

比如DemoDTO中的String类型字段,就会有FieldSerializer的子类StringFieldSerializer,完成String consumer字段序列化。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+
// JavaSerializer.java
+static class StringFieldSerializer extends FieldSerializer {
+    static final FieldSerializer SER = new StringFieldSerializer();
+    
+    void serialize(AbstractHessianOutput out, Object obj, Field field) throws IOException {
+        String value = null;
+        try {
+            value = (String) field.get(obj);
+        } catch (IllegalAccessException e) {
+            log.log(Level.FINE, e.toString(), e);
+        }
+        // 调用Hessian2Output类的writeString方法,值写入输出流
+        out.writeString(value);
+    }
+}

但是DemoDTO中的Instant类型字段,在JavaSerializer#getFieldSerializer(Class)方法中没有对应类型的,得到的是默认的FieldSerializer实例。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+
static class FieldSerializer {
+    static final FieldSerializer SER = new FieldSerializer();
+
+    void serialize(AbstractHessianOutput out, Object obj, Field field) throws IOException {
+        Object value = null;
+
+        try {
+            value = field.get(obj);
+        } catch (IllegalAccessException e) {
+            log.log(Level.FINE, e.toString(), e);
+        }
+        
+        try {
+            // 又回到 Hessian2Output#writeObject(Object)方法
+            // 再次获得序列化工厂类Hessian2SerializerFactory,获得一个Serializer对象,又通过Serializer对象序列化
+            // 这里有递归的感觉了
+            out.writeObject(value);
+        } catch (RuntimeException e) {
+            throw new RuntimeException(e.getMessage() + "\n Java field: " + field, e);
+        } catch (IOException e) {
+            throw new IOExceptionWrapper(e.getMessage() + "\n Java field: " + field, e);
+        }
+    }
+}

综上所述,Hessian2序列化的核心的几个类是:Hessian2Output、SerializerFactory(Hessian2SerializerFactory) 、JavaSerializer和FieldSerializer。

整体思路是:

  • Hessian2Output#writeObject(Object):对象 序列化的入口
  • SerializerFactory#getSerializer(Class):根据对象类型,找到对应类型的Serializer完成对象序列化,无对应类型的交给JavaSerializer
  • JavaSerializer#getFieldSerializer(Class):完成对象类型信息的序列化,然后依次序列化各个字段,为各字段找到对应类型的FieldSerializer子类完成字段序列化,无对应类型的字段交给FieldSerializer。
  • FieldSerializer#serialize(AbstractHessianOutput, Object, Field):FieldSerializer会把字段值再当做一个对象,再走一遍整个对象序列化过程。

这个设计想法是蛮好的,简单对象直接有对应类序列化,没有对应序列化方法的把对象的序列化拆解成各个字段的序列化。在理想的情况下,所有对象都可以通过不断的拆解,形成简单的对象,然后有相应的Serializer或FieldSerializer完成序列化。就好像像复杂问题拆解成数个简单问题,也有点像庖丁解牛的感觉。

3.6 序列化调用栈 +

了解dubbo在hessian2序列化方式时的逻辑之后,再来看本文开头的异常。上述大段文字内容繁多,很难串联起来,我们根据hessian2的序列化逻辑,整理整个序列化过程的调用栈,当然也可以直接打断点看

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+
ExchangeCodec#encode
+  ->ExchangeCodec#encodeResponseData
+    ->DubboCodec#encodeResponseData
+      ->Hessian2ObjectOutput#writeObject
+        // DemoDTO类型开始序列化
+        ->Hessian2Output#writeObject
+          ->SerializerFactory#getSerializer
+            ->JavaSerializer#writeObject
+              ->JavaSerializer#writeInstance
+                ->FieldSerializer#serialize
+                  // Instant类型开始序列化
+                  ->Hessian2Output#writeObject
+                    ->SerializerFactory#getSerializer
+                      ->JavaSerializer#writeObject
+                        // Ser类型开始序列化(Instant的writeReplace方法产生的替代对象)
+                        ->Hessian2Output#writeObject
+                          ->SerializerFactory#getSerializer
+                            ->JavaSerializer#writeObject
+                              ->JavaSerializer#writeInstance
+                                ->FieldSerializer#serialize
+                                  // Instant类型开始序列化(Ser类中的object字段)
+                                  ->Hessian2Output#writeObject
+                                    ->SerializerFactory#getSerializer
+                                      ->JavaSerializer#writeObject
+                                        // Ser(Instant的writeReplace方法产生的替代类)
+                                        ->Hessian2Output#writeObject
+                                          -> ......

通过调用栈,是不是一眼就发现问题所在了?这个调用栈倒序来看,可以发现正好开头是异常栈的顺序。

4 结论 +

在Dubbo反序列化的过程中,产生的栈溢出的原因是:

Dubbo(v2.5.3)没有相应的Serializer或FieldSerializer能处理Instant数据类型,并且Instant正好有writeReplace方法,返回的替代类中的object字段又包含Instant本身。导致需要序列化的对象在Instant、Ser之间反复横跳,不断调用序列化方法逻辑,最终方法栈满,导致栈溢出错误。

结合网上信息,可以发现不只是Instant类,在JDK8新增的时间API,如LocalDateTime、Period等,都会和Instant有一样的问题,也是一样的原因。

5 解决方案 +

知道了问题的原因之后,就可以对症下药了。本人水平有限,暂时想到以下几种方案:

5.1 使用Date类型 +

首先最简单的方式,就是不使用JDK8中引入的时间API,改为使用Date。

这种方式没有直接解决问题,而是有些逃避问题了。

5.1 writeReplace / readResolve 方法 +

修改Instant的writeReplace方法可能不是很方便,我们可以为DemoDTO添加writeReplace方法。总体思路的话就是:provider把Instant拆解成支持的数据类型,到了consumer再转化成Instant。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+
public class DemoDTO implements Serializable {
+
+    private static final long serialVersionUID = -311647434535770294L;
+
+    private String consumer;
+    private Instant instant;
+
+
+    // 序列化时JavaSerializer会调用此方法,然后序列化替代类对象repl
+    private DemoDTOHandle writeReplace() {
+        System.out.println("call writeReplace");
+        DemoDTOHandle repl = new DemoDTOHandle();
+        repl.setConsumer(consumer);
+        if (instant != null) {
+            repl.setSeconds(instant.getEpochSecond());
+            repl.setNanos(instant.getNano());
+        }
+        return repl;
+    }
+    
+    // getter,setter略...
+}

DemoDTOHandle中Instant拆成seconds、nanos字段存储,然后会代替DemoDTO进行序列化传输。代码如下。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+
public class DemoDTOHandle implements HessianHandle, Serializable {
+
+    private static final long serialVersionUID = -8532997896892606136L;
+
+    private String consumer;
+
+    private long seconds;
+    private int nanos;
+
+    // 反序列化时,JavaDeserializer会调用此方法,重新组装实际的类
+    private DemoDTO readResolve() {
+        System.out.println("call readResolve");
+        DemoDTO dto = new DemoDTO();
+        dto.setConsumer(consumer);
+        dto.setInstant(Instant.ofEpochSecond(seconds, nanos));
+        return dto;
+    }
+    
+    // getter,setter略...
+}

DemoDTOHandle为什么要实现HessianHandle接口呢?答案在SerializerFactory#getObjectDeserializer(String, Class)中,如果不是HessianHandle实现类的话,是得不到DemoDTOHandle相关的Deserializer,只有DemoDTO相关的Deserializer,那么就无法使用DemoDTOHandle中的readResolve方法转换回对象了。

image-20220504103337575

5.2 修改序列化方式 +

之前提到,使用的是dubbo协议、hessian2序列化方式。事实上dubbo协议同样可以使用其他多种序列化方式。下面列举的序列化方式,都可以支持JDK8时间API的序列化处理。

1
+2
+3
+4
+5
+6
+7
+8
+9
+
<dubbo:protocol serialization="java"/>
+
+<dubbo:protocol serialization="compactedjava"/>
+
+<dubbo:protocol serialization="nativejava"/>
+
+<dubbo:protocol serialization="json"/>
+
+<dubbo:protocol serialization="fastjson"/>

当然如果升级了Dubbo版本的话,会支持更多的序列化方式。

5.3 升级Dubbo版本(√) +

当然,使用的Dubbo版本是2.5.3,实在是太老了。搜索maven仓库,看到2.5.3版本更新时间是2012年,十年前。

image-20220503122841533

可以选择升级到2.6.x版本。会发现2.6.x版本在序列化方面也做了一些优化。新版本不仅包含了新功能,扩展性也有所提升。但是需要注意,如果是升级2.6.6+版本,需要关注netty版本的变化。

2.6.x 支持JDK8时间API +

在2.6.x版本中,在SerializerFactory 中增加了对JDK8时间API的处理,加入了Java8TimeSerializer以及一系列的HessianHandle。意味着2.6.x版本Dubbo将不再有本文开头遇到的问题。

image-20220503123444697

2.6.x 支持扩展SerializerFactory +

同时SerializerFactory 也提供了一定的扩展性,支持添加你想要的SerializerFactory。如果还有目标序列化方式无法处理的类型,可以自定义SerializerFactory、Serializer,只要将自定义SerializerFactory添加到当前序列化方式的SerializerFactory 中,就可以轻松扩展。在2.5.x上是不支持这种扩展的

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+
// SerializerFactory.java  2.6.x
+public class SerializerFactory extends AbstractSerializerFactory {
+    // 略...
+    
+    protected ArrayList _factories = new ArrayList();
+    // 略...
+    
+    public void addFactory(AbstractSerializerFactory factory) {
+        _factories.add(factory);
+    }
+    
+    public Serializer getSerializer(Class cl) throws HessianProtocolException{
+        Serializer serializer;
+        serializer = (Serializer) _staticSerializerMap.get(cl);
+        if (serializer != null)
+            return serializer;
+
+        if (_cachedSerializerMap != null) {
+            synchronized (_cachedSerializerMap) {
+                serializer = (Serializer) _cachedSerializerMap.get(cl);
+            }
+            if (serializer != null)
+                return serializer;
+        }
+
+        // 遍历扩展的SerializerFactory。尝试由扩展的SerializerFactory提供Serializer
+        // 2.5.3没有这个功能
+        for (int i = 0; serializer == null && _factories != null && i < _factories.size();  i++) {
+            AbstractSerializerFactory factory;
+            factory = (AbstractSerializerFactory) _factories.get(i);
+            serializer = factory.getSerializer(cl);
+        }
+
+        if (serializer != null) {
+        }
+
+        else if (JavaSerializer.getWriteReplace(cl) != null)
+            serializer = new JavaSerializer(cl, _loader);
+        else if (HessianRemoteObject.class.isAssignableFrom(cl))
+            serializer = new RemoteSerializer();
+        //    else if (BurlapRemoteObject.class.isAssignableFrom(cl))
+        //      serializer = new RemoteSerializer();
+        else if (Map.class.isAssignableFrom(cl)) {
+            if (_mapSerializer == null)
+                _mapSerializer = new MapSerializer();
+            serializer = _mapSerializer;
+        }
+        else if (Collection.class.isAssignableFrom(cl)) {
+            if (_collectionSerializer == null) {
+                _collectionSerializer = new CollectionSerializer();
+            }
+            serializer = _collectionSerializer;
+        }
+        else if (cl.isArray())
+            serializer = new ArraySerializer();
+        else if (Throwable.class.isAssignableFrom(cl))
+            serializer = new ThrowableSerializer(cl, getClassLoader());
+        else if (InputStream.class.isAssignableFrom(cl))
+            serializer = new InputStreamSerializer();
+        else if (Iterator.class.isAssignableFrom(cl))
+            serializer = IteratorSerializer.create();
+
+        else if (Enumeration.class.isAssignableFrom(cl))
+            serializer = EnumerationSerializer.create();
+        else if (Calendar.class.isAssignableFrom(cl))
+            serializer = CalendarSerializer.create();
+        else if (Locale.class.isAssignableFrom(cl))
+            serializer = LocaleSerializer.create();
+        else if (Enum.class.isAssignableFrom(cl))
+            serializer = new EnumSerializer(cl);
+        if (serializer == null)
+            serializer = getDefaultSerializer(cl);
+        if (_cachedSerializerMap == null)
+            _cachedSerializerMap = new HashMap(8);
+        
+        synchronized (_cachedSerializerMap) {
+            _cachedSerializerMap.put(cl, serializer);
+        }
+        return serializer;
+    }
+}

5.4 SPI扩展Serialization +

这个方法理论上是完全可行的,但是有些过于大动干戈了。总体思路是:借助Dubbo的SPI机制,对Serialization进行扩展,基于hessian2的SerializerFactory ,对Serializer、Deserializer进行扩展。

6 写在最后 +

最开始计划用一两天的时间写完这篇博客,但是过程中又不断的遇到问题、解决问题,最终花了整个五一假期才完成。通过这个问题,算是对Dubbo框架的序列化这块有了一些了解了。

0%
\ No newline at end of file diff --git a/posts/dubbo-stack-overflow-due-to-jdk8-instant/index.md b/posts/dubbo-stack-overflow-due-to-jdk8-instant/index.md new file mode 100644 index 00000000..c832f24f --- /dev/null +++ b/posts/dubbo-stack-overflow-due-to-jdk8-instant/index.md @@ -0,0 +1,887 @@ +# JDK8日期时间API导致Dubbo调用StackOverflow错误 + + +<!--more--> + + + +## 0 前言 + +博客搭建之后,不知道从何写起。思来想去,决定从记录一些工作中遇到的问题开始。一来对问题有个归档,算是有一些积累,方便日后回顾;二来促使自己遇到问题时能探本朔源,做到知其然知其所以然,不要草草百度了事。不积跬步,无以至千里;不积小流,无以成江海。 + + + +## 1 问题 + +最近项目中使用dubbo(**v2.5.3**)的时候,遇到一个问题:dubbo服务方在对response编码时失败,发生了栈溢出异常。可以通过一个demo([dubbo-stack-overflow-due-to-jkd8-instant](https://github.com/dingyufan/blog-demo-all/tree/main/dubbo-stack-overflow-due-to-jkd8-instant))复现这个异常。 + +![image-20220421171300795](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220421171300795.png) + +看到栈溢出,一般想到的情况要么是递归过深,或是循环调用方法次数过多。为什么会在dubbo序列化编码的时候发生这个异常呢?通过查看源码提交记录,结合异常信息Fail to encode repsonse,并且在异常栈中出现JavaSerializer类,判断**问题出在Dubbo在对Response序列化时无法处理Instant类型对象**。 + +网上搜索到的博客基本上只是说了有这样的问题,但是没有说明具体的原因,都是草草改用Date了事。通过这篇博客,记录一下Instant类型对象引起Dubbo对Response序列化失败导致栈溢出的根本原因以及解决方案。 + + + +## 3 Dubbo序列化Response + +dubbo对不同协议、不同序列化方式处理方式是不一样的。此项目使用默认协议:**dubbo协议**,同时也采用dubbo协议默认序列化方式**:hessian2**。下文的序列化过程分析就是基于此的。 + +```xml +<!-- dubbo协议hessian2序列化方式,是dubbo的默认值。所以在xml配置中写不写这行配置都可以 --> +<dubbo:protocol name="dubbo" serialization="hessian2"/> +``` + +**参考官网文档 [2.4 服务提供方返回调用结果](https://dubbo.apache.org/zh/docs/v2.7/dev/source/service-invoking-process/#24-%E6%9C%8D%E5%8A%A1%E6%8F%90%E4%BE%9B%E6%96%B9%E8%BF%94%E5%9B%9E%E8%B0%83%E7%94%A8%E7%BB%93%E6%9E%9C) **,我们从Dubbo处理返回结果入手。 + + + +### 3.1 ExchangeCodec / DubboCodec + +ExchangeCodec是Dubbo **exchange信息交换层**的编码器。`ExchangeCodec#encode(Channel, ChannelBuffer, Object)`方法是Dubbo对Request和Response进行编码的入口,逻辑很简单,主要是根据消息的类型,交由对应方法进行编码,对于不是自己负责的非Request、Response类型的消息对象,交给父类处理。 + +```java +// ExchangeCodec.java +public void encode(Channel channel, ChannelBuffer buffer, Object msg) throws IOException { + if (msg instanceof Request) { + encodeRequest(channel, buffer, (Request) msg); + } else if (msg instanceof Response) { + // 对response对象进行编码 + encodeResponse(channel, buffer, (Response) msg); + } else { + super.encode(channel, buffer, msg); + } +} +``` + +`ExchangeCodec#encodeResponse(Channel, ChannelBuffer, Response)`方法主要做的就是组装消息写入ChannelBuffer,这样消息就可以发送给调用方。消息两部分组成:**消息头**,包含状态序列化等相关信息的字节数组;**消息体**:Response返回的具体数据转换成的字节数组。 + +```java +// ExchangeCodec.java +protected void encodeResponse(Channel channel, ChannelBuffer buffer, Response res) throws IOException { + try { + // 获取序列化方式* + Serialization serialization = getSerialization(channel); + // 消息头字节数组。长度16 + byte[] header = new byte[HEADER_LENGTH]; + // 消息头 写入魔数 + Bytes.short2bytes(MAGIC, header); + // 消息头 写入序列化器ID信息 + header[2] = serialization.getContentTypeId(); + if (res.isHeartbeat()) header[2] |= FLAG_EVENT; + byte status = res.getStatus(); + // 消息头 写入状态 + header[3] = status; + // 消息头 写入 + Bytes.long2bytes(res.getId(), header, 4); + + int savedWriteIndex = buffer.writerIndex(); + buffer.writerIndex(savedWriteIndex + HEADER_LENGTH); + ChannelBufferOutputStream bos = new ChannelBufferOutputStream(buffer); + // 得到序列化器* + ObjectOutput out = serialization.serialize(channel.getUrl(), bos); + if (status == Response.OK) { + if (res.isHeartbeat()) { + encodeHeartbeatData(channel, out, res.getResult()); + } else { + // 对调用结果进行序列化* + // 这个方法会调用子类DubboCodec的override方法实现 + encodeResponseData(channel, out, res.getResult()); + } + } + else out.writeUTF(res.getErrorMessage()); + out.flushBuffer(); + bos.flush(); + bos.close(); + // 消息体字节长度 + int len = bos.writtenBytes(); + checkPayload(channel, len); + Bytes.int2bytes(len, header, 12); + // 先写完消息体,再写消息头,再设置writeIndex位置 + buffer.writerIndex(savedWriteIndex); + buffer.writeBytes(header); + buffer.writerIndex(savedWriteIndex + HEADER_LENGTH + len); + } catch (Throwable t) { + // 略... + } +} +``` + +在这里先不关注消息头、ChannelBuffer等操作,这次主要看序列化相关的几个步骤: + +#### 3.1.1 获取序列化方式 + +这里实际是父类中的方法`AbstractCodec#getSerialization(Channel)`方法。这一步是利用Dubbo SPI机制,实例化一个序列化方式对象。具体过程不是本次的重点,只要理解这一步会根据`<dubbo:protocol>`配置的序列化方式返回对应的序列化方式对象。比如这里得到的就是Hessian2Serialization对象。 + +#### 3.1.2 得到序列化器 + +这里调用`Serialization#serialize(URL, OutputStream)`方法,得到一个序列化器。hessian2序列化提供的序列化器是Hessian2ObjectOutput对象,通过构造函数传入了`ExchangeCodec#encodeResponse(Channel, ChannelBuffer, Response)`方法中定义的包装了buffer的bos。这样Hessian2ObjectOutput对象可以将具体数据写入到buffer中。 + +```java +public class Hessian2Serialization implements Serialization { + + public static final byte ID = 2; + + public byte getContentTypeId() { + return ID; + } + + public String getContentType() { + return "x-application/hessian2"; + } + + public ObjectOutput serialize(URL url, OutputStream out) throws IOException { + // 序列化器对象 + return new Hessian2ObjectOutput(out); + } + + public ObjectInput deserialize(URL url, InputStream is) throws IOException { + return new Hessian2ObjectInput(is); + } +} +``` + +#### 3.1.3 对调用结果进行序列化 + +配置中指定的是dubbo协议,这里实际会被调用的是`DubboCodec#encodeResponseData(Channel, ObjectOutput, Object)`重写方法。DubboCodec继承自ExchangeCodec,是Dubbo **protocol远程调用层**的编码器,主要负责实现协议层面的Response数据编码。 + +```java +// DubboCodec.java +@Override +protected void encodeResponseData(Channel channel, ObjectOutput out, Object data) throws IOException { + Result result = (Result) data; + + Throwable th = result.getException(); + if (th == null) { + Object ret = result.getValue(); + if (ret == null) { + out.writeByte(RESPONSE_NULL_VALUE); + } else { + // 序列化器中写入response数据标志位 + out.writeByte(RESPONSE_VALUE); + // 序列化器中写入正常返回的对象 + out.writeObject(ret); + } + } else { + out.writeByte(RESPONSE_WITH_EXCEPTION); + out.writeObject(th); + } +} +``` + + + +### 3.2 Hessian2ObjectOutput + +在3.1.2中提到过,得到的序列化器是Hessian2ObjectOutput,实现了ObjectOutput接口。对于常见的简单数据对象,ObjectOutput接口中都定义了相应处理方法,同时还定义writeObject(Object)方法处理复杂对象的序列化。 + +Hessian2ObjectOutput实现了接口定义的各个方法,通过一个Hessian2Output对象,完成各种数据类型hessian2序列化的具体操作。 + +```java +public class Hessian2ObjectOutput implements ObjectOutput { + private final Hessian2Output mH2o; + + public Hessian2ObjectOutput(OutputStream os) { + mH2o = new Hessian2Output(os); + mH2o.setSerializerFactory(Hessian2SerializerFactory.SERIALIZER_FACTORY); + } + + public void writeBool(boolean v) throws IOException { + mH2o.writeBoolean(v); + } + // 略... + + public void writeObject(Object obj) throws IOException { + mH2o.writeObject(obj); + } + + public void flushBuffer() throws IOException { + mH2o.flushBuffer(); + } +} +``` + +**`Hessian2ObjectOutput#writeObject(Object)`方法是response数据对象序列化的入口**,数据对象序列化的操作从这一步正式开始。这个方法中调用的是`Hessian2Output#writeObject(Object)`方法。 + + + +### 3.3 Hessian2Output + +注意Hessian2Output的方法,如`writeBoolean(boolean)`,对值进行编码写入的时候,没有直接写入` _os`,而是维护一个字节数组 `_buffer`和 `_offset`值。回头看3.1中的`ExchangeCodec#encodeResponse(Channel, ChannelBuffer, Response)`方法,会调用`out.flushBuffer()`,通过Hessian2ObjectOutput来调用`Hessian2Output#flushBuffer()`方法,将 `_buffer`内容写入 `_os` ,即写入 `bos`,即ChannelBuffer对象`buffer`。 + +`Hessian2Output#writeObject(Object)`方法不像其他方法,没有直接向`_buffer`写入具体的字节,而是尝试获取一个Serializer对象,完成对象的序列化。 + +```java +public class Hessian2Output extends AbstractHessianOutput implements Hessian2Constants { + protected OutputStream _os; + private final byte []_buffer = new byte[SIZE]; + // 略... + + public Hessian2Output(OutputStream os) { + _os = os; + } + // 略... + + public void writeBoolean(boolean value) throws IOException { + if (SIZE < _offset + 16) + flush(); + + if (value) + // 不直接写入_os + _buffer[_offset++] = (byte) 'T'; + else + _buffer[_offset++] = (byte) 'F'; + } + + public void writeObject(Object object) throws IOException { + if (object == null) { + writeNull(); + return; + } + + Serializer serializer; + // 获得序列化工厂类,获得一个Serializer对象 + serializer = findSerializerFactory().getSerializer(object.getClass()); + // 完成对象的序列化 + serializer.writeObject(object, this); + } + + public final void flushBuffer() throws IOException { + int offset = _offset; + if (! _isStreaming && offset > 0) { + _offset = 0; + _os.write(_buffer, 0, offset); + } else if (_isStreaming && offset > 3) { + int len = offset - 3; + _buffer[0] = 'p'; + _buffer[1] = (byte) (len >> 8); + _buffer[2] = (byte) len; + _offset = 3; + + _os.write(_buffer, 0, offset); + } + } +} + +``` + +findSerializerFactory()会从父类获得一个SerializerFactory对象,回头从3.2看到,在Hessian2ObjectOutput中,为Hessian2Output指定SerializerFactory 具体对象为`Hessian2SerializerFactory.SERIALIZER_FACTORY`。我们主要来看getSerializer(object.getClass()) + + + +### 3.4 SerializerFactory / Hessian2SerializerFactory + +Hessian2SerializerFactory相对比较简单,只是实现了getClassLoader() 方法,然后在公共静态常量量中构造了一个Hessian2SerializerFactory对象供使用。 + +```java +public class Hessian2SerializerFactory extends SerializerFactory { + + public static final SerializerFactory SERIALIZER_FACTORY = new Hessian2SerializerFactory(); + + private Hessian2SerializerFactory() { + } + + @Override + public ClassLoader getClassLoader() { + return Thread.currentThread().getContextClassLoader(); + } + +} +``` + +他父类SerializerFactory功能更加丰富。`SerializerFactory#getSerializer(Class)`方法比较长,但是其实整体逻辑并不复杂:**根据类型Class返回相应的Serializer实例,如果类型和方法中列举的都不匹配,则会返回一个默认的Serializer对象,即 JavaSerializer对象**。 + +```java +public class SerializerFactory extends AbstractSerializerFactory { + // 略... + + public Serializer getSerializer(Class cl) throws HessianProtocolException { + Serializer serializer; + serializer = (Serializer) _staticSerializerMap.get(cl); + + if (serializer != null) + return serializer; + + if (_cachedSerializerMap != null) { + synchronized (_cachedSerializerMap) { + serializer = (Serializer) _cachedSerializerMap.get(cl); + } + if (serializer != null) + return serializer; + } + + for (int i = 0; serializer == null && _factories != null && i < _factories.size(); i++) { + AbstractSerializerFactory factory; + factory = (AbstractSerializerFactory) _factories.get(i); + serializer = factory.getSerializer(cl); + } + + if (serializer != null) { + + } else if (JavaSerializer.getWriteReplace(cl) != null) + serializer = new JavaSerializer(cl, _loader); + else if (HessianRemoteObject.class.isAssignableFrom(cl)) + serializer = new RemoteSerializer(); +// else if (BurlapRemoteObject.class.isAssignableFrom(cl)) +// serializer = new RemoteSerializer(); + else if (Map.class.isAssignableFrom(cl)) { + if (_mapSerializer == null) + _mapSerializer = new MapSerializer(); + serializer = _mapSerializer; + } + else if (Collection.class.isAssignableFrom(cl)) { + if (_collectionSerializer == null) { + _collectionSerializer = new CollectionSerializer(); + } + serializer = _collectionSerializer; + } + else if (cl.isArray()) + serializer = new ArraySerializer(); + else if (Throwable.class.isAssignableFrom(cl)) + serializer = new ThrowableSerializer(cl, getClassLoader()); + else if (InputStream.class.isAssignableFrom(cl)) + serializer = new InputStreamSerializer(); + else if (Iterator.class.isAssignableFrom(cl)) + serializer = IteratorSerializer.create(); + else if (Enumeration.class.isAssignableFrom(cl)) + serializer = EnumerationSerializer.create(); + else if (Calendar.class.isAssignableFrom(cl)) + serializer = CalendarSerializer.create(); + else if (Locale.class.isAssignableFrom(cl)) + serializer = LocaleSerializer.create(); + else if (Enum.class.isAssignableFrom(cl)) + serializer = new EnumSerializer(cl); + + if (serializer == null) + // 都不符合以上类似,则返回默认的serializer + serializer = getDefaultSerializer(cl); + + if (_cachedSerializerMap == null) + _cachedSerializerMap = new HashMap(8); + + synchronized (_cachedSerializerMap) { + // 缓存这个类型对应的serializer,下次直接从缓存获取 + _cachedSerializerMap.put(cl, serializer); + } + + return serializer; + } + + protected Serializer getDefaultSerializer(Class cl) { + if (_defaultSerializer != null) + return _defaultSerializer; + if (!Serializable.class.isAssignableFrom(cl) && ! _isAllowNonSerializable) { + throw new IllegalStateException("Serialized class " + cl.getName() + " must implement java.io.Serializable"); + } + + return new JavaSerializer(cl, _loader); + } +} +``` + +对于demo中的返回的数据对象DemoDTO,很显然就是会得到一个JavaSerializer,通过它的完成序列化。 + + + +### 3.5 JavaSerializer + +回顾上文3.3节中,serializer对象完成序列哈的入库也是writeObject()方法。来看`JavaSerializer#writeObject(Object, AbstractHessianOutput)`方法。这里面序列化分两种情况:一是要序列化的对象有writeReplce()方法的,直接调用writeReplce()方法完成序列化;而是常规的使用静态类FieldSerializer序列化。 + +```java +// JavaSerializer.java +public void writeObject(Object obj, AbstractHessianOutput out) throws IOException { + if (out.addRef(obj)) { + return; + } + + Class cl = obj.getClass(); + try { + // 调用序列化对象的writeReplace方法完成序列化 + if (_writeReplace != null) { + Object repl; + if (_writeReplaceFactory != null) + repl = _writeReplace.invoke(_writeReplaceFactory, obj); + else + repl = _writeReplace.invoke(obj); + + out.removeRef(obj); + out.writeObject(repl); + out.replaceRef(repl, obj); + return; + } + } catch (RuntimeException e) { + throw e; + } catch (Exception e) { + // log.log(Level.FINE, e.toString(), e); + throw new RuntimeException(e); + } + + // hessian2会写入对象开始标记;hessian会写map开始标记并返回-2 + int ref = out.writeObjectBegin(cl.getName()); + + if (ref < -1) { + // 这种情况看起来是兼容hessian序列化的,而不是hessian2序列化的 + // hessian序列化是把对象当做map处理,所以writeObject10()方法里会循环写入字段名称然后马上字段序列化,最后还会写一个map结束标志 + writeObject10(obj, out); + } + else { + if (ref == -1) { + // 写入对象包含字段长度,以及各个类型字段信息 + writeDefinition20(out); + // 类型信息编码处理 + out.writeObjectBegin(cl.getName()); + } + // 这里会开始会遍历序列化对象包含的各个字段 + writeInstance(obj, out); + } +} +``` + + + +#### 3.5.1 writeReplace方法 + +JavaSerializer 使用一个Method变量 `_writeReplace`保存writeReplace()方法,这个方法是从那里来的呢?在JavaSerializer构造方法中,会调用一个私有方法`introspectWriteReplace(Class, ClassLoader)`。它会从两个地方找writeReplace()方法:**一是序列化类相应的HessianSerializer类;二是序列化类本身**。但是要注意,HessianSerializer类的writeReplace方法签名 和 序列化类本身writeReplace方法签名 是有区别的。 + +```java +// JavaSerializer.java +private void introspectWriteReplace(Class cl, ClassLoader loader) { + try { + String className = cl.getName() + "HessianSerializer"; + // 加载 序列化类类名+HessianSerializer的类。例如demo中的DemoDTO类,则会 + // 尝试加载cn.dingyufan.blog.demo.dubbostackoverflowduetojkd8instantprovider.api.dto.DemoDTOHessianSerializer类 + Class serializerClass = Class.forName(className, false, loader); + // 实例化相应的HessianSerializer类型 + Object serializerObject = serializerClass.newInstance(); + // 反射获取WriteReplace方法 + Method writeReplace = getWriteReplace(serializerClass, cl); + + if (writeReplace != null) { + _writeReplaceFactory = serializerObject; + _writeReplace = writeReplace; + return; + } + } catch (ClassNotFoundException e) { + // 没有相应HessianSerializer类就会抛出ClassNotFoundException,这个异常不处理,后面会再次尝试从序列化类本身寻找 + } catch (Exception e) { + log.log(Level.FINER, e.toString(), e); + } + // 从序列化类本身找writeReplace方法 + _writeReplace = getWriteReplace(cl); +} + +// 从要序列化的类型寻找 方法名为writeReplace、入参为空 的方法 +protected static Method getWriteReplace(Class cl) { + for (; cl != null; cl = cl.getSuperclass()) { + Method []methods = cl.getDeclaredMethods(); + + for (int i = 0; i < methods.length; i++) { + Method method = methods[i]; + + if (method.getName().equals("writeReplace") && + method.getParameterTypes().length == 0) + return method; + } + } + + return null; +} + +// 从相应HessianSerializer类找到 方法名为writeReplace、 入参有且仅为要序列化类型 的方法 +protected Method getWriteReplace(Class cl, Class param) +{ + for (; cl != null; cl = cl.getSuperclass()) { + for (Method method : cl.getDeclaredMethods()) { + if (method.getName().equals("writeReplace") + && method.getParameterTypes().length == 1 + && param.equals(method.getParameterTypes()[0])) + return method; + } + } + + return null; +} +``` + +writeReplace方法提供了一种扩展序列化的方式,对与Dubbo暂不支持的类型,可以通过这个扩展点,返回一个自定义的类型的对象,替代原本需要序列化的对象,然后对自定义的对象进行序列化。 + +但是有个问题,**如果producer通过writeReplace方法自定义一个对象来序列化,consumer反序列化时,怎么把自定义的对象转回原本类型呢?**这里不展开讲,但是办法肯定是有的,答案就是**readResolve方法** 。: ) + + + +#### 3.5.2 FieldSerializer + +对于没有writeReplace方法的类型,就继续走hessian2设定的序列化逻辑。从`JavaSerializer#writeInstance(Object, AbstractHessianOutput)`继续。 + +```java +// JavaSerializer.java +public void writeInstance(Object obj, AbstractHessianOutput out) throws IOException { + for (int i = 0; i < _fields.length; i++) { + Field field = _fields[i]; + // _fieldSerializers是数组 FieldSerializer[] + // 是在JavaSerializer构造方法中,根据序列化类中各个字段类型,依次创建FieldSerializer(或子类)的实例存入 + _fieldSerializers[i].serialize(out, obj, field); + } +} + +// JavaSerializer构造方法中调用 +// 根据序列化类中各个字段类型,返回对应类型的FieldSerializer(或子类)实例 +private static FieldSerializer getFieldSerializer(Class type) +{ + if (int.class.equals(type) + || byte.class.equals(type) + || short.class.equals(type) + || int.class.equals(type)) { + return IntFieldSerializer.SER; + } + else if (long.class.equals(type)) { + return LongFieldSerializer.SER; + } + else if (double.class.equals(type) || + float.class.equals(type)) { + return DoubleFieldSerializer.SER; + } + else if (boolean.class.equals(type)) { + return BooleanFieldSerializer.SER; + } + else if (String.class.equals(type)) { + return StringFieldSerializer.SER; + } + else if (java.util.Date.class.equals(type) + || java.sql.Date.class.equals(type) + || java.sql.Timestamp.class.equals(type) + || java.sql.Time.class.equals(type)) { + return DateFieldSerializer.SER; + } + else + return FieldSerializer.SER; +} +``` + +在`JavaSerializer#writeObject(Object, AbstractHessianOutput)`方法中,写完类型信息、类型字段长度、各字段名称后,就会通过writeInstance方法依次序列化类型中的各字段。字段的序列化,就是由静态类FieldSerializer类完成。 + +比如DemoDTO中的String类型字段,就会有FieldSerializer的子类StringFieldSerializer,完成`String consumer`字段序列化。 + +```java +// JavaSerializer.java +static class StringFieldSerializer extends FieldSerializer { + static final FieldSerializer SER = new StringFieldSerializer(); + + void serialize(AbstractHessianOutput out, Object obj, Field field) throws IOException { + String value = null; + try { + value = (String) field.get(obj); + } catch (IllegalAccessException e) { + log.log(Level.FINE, e.toString(), e); + } + // 调用Hessian2Output类的writeString方法,值写入输出流 + out.writeString(value); + } +} +``` + +但是DemoDTO中的Instant类型字段,在`JavaSerializer#getFieldSerializer(Class)`方法中没有对应类型的,得到的是默认的FieldSerializer实例。 + +```java +static class FieldSerializer { + static final FieldSerializer SER = new FieldSerializer(); + + void serialize(AbstractHessianOutput out, Object obj, Field field) throws IOException { + Object value = null; + + try { + value = field.get(obj); + } catch (IllegalAccessException e) { + log.log(Level.FINE, e.toString(), e); + } + + try { + // 又回到 Hessian2Output#writeObject(Object)方法 + // 再次获得序列化工厂类Hessian2SerializerFactory,获得一个Serializer对象,又通过Serializer对象序列化 + // 这里有递归的感觉了 + out.writeObject(value); + } catch (RuntimeException e) { + throw new RuntimeException(e.getMessage() + "\n Java field: " + field, e); + } catch (IOException e) { + throw new IOExceptionWrapper(e.getMessage() + "\n Java field: " + field, e); + } + } +} +``` + + + +综上所述,Hessian2序列化的核心的几个类是:Hessian2Output、SerializerFactory(Hessian2SerializerFactory) 、JavaSerializer和FieldSerializer。 + +整体思路是: + +- `Hessian2Output#writeObject(Object)`:对象 序列化的入口 +- `SerializerFactory#getSerializer(Class)`:根据对象类型,找到对应类型的Serializer完成对象序列化,无对应类型的交给JavaSerializer +- `JavaSerializer#getFieldSerializer(Class)`:完成对象类型信息的序列化,然后依次序列化各个字段,为各字段找到对应类型的FieldSerializer子类完成字段序列化,无对应类型的字段交给FieldSerializer。 +- `FieldSerializer#serialize(AbstractHessianOutput, Object, Field)`:FieldSerializer会把字段值再当做一个对象,再走一遍整个对象序列化过程。 + +这个设计想法是蛮好的,**简单对象直接有对应类序列化,没有对应序列化方法的把对象的序列化拆解成各个字段的序列化。在理想的情况下,所有对象都可以通过不断的拆解,形成简单的对象,然后有相应的Serializer或FieldSerializer完成序列化**。就好像像复杂问题拆解成数个简单问题,也有点像庖丁解牛的感觉。 + + + +### 3.6 序列化调用栈 + +了解dubbo在hessian2序列化方式时的逻辑之后,再来看本文开头的异常。上述大段文字内容繁多,很难串联起来,我们根据hessian2的序列化逻辑,整理整个序列化过程的调用栈,当然也可以直接打断点看 + +```java +ExchangeCodec#encode + ->ExchangeCodec#encodeResponseData + ->DubboCodec#encodeResponseData + ->Hessian2ObjectOutput#writeObject + // DemoDTO类型开始序列化 + ->Hessian2Output#writeObject + ->SerializerFactory#getSerializer + ->JavaSerializer#writeObject + ->JavaSerializer#writeInstance + ->FieldSerializer#serialize + // Instant类型开始序列化 + ->Hessian2Output#writeObject + ->SerializerFactory#getSerializer + ->JavaSerializer#writeObject + // Ser类型开始序列化(Instant的writeReplace方法产生的替代对象) + ->Hessian2Output#writeObject + ->SerializerFactory#getSerializer + ->JavaSerializer#writeObject + ->JavaSerializer#writeInstance + ->FieldSerializer#serialize + // Instant类型开始序列化(Ser类中的object字段) + ->Hessian2Output#writeObject + ->SerializerFactory#getSerializer + ->JavaSerializer#writeObject + // Ser(Instant的writeReplace方法产生的替代类) + ->Hessian2Output#writeObject + -> ...... +``` + +通过调用栈,是不是一眼就发现问题所在了?这个调用栈倒序来看,可以发现正好开头是异常栈的顺序。 + + + +## 4 结论 + +在Dubbo反序列化的过程中,产生的栈溢出的原因是: + +**Dubbo(v2.5.3)没有相应的Serializer或FieldSerializer能处理Instant数据类型,并且Instant正好有writeReplace方法,返回的替代类中的object字段又包含Instant本身。导致需要序列化的对象在Instant、Ser之间反复横跳,不断调用序列化方法逻辑,最终方法栈满,导致栈溢出错误。** + +结合网上信息,可以发现不只是Instant类,在JDK8新增的时间API,如LocalDateTime、Period等,都会和Instant有一样的问题,也是一样的原因。 + + + +## 5 解决方案 + +知道了问题的原因之后,就可以对症下药了。本人水平有限,暂时想到以下几种方案: + +### 5.1 使用Date类型 + +首先最简单的方式,就是不使用JDK8中引入的时间API,改为使用Date。 + +这种方式没有直接解决问题,而是有些逃避问题了。 + + + +### 5.1 writeReplace / readResolve 方法 + +修改Instant的writeReplace方法可能不是很方便,我们可以为DemoDTO添加writeReplace方法。总体思路的话就是:provider把Instant拆解成支持的数据类型,到了consumer再转化成Instant。 + +```java +public class DemoDTO implements Serializable { + + private static final long serialVersionUID = -311647434535770294L; + + private String consumer; + private Instant instant; + + + // 序列化时JavaSerializer会调用此方法,然后序列化替代类对象repl + private DemoDTOHandle writeReplace() { + System.out.println("call writeReplace"); + DemoDTOHandle repl = new DemoDTOHandle(); + repl.setConsumer(consumer); + if (instant != null) { + repl.setSeconds(instant.getEpochSecond()); + repl.setNanos(instant.getNano()); + } + return repl; + } + + // getter,setter略... +} +``` + +DemoDTOHandle中Instant拆成seconds、nanos字段存储,然后会代替DemoDTO进行序列化传输。代码如下。 + +```java +public class DemoDTOHandle implements HessianHandle, Serializable { + + private static final long serialVersionUID = -8532997896892606136L; + + private String consumer; + + private long seconds; + private int nanos; + + // 反序列化时,JavaDeserializer会调用此方法,重新组装实际的类 + private DemoDTO readResolve() { + System.out.println("call readResolve"); + DemoDTO dto = new DemoDTO(); + dto.setConsumer(consumer); + dto.setInstant(Instant.ofEpochSecond(seconds, nanos)); + return dto; + } + + // getter,setter略... +} +``` + +DemoDTOHandle为什么要实现HessianHandle接口呢?答案在`SerializerFactory#getObjectDeserializer(String, Class)`中,如果不是HessianHandle实现类的话,是得不到DemoDTOHandle相关的Deserializer,只有DemoDTO相关的Deserializer,那么就无法使用DemoDTOHandle中的readResolve方法转换回对象了。 + +![image-20220504103337575](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220504103337575.png) + + + +### 5.2 修改序列化方式 + +之前提到,使用的是dubbo协议、hessian2序列化方式。事实上dubbo协议同样可以使用其他多种序列化方式。下面列举的序列化方式,都可以支持JDK8时间API的序列化处理。 + +```xml +<dubbo:protocol serialization="java"/> + +<dubbo:protocol serialization="compactedjava"/> + +<dubbo:protocol serialization="nativejava"/> + +<dubbo:protocol serialization="json"/> + +<dubbo:protocol serialization="fastjson"/> +``` + +当然如果升级了Dubbo版本的话,会支持更多的序列化方式。 + + + +### 5.3 升级Dubbo版本(√) + +当然,使用的Dubbo版本是2.5.3,实在是太老了。搜索maven仓库,看到2.5.3版本更新时间是2012年,十年前。 + +![image-20220503122841533](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220503122841533.png) + +**可以选择升级到2.6.x版本**。会发现2.6.x版本在序列化方面也做了一些优化。新版本不仅包含了新功能,扩展性也有所提升。但是需要注意,如果是升级2.6.6+版本,需要关注netty版本的变化。 + +#### 2.6.x 支持JDK8时间API + +在2.6.x版本中,在SerializerFactory 中增加了对JDK8时间API的处理,加入了Java8TimeSerializer以及一系列的HessianHandle。**意味着2.6.x版本Dubbo将不再有本文开头遇到的问题。** + +![image-20220503123444697](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220503123444697.png) + +#### 2.6.x 支持扩展SerializerFactory + +同时SerializerFactory 也提供了一定的扩展性,支持添加你想要的SerializerFactory。如果还有目标序列化方式无法处理的类型,可以自定义SerializerFactory、Serializer,只要将自定义SerializerFactory添加到当前序列化方式的SerializerFactory 中,就可以轻松扩展。**在2.5.x上是不支持这种扩展的**。 + +```java +// SerializerFactory.java 2.6.x +public class SerializerFactory extends AbstractSerializerFactory { + // 略... + + protected ArrayList _factories = new ArrayList(); + // 略... + + public void addFactory(AbstractSerializerFactory factory) { + _factories.add(factory); + } + + public Serializer getSerializer(Class cl) throws HessianProtocolException{ + Serializer serializer; + serializer = (Serializer) _staticSerializerMap.get(cl); + if (serializer != null) + return serializer; + + if (_cachedSerializerMap != null) { + synchronized (_cachedSerializerMap) { + serializer = (Serializer) _cachedSerializerMap.get(cl); + } + if (serializer != null) + return serializer; + } + + // 遍历扩展的SerializerFactory。尝试由扩展的SerializerFactory提供Serializer + // 2.5.3没有这个功能 + for (int i = 0; serializer == null && _factories != null && i < _factories.size(); i++) { + AbstractSerializerFactory factory; + factory = (AbstractSerializerFactory) _factories.get(i); + serializer = factory.getSerializer(cl); + } + + if (serializer != null) { + } + + else if (JavaSerializer.getWriteReplace(cl) != null) + serializer = new JavaSerializer(cl, _loader); + else if (HessianRemoteObject.class.isAssignableFrom(cl)) + serializer = new RemoteSerializer(); + // else if (BurlapRemoteObject.class.isAssignableFrom(cl)) + // serializer = new RemoteSerializer(); + else if (Map.class.isAssignableFrom(cl)) { + if (_mapSerializer == null) + _mapSerializer = new MapSerializer(); + serializer = _mapSerializer; + } + else if (Collection.class.isAssignableFrom(cl)) { + if (_collectionSerializer == null) { + _collectionSerializer = new CollectionSerializer(); + } + serializer = _collectionSerializer; + } + else if (cl.isArray()) + serializer = new ArraySerializer(); + else if (Throwable.class.isAssignableFrom(cl)) + serializer = new ThrowableSerializer(cl, getClassLoader()); + else if (InputStream.class.isAssignableFrom(cl)) + serializer = new InputStreamSerializer(); + else if (Iterator.class.isAssignableFrom(cl)) + serializer = IteratorSerializer.create(); + + else if (Enumeration.class.isAssignableFrom(cl)) + serializer = EnumerationSerializer.create(); + else if (Calendar.class.isAssignableFrom(cl)) + serializer = CalendarSerializer.create(); + else if (Locale.class.isAssignableFrom(cl)) + serializer = LocaleSerializer.create(); + else if (Enum.class.isAssignableFrom(cl)) + serializer = new EnumSerializer(cl); + if (serializer == null) + serializer = getDefaultSerializer(cl); + if (_cachedSerializerMap == null) + _cachedSerializerMap = new HashMap(8); + + synchronized (_cachedSerializerMap) { + _cachedSerializerMap.put(cl, serializer); + } + return serializer; + } +} +``` + + + +### 5.4 SPI扩展Serialization + +这个方法理论上是完全可行的,但是有些过于大动干戈了。总体思路是:借助Dubbo的SPI机制,对Serialization进行扩展,基于hessian2的SerializerFactory ,对Serializer、Deserializer进行扩展。 + + + +## 6 写在最后 + +最开始计划用一两天的时间写完这篇博客,但是过程中又不断的遇到问题、解决问题,最终花了整个五一假期才完成。通过这个问题,算是对Dubbo框架的序列化这块有了一些了解了。 + + + +--- + +> 作者: +> URL: https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/ + diff --git "a/posts/githubpages-hugo\346\220\255\345\273\272\344\270\252\344\272\272\345\215\232\345\256\242/index.html" "b/posts/githubpages-hugo\346\220\255\345\273\272\344\270\252\344\272\272\345\215\232\345\256\242/index.html" new file mode 100644 index 00000000..fe4ab0dd --- /dev/null +++ "b/posts/githubpages-hugo\346\220\255\345\273\272\344\270\252\344\272\272\345\215\232\345\256\242/index.html" @@ -0,0 +1,142 @@ +GitHub Pages + Hugo搭建个人博客 - dingyufan's blog +

GitHub Pages + Hugo搭建个人博客

0 前言 +

去年年底开始,就一直有写博客的想法,一方面来沉淀自己的技术,另一方面也希望能对他人有些小小的帮助。如今各种平台非常的多,但是不是广告铺天盖地,就是样式固定,不够个性化。最终决定借助Github Pages来搭建一个属于自己的个性化博客。

Github Pages 是由GitHub提供的一个免费构建网站的方式。通过创建名为github用户名.github.io的仓库,上传文件后,就可以通过 http://github用户名.github.io访问你的网站。

GIthub Pages默认使用Jekyll构建静态网站,由于Jekyll依赖于Ruby,并且个人对Ruby完全不熟悉,所以最终选择了基于Golang的静态网站生成器Hugo来生成静态网站,然后托管在Github上。

1 创建github仓库 +

创建一个 名为github用户名.github.io的仓库,github用户名填写自己的GIthub用户名。比如我,仓库名就是dingyufan.github.io

create-repository

创建之后,是一个空仓库,先放着暂时不管。

2 安装Golang +

Windows系统安装Golang非常简单,下载msi安装包,直接安装即可。默认会安装到 C:\Go 目录下,同时C:\Go\bin 目录也会被添加到PATH 环境变量中。可以通过go version验证安装的版本。目前最新版本应该是go1.18,我是之前安装的老版本。

微信截图_20220410185748

3 安装hugo +

创建文件夹C:\HugoC:\Hugo\binC:\Hugo\sites。其中bin目录用来存放hugo可执行程序,sites目录则用来保存站点。

微信截图_20220409125654

从Github下载Hugo发布的安装包,注意要使用extended版本,我下载的就是 hugo_extended_0.96.0_Windows-64bit.zip

微信截图_20220409130146

将下载的hugo解压,并把解压得到的内容放到 C:\Hugo\bin下。

微信截图_20220409125710

为了方便使用hugo.exe,我们把C:\Hugo\bin添加到环境变量PATH中。

image-20220410191852967

4 创建网站 +

准备完全后,就可以开始构建网站了。进入C:\Hugo\sites目录,使用hugo new site 网站名创建网站。

注意,为了方便关联Github仓库,建议网站名与Github仓库名一致,比如我站点名、Github仓库名都为 dingyufan.github.io。

微信截图_20220409130406

5 修改主题 +

Hugo拥有非常丰富的主题,可以实现各种个性化需求。我这次选择的主题是 FixIt

安装主题的方式有很多

  • 一:可以直接下载主题,放置在站点的 themes文件夹下。需要注意的是,下载的主题要放在themes下和主题同名的文件夹内。比如FixIt,放置在C:\Hugo\sites\dingyufan.github.io\themes\FixIt中,文件夹不存在则自行创建;

  • 二:可以把主题克隆到 themes 目录。

    1
    +2
    +
    cd C:/Hugo/sites/dingyufan.github.io
    +git clone https://github.com/Lruihao/FixIt.git themes/FixIt
  • 三:初始化仓库,并将主题仓库作为你的网站目录的子模块

    1
    +2
    +3
    +
    cd C:/Hugo/sites/dingyufan.github.io
    +git init
    +git submodule add https://github.com/Lruihao/FixIt.git themes/FixIt

注意:推荐使用第三种方式!推荐使用第三种方式!推荐使用第三种方式!

否则之后Github Pages在构建时会有异常!No url found for submodule path 'themes/FixIt' in .gitmodules

安装主题之后,如何选择使用该主题呢?修改站点下配置文件config.toml

image-20220410195927557

修改其中的 theme 选项,同时可以根据FitIt主题说明,设置更多个性化配置。

我的config.toml文件基础配置如下:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+
baseURL = "http://dingyufan.github.io/"
+# [en, zh-cn, fr, ...] 设置默认的语言
+defaultContentLanguage = "zh-cn"
+# 网站语言,仅在这里 CN 大写
+languageCode = "zh-CN"
+# 是否包括中日韩文字
+hasCJKLanguage = true
+# 网站标题
+title = "我的全新 Hugo 网站"
+# 文章发布位置
+publishDir = "docs"
+
+# 更改使用 Hugo 构建网站时使用的默认主题
+theme = "FixIt"
+
+[params]
+  # FixIt 主题版本
+  version = "0.2.X"
+
+[menu]
+  [[menu.main]]
+    identifier = "posts"
+    # 你可以在名称(允许 HTML 格式)之前添加其他信息,例如图标
+    pre = ""
+    # 你可以在名称(允许 HTML 格式)之后添加其他信息,例如图标
+    post = ""
+    name = "文章"
+    url = "/posts/"
+    # 当你将鼠标悬停在此菜单链接上时,将显示的标题
+    title = ""
+    weight = 1
+  [[menu.main]]
+    identifier = "categories"
+    pre = ""
+    post = ""
+    name = "分类"
+    url = "/categories/"
+    title = ""
+    weight = 2
+  [[menu.main]]
+    identifier = "tags"
+    pre = ""
+    post = ""
+    name = "标签"
+    url = "/tags/"
+    title = ""
+    weight = 3
+
+# Hugo 解析文档的配置
+[markup]
+  # 语法高亮设置 (https://gohugo.io/content-management/syntax-highlighting)
+  [markup.highlight]
+    # false 是必要的设置 (https://github.com/Lruihao/FixIt/issues/43)
+    noClasses = false

6 写文章 +

创建文章。hugo new posts/文件名.md, 会在站点的 content/post路径下创建一个md文件。这就是要写的博文。

微信截图_20220409191339

注意,默认创建的md文件是草稿。草稿在构建网站时是会被忽略的。所以一定要在发布前,修改文件头中 draft为false

在里面写一行 hello github pages

微信截图_20220409191751

可以通过hugo serve命令启动本地预览,通过localhost:1313即可访问预览。

微信截图_20220409191826

看到预览效果

微信截图_20220409191900

7 发布网站 +

Hugo默认会把构建后的网站放在 public 文件夹下,但是为了方用github统一管理 发布前、后的内容,我想要将构建后网站路径,修改为放在docs文件夹下。

可以通过-d docs指定构建后放在docs文件夹下。也可以在config.toml中添加一行配置publishDir = "docs",这样就不需要在构建时使用 -d ,直接执行 hugo就可以完成侯建并放入docs文件夹。

微信截图_20220409191950

构建网站之后,需要将网站托管到Github上,即 上传到刚开始创建的空仓库里。

1
+2
+3
+4
+5
+6
+
git init
+git add -A
+git commit -m 'init'
+git branch -M main
+git remote add origin git@githubcom:dingyufan/dingyufan.github.io.git
+git push -u origin main

8 Github Pages配置 +

提交代码之后,需要修改Github Pages配置。指定Github Pages发布docs文件夹下的内容。

image-20220410202202488

这样,仓库里的内容就是hugo生成的site的全部内容,docs文件夹下则是构建后的静态页面。这样可以对这个site完整的进行版本控制。

9 绑定域名 +

在完成以上步骤后,已经可以通过 http://dingyufan.github.io访问到网站了。

Github Pages还支持自定义域名。我希望通能过自己的域名 http://blog.dingyufan.cn 访问

image-20220410202804130

配置后,要在域名注册商那里修改 域名解析规则。添加CNAME记录类型。

image-20220410203010269

待解析生效之后,即可通过自定义域名访问。

0%
\ No newline at end of file diff --git "a/posts/githubpages-hugo\346\220\255\345\273\272\344\270\252\344\272\272\345\215\232\345\256\242/index.md" "b/posts/githubpages-hugo\346\220\255\345\273\272\344\270\252\344\272\272\345\215\232\345\256\242/index.md" new file mode 100644 index 00000000..6c939b01 --- /dev/null +++ "b/posts/githubpages-hugo\346\220\255\345\273\272\344\270\252\344\272\272\345\215\232\345\256\242/index.md" @@ -0,0 +1,246 @@ +# GitHub Pages + Hugo搭建个人博客 + + +<!--more--> + +## 0 前言 + +去年年底开始,就一直有写博客的想法,一方面来沉淀自己的技术,另一方面也希望能对他人有些小小的帮助。如今各种平台非常的多,但是不是广告铺天盖地,就是样式固定,不够个性化。最终决定借助Github Pages来搭建一个属于自己的个性化博客。 + +[Github Pages](https://pages.github.com/) 是由GitHub提供的一个免费构建网站的方式。通过创建名为`github用户名.github.io`的仓库,上传文件后,就可以通过 `http://github用户名.github.io`访问你的网站。 + +GIthub Pages默认使用[Jekyll](https://jekyllrb.com/)构建静态网站,由于Jekyll依赖于Ruby,并且个人对Ruby完全不熟悉,所以最终选择了基于Golang的静态网站生成器[Hugo](https://gohugo.io/)来生成静态网站,然后托管在Github上。 + + + +## 1 创建github仓库 + +创建一个 名为`github用户名.github.io`的仓库,`github用户名`填写自己的GIthub用户名。比如我,仓库名就是`dingyufan.github.io`。 + +![create-repository](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/create-repository.png) + +创建之后,是一个空仓库,先放着暂时不管。 + + + +## 2 安装Golang + +Windows系统安装Golang非常简单,[下载msi安装包](https://studygolang.com/dl),直接安装即可。默认会安装到 `C:\Go` 目录下,同时`C:\Go\bin` 目录也会被添加到PATH 环境变量中。可以通过`go version`验证安装的版本。目前最新版本应该是go1.18,我是之前安装的老版本。 + +![微信截图_20220410185748](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220410185748.png) + + + +## 3 安装hugo + +创建文件夹`C:\Hugo`、`C:\Hugo\bin`、`C:\Hugo\sites`。其中bin目录用来存放hugo可执行程序,sites目录则用来保存站点。 + +![微信截图_20220409125654](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409125654.png) + + + +从Github下载[Hugo发布的安装包](https://github.com/gohugoio/hugo/releases),注意要使用**extended版本**,我下载的就是 hugo_extended_0.96.0_Windows-64bit.zip + +![微信截图_20220409130146](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409130146.png) + + + +将下载的hugo解压,并把解压得到的内容放到 `C:\Hugo\bin`下。 + +![微信截图_20220409125710](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409125710.png) + +为了方便使用hugo.exe,我们把`C:\Hugo\bin`添加到环境变量PATH中。 + +![image-20220410191852967](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220410191852967.png) + + + + + +## 4 创建网站 + +准备完全后,就可以开始构建网站了。进入`C:\Hugo\sites`目录,使用`hugo new site 网站名`创建网站。 + +注意,为了方便关联Github仓库,建议网站名与Github仓库名一致,比如我站点名、Github仓库名都为 dingyufan.github.io。 + +![微信截图_20220409130406](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409130406.png) + + + +## 5 修改主题 + +Hugo拥有非常丰富的主题,可以实现各种个性化需求。我这次选择的主题是 [FixIt](https://github.com/Lruihao/FixIt)。 + +安装主题的方式有很多 + +- 一:可以直接下载主题,放置在站点的 themes文件夹下。需要注意的是,下载的主题要放在themes下和主题同名的文件夹内。比如FixIt,放置在`C:\Hugo\sites\dingyufan.github.io\themes\FixIt`中,文件夹不存在则自行创建; + +- 二:可以把主题克隆到 `themes` 目录。 + + ```bash + cd C:/Hugo/sites/dingyufan.github.io + git clone https://github.com/Lruihao/FixIt.git themes/FixIt + ``` + +- **三:初始化仓库,并将主题仓库作为你的网站目录的子模块**。 + + ```bash + cd C:/Hugo/sites/dingyufan.github.io + git init + git submodule add https://github.com/Lruihao/FixIt.git themes/FixIt + ``` + + + +注意:**推荐使用第三种方式!推荐使用第三种方式!推荐使用第三种方式!** + +否则之后Github Pages在构建时会有异常!<font color="red">`No url found for submodule path 'themes/FixIt' in .gitmodules`</font> + + + +安装主题之后,如何选择使用该主题呢?修改站点下配置文件config.toml + +![image-20220410195927557](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220410195927557.png) + +修改其中的 theme 选项,同时可以根据[FitIt主题说明](https://fixit.lruihao.cn/zh-cn/theme-documentation-basics/),设置更多个性化配置。 + +我的config.toml文件基础配置如下: + +```toml +baseURL = "http://dingyufan.github.io/" +# [en, zh-cn, fr, ...] 设置默认的语言 +defaultContentLanguage = "zh-cn" +# 网站语言,仅在这里 CN 大写 +languageCode = "zh-CN" +# 是否包括中日韩文字 +hasCJKLanguage = true +# 网站标题 +title = "我的全新 Hugo 网站" +# 文章发布位置 +publishDir = "docs" + +# 更改使用 Hugo 构建网站时使用的默认主题 +theme = "FixIt" + +[params] + # FixIt 主题版本 + version = "0.2.X" + +[menu] + [[menu.main]] + identifier = "posts" + # 你可以在名称(允许 HTML 格式)之前添加其他信息,例如图标 + pre = "" + # 你可以在名称(允许 HTML 格式)之后添加其他信息,例如图标 + post = "" + name = "文章" + url = "/posts/" + # 当你将鼠标悬停在此菜单链接上时,将显示的标题 + title = "" + weight = 1 + [[menu.main]] + identifier = "categories" + pre = "" + post = "" + name = "分类" + url = "/categories/" + title = "" + weight = 2 + [[menu.main]] + identifier = "tags" + pre = "" + post = "" + name = "标签" + url = "/tags/" + title = "" + weight = 3 + +# Hugo 解析文档的配置 +[markup] + # 语法高亮设置 (https://gohugo.io/content-management/syntax-highlighting) + [markup.highlight] + # false 是必要的设置 (https://github.com/Lruihao/FixIt/issues/43) + noClasses = false +``` + + + +## 6 写文章 + +创建文章。`hugo new posts/文件名.md`, 会在站点的 content/post路径下创建一个md文件。这就是要写的博文。 + +![微信截图_20220409191339](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409191339.png) + +注意,默认创建的md文件是草稿。草稿在构建网站时是会被忽略的。所以**一定要在发布前,修改文件头中 draft为false**。 + +在里面写一行 hello github pages + +![微信截图_20220409191751](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409191751.png) + + + +可以通过`hugo serve`命令启动本地预览,通过localhost:1313即可访问预览。 + +![微信截图_20220409191826](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409191826.png) + + + +看到预览效果 + +![微信截图_20220409191900](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409191900.png) + + + +## 7 发布网站 + +Hugo默认会把构建后的网站放在 public 文件夹下,但是为了方用github统一管理 发布前、后的内容,我想要将构建后网站路径,修改为放在docs文件夹下。 + +可以通过`-d docs`指定构建后放在docs文件夹下。**也可以在config.toml中添加一行配置`publishDir = "docs"`,这样就不需要在构建时使用 -d ,直接执行 `hugo`就可以完成侯建并放入docs文件夹。** + +![微信截图_20220409191950](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20220409191950.png) + + + +构建网站之后,需要将网站托管到Github上,即 上传到刚开始创建的空仓库里。 + +```bash +git init +git add -A +git commit -m 'init' +git branch -M main +git remote add origin git@githubcom:dingyufan/dingyufan.github.io.git +git push -u origin main +``` + + + +## 8 Github Pages配置 + +提交代码之后,需要修改Github Pages配置。指定Github Pages发布docs文件夹下的内容。 + +![image-20220410202202488](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220410202202488.png) + +这样,仓库里的内容就是hugo生成的site的全部内容,docs文件夹下则是构建后的静态页面。这样可以对这个site完整的进行版本控制。 + + + +## 9 绑定域名 + +在完成以上步骤后,已经可以通过 `http://dingyufan.github.io`访问到网站了。 + +Github Pages还支持自定义域名。我希望通能过自己的域名 `http://blog.dingyufan.cn` 访问 + +![image-20220410202804130](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220410202804130.png) + +配置后,要在域名注册商那里修改 域名解析规则。添加CNAME记录类型。 + +![image-20220410203010269](https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/image-20220410203010269.png) + +待解析生效之后,即可通过自定义域名访问。 + + +--- + +> 作者: +> URL: https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/ + diff --git a/posts/index.html b/posts/index.html new file mode 100644 index 00000000..f8de5b1a --- /dev/null +++ b/posts/index.html @@ -0,0 +1,9 @@ +所有文章 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/posts/index.xml b/posts/index.xml new file mode 100644 index 00000000..626eda25 --- /dev/null +++ b/posts/index.xml @@ -0,0 +1 @@ +所有文章 - dingyufan's bloghttps://dingyufan.github.io/posts/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Tech浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器JDK8日期时间API导致Dubbo调用StackOverflow错误https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/CodingJDK8日期时间API导致Dubbo调用StackOverflow错误GitHub Pages + Hugo搭建个人博客https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/TechGitHub Pages + Hugo搭建个人博客 \ No newline at end of file diff --git a/posts/page/1/index.html b/posts/page/1/index.html new file mode 100644 index 00000000..521f0e7d --- /dev/null +++ b/posts/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/posts/ + \ No newline at end of file diff --git "a/posts/\346\265\205\345\260\235\346\240\221\350\216\223\346\264\2764bubuntu22.04\345\256\211\350\243\205clash\344\275\234\344\270\272\344\273\243\347\220\206\346\234\215\345\212\241\345\231\250/index.html" "b/posts/\346\265\205\345\260\235\346\240\221\350\216\223\346\264\2764bubuntu22.04\345\256\211\350\243\205clash\344\275\234\344\270\272\344\273\243\347\220\206\346\234\215\345\212\241\345\231\250/index.html" new file mode 100644 index 00000000..30bb7060 --- /dev/null +++ "b/posts/\346\265\205\345\260\235\346\240\221\350\216\223\346\264\2764bubuntu22.04\345\256\211\350\243\205clash\344\275\234\344\270\272\344\273\243\347\220\206\346\234\215\345\212\241\345\231\250/index.html" @@ -0,0 +1,151 @@ +浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器 - dingyufan's blog +

浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器

0 前言 +

树莓派(Raspberry Pi)是一种基于ARM架构的单板计算机,仅有银行卡大小,本意是提供一种低成本的计算机学习硬件。但前几年由于各种原因,价格一路高歌猛进,让人望而却步。最近逛淘宝发现,树莓派价格差不多回归了正常架构,于是果断下手买一个尝尝。

1694243814807的副本

1 安装 Ubuntu22.04 +

到手的是 树莓派4B 4G内存版,因为内存足够,准备安装带GUI界面的 Ubuntu Desktop 22.04 。

1.1 烧录操作系统 +

树莓派的存储是在一张SD卡上,所以需要通过 Raspberry Pi Imager 将操作系统烧录到SD卡中。

不需要提前下载镜像,直接可以在工具中选择系统,然后选中目标SD卡,点击烧录。

1
+2
+3
+
> Other general-purpose OS
+  > Ubuntu
+    > Ubuntu Desktop 22.04.3 LTS (64-bit)
截屏2023-09-09 15.48.11

烧录完成后,将SD卡插入树莓派,通电启动即可。系统安装后,即可通过 micro HMDI 连接到显示设备,并使用键盘、鼠标进行操作。首次启动会引导设置语言时区、用户名主机名等信息,不在此赘述。

1.2 Ubuntu软件源修改 +

树莓派切换镜像源的方式和一般Ubuntu设备并无不同,唯一需要注意的是 要使用 ubuntu-ports 镜像,这里面才有arm64的源。

我们使用清华镜像站,页面比较友好,可以直接在页面切换选项并产生配置内容。

备份原 sources.list,将清华源信息覆写到 sources.list,执行 sudo apt update 更新软件包信息。

1.3 固定网络IP +

为了方便ssh登录,以及作为网络代理服务器,需要设置一个固定的IP地址。

编辑netplan配置文件 /etc/netplan/01-network-manager-all.yaml

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+
network:
+  version: 2
+  renderer: NetworkManager
+  # 无线网络配置
+  wifis:
+    # 无线网卡 wlan0
+    wlan0:
+      # 关闭dhcp
+      dhcp4: false
+      # 固定IP, /24 用来表示掩码信息
+      addresses: [192.168.31.250/24] 
+      optional: true
+      # 配置项 gateway4 在新版本中已弃用,通过routes配置网关
+      routes:
+        - to: default
+          via: 192.168.31.1
+      # DNS服务
+      nameservers:
+        addresses: [114.114.114.114]
+      # 配置WiFi信息
+      access-points:
+        "WiFi名称":
+          password: 'WiFi密码'

配置修改完成后,使用 sudo netplan try 测试网络配置,无异常即可使用 sudo netplan apply 应用配置。

1.4 安装 openssh-server +

配置完成后,发现无法ssh访问,发现默认没有安装 openssh-server,通过apt安装。安装后即可远程ssh访问。

1
+
sudo apt install openssh-server

2 Clash +

Clash 是一个基于规则的代理工具,主要的用途不多说了,如果你知道这个软件,就说明你大概率有这个需求。这个安装方式也不限于树莓派设备,只要是运行Linux系统的设备,都可以

这次之所以选择带GUI的Ubuntu,很大一部分原因就是想要通过图形化界面,比较方便的配置Clash。

2.1 Clash for Windows +

Clash for Windows 是比较好用的一个 Clash GUI 客户端。

但是!它这个名字太具有迷惑性了!

它其实 支持 Windows系统!也支持 Linux!还支持 macOS !

从GitHub release页面下载,Clash.for.Windows-0.20.34-arm64-linux.tar.gz,从它提供的各种安装包也能看出支持多平台

截屏2023-09-09 18.58.02

下载后解压,运行 cfw,即可出现GUI界面,然后开始进行配置。

clashforwin-0
  1. 在左侧 General 菜单中,打开 Allow LAN开关,允许局域网连接。这样不止为本机提供网络代理,也能为局域网其他设备提供代理。
  2. 在左侧 Profiles 菜单中,将机场提供的订阅地址填入输入框,下载得到代理规则。config.yaml为默认配置,sub为订阅到的规则。
202309091916624

到这为止,Clash for Windows就已经准备完毕了,随时可以使用了。

2.2 Clash(无图形界面) +

如是是无图形界面的情况,可以通过命令安装Clash。

下载Clash,注意版本,这里以树莓派使用的ARM版本为例

1
+2
+
mkdir ~/clash && cd ~/clash
+wget https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-armv7-v1.18.0.gz

解压后重命名

1
+2
+
gunzip clash-linux-armv7-v1.18.0.gz
+mv clash-linux-armv7-v1.18.0 clash

移动clash到指定位置,并赋予执行权限

1
+2
+
sudo cp clash /usr/local/bin
+sudo chmod +x /usr/local/bin/clash

初始化执行,自动生成config.yaml 和 Country.mmdb

1
+2
+3
+4
+5
+
sudo /usr/local/bin/clash -d /etc/clash/
+# 输出
+# INFO[0000] Can't find config, create a initial config file 
+# INFO[0000] Can't find MMDB, start download              
+# INFO[0003] inbound mixed://127.0.0.1:7890 create success. 

ctrl+c中断执行,修改config.yaml。这个就替换成你机场Clash订阅地址返回的yaml代理站点内容。

需要注意的是,在config.yaml中有几个配置,可能需要自己修改一下,因为机场提供的值可能不是你想要的

  1. 关于端口

    代理端口分为 http代理端口(port)socks代理端口(socks-port)混合代理端口 (mixed-port)。这里建议直接将混合代理端口 (mixed-port)设置为7890,其他两项设为0。这样不管是http、socks都是用同一个7890端口,更加方便

  2. 关于外部控制

    Clash是支持通过 RESTful 接口来对Clash进行功能配置的,目前市面上的GUI客户端配置管理也是基于这个方式。

    config.yaml中有一项配置 external-controller,修改为 0.0.0.0:9090 这样方便我从局域网其他设备对其进行控制。

    还有一项配置 secret 主要用于 RESTful 控制接口的身份认证密码。如果是局域网不对外的话,可暂时不配。

  3. clash.razord.top

    对于没有GUI的Clash,可以在其他设备上通过这个网站,获得一个控制的Dashboard。

    网站打开时会让填写 Host、端口、秘钥,填写后就可以借助这个网页,对无图形界面设备上安装的Clash进行配置。具体原理的话就是页面发起配置对应功能的http请求。

代理配置完后,创建systemd 配置文件 /etc/systemd/system/clash.service,让我们的Clash能够开机自启。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+
[Unit]
+Description=Clash 守护进程, Go 语言实现的基于规则的代理.
+After=network-online.target
+
+[Service]
+Type=simple
+Restart=always
+ExecStart=/usr/local/bin/clash -d /etc/clash
+
+[Install]
+WantedBy=multi-user.target

重新加载 systemd,设置开机启动 和 立即启动

1
+2
+3
+4
+5
+6
+7
+
sudo systemctl daemon-reload
+# 设置系统启动时启动clash
+sudo systemctl enable clash
+# 立即启动clash
+sudo systemctl start clash
+# 查看clash运行状态
+sudo systemctl status clash

到这为止,Clash就已经准备完毕了,随时可以使用了。

2.3 使用方式 +

如果你使用的设备安装了SSR、V2ray或者Clash,那你可以直接在软件界面上操作,通过界面提供的功能来开启系统代理。

这里主要是介绍一下没有安装代理软件的设备,如何借助局域网内其他已安装的代理设备(即代理服务器),实现网络代理功能。

2.3.1 Windows 10 设备 +

在 Window 10 设置 > 网络和Internet > 代理 中,打开【使用代理服务器】开关,地址填树莓派IP地址,端口为Clash使用的7890端口。

也可以设置对 本地地址(localhost)、常见的局域网网段(192.168.x.x) 不使用代理服务器。

VD7~4$~CB7W10@9NIW6HVFH

2.3.2 手机、iPad等无线设备 +

进入 无线局域网设置(WLAN设置),点击已连接的无线网络,将网络详情页面拉到底,有HTTP代理设置,填入树莓派IP地址,Clash的7890端口保存即可。

MTXX_PT20230910_111545372

2.3.3 Ubuntu/Linux +

如果是带有GUI界面的操作系统,直接在界面上配置,以Ubuntu为例,在 Settings > Network > Network Proxy 中,将代理配置中填入树莓派IP地址和Clash的7890端口保存即可

截屏2023-09-10 11.47.19

如果是没有界面的Linux系统,可以通过设置环境变量的方式设置

1
+2
+3
+
export https_proxy=http://192.168.31.250:7890 
+export http_proxy=http://192.168.31.250:7890
+export all_proxy=socks5://192.168.31.250:7890

2.3.4 按需配置 +

总的来说,我个人并不喜欢为系统配置全局网络代理,我更喜欢给有需要的程序配置网络代理。举个几个例子:

容器运行时containerd

使用containerd时,有些镜像国内无法拉取,而且国内没有厂商同步这些镜像,这就可以为containerd配置代理服务器,来帮助拉取这些镜像。

1
+2
+3
+4
+5
+6
+7
+8
+9
+
sudo mkdir -p /etc/systemd/system/containerd.service.d/
+
+cat << EOF | sudo tee -a /etc/systemd/system/containerd.service.d/http-proxy.conf
+[Service]
+Environment="HTTP_PROXY=192.168.31.250:7890"
+Environment="HTTPS_PROXY=192.168.31.250:7890"
+EOF
+
+sudo systemctl restart containerd

proxychains4

这是一个很简单、好用的代理工工具。你只需要通过apt安装

1
+
sudo apt install proxychains4

安装后修改配置文件 /etc/proxychains.config,将文件最后的代理地址改为代理服务器的地址,比如 socks5 192.168.31.250 7890即可。

使用方法的话,只需要在原本命令前添加 proxychains4 即可

1
+2
+3
+
proxychains4 wget xxx
+proxychains4 curl xxx
+proxychains4 git clone xxx
0%
\ No newline at end of file diff --git "a/posts/\346\265\205\345\260\235\346\240\221\350\216\223\346\264\2764bubuntu22.04\345\256\211\350\243\205clash\344\275\234\344\270\272\344\273\243\347\220\206\346\234\215\345\212\241\345\231\250/index.md" "b/posts/\346\265\205\345\260\235\346\240\221\350\216\223\346\264\2764bubuntu22.04\345\256\211\350\243\205clash\344\275\234\344\270\272\344\273\243\347\220\206\346\234\215\345\212\241\345\231\250/index.md" new file mode 100644 index 00000000..6fc1fae5 --- /dev/null +++ "b/posts/\346\265\205\345\260\235\346\240\221\350\216\223\346\264\2764bubuntu22.04\345\256\211\350\243\205clash\344\275\234\344\270\272\344\273\243\347\220\206\346\234\215\345\212\241\345\231\250/index.md" @@ -0,0 +1,316 @@ +# 浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器 + + +<!--more--> + + + +## 0 前言 + +树莓派([Raspberry Pi](https://www.raspberrypi.com/))是一种基于ARM架构的单板计算机,仅有银行卡大小,本意是提供一种低成本的计算机学习硬件。但前几年由于各种原因,价格一路高歌猛进,让人望而却步。最近逛淘宝发现,树莓派价格差不多回归了正常架构,于是果断下手买一个尝尝。 + +<img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309091517163.jpg" alt="1694243814807的副本" style="zoom:50%;" /> + + + +## 1 安装 Ubuntu22.04 + +到手的是 树莓派4B 4G内存版,因为内存足够,准备安装带GUI界面的 Ubuntu Desktop 22.04 。 + + + +### 1.1 烧录操作系统 + +树莓派的存储是在一张SD卡上,所以需要通过 [Raspberry Pi Imager](https://www.raspberrypi.com/software/) 将操作系统烧录到SD卡中。 + +不需要提前下载镜像,直接可以在工具中选择系统,然后选中目标SD卡,点击烧录。 + +```txt +> Other general-purpose OS + > Ubuntu + > Ubuntu Desktop 22.04.3 LTS (64-bit) +``` + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309091548861.png" alt="截屏2023-09-09 15.48.11" style="zoom:50%;" /></div> + + + +烧录完成后,将SD卡插入树莓派,通电启动即可。系统安装后,即可通过 micro HMDI 连接到显示设备,并使用键盘、鼠标进行操作。首次启动会引导设置语言时区、用户名主机名等信息,不在此赘述。 + + + +### 1.2 Ubuntu软件源修改 + +树莓派切换镜像源的方式和一般Ubuntu设备并无不同,唯一需要注意的是 **要使用 ubuntu-ports 镜像**,这里面才有arm64的源。 + +我们使用[清华镜像站](https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu-ports/),页面比较友好,可以直接在页面切换选项并产生配置内容。 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309091610222.png" style="zoom:50%;" /></div> + +备份原 `sources.list`,将清华源信息覆写到 `sources.list`,执行 `sudo apt update ` 更新软件包信息。 + + + +### 1.3 固定网络IP + +为了方便ssh登录,以及作为网络代理服务器,需要设置一个固定的IP地址。 + +编辑netplan配置文件 `/etc/netplan/01-network-manager-all.yaml`。 + +```yaml +network: + version: 2 + renderer: NetworkManager + # 无线网络配置 + wifis: + # 无线网卡 wlan0 + wlan0: + # 关闭dhcp + dhcp4: false + # 固定IP, /24 用来表示掩码信息 + addresses: [192.168.31.250/24] + optional: true + # 配置项 gateway4 在新版本中已弃用,通过routes配置网关 + routes: + - to: default + via: 192.168.31.1 + # DNS服务 + nameservers: + addresses: [114.114.114.114] + # 配置WiFi信息 + access-points: + "WiFi名称": + password: 'WiFi密码' +``` + +配置修改完成后,使用 `sudo netplan try` 测试网络配置,无异常即可使用 `sudo netplan apply` 应用配置。 + + + +### 1.4 安装 openssh-server + +配置完成后,发现无法ssh访问,发现默认没有安装 openssh-server,通过apt安装。安装后即可远程ssh访问。 + +```shell +sudo apt install openssh-server +``` + + + +## 2 Clash + +[Clash](https://github.com/Dreamacro/clash) 是一个基于规则的代理工具,主要的用途不多说了,如果你知道这个软件,就说明你大概率有这个需求。这个安装方式也不限于树莓派设备,只要是运行Linux系统的设备,都可以 + + + +这次之所以选择带GUI的Ubuntu,很大一部分原因就是想要通过图形化界面,比较方便的配置Clash。 + + + +### 2.1 Clash for Windows + +[Clash for Windows](https://github.com/Fndroid/clash_for_windows_pkg/releases) 是比较好用的一个 Clash GUI 客户端。 + +***<font color='red'>但是!它这个名字太具有迷惑性了!</font>*** + +***<font color='red'>它其实 支持 Windows系统!也支持 Linux!还支持 macOS !</font>*** + +从GitHub release页面下载,`Clash.for.Windows-0.20.34-arm64-linux.tar.gz`,从它提供的各种安装包也能看出支持多平台 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309091901250.png" alt="截屏2023-09-09 18.58.02" style="zoom:55%;" /></div> + +下载后解压,运行 `cfw`,即可出现GUI界面,然后开始进行配置。 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309091910073.png" alt="clashforwin-0" style="zoom:100%;" /></div> + +1. 在左侧 **General 菜单**中,**打开 Allow LAN开关,允许局域网连接**。这样不止为本机提供网络代理,也能为局域网其他设备提供代理。 +2. 在左侧 **Profiles 菜单**中,**将机场提供的订阅地址填入输入框,下载得到代理规则**。config.yaml为默认配置,sub为订阅到的规则。 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309091928725.png" alt="202309091916624" style="zoom:100%;" /></div> + +到这为止,Clash for Windows就已经准备完毕了,随时可以使用了。 + + + +### 2.2 Clash(无图形界面) + +如是是无图形界面的情况,可以通过命令安装Clash。 + +下载Clash,注意版本,这里以树莓派使用的ARM版本为例 + +```shell +mkdir ~/clash && cd ~/clash +wget https://github.com/Dreamacro/clash/releases/download/v1.18.0/clash-linux-armv7-v1.18.0.gz +``` + +解压后重命名 + +```shell +gunzip clash-linux-armv7-v1.18.0.gz +mv clash-linux-armv7-v1.18.0 clash +``` + +移动clash到指定位置,并赋予执行权限 + +```shell +sudo cp clash /usr/local/bin +sudo chmod +x /usr/local/bin/clash +``` + +初始化执行,自动生成config.yaml 和 Country.mmdb + +```shell +sudo /usr/local/bin/clash -d /etc/clash/ +# 输出 +# INFO[0000] Can't find config, create a initial config file +# INFO[0000] Can't find MMDB, start download +# INFO[0003] inbound mixed://127.0.0.1:7890 create success. +``` + +ctrl+c中断执行,**修改config.yaml**。这个就替换成你机场Clash订阅地址返回的yaml代理站点内容。 + +**<font color='red'>需要注意的是,在config.yaml中有几个配置,可能需要自己修改一下,因为机场提供的值可能不是你想要的</font>** + +1. **关于端口** + + 代理端口分为 `http代理端口(port)`、`socks代理端口(socks-port)` 和 `混合代理端口 (mixed-port)`。这里建议直接将`混合代理端口 (mixed-port)`设置为7890,其他两项设为0。这样不管是http、socks都是用同一个7890端口,更加方便 + +2. **关于外部控制** + + Clash是支持通过 RESTful 接口来对Clash进行功能配置的,目前市面上的GUI客户端配置管理也是基于这个方式。 + + config.yaml中有一项配置 `external-controller`,修改为 `0.0.0.0:9090` 这样方便我从局域网其他设备对其进行控制。 + + 还有一项配置 `secret` 主要用于 RESTful 控制接口的身份认证密码。如果是局域网不对外的话,可暂时不配。 + +3. **clash.razord.top** + + 对于没有GUI的Clash,可以在其他设备上通过这个网站,获得一个控制的Dashboard。 + + 网站打开时会让填写 Host、端口、秘钥,填写后就可以借助这个网页,对无图形界面设备上安装的Clash进行配置。具体原理的话就是页面发起配置对应功能的http请求。 + + + +代理配置完后,创建systemd 配置文件 `/etc/systemd/system/clash.service`,让我们的Clash能够开机自启。 + +```ini +[Unit] +Description=Clash 守护进程, Go 语言实现的基于规则的代理. +After=network-online.target + +[Service] +Type=simple +Restart=always +ExecStart=/usr/local/bin/clash -d /etc/clash + +[Install] +WantedBy=multi-user.target +``` + +重新加载 systemd,设置开机启动 和 立即启动 + +```shell +sudo systemctl daemon-reload +# 设置系统启动时启动clash +sudo systemctl enable clash +# 立即启动clash +sudo systemctl start clash +# 查看clash运行状态 +sudo systemctl status clash +``` + +到这为止,Clash就已经准备完毕了,随时可以使用了。 + + + +### 2.3 使用方式 + +> 如果你使用的设备安装了SSR、V2ray或者Clash,那你可以直接在软件界面上操作,通过界面提供的功能来开启系统代理。 + +这里主要是介绍一下没有安装代理软件的设备,如何借助局域网内其他已安装的代理设备(即代理服务器),实现网络代理功能。 + + + +#### 2.3.1 Windows 10 设备 + +在 Window 10 设置 > 网络和Internet > 代理 中,打开【使用代理服务器】开关,地址填树莓派IP地址,端口为Clash使用的7890端口。 + +也可以设置对 本地地址(localhost)、常见的局域网网段(192.168.x.x) 不使用代理服务器。 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309101055135.png" alt="VD7~4$~CB7W10@9NIW6HVFH" style="zoom: 70%;" /></div> + + + +#### 2.3.2 手机、iPad等无线设备 + +进入 无线局域网设置(WLAN设置),点击已连接的无线网络,将网络详情页面拉到底,有HTTP代理设置,填入树莓派IP地址,Clash的7890端口保存即可。 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309101116742.jpg" alt="MTXX_PT20230910_111545372" style="zoom:15%;" /></div> + + + +#### 2.3.3 Ubuntu/Linux + +如果是带有GUI界面的操作系统,直接在界面上配置,以Ubuntu为例,在 Settings > Network > Network Proxy 中,将代理配置中填入树莓派IP地址和Clash的7890端口保存即可 + +<div align=center><img src="https://dingyufan-github-io.oss-cn-hangzhou.aliyuncs.com/blog/202309101147300.png" alt="截屏2023-09-10 11.47.19" style="zoom:60%;" /></div> + +如果是没有界面的Linux系统,可以通过设置环境变量的方式设置 + +```shell +export https_proxy=http://192.168.31.250:7890 +export http_proxy=http://192.168.31.250:7890 +export all_proxy=socks5://192.168.31.250:7890 +``` + + + +#### 2.3.4 按需配置 + +总的来说,我个人并不喜欢为系统配置全局网络代理,我更喜欢**给有需要的程序配置网络代理**。举个几个例子: + + + +**容器运行时containerd** + +使用containerd时,有些镜像国内无法拉取,而且国内没有厂商同步这些镜像,这就可以为containerd配置代理服务器,来帮助拉取这些镜像。 + +```shell +sudo mkdir -p /etc/systemd/system/containerd.service.d/ + +cat << EOF | sudo tee -a /etc/systemd/system/containerd.service.d/http-proxy.conf +[Service] +Environment="HTTP_PROXY=192.168.31.250:7890" +Environment="HTTPS_PROXY=192.168.31.250:7890" +EOF + +sudo systemctl restart containerd +``` + + + +**proxychains4** + +这是一个很简单、好用的代理工工具。你只需要通过apt安装 + +```shell +sudo apt install proxychains4 +``` + +安装后修改配置文件 `/etc/proxychains.config`,将文件最后的代理地址改为代理服务器的地址,比如 `socks5 192.168.31.250 7890`即可。 + +使用方法的话,只需要在原本命令前添加 proxychains4 即可 + +```shell +proxychains4 wget xxx +proxychains4 curl xxx +proxychains4 git clone xxx +``` + + + +--- + +> 作者: +> URL: https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/ + diff --git a/robots.txt b/robots.txt new file mode 100644 index 00000000..311f91cd --- /dev/null +++ b/robots.txt @@ -0,0 +1,100 @@ +User-agent: * + +Disallow: /images/ +Disallow: /js/ +Disallow: /css/ + +Disallow: /*offline/ +Disallow: /*404.html$ +Disallow: /*.md$ + +User-agent: MJ12bot +Disallow: / + +User-agent: AhrefsBot +Disallow: / + +User-agent: BLEXBot +Disallow: / + +# Block SISTRIX +User-agent: SISTRIX Crawler +Disallow: / +User-agent: sistrix +Disallow: / +User-agent: 007ac9 +Disallow: / +User-agent: 007ac9 Crawler +Disallow: / + +# Block Uptime robot +User-agent: UptimeRobot/2.0 +Disallow: / + +# Block Ezooms Robot +User-agent: Ezooms Robot +Disallow: / + +# Block Perl LWP +User-agent: Perl LWP +Disallow: / + +# Block netEstate NE Crawler (+http://www.website-datenbank.de/) +User-agent: netEstate NE Crawler (+http://www.website-datenbank.de/) +Disallow: / + +# Block WiseGuys Robot +User-agent: WiseGuys Robot +Disallow: / + +# Block Turnitin Robot +User-agent: Turnitin Robot +Disallow: / + +# Block Heritrix +User-agent: Heritrix +Disallow: / + +# Block pricepi +User-agent: pimonster +Disallow: / + +User-agent: SurdotlyBot +Disallow: / + +User-agent: ZoominfoBot +Disallow: / + +# OpenAI, ChatGPT +User-agent: GPTBot +Disallow: / + +# Google AI (Bard, etc) +User-agent: Google-Extended +Disallow: / + +# Block common crawl +User-agent: CCBot +Disallow: / + +# Facebook +User-agent: FacebookBot +Disallow: / + +# Cohere.ai +User-agent: cohere-ai +Disallow: / + +# Perplexity +User-agent: PerplexityBot +Disallow: / + +# Anthropic +User-agent: anthropic-ai +Disallow: / + +# Claudebot by Anthropic +User-agent: ClaudeBot +Disallow: / + +Sitemap: https://dingyufan.github.io/sitemap.xml diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..6a60beae --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://dingyufan.github.io/categories/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/tags/clash/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/posts/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/tags/raspberry-pi/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/tags/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/categories/tech/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/tags/ubuntu/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/categories/coding/2023-07-28T16:32:25+08:00weekly0.5https://dingyufan.github.io/tags/dubbo/2023-07-28T16:32:25+08:00weekly0.5https://dingyufan.github.io/tags/java/2023-07-28T16:32:25+08:00weekly0.5https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/2023-07-28T16:32:25+08:00weekly0.5https://dingyufan.github.io/tags/github-pages/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/2024-10-19T01:35:51+00:00weekly0.5https://dingyufan.github.io/tags/hugo/2024-10-19T01:35:51+00:00weekly0.5 \ No newline at end of file diff --git a/tags/clash/index.html b/tags/clash/index.html new file mode 100644 index 00000000..e219c03c --- /dev/null +++ b/tags/clash/index.html @@ -0,0 +1,6 @@ +Clash - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/clash/index.xml b/tags/clash/index.xml new file mode 100644 index 00000000..193c563e --- /dev/null +++ b/tags/clash/index.xml @@ -0,0 +1 @@ +Clash - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/clash/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Tech浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器 \ No newline at end of file diff --git a/tags/clash/page/1/index.html b/tags/clash/page/1/index.html new file mode 100644 index 00000000..2991b9e7 --- /dev/null +++ b/tags/clash/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/clash/ + \ No newline at end of file diff --git a/tags/dubbo/index.html b/tags/dubbo/index.html new file mode 100644 index 00000000..b3358f29 --- /dev/null +++ b/tags/dubbo/index.html @@ -0,0 +1,5 @@ +Dubbo - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/dubbo/index.xml b/tags/dubbo/index.xml new file mode 100644 index 00000000..812bb62f --- /dev/null +++ b/tags/dubbo/index.xml @@ -0,0 +1 @@ +Dubbo - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/dubbo/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNFri, 28 Jul 2023 16:32:25 +0800JDK8日期时间API导致Dubbo调用StackOverflow错误https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/CodingJDK8日期时间API导致Dubbo调用StackOverflow错误 \ No newline at end of file diff --git a/tags/dubbo/page/1/index.html b/tags/dubbo/page/1/index.html new file mode 100644 index 00000000..9f3bdb3e --- /dev/null +++ b/tags/dubbo/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/dubbo/ + \ No newline at end of file diff --git a/tags/github-pages/index.html b/tags/github-pages/index.html new file mode 100644 index 00000000..636e4c4a --- /dev/null +++ b/tags/github-pages/index.html @@ -0,0 +1,6 @@ +Github Pages - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/github-pages/index.xml b/tags/github-pages/index.xml new file mode 100644 index 00000000..8fba825f --- /dev/null +++ b/tags/github-pages/index.xml @@ -0,0 +1 @@ +Github Pages - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/github-pages/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000GitHub Pages + Hugo搭建个人博客https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/TechGitHub Pages + Hugo搭建个人博客 \ No newline at end of file diff --git a/tags/github-pages/page/1/index.html b/tags/github-pages/page/1/index.html new file mode 100644 index 00000000..e6c2375d --- /dev/null +++ b/tags/github-pages/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/github-pages/ + \ No newline at end of file diff --git a/tags/hugo/index.html b/tags/hugo/index.html new file mode 100644 index 00000000..1842f21c --- /dev/null +++ b/tags/hugo/index.html @@ -0,0 +1,6 @@ +Hugo - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/hugo/index.xml b/tags/hugo/index.xml new file mode 100644 index 00000000..921d851b --- /dev/null +++ b/tags/hugo/index.xml @@ -0,0 +1 @@ +Hugo - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/hugo/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000GitHub Pages + Hugo搭建个人博客https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/githubpages-hugo%E6%90%AD%E5%BB%BA%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/TechGitHub Pages + Hugo搭建个人博客 \ No newline at end of file diff --git a/tags/hugo/page/1/index.html b/tags/hugo/page/1/index.html new file mode 100644 index 00000000..34029925 --- /dev/null +++ b/tags/hugo/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/hugo/ + \ No newline at end of file diff --git a/tags/index.html b/tags/index.html new file mode 100644 index 00000000..bbd423d1 --- /dev/null +++ b/tags/index.html @@ -0,0 +1,4 @@ +所有标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml new file mode 100644 index 00000000..c38fc8ae --- /dev/null +++ b/tags/index.xml @@ -0,0 +1 @@ +Tags - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000Clashhttps://dingyufan.github.io/tags/clash/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/tags/clash/ClashRaspberry Pihttps://dingyufan.github.io/tags/raspberry-pi/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/tags/raspberry-pi/Raspberry PiUbuntuhttps://dingyufan.github.io/tags/ubuntu/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/tags/ubuntu/UbuntuDubbohttps://dingyufan.github.io/tags/dubbo/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/tags/dubbo/DubboJavahttps://dingyufan.github.io/tags/java/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/tags/java/JavaGithub Pageshttps://dingyufan.github.io/tags/github-pages/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/tags/github-pages/Github PagesHugohttps://dingyufan.github.io/tags/hugo/Sun, 10 Apr 2022 11:34:02 +0800https://dingyufan.github.io/tags/hugo/Hugo \ No newline at end of file diff --git a/tags/java/index.html b/tags/java/index.html new file mode 100644 index 00000000..c47c587e --- /dev/null +++ b/tags/java/index.html @@ -0,0 +1,5 @@ +Java - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/java/index.xml b/tags/java/index.xml new file mode 100644 index 00000000..e8138aa1 --- /dev/null +++ b/tags/java/index.xml @@ -0,0 +1 @@ +Java - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/java/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNFri, 28 Jul 2023 16:32:25 +0800JDK8日期时间API导致Dubbo调用StackOverflow错误https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/Sat, 30 Apr 2022 11:34:02 +0800https://dingyufan.github.io/posts/dubbo-stack-overflow-due-to-jdk8-instant/CodingJDK8日期时间API导致Dubbo调用StackOverflow错误 \ No newline at end of file diff --git a/tags/java/page/1/index.html b/tags/java/page/1/index.html new file mode 100644 index 00000000..7ee29248 --- /dev/null +++ b/tags/java/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/java/ + \ No newline at end of file diff --git a/tags/raspberry-pi/index.html b/tags/raspberry-pi/index.html new file mode 100644 index 00000000..82908fad --- /dev/null +++ b/tags/raspberry-pi/index.html @@ -0,0 +1,6 @@ +Raspberry Pi - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/raspberry-pi/index.xml b/tags/raspberry-pi/index.xml new file mode 100644 index 00000000..2748037d --- /dev/null +++ b/tags/raspberry-pi/index.xml @@ -0,0 +1 @@ +Raspberry Pi - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/raspberry-pi/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Tech浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器 \ No newline at end of file diff --git a/tags/raspberry-pi/page/1/index.html b/tags/raspberry-pi/page/1/index.html new file mode 100644 index 00000000..09a52dd1 --- /dev/null +++ b/tags/raspberry-pi/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/raspberry-pi/ + \ No newline at end of file diff --git a/tags/ubuntu/index.html b/tags/ubuntu/index.html new file mode 100644 index 00000000..badc8eb2 --- /dev/null +++ b/tags/ubuntu/index.html @@ -0,0 +1,6 @@ +Ubuntu - 标签 - dingyufan's blog +
0%
\ No newline at end of file diff --git a/tags/ubuntu/index.xml b/tags/ubuntu/index.xml new file mode 100644 index 00000000..a411619f --- /dev/null +++ b/tags/ubuntu/index.xml @@ -0,0 +1 @@ +Ubuntu - 标签 - dingyufan's bloghttps://dingyufan.github.io/tags/ubuntu/this is dingyufan's blogHugo 0.136.2 & FixIt v0.3.13zh-CNSat, 19 Oct 2024 01:35:51 +0000浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Sat, 09 Sep 2023 00:00:00 +0000https://dingyufan.github.io/posts/%E6%B5%85%E5%B0%9D%E6%A0%91%E8%8E%93%E6%B4%BE4bubuntu22.04%E5%AE%89%E8%A3%85clash%E4%BD%9C%E4%B8%BA%E4%BB%A3%E7%90%86%E6%9C%8D%E5%8A%A1%E5%99%A8/Tech浅尝树莓派4B(Ubuntu22.04)安装Clash作为代理服务器 \ No newline at end of file diff --git a/tags/ubuntu/page/1/index.html b/tags/ubuntu/page/1/index.html new file mode 100644 index 00000000..0fccb308 --- /dev/null +++ b/tags/ubuntu/page/1/index.html @@ -0,0 +1,2 @@ +https://dingyufan.github.io/tags/ubuntu/ + \ No newline at end of file