@diplodoc/transform 4.41.1 → 4.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/scss/%3Cinput%20css%20nM17dh%3E", "../../src/scss/home/runner/work/transform/transform/src/scss/_common.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/private.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/brand.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_anchor.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_highlight.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_code.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_yfm-only.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_note.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_table.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_term.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_modal.scss", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/cut-extension/build/runtime/index.css", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/file-extension/build/runtime/index.css", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/tabs-extension/build/runtime/index.css"],
3
+ "sources": ["../../src/scss/%3Cinput%20css%20hdMDv8%3E", "../../src/scss/home/runner/work/transform/transform/src/scss/_common.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/private.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/brand.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_anchor.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_highlight.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_code.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_yfm-only.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_note.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_table.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_term.scss", "../../src/scss/home/runner/work/transform/transform/src/scss/_modal.scss", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/cut-extension/build/runtime/index.css", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/file-extension/build/runtime/index.css", "../../src/scss/home/runner/work/transform/transform/node_modules/@diplodoc/tabs-extension/build/runtime/index.css"],
4
4
  "sourcesContent": ["@charset \"UTF-8\";\n/* stylelint-disable declaration-no-important */\n.yfm {\n --yfm-color-text-private: rgba(0, 0, 0, 0.7);\n --yfm-color-link-private: #027bf3;\n --yfm-color-link-hover-private: #004080;\n --yfm-color-base-private: #ffffff;\n --yfm-color-table-private: #333;\n --yfm-color-border-private: rgba(0, 0, 0, 0.07);\n --yfm-color-table-row-background-private: rgba(0, 0, 0, 0.02);\n --yfm-color-accent-private: #027bf3;\n --yfm-color-inline-code-private: rgba(59, 96, 128, 1);\n --yfm-color-inline-code-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-code-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst-private: #444;\n --yfm-color-hljs-comment-private: #888888;\n --yfm-color-hljs-deletion-private: #880000;\n --yfm-color-hljs-section-private: #880000;\n --yfm-color-hljs-pseudo-private: #bc6060;\n --yfm-color-hljs-literal-private: #78a960;\n --yfm-color-hljs-addition-private: #397300;\n --yfm-color-hljs-meta-private: #1f7199;\n --yfm-color-hljs-meta-string-private: #4d99bf;\n --yfm-color-note-tip-private: #56bd67;\n --yfm-color-note-tip-background-private: rgba(63, 201, 46, 0.1);\n --yfm-color-note-warning-private: #f19518;\n --yfm-color-note-warning-background-private: rgba(255, 136, 0, 0.15);\n --yfm-color-note-important-private: #ff4645;\n --yfm-color-note-important-background-private: rgba(235, 50, 38, 0.08);\n --yfm-color-note-info-background-private: rgba(2, 123, 243, 0.08);\n --yfm-color-term-title-private: #027bf3;\n --yfm-color-term-title-hover-private: #004080;\n --yfm-color-term-dfn-background-private: rgb(255, 255, 255);\n --yfm-color-term-dfn-shadow-private: rgba(0, 0, 0, 0.15);\n --yfm-color-term-dfn-presudo-shadow-private: rgb(229, 229, 229);\n --yfm-color-modal-content-private: rgb(255, 255, 255);\n --yfm-color-modal-actions-hover-private: rgba(0, 0, 0, 0.05);\n --yfm-color-modal-wide-content-private: rgba(0, 0, 0, 0.85);\n --yfm-color-modal-wide-content-overlay-private: rgb(0, 0, 0);\n --yfm-color-base: var(--yfm-color-base-private);\n --yfm-color-text: var(--yfm-color-text-private);\n --yfm-color-link: var(--yfm-color-link-private);\n --yfm-color-link-hover: var(--yfm-color-link-hover-private);\n --yfm-color-table: var(--yfm-color-table-private);\n --yfm-color-table-row-background: var(--yfm-color-table-row-background-private);\n --yfm-color-border: var(--yfm-color-border-private);\n --yfm-color-accent: var(--yfm-color-accent-private);\n --yfm-color-inline-code: var(--yfm-color-inline-code-private);\n --yfm-color-inline-code-background: var(--yfm-color-inline-code-background-private);\n --yfm-color-code-background: var(--yfm-color-code-background-private);\n --yfm-color-hljs-background: var(--yfm-color-hljs-background-private);\n --yfm-color-hljs-subst: var(--yfm-color-hljs-subst-private);\n --yfm-color-hljs-comment: var(--yfm-color-hljs-comment-private);\n --yfm-color-hljs-deletion: var(--yfm-color-hljs-deletion-private);\n --yfm-color-hljs-section: var(--yfm-color-hljs-section-private);\n --yfm-color-hljs-pseudo: var(--yfm-color-hljs-pseudo-private);\n --yfm-color-hljs-literal: var(--yfm-color-hljs-literal-private);\n --yfm-color-hljs-addition: var(--yfm-color-hljs-addition-private);\n --yfm-color-hljs-meta: var(--yfm-color-hljs-meta-private);\n --yfm-color-hljs-meta-string: var(--yfm-color-hljs-meta-string-private);\n --yfm-color-note-tip: var(--yfm-color-note-tip-private);\n --yfm-color-note-tip-background: var(--yfm-color-note-tip-background-private);\n --yfm-color-note-warning: var(--yfm-color-note-warning-private);\n --yfm-color-note-warning-background: var(--yfm-color-note-warning-background-private);\n --yfm-color-note-important: var(--yfm-color-note-important-private);\n --yfm-color-note-important-background: var(--yfm-color-note-important-background-private);\n --yfm-color-note-info-background: var(--yfm-color-note-info-background-private);\n --yfm-color-term-title: var(--yfm-color-term-title-private);\n --yfm-color-term-title-hover: var(--yfm-color-term-title-hover-private);\n --yfm-color-term-dfn-background: var(--yfm-color-term-dfn-background-private);\n --yfm-color-term-dfn-shadow: var(--yfm-color-term-dfn-shadow-private);\n --yfm-color-term-dfn-pseudo-shadow: var(--yfm-color-term-dfn-presudo-shadow-private);\n --yfm-color-modal-content: var(--yfm-color-modal-content-private);\n --yfm-color-modal-actions-hover: var(--yfm-color-modal-actions-hover-private);\n --yfm-color-modal-wide-content: var(--yfm-color-modal-wide-content-private);\n --yfm-color-modal-wide-content-overlay: var(--yfm-color-modal-wide-content-overlay-private);\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: var(--yfm-color-text);\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n --yfm-font-family-monospace: \"Menlo\", \"Monaco\", \"Consolas\", \"Ubuntu Mono\", \"Liberation Mono\",\n \"DejaVu Sans Mono\", \"Courier New\", \"Courier\", monospace;\n --yfm-font-family-sans: \"Segoe UI\", arial, helvetica, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n}\n.yfm * {\n box-sizing: border-box;\n}\n.yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n}\n.yfm > *:last-child {\n margin-bottom: 0 !important;\n}\n.yfm h1,\n.yfm h2,\n.yfm h3,\n.yfm h4,\n.yfm h5,\n.yfm h6 {\n margin-bottom: 15px;\n font-weight: 500;\n}\n.yfm h1 {\n font-size: 32px;\n line-height: 40px;\n}\n.yfm h2 {\n font-size: 24px;\n line-height: 28px;\n}\n.yfm h3 {\n font-size: 20px;\n line-height: 24px;\n}\n.yfm h4 {\n font-size: 17px;\n line-height: 24px;\n}\n.yfm h5 {\n font-size: 15px;\n line-height: 20px;\n}\n.yfm h6 {\n font-size: 13px;\n line-height: 18px;\n}\n.yfm a {\n background-color: transparent;\n color: var(--yfm-color-link);\n text-decoration: none;\n}\n.yfm a:hover, .yfm a:active {\n color: var(--yfm-color-link-hover);\n}\n.yfm a:not([href]) {\n color: inherit;\n}\n.yfm strong {\n font-weight: 700;\n}\n.yfm img,\n.yfm svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n}\n.yfm img[align=right],\n.yfm svg[align=right] {\n padding-left: 20px;\n}\n.yfm img[align=left],\n.yfm svg[align=left] {\n padding-right: 20px;\n}\n.yfm img {\n object-fit: contain;\n background-color: var(--yfm-color-base);\n}\n.yfm svg {\n height: auto;\n}\n.yfm .katex svg {\n height: initial;\n}\n.yfm img + small {\n display: block;\n}\n.yfm p,\n.yfm blockquote,\n.yfm ul,\n.yfm ol,\n.yfm dl,\n.yfm table,\n.yfm pre {\n margin: 0 0 15px;\n}\n.yfm ul pre,\n.yfm ol pre,\n.yfm dl pre {\n margin-top: 15px;\n}\n.yfm code,\n.yfm kbd,\n.yfm pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n}\n.yfm input {\n margin: 0;\n overflow: visible;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n.yfm input[type=checkbox] {\n position: relative;\n top: 1px;\n box-sizing: border-box;\n padding: 0;\n}\n.yfm table {\n color: var(--yfm-color-table);\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n box-sizing: border-box;\n border: 1px solid var(--yfm-color-border);\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: var(--yfm-color-base);\n}\n.yfm table thead,\n.yfm table tr:nth-child(2n) {\n background-color: var(--yfm-color-table-row-background);\n}\n.yfm table tr:first-child td,\n.yfm table tr:first-child th {\n border-top: none;\n}\n.yfm table tr:last-child td,\n.yfm table tr:last-child th {\n border-bottom: none;\n}\n.yfm table th,\n.yfm table td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid var(--yfm-color-border);\n}\n.yfm table th > *:first-child,\n.yfm table td > *:first-child {\n margin-top: 0;\n}\n.yfm table th > *:last-child,\n.yfm table td > *:last-child {\n margin-bottom: 0;\n}\n.yfm table td {\n vertical-align: top;\n white-space: normal;\n}\n.yfm table th {\n font-weight: 500;\n text-align: left;\n}\n.yfm table tr td:first-child,\n.yfm table tr th:first-child {\n border-left: none;\n}\n.yfm table tr td:last-child,\n.yfm table tr th:last-child {\n border-right: none;\n}\n.yfm hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n background-color: var(--yfm-color-border);\n border: none;\n}\n.yfm hr::before {\n content: \"\";\n display: table;\n}\n.yfm hr::after {\n content: \"\";\n display: table;\n clear: both;\n}\n.yfm blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid var(--yfm-color-accent);\n}\n.yfm blockquote > *:first-child {\n margin-top: 0;\n}\n.yfm blockquote > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl {\n padding: 0;\n}\n.yfm dl > *:first-child {\n margin-top: 0;\n}\n.yfm dl > *:last-child {\n margin-bottom: 0;\n}\n.yfm dl dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n}\n.yfm dl dd {\n margin-bottom: 15px;\n padding: 0 15px;\n}\n.yfm dd {\n margin-left: 0;\n}\n.yfm dd > ol:first-child, .yfm dd > ul:first-child, .yfm dd > dd:first-child {\n padding-left: 0;\n}\n.yfm ul,\n.yfm ol {\n padding-left: 2.2em;\n}\n.yfm ul ul,\n.yfm ul ol,\n.yfm ol ol,\n.yfm ol ul {\n margin-top: 0;\n margin-bottom: 0;\n}\n.yfm:not(.yfm_no-list-reset) ol {\n list-style-type: none;\n counter-reset: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li {\n position: relative;\n counter-increment: list;\n}\n.yfm:not(.yfm_no-list-reset) ol > li::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, \".\") \". \";\n}\n.yfm li {\n word-wrap: break-word;\n}\n.yfm li + li {\n margin-top: 0.33em;\n}\n.yfm li p,\n.yfm li blockquote {\n margin-top: 15px;\n}\n.yfm code {\n padding: 0.1em 0.4em 0.15em;\n background-color: var(--yfm-color-inline-code-background);\n border-radius: 4px;\n font-size: 0.875em;\n white-space: pre-wrap;\n color: var(--yfm-color-inline-code);\n}\n.yfm pre {\n word-wrap: normal;\n}\n.yfm table code {\n white-space: nowrap;\n}\n.yfm pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: var(--yfm-color-text);\n}\n.yfm pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n background-color: var(--yfm-color-code-background);\n color: var(--yfm-color-text);\n white-space: pre;\n}\n.yfm sup,\n.yfm sub {\n line-height: 0;\n}\n.yfm .visually-hidden {\n position: absolute;\n overflow: hidden;\n clip: rect(0 0 0 0);\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n white-space: nowrap;\n border: 0;\n clip-path: inset(100%);\n user-select: none;\n}\n\n.yfm h1 .yfm-anchor, .yfm h2 .yfm-anchor, .yfm h3 .yfm-anchor, .yfm h4 .yfm-anchor, .yfm h5 .yfm-anchor, .yfm h6 .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n text-align: center;\n font-size: 18px;\n}\n.yfm h1 .yfm-anchor:focus::before, .yfm h2 .yfm-anchor:focus::before, .yfm h3 .yfm-anchor:focus::before, .yfm h4 .yfm-anchor:focus::before, .yfm h5 .yfm-anchor:focus::before, .yfm h6 .yfm-anchor:focus::before {\n opacity: 1;\n}\n.yfm h1 .yfm-anchor::before, .yfm h2 .yfm-anchor::before, .yfm h3 .yfm-anchor::before, .yfm h4 .yfm-anchor::before, .yfm h5 .yfm-anchor::before, .yfm h6 .yfm-anchor::before {\n content: \"#\";\n opacity: 0;\n}\n.yfm h1:hover .yfm-anchor::before, .yfm h2:hover .yfm-anchor::before, .yfm h3:hover .yfm-anchor::before, .yfm h4:hover .yfm-anchor::before, .yfm h5:hover .yfm-anchor::before, .yfm h6:hover .yfm-anchor::before {\n opacity: 1;\n}\n.yfm table h1 .yfm-anchor, .yfm table h2 .yfm-anchor, .yfm table h3 .yfm-anchor, .yfm table h4 .yfm-anchor, .yfm table h5 .yfm-anchor, .yfm table h6 .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n}\n.yfm .yfm-tabs .yfm-anchor::before {\n position: absolute;\n padding-right: 2px;\n}\n\n.yfm .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: var(--yfm-color-hljs-background);\n}\n.yfm .hljs,\n.yfm .hljs-subst {\n color: var(--yfm-color-hljs-subst);\n}\n.yfm .hljs-comment {\n color: var(--yfm-color-hljs-comment);\n}\n.yfm .hljs-keyword,\n.yfm .hljs-attribute,\n.yfm .hljs-selector-tag,\n.yfm .hljs-meta-keyword,\n.yfm .hljs-doctag,\n.yfm .hljs-name {\n font-weight: bold;\n}\n.yfm .hljs-type,\n.yfm .hljs-string,\n.yfm .hljs-number,\n.yfm .hljs-selector-id,\n.yfm .hljs-selector-class,\n.yfm .hljs-quote,\n.yfm .hljs-template-tag,\n.yfm .hljs-deletion {\n color: var(--yfm-color-hljs-deletion);\n}\n.yfm .hljs-title,\n.yfm .hljs-section {\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n}\n.yfm .hljs-regexp,\n.yfm .hljs-symbol,\n.yfm .hljs-variable,\n.yfm .hljs-template-variable,\n.yfm .hljs-link,\n.yfm .hljs-selector-attr,\n.yfm .hljs-selector-pseudo {\n color: var(--yfm-color-hljs-pseudo);\n}\n.yfm .hljs-literal {\n color: var(--yfm-color-hljs-literal);\n}\n.yfm .hljs-built_in,\n.yfm .hljs-bullet,\n.yfm .hljs-code,\n.yfm .hljs-addition {\n color: var(--yfm-color-hljs-addition);\n}\n.yfm .hljs-meta {\n color: var(--yfm-color-hljs-meta);\n}\n.yfm .hljs-meta-string {\n color: var(--yfm-color-hljs-meta-string);\n}\n.yfm .hljs-emphasis {\n font-style: italic;\n}\n.yfm .hljs-strong {\n font-weight: bold;\n}\n\n.yfm-clipboard {\n position: relative;\n}\n.yfm-clipboard:hover .yfm-clipboard-button {\n opacity: 1;\n}\n.yfm-clipboard > pre {\n border-radius: 10px;\n overflow: hidden;\n}\n.yfm-clipboard-button {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n opacity: 0;\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n}\n.yfm-clipboard-button:focus {\n opacity: 1;\n}\n.yfm-clipboard-icon {\n pointer-events: none;\n}\n\n/**\n Note: This file excludes \"cut\", \"file\" and \"tabs\" as they are handled separately\n in dedicated extensions (packages). In the future, \"note\", \"term\"\n and \"table\" will also be excluded from this file and moved to yfm.scss,\n once they are moved to separate packages. Direct usage is not recommended,\n as the file is subject to changes without prior notice.\n */\n.yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n}\n.yfm .yfm-note .yfm-note-title {\n font-weight: 700;\n}\n.yfm .yfm-note > * {\n margin: 0 0 10px;\n}\n.yfm .yfm-note > *:first-child::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n}\n.yfm .yfm-note > *:last-child {\n margin-bottom: 0;\n}\n.yfm .yfm-note.yfm-accent-info > :first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(2,123,243)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-tip > :first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(86,189,103)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-warning > :first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(241,149,24)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-alert > :first-child::before {\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"rgb(255,70,69)\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n}\n.yfm .yfm-note.yfm-accent-info {\n background: var(--yfm-color-note-info-background);\n}\n.yfm .yfm-note.yfm-accent-tip {\n background: var(--yfm-color-note-tip-background);\n}\n.yfm .yfm-note.yfm-accent-alert {\n background: var(--yfm-color-note-important-background);\n}\n.yfm .yfm-note.yfm-accent-warning {\n background: var(--yfm-color-note-warning-background);\n}\n\n.yfm table td.cell-align-top-left, .yfm table td.cell-align-bottom-left {\n text-align: start;\n}\n.yfm table td.cell-align-top-center, .yfm table td.cell-align-center {\n text-align: center;\n}\n.yfm table td.cell-align-top-right, .yfm table td.cell-align-bottom-right {\n text-align: end;\n}\n.yfm table td.cell-align-top-left, .yfm table td.cell-align-top-center, .yfm table td.cell-align-top-right {\n vertical-align: top;\n}\n.yfm table td.cell-align-center {\n vertical-align: middle;\n}\n.yfm table td.cell-align-bottom-left, .yfm table td.cell-align-bottom-right {\n vertical-align: bottom;\n}\n\n.yfm-term_title {\n color: var(--yfm-color-term-title);\n cursor: pointer;\n border-bottom: 1px dotted;\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n}\n.yfm-term_title:hover {\n color: var(--yfm-color-term-title-hover);\n}\n.yfm-term_dfn {\n position: absolute;\n z-index: 100;\n width: fit-content;\n max-width: 450px;\n visibility: hidden;\n opacity: 0;\n padding: 10px;\n background-color: var(--yfm-color-term-dfn-background);\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n border-radius: 4px;\n box-shadow: 0 8px 20px var(--yfm-color-term-dfn-shadow);\n outline: none;\n}\n@media screen and (max-width: 600px) {\n .yfm-term_dfn {\n max-width: 80%;\n }\n}\n.yfm-term_dfn::before {\n content: \"\";\n position: absolute;\n z-index: -1;\n inset: 0;\n border-radius: inherit;\n box-shadow: 0 0 0 1px var(--yfm-color-term-dfn-pseudo-shadow);\n}\n.yfm-term_dfn.open {\n visibility: visible;\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n}\n@keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n/* stylelint-disable declaration-no-important */\n.wide-container {\n position: fixed;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0px;\n left: 0px;\n z-index: 200;\n}\n.wide-container.dc-doc-page {\n max-width: 100% !important;\n}\n.wide-container .wide-content-viewer {\n visibility: hidden;\n}\n.wide-container .wide-content-wrapper {\n z-index: 200;\n background-color: var(--yfm-color-modal-content);\n height: 90vh;\n width: 70vw;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n}\n.wide-container .wide-content-wrapper .wide-content {\n height: 95%;\n width: 100%;\n}\n.wide-container .wide-content-wrapper .wide-content .wide-inner-element {\n max-width: 100%;\n width: 100%;\n height: 100%;\n}\n.wide-container .wide-content-wrapper .wide-content table {\n border-radius: 0px;\n}\n.wide-container .wide-content-wrapper .wide-content .wide-thead-content {\n display: table;\n width: 100%;\n}\n.wide-container .wide-content-wrapper .wide-toolbar {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n}\n.wide-container .wide-content-wrapper .wide-entity-name {\n margin: 0;\n font-size: 18px;\n}\n.wide-container .wide-content-wrapper .wide-actions {\n align-self: flex-end;\n}\n.wide-container .wide-content-wrapper .wide-actions .close-action {\n cursor: pointer;\n border-radius: 3px;\n transition: background 300ms;\n}\n.wide-container .wide-content-wrapper .wide-actions .close-action:hover {\n background: var(--yfm-color-modal-actions-hover);\n}\n\n.wide-element-wrapper {\n display: flex;\n gap: 30px;\n position: relative;\n}\n.wide-element-wrapper:hover > .wide-content-viewer {\n visibility: visible;\n}\n.wide-element-wrapper .wide-inner-element {\n max-width: 700px;\n}\n\n.wide-content-viewer {\n visibility: hidden;\n width: 30px;\n height: 30px;\n z-index: 100;\n padding: 6px;\n box-sizing: content-box;\n color: var(--yfm-color-modal-wide-content);\n cursor: pointer;\n}\n.wide-content-viewer > svg {\n width: 20px;\n height: 20px;\n}\n\n.wide-content-overlay {\n z-index: 100;\n width: 100vw;\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n background-color: var(--yfm-color-modal-wide-content-overlay);\n opacity: 0.6;\n}\n\n.yfm-cut {\n transition: all 0.15s;\n margin-bottom: 15px;\n}\n\n.yfm-cut.cut-highlight {\n background-clip: content-box;\n box-shadow: 0 3px 0 7px var(--g-color-base-simple-hover);\n background-color: var(--g-color-base-simple-hover);\n border-radius: 3px;\n}\n\n.yfm-cut-title {\n list-style: none;\n cursor: pointer;\n position: relative;\n user-select: none;\n padding: 5px 0 5px 30px;\n}\n\n.yfm-cut-title::-webkit-details-marker {\n display: none;\n}\n\n.yfm-cut-title:before {\n content: \"\";\n z-index: 1;\n left: 0;\n top: 50%;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=);\n transform: translateY(-50%) rotate(-90deg);\n transition: transform 0.3s ease;\n height: 20px;\n width: 20px;\n position: absolute;\n}\n\n.yfm-cut-content {\n padding: 5px 0 15px 30px;\n}\n\n.yfm-cut.open > .yfm-cut-title:before {\n transform: translateY(-50%);\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol {\n counter-reset: cut-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol > li {\n counter-increment: cut-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-cut ol > li:before {\n content: counters(cut-list, \".\") \". \";\n}\n\n\n.yfm-file__icon {\n ---yfm-file-icon-img: var(--yfm-file-icon, url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==));\n display: inline-block;\n user-select: none;\n width: 16px;\n margin: 0 2px;\n color: var(--yfm-file-icon-color, --yfm-color-text);\n background-color: currentColor;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100%;\n mask-image: var(---yfm-file-icon-img);\n mask-position: center;\n mask-repeat: no-repeat;\n}\n\n.yfm-file__icon:before {\n content: \" \";\n}\n\n\n.yfm-tabs {\n margin-bottom: 15px;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol {\n counter-reset: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li {\n counter-increment: tabs-list;\n}\n\n.yfm:not(.yfm_no-list-reset) .yfm-tabs ol > li:before {\n content: counters(tabs-list, \".\") \". \";\n}\n\n.yfm-tab-list {\n display: flex;\n flex-wrap: wrap;\n margin-bottom: 15px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.07);\n}\n\n.yfm-tab {\n margin-bottom: -1px;\n margin-right: 20px;\n border-bottom: 2px solid transparent;\n padding: 6px 0 7px;\n font-weight: 700;\n outline: none;\n cursor: pointer;\n user-select: none;\n white-space: break-spaces;\n}\n\n.yfm-tab:last-child {\n margin-right: 0;\n}\n\n.yfm-tab:hover, .yfm-tab:active {\n color: #004080;\n}\n\n.yfm-tab.active {\n border-bottom-color: #027bf3;\n}\n\n.yfm-tab:focus {\n outline: 2px solid #4d90fe;\n border-radius: 2px;\n}\n\n.yfm-tab:focus:not(:focus-visible) {\n outline: 0;\n}\n\n.yfm-tab-panel {\n position: relative;\n visibility: hidden;\n overflow: hidden;\n height: 0;\n}\n\n.yfm-tab-panel:first-child {\n margin-top: 0 !important;\n}\n\n.yfm-tab-panel:last-child {\n margin-bottom: 0 !important;\n}\n\n.yfm-tab-panel.active {\n visibility: visible;\n overflow: visible;\n height: auto;\n}\n\n.yfm-tabs-dropdown {\n position: relative;\n width: 90%;\n margin-bottom: 0;\n --yfm-tabs-dropdown-color: #F2F2F2;\n --yfm-tabs-dropdown-text-color: #A8A8A8;\n --yfm-tabs-dropdown-color-border: #CCC;\n}\n\n.yfm-tabs-dropdown .yfm-tabs-dropdown-select {\n padding: 10px 30px 10px 10px;\n background: var(--g-color-base-background);\n border: 1px solid var(--yfm-tabs-dropdown-color-border);\n color: var(--yfm-tabs-dropdown-text-color);\n border-radius: 5px;\n position: relative;\n user-select: none;\n margin-bottom: 10px;\n max-width: 500px;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n z-index: 10;\n}\n\n.yfm-tabs-dropdown .yfm-tabs-dropdown-select.filled {\n color: inherit;\n}\n\n.yfm-tabs-dropdown .yfm-tabs-dropdown-select:after {\n content: \"\";\n position: absolute;\n display: block;\n right: 10px;\n top: 25%;\n transform: rotate(90deg);\n transition: transform 0.2s;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);\n width: 20px;\n height: 20px;\n}\n\n.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active + .yfm-tabs-dropdown-menu {\n transform: scaleY(1);\n}\n\n.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active:after {\n transform: rotate(0);\n}\n\n.yfm-tabs-dropdown > .yfm-tabs-dropdown-menu {\n width: 100%;\n max-width: 500px;\n max-height: 500px;\n overflow-y: scroll;\n padding: 10px 0;\n position: absolute;\n z-index: 10;\n display: flex;\n flex-direction: column;\n border: 1px solid var(--yfm-tabs-dropdown-color-border);\n border-radius: 5px;\n background-color: var(--g-color-base-background);\n transform: scaleY(0);\n list-style: none;\n z-index: 100;\n transition: transform 125ms;\n transform-origin: top center;\n}\n\n.yfm-tabs-dropdown > .yfm-tabs-dropdown-menu > li {\n user-select: none;\n cursor: pointer;\n background-color: var(--g-color-base-background);\n}\n\n.yfm-tabs-dropdown > .yfm-tabs-dropdown-menu > li:hover {\n background-color: var(--g-color-base-simple-hover);\n color: inherit;\n}\n\n.yfm-tabs-dropdown > .yfm-tabs-dropdown-menu > li.yfm-tab {\n padding: 5px 0 5px 10px;\n border-radius: 0;\n border-bottom: unset;\n margin: 0;\n font-weight: 500;\n}\n\n.yfm-tabs-dropdown > .yfm-tabs-dropdown-menu > li.yfm-tab.active {\n background-color: var(--g-color-base-selection);\n}\n\n.yfm-tabs-dropdown > .yfm-tabs-dropdown-menu > li.yfm-tab:hover {\n color: inherit;\n}\n\n.yfm-tabs-dropdown > .yfm-tab-panel.active {\n border: 1px solid #F2F2F2;\n transform: translateY(-30px);\n border-radius: 12px;\n padding: 40px 12px 16px;\n}\n\n.yfm-tabs-dropdown > .yfm-tabs {\n width: 100%;\n}\n\n.yfm-tabs-accordion {\n max-width: 80%;\n}\n\n.yfm-tabs-accordion > .yfm-tab:first-of-type {\n border-top-color: transparent;\n}\n\n.yfm-tabs-accordion .yfm-tab {\n padding: 8px 0 12px 6px;\n position: relative;\n border-top: 1px solid #E5E5E5;\n font-weight: 500;\n scroll-margin-top: 20px;\n}\n\n.yfm-tabs-accordion .yfm-tab:after {\n content: \"\";\n position: absolute;\n display: block;\n right: 10px;\n top: 25%;\n transform: rotate(-180deg);\n transition: transform 0.3s, background-color 0.2s;\n background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);\n width: 20px;\n height: 20px;\n border-radius: 6px;\n padding: 6px;\n}\n\n.yfm-tabs-accordion .yfm-tab.active {\n border-bottom-color: transparent !important;\n font-weight: 700;\n}\n\n.yfm-tabs-accordion .yfm-tab.active:after {\n transform: rotate(0);\n}\n\n.yfm-tabs-accordion .yfm-tab:hover {\n color: #3f5799;\n}\n\n.yfm-tabs-accordion .yfm-tab-panel.active {\n margin: 10px 0 25px 6px;\n}\n\n.yfm-tabs-vertical > .yfm-tab-list {\n flex-direction: column;\n border-bottom: unset;\n}\n\n.yfm-tabs-vertical > .yfm-tab-panel {\n margin-left: 30px;\n}\n\n.yfm-tabs-vertical > .yfm-tab-group {\n display: flex;\n flex-direction: row;\n margin-bottom: 5px;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > input[type=radio] {\n visibility: hidden;\n width: 0;\n height: 0;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > label {\n display: inline-block;\n cursor: pointer;\n position: relative;\n padding-left: 25px;\n margin-right: 0;\n line-height: 18px;\n user-select: none;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab > label:before {\n font-family: initial !important;\n content: \"\";\n position: absolute;\n left: 0;\n bottom: 1px;\n border-radius: 50%;\n width: 18px;\n height: 18px;\n border: #dfdfdf 1px solid;\n background-color: #fff;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked + label:before {\n content: \"•\";\n background-color: #5282ff;\n text-align: center;\n vertical-align: middle;\n font-size: 20px;\n white-space: pre;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n color: #fff;\n}\n\n.yfm-tabs-vertical .yfm-vertical-tab {\n border-bottom: unset !important;\n}\n\n\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvdHJhbnNmb3JtL3RyYW5zZm9ybS9zcmMvc2NzcyIsInNvdXJjZXMiOlsiX2NvbW1vbi5zY3NzIiwicHJpdmF0ZS5zY3NzIiwiYnJhbmQuc2NzcyIsIl9hbmNob3Iuc2NzcyIsIl9oaWdobGlnaHQuc2NzcyIsIl9jb2RlLnNjc3MiLCJfeWZtLW9ubHkuc2NzcyIsIl9ub3RlLnNjc3MiLCJfdGFibGUuc2NzcyIsIl90ZXJtLnNjc3MiLCJfbW9kYWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZGlwbG9kb2MvY3V0LWV4dGVuc2lvbi9idWlsZC9ydW50aW1lL2luZGV4LmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZGlwbG9kb2MvZmlsZS1leHRlbnNpb24vYnVpbGQvcnVudGltZS9pbmRleC5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRpcGxvZG9jL3RhYnMtZXh0ZW5zaW9uL2J1aWxkL3J1bnRpbWUvaW5kZXguY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQWVBO0VDZEk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUN6Q0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUYzQkE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTBXQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtFQTBCQTtBQUFBO0VBRUE7QUFBQTs7QUFwWUE7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUk7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUVJOztBQUdKO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtFQUNJOztBQUdKO0FBQUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPSTs7QUFNQTtBQUFBO0FBQUE7RUFDSTs7QUFJUjtBQUFBO0FBQUE7RUFHSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7O0FBSVI7RUFDSTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBRUk7O0FBSUE7QUFBQTtFQUVJOztBQUtKO0FBQUE7RUFFSTs7QUFJUjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7O0FBL01SO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7O0FBK01BO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7QUFBQTtFQUVJOztBQUVKO0FBQUE7RUFFSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7QUFqUUo7RUFDSTs7QUFHSjtFQUNJOztBQWlRSjtFQUNJOztBQXZRSjtFQUNJOztBQUdKO0VBQ0k7O0FBc1FBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBRUE7RUFHSTs7QUFJUjtBQUFBO0VBRUk7O0FBR0o7QUFBQTtBQUFBO0FBQUE7RUFJSTtFQUNBOztBQUlBO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFNaEI7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7RUFFSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBOztBQUdKO0FBQUE7RUFFSTs7QUFTSjtFQUNJO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBRUE7RUFFQTtFQUVBO0VBQ0E7OztBR3RaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOztBQUdJO0VBQ0k7O0FBSVI7RUFDSTtFQUNBOztBQUlSO0VBQ0k7O0FBTUE7RUFDSTtFQUNBO0VBQ0E7O0FBTVI7RUFDSTtFQUNBOzs7QUN6Q1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtBQUFBO0VBRUk7O0FBR0o7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFNSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBUUk7O0FBR0o7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFPSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7O0FDNUVKO0VBQ0k7O0FBR0k7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7O0FBR0o7RUFD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WyIvKiBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnQgKi9cblxuQGltcG9ydCAncHJpdmF0ZSc7XG5AaW1wb3J0ICdicmFuZCc7XG5cbkBtaXhpbiByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4ge1xuICAgICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi55Zm0ge1xuICAgIEBpbmNsdWRlIHByaXZhdGUtYnJhbmQoKTtcbiAgICBAaW5jbHVkZSBicmFuZCgpO1xuXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXlmbS1mb250LWZhbWlseS1zYW5zKTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItdGV4dCk7XG5cbiAgICAqIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbiAgICAmID4gKjpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNik6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWxpbmspO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1saW5rLWhvdmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KFtocmVmXSkge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIGltZyxcbiAgICBzdmcge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJlthbGlnbj0ncmlnaHQnXSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FsaWduPSdsZWZ0J10ge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXlmbS1jb2xvci1iYXNlKTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmthdGV4IHN2ZyB7XG4gICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICBpbWcgKyBzbWFsbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHAsXG4gICAgYmxvY2txdW90ZSxcbiAgICB1bCxcbiAgICBvbCxcbiAgICBkbCxcbiAgICB0YWJsZSxcbiAgICBwcmUge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIH1cblxuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsIHtcbiAgICAgICAgJiBwcmUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHByZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS15Zm0tZm9udC1mYW1pbHktbW9ub3NwYWNlKTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcblxuICAgICAgICAmW3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAxcHg7XG5cbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLXRhYmxlKTtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0teWZtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1iYXNlKTtcblxuICAgICAgICB0aGVhZCxcbiAgICAgICAgdHI6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15Zm0tY29sb3ItdGFibGUtcm93LWJhY2tncm91bmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGQsXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS15Zm0tY29sb3ItYm9yZGVyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVtb3ZlTWFyZ2luRm9yRWRnZUNoaWxkcmVuKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgdHIgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRyIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHRyIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRyIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaHIge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgaGVpZ2h0OiAwLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS15Zm0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLXlmbS1jb2xvci1hY2NlbnQpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlbW92ZU1hcmdpbkZvckVkZ2VDaGlsZHJlbigpO1xuICAgIH1cblxuICAgIGRsIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSByZW1vdmVNYXJnaW5Gb3JFZGdlQ2hpbGRyZW4oKTtcblxuICAgICAgICBkdCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAmID4gb2w6Zmlyc3QtY2hpbGQsXG4gICAgICAgICYgPiB1bDpmaXJzdC1jaGlsZCxcbiAgICAgICAgJiA+IGRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjJlbTtcbiAgICB9XG5cbiAgICB1bCB1bCxcbiAgICB1bCBvbCxcbiAgICBvbCBvbCxcbiAgICBvbCB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJjpub3QoLnlmbV9uby1saXN0LXJlc2V0KSB7XG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIGNvdW50ZXItcmVzZXQ6IGxpc3Q7XG5cbiAgICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXJzKGxpc3QsICcuJykgJy4gJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB9XG5cbiAgICBsaSArIGxpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zM2VtO1xuICAgIH1cblxuICAgIGxpIHAsXG4gICAgbGkgYmxvY2txdW90ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuXG4gICAgY29kZSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMWVtIDAuNGVtIDAuMTVlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWZtLWNvbG9yLWlubGluZS1jb2RlLWJhY2tncm91bmQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLWlubGluZS1jb2RlKTtcbiAgICB9XG5cbiAgICBwcmUge1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICB9XG5cbiAgICB0YWJsZSBjb2RlIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgICBwcmUgKiBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci10ZXh0KTtcbiAgICB9XG5cbiAgICBwcmUgPiBjb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXlmbS1jb2xvci1jb2RlLWJhY2tncm91bmQpO1xuICAgICAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLXRleHQpO1xuXG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgfVxuXG4gICAgc3VwLFxuICAgIHN1YiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qXG4gICAgICAgIEhpZGVzIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBsZWF2ZXMgaXQgdmlzaWJsZSBmb3Igc2VhcmNoIGNyYXdsZXJzIGFuZCBzY3JlZW4gcmVhZGVyc1xuXG4gICAgICAgIGh0dHBzOi8vd3d3LmExMXlwcm9qZWN0LmNvbS9wb3N0cy8yMDEzLTAxLTExLWhvdy10by1oaWRlLWNvbnRlbnQvXG4gICAgICAgIGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuICAgICovXG4gICAgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuXG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBtYXJnaW46IC0xcHg7XG5cbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB9XG5cbiAgICAtLXlmbS1mb250LWZhbWlseS1tb25vc3BhY2U6ICdNZW5sbycsICdNb25hY28nLCAnQ29uc29sYXMnLCAnVWJ1bnR1IE1vbm8nLCAnTGliZXJhdGlvbiBNb25vJyxcbiAgICAgICAgJ0RlamFWdSBTYW5zIE1vbm8nLCAnQ291cmllciBOZXcnLCAnQ291cmllcicsIG1vbm9zcGFjZTtcbiAgICAtLXlmbS1mb250LWZhbWlseS1zYW5zOiAnU2Vnb2UgVUknLCBhcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmLCAnQXBwbGUgQ29sb3IgRW1vamknLFxuICAgICAgICAnU2Vnb2UgVUkgRW1vamknLCAnU2Vnb2UgVUkgU3ltYm9sJztcbn1cbiIsIkBtaXhpbiBwcml2YXRlLWJyYW5kIHtcbiAgICAtLXlmbS1jb2xvci10ZXh0LXByaXZhdGU6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAtLXlmbS1jb2xvci1saW5rLXByaXZhdGU6ICMwMjdiZjM7XG4gICAgLS15Zm0tY29sb3ItbGluay1ob3Zlci1wcml2YXRlOiAjMDA0MDgwO1xuICAgIC0teWZtLWNvbG9yLWJhc2UtcHJpdmF0ZTogI2ZmZmZmZjtcbiAgICAtLXlmbS1jb2xvci10YWJsZS1wcml2YXRlOiAjMzMzO1xuICAgIC0teWZtLWNvbG9yLWJvcmRlci1wcml2YXRlOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgIC0teWZtLWNvbG9yLXRhYmxlLXJvdy1iYWNrZ3JvdW5kLXByaXZhdGU6IHJnYmEoMCwgMCwgMCwgMC4wMik7XG4gICAgLS15Zm0tY29sb3ItYWNjZW50LXByaXZhdGU6ICMwMjdiZjM7XG5cbiAgICAtLXlmbS1jb2xvci1pbmxpbmUtY29kZS1wcml2YXRlOiByZ2JhKDU5LCA5NiwgMTI4LCAxKTtcbiAgICAtLXlmbS1jb2xvci1pbmxpbmUtY29kZS1iYWNrZ3JvdW5kLXByaXZhdGU6IHJnYmEoMTA3LCAxMzIsIDE1MywgMC4xMik7XG4gICAgLS15Zm0tY29sb3ItY29kZS1iYWNrZ3JvdW5kLXByaXZhdGU6IHJnYmEoMTA3LCAxMzIsIDE1MywgMC4xMik7XG5cbiAgICAtLXlmbS1jb2xvci1obGpzLWJhY2tncm91bmQtcHJpdmF0ZTogcmdiYSgxMDcsIDEzMiwgMTUzLCAwLjEyKTtcbiAgICAtLXlmbS1jb2xvci1obGpzLXN1YnN0LXByaXZhdGU6ICM0NDQ7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1jb21tZW50LXByaXZhdGU6ICM4ODg4ODg7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1kZWxldGlvbi1wcml2YXRlOiAjODgwMDAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtc2VjdGlvbi1wcml2YXRlOiAjODgwMDAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtcHNldWRvLXByaXZhdGU6ICNiYzYwNjA7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1saXRlcmFsLXByaXZhdGU6ICM3OGE5NjA7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1hZGRpdGlvbi1wcml2YXRlOiAjMzk3MzAwO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YS1wcml2YXRlOiAjMWY3MTk5O1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YS1zdHJpbmctcHJpdmF0ZTogIzRkOTliZjtcblxuICAgIC0teWZtLWNvbG9yLW5vdGUtdGlwLXByaXZhdGU6ICM1NmJkNjc7XG4gICAgLS15Zm0tY29sb3Itbm90ZS10aXAtYmFja2dyb3VuZC1wcml2YXRlOiByZ2JhKDYzLCAyMDEsIDQ2LCAwLjEpO1xuICAgIC0teWZtLWNvbG9yLW5vdGUtd2FybmluZy1wcml2YXRlOiAjZjE5NTE4O1xuICAgIC0teWZtLWNvbG9yLW5vdGUtd2FybmluZy1iYWNrZ3JvdW5kLXByaXZhdGU6IHJnYmEoMjU1LCAxMzYsIDAsIDAuMTUpO1xuICAgIC0teWZtLWNvbG9yLW5vdGUtaW1wb3J0YW50LXByaXZhdGU6ICNmZjQ2NDU7XG4gICAgLS15Zm0tY29sb3Itbm90ZS1pbXBvcnRhbnQtYmFja2dyb3VuZC1wcml2YXRlOiByZ2JhKDIzNSwgNTAsIDM4LCAwLjA4KTtcbiAgICAtLXlmbS1jb2xvci1ub3RlLWluZm8tYmFja2dyb3VuZC1wcml2YXRlOiByZ2JhKDIsIDEyMywgMjQzLCAwLjA4KTtcblxuICAgIC0teWZtLWNvbG9yLXRlcm0tdGl0bGUtcHJpdmF0ZTogIzAyN2JmMztcbiAgICAtLXlmbS1jb2xvci10ZXJtLXRpdGxlLWhvdmVyLXByaXZhdGU6ICMwMDQwODA7XG4gICAgLS15Zm0tY29sb3ItdGVybS1kZm4tYmFja2dyb3VuZC1wcml2YXRlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgLS15Zm0tY29sb3ItdGVybS1kZm4tc2hhZG93LXByaXZhdGU6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgLS15Zm0tY29sb3ItdGVybS1kZm4tcHJlc3Vkby1zaGFkb3ctcHJpdmF0ZTogcmdiKDIyOSwgMjI5LCAyMjkpO1xuXG4gICAgLS15Zm0tY29sb3ItbW9kYWwtY29udGVudC1wcml2YXRlOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgLS15Zm0tY29sb3ItbW9kYWwtYWN0aW9ucy1ob3Zlci1wcml2YXRlOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIC0teWZtLWNvbG9yLW1vZGFsLXdpZGUtY29udGVudC1wcml2YXRlOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICAgIC0teWZtLWNvbG9yLW1vZGFsLXdpZGUtY29udGVudC1vdmVybGF5LXByaXZhdGU6IHJnYigwLCAwLCAwKTtcbn1cbiIsIkBtaXhpbiBicmFuZCB7XG4gICAgLS15Zm0tY29sb3ItYmFzZTogdmFyKC0teWZtLWNvbG9yLWJhc2UtcHJpdmF0ZSk7XG5cbiAgICAtLXlmbS1jb2xvci10ZXh0OiB2YXIoLS15Zm0tY29sb3ItdGV4dC1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1saW5rOiB2YXIoLS15Zm0tY29sb3ItbGluay1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1saW5rLWhvdmVyOiB2YXIoLS15Zm0tY29sb3ItbGluay1ob3Zlci1wcml2YXRlKTtcblxuICAgIC0teWZtLWNvbG9yLXRhYmxlOiB2YXIoLS15Zm0tY29sb3ItdGFibGUtcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItdGFibGUtcm93LWJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci10YWJsZS1yb3ctYmFja2dyb3VuZC1wcml2YXRlKTtcblxuICAgIC0teWZtLWNvbG9yLWJvcmRlcjogdmFyKC0teWZtLWNvbG9yLWJvcmRlci1wcml2YXRlKTtcblxuICAgIC0teWZtLWNvbG9yLWFjY2VudDogdmFyKC0teWZtLWNvbG9yLWFjY2VudC1wcml2YXRlKTtcblxuICAgIC0teWZtLWNvbG9yLWlubGluZS1jb2RlOiB2YXIoLS15Zm0tY29sb3ItaW5saW5lLWNvZGUtcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItaW5saW5lLWNvZGUtYmFja2dyb3VuZDogdmFyKC0teWZtLWNvbG9yLWlubGluZS1jb2RlLWJhY2tncm91bmQtcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItY29kZS1iYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3ItY29kZS1iYWNrZ3JvdW5kLXByaXZhdGUpO1xuXG4gICAgLS15Zm0tY29sb3ItaGxqcy1iYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1iYWNrZ3JvdW5kLXByaXZhdGUpO1xuICAgIC0teWZtLWNvbG9yLWhsanMtc3Vic3Q6IHZhcigtLXlmbS1jb2xvci1obGpzLXN1YnN0LXByaXZhdGUpO1xuICAgIC0teWZtLWNvbG9yLWhsanMtY29tbWVudDogdmFyKC0teWZtLWNvbG9yLWhsanMtY29tbWVudC1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1obGpzLWRlbGV0aW9uOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1kZWxldGlvbi1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1obGpzLXNlY3Rpb246IHZhcigtLXlmbS1jb2xvci1obGpzLXNlY3Rpb24tcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1wc2V1ZG86IHZhcigtLXlmbS1jb2xvci1obGpzLXBzZXVkby1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1obGpzLWxpdGVyYWw6IHZhcigtLXlmbS1jb2xvci1obGpzLWxpdGVyYWwtcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1hZGRpdGlvbjogdmFyKC0teWZtLWNvbG9yLWhsanMtYWRkaXRpb24tcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItaGxqcy1tZXRhOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1tZXRhLXByaXZhdGUpO1xuICAgIC0teWZtLWNvbG9yLWhsanMtbWV0YS1zdHJpbmc6IHZhcigtLXlmbS1jb2xvci1obGpzLW1ldGEtc3RyaW5nLXByaXZhdGUpO1xuXG4gICAgLS15Zm0tY29sb3Itbm90ZS10aXA6IHZhcigtLXlmbS1jb2xvci1ub3RlLXRpcC1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1ub3RlLXRpcC1iYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3Itbm90ZS10aXAtYmFja2dyb3VuZC1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1ub3RlLXdhcm5pbmc6IHZhcigtLXlmbS1jb2xvci1ub3RlLXdhcm5pbmctcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3Itbm90ZS13YXJuaW5nLWJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1ub3RlLXdhcm5pbmctYmFja2dyb3VuZC1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci1ub3RlLWltcG9ydGFudDogdmFyKC0teWZtLWNvbG9yLW5vdGUtaW1wb3J0YW50LXByaXZhdGUpO1xuICAgIC0teWZtLWNvbG9yLW5vdGUtaW1wb3J0YW50LWJhY2tncm91bmQ6IHZhcigtLXlmbS1jb2xvci1ub3RlLWltcG9ydGFudC1iYWNrZ3JvdW5kLXByaXZhdGUpO1xuICAgIC0teWZtLWNvbG9yLW5vdGUtaW5mby1iYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3Itbm90ZS1pbmZvLWJhY2tncm91bmQtcHJpdmF0ZSk7XG5cbiAgICAtLXlmbS1jb2xvci10ZXJtLXRpdGxlOiB2YXIoLS15Zm0tY29sb3ItdGVybS10aXRsZS1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci10ZXJtLXRpdGxlLWhvdmVyOiB2YXIoLS15Zm0tY29sb3ItdGVybS10aXRsZS1ob3Zlci1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci10ZXJtLWRmbi1iYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3ItdGVybS1kZm4tYmFja2dyb3VuZC1wcml2YXRlKTtcbiAgICAtLXlmbS1jb2xvci10ZXJtLWRmbi1zaGFkb3c6IHZhcigtLXlmbS1jb2xvci10ZXJtLWRmbi1zaGFkb3ctcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItdGVybS1kZm4tcHNldWRvLXNoYWRvdzogdmFyKC0teWZtLWNvbG9yLXRlcm0tZGZuLXByZXN1ZG8tc2hhZG93LXByaXZhdGUpO1xuXG4gICAgLS15Zm0tY29sb3ItbW9kYWwtY29udGVudDogdmFyKC0teWZtLWNvbG9yLW1vZGFsLWNvbnRlbnQtcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItbW9kYWwtYWN0aW9ucy1ob3ZlcjogdmFyKC0teWZtLWNvbG9yLW1vZGFsLWFjdGlvbnMtaG92ZXItcHJpdmF0ZSk7XG4gICAgLS15Zm0tY29sb3ItbW9kYWwtd2lkZS1jb250ZW50OiB2YXIoLS15Zm0tY29sb3ItbW9kYWwtd2lkZS1jb250ZW50LXByaXZhdGUpO1xuICAgIC0teWZtLWNvbG9yLW1vZGFsLXdpZGUtY29udGVudC1vdmVybGF5OiB2YXIoLS15Zm0tY29sb3ItbW9kYWwtd2lkZS1jb250ZW50LW92ZXJsYXktcHJpdmF0ZSk7XG59XG4iLCIueWZtIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgLnlmbS1hbmNob3Ige1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnIyc7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLnlmbS1hbmNob3I6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIC55Zm0tYW5jaG9yIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgLnlmbS10YWJzIHtcbiAgICAgICAgLnlmbS1hbmNob3I6OmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIueWZtIHtcbiAgICAuaGxqcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAuaGxqcyxcbiAgICAuaGxqcy1zdWJzdCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1zdWJzdCk7XG4gICAgfVxuXG4gICAgLmhsanMtY29tbWVudCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1jb21tZW50KTtcbiAgICB9XG5cbiAgICAuaGxqcy1rZXl3b3JkLFxuICAgIC5obGpzLWF0dHJpYnV0ZSxcbiAgICAuaGxqcy1zZWxlY3Rvci10YWcsXG4gICAgLmhsanMtbWV0YS1rZXl3b3JkLFxuICAgIC5obGpzLWRvY3RhZyxcbiAgICAuaGxqcy1uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmhsanMtdHlwZSxcbiAgICAuaGxqcy1zdHJpbmcsXG4gICAgLmhsanMtbnVtYmVyLFxuICAgIC5obGpzLXNlbGVjdG9yLWlkLFxuICAgIC5obGpzLXNlbGVjdG9yLWNsYXNzLFxuICAgIC5obGpzLXF1b3RlLFxuICAgIC5obGpzLXRlbXBsYXRlLXRhZyxcbiAgICAuaGxqcy1kZWxldGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1kZWxldGlvbik7XG4gICAgfVxuXG4gICAgLmhsanMtdGl0bGUsXG4gICAgLmhsanMtc2VjdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1zZWN0aW9uKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmhsanMtcmVnZXhwLFxuICAgIC5obGpzLXN5bWJvbCxcbiAgICAuaGxqcy12YXJpYWJsZSxcbiAgICAuaGxqcy10ZW1wbGF0ZS12YXJpYWJsZSxcbiAgICAuaGxqcy1saW5rLFxuICAgIC5obGpzLXNlbGVjdG9yLWF0dHIsXG4gICAgLmhsanMtc2VsZWN0b3ItcHNldWRvIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci1obGpzLXBzZXVkbyk7XG4gICAgfVxuXG4gICAgLmhsanMtbGl0ZXJhbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1saXRlcmFsKTtcbiAgICB9XG5cbiAgICAuaGxqcy1idWlsdF9pbixcbiAgICAuaGxqcy1idWxsZXQsXG4gICAgLmhsanMtY29kZSxcbiAgICAuaGxqcy1hZGRpdGlvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1hZGRpdGlvbik7XG4gICAgfVxuXG4gICAgLmhsanMtbWV0YSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1tZXRhKTtcbiAgICB9XG5cbiAgICAuaGxqcy1tZXRhLXN0cmluZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS15Zm0tY29sb3ItaGxqcy1tZXRhLXN0cmluZyk7XG4gICAgfVxuXG4gICAgLmhsanMtZW1waGFzaXMge1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLmhsanMtc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuIiwiLnlmbSB7XG4gICAgJi1jbGlwYm9hcmQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAueWZtLWNsaXBib2FyZC1idXR0b24ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmID4gcHJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1idXR0b24ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICAgICAgLy9yZXNldCBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWljb24ge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAgICBOb3RlOiBUaGlzIGZpbGUgZXhjbHVkZXMgXCJjdXRcIiwgXCJmaWxlXCIgYW5kIFwidGFic1wiIGFzIHRoZXkgYXJlIGhhbmRsZWQgc2VwYXJhdGVseVxuICAgIGluIGRlZGljYXRlZCBleHRlbnNpb25zIChwYWNrYWdlcykuIEluIHRoZSBmdXR1cmUsIFwibm90ZVwiLCBcInRlcm1cIlxuICAgIGFuZCBcInRhYmxlXCIgd2lsbCBhbHNvIGJlIGV4Y2x1ZGVkIGZyb20gdGhpcyBmaWxlIGFuZCBtb3ZlZCB0byB5Zm0uc2NzcyxcbiAgICBvbmNlIHRoZXkgYXJlIG1vdmVkIHRvIHNlcGFyYXRlIHBhY2thZ2VzLiBEaXJlY3QgdXNhZ2UgaXMgbm90IHJlY29tbWVuZGVkLFxuICAgIGFzIHRoZSBmaWxlIGlzIHN1YmplY3QgdG8gY2hhbmdlcyB3aXRob3V0IHByaW9yIG5vdGljZS5cbiAqL1xuXG5AaW1wb3J0ICdub3RlJztcbkBpbXBvcnQgJ3RhYmxlJztcbkBpbXBvcnQgJ3Rlcm0nO1xuIiwiLnlmbSAueWZtLW5vdGUge1xuICAgIG1heC13aWR0aDogMTI5NnB4O1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcblxuICAgIC55Zm0tbm90ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTQ0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQHRvZG8gcmVwbGFjZSB3aXRoIHZhcmlhYmxlc1xuXG4gICAgJGNvbG9yczogKFxuICAgICAgICB5Zm0tYWNjZW50LWluZm86ICMwMjdiZjMsXG4gICAgICAgIHlmbS1hY2NlbnQtdGlwOiAjNTZiZDY3LFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6ICNmMTk1MTgsXG4gICAgICAgIHlmbS1hY2NlbnQtYWxlcnQ6ICNmZjQ2NDUsXG4gICAgKTtcblxuICAgIEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJGNvbG9ycyB7XG4gICAgICAgICYuI3skdHlwZX0gPiA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgICAkcjogcmVkKCRjb2xvcik7XG4gICAgICAgICAgICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgICAgICAgICAgICRiOiBibHVlKCRjb2xvcik7XG4gICAgICAgICAgICAkcmdiQ29sb3I6ICdyZ2IoJyArICRyICsgJywnICsgJGcgKyAnLCcgKyAkYiArICcpJztcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiOFwiIHI9XCI4XCIgZmlsbD1cIicgKyAkcmdiQ29sb3IgKyAnXCIvJTNFJTNDcmVjdCB3aWR0aD1cIjFcIiBoZWlnaHQ9XCI1XCIgeD1cIjcuNVwiIHk9XCI2LjVcIiBzdHJva2U9XCIlMjNmZmZcIiByeD1cIi41XCIvJTNFJTNDY2lyY2xlIGN4PVwiOFwiIGN5PVwiNFwiIHI9XCIxXCIgZmlsbD1cIiUyM2ZmZlwiLyUzRSUzQy9zdmclM0UnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICRiYWNrZ3JvdW5kQ29sb3JzOiAoXG4gICAgICAgIHlmbS1hY2NlbnQtaW5mbzogdmFyKC0teWZtLWNvbG9yLW5vdGUtaW5mby1iYWNrZ3JvdW5kKSxcbiAgICAgICAgeWZtLWFjY2VudC10aXA6IHZhcigtLXlmbS1jb2xvci1ub3RlLXRpcC1iYWNrZ3JvdW5kKSxcbiAgICAgICAgeWZtLWFjY2VudC1hbGVydDogdmFyKC0teWZtLWNvbG9yLW5vdGUtaW1wb3J0YW50LWJhY2tncm91bmQpLFxuICAgICAgICB5Zm0tYWNjZW50LXdhcm5pbmc6IHZhcigtLXlmbS1jb2xvci1ub3RlLXdhcm5pbmctYmFja2dyb3VuZCksXG4gICAgKTtcblxuICAgIEBlYWNoICR0eXBlLCAkY29sb3IgaW4gJGJhY2tncm91bmRDb2xvcnMge1xuICAgICAgICAmLiN7JHR5cGV9IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi55Zm0gdGFibGUgdGQge1xuICAgICYuY2VsbC1hbGlnbi10b3AtbGVmdCxcbiAgICAmLmNlbGwtYWxpZ24tYm90dG9tLWxlZnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG5cbiAgICAmLmNlbGwtYWxpZ24tdG9wLWNlbnRlcixcbiAgICAmLmNlbGwtYWxpZ24tY2VudGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYuY2VsbC1hbGlnbi10b3AtcmlnaHQsXG4gICAgJi5jZWxsLWFsaWduLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcbiAgICB9XG5cbiAgICAmLmNlbGwtYWxpZ24tdG9wLWxlZnQsXG4gICAgJi5jZWxsLWFsaWduLXRvcC1jZW50ZXIsXG4gICAgJi5jZWxsLWFsaWduLXRvcC1yaWdodCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgJi5jZWxsLWFsaWduLWNlbnRlciB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5jZWxsLWFsaWduLWJvdHRvbS1sZWZ0LFxuICAgICYuY2VsbC1hbGlnbi1ib3R0b20tcmlnaHQge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbn1cblxuIiwiLnlmbS10ZXJtIHtcbiAgICAmX3RpdGxlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci10ZXJtLXRpdGxlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG5cbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXlmbS1jb2xvci10ZXJtLXRpdGxlLWhvdmVyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfZGZuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXlmbS1jb2xvci10ZXJtLWRmbi1iYWNrZ3JvdW5kKTtcblxuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDIwcHggdmFyKC0teWZtLWNvbG9yLXRlcm0tZGZuLXNoYWRvdyk7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBpbnNldDogMDtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS15Zm0tY29sb3ItdGVybS1kZm4tcHNldWRvLXNoYWRvdyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHBvcHVwO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcblxuICAgICAgICAgICAgQGtleWZyYW1lcyBwb3B1cCB7XG4gICAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50ICovXG5cbi53aWRlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgei1pbmRleDogMjAwO1xuXG4gICAgJi5kYy1kb2MtcGFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53aWRlLWNvbnRlbnQtdmlld2VyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC53aWRlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIHotaW5kZXg6IDIwMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWZtLWNvbG9yLW1vZGFsLWNvbnRlbnQpO1xuICAgICAgICBoZWlnaHQ6IDkwdmg7XG4gICAgICAgIHdpZHRoOiA3MHZ3O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC53aWRlLWNvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NSU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLndpZGUtaW5uZXItZWxlbWVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGFibGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLndpZGUtdGhlYWQtY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAud2lkZS10b29sYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLndpZGUtZW50aXR5LW5hbWUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLndpZGUtYWN0aW9ucyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgLmNsb3NlLWFjdGlvbiB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXM7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0teWZtLWNvbG9yLW1vZGFsLWFjdGlvbnMtaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndpZGUtZWxlbWVudC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyID4gLndpZGUtY29udGVudC12aWV3ZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC53aWRlLWlubmVyLWVsZW1lbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIH1cbn1cblxuLndpZGUtY29udGVudC12aWV3ZXIge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHBhZGRpbmc6IDZweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBjb2xvcjogdmFyKC0teWZtLWNvbG9yLW1vZGFsLXdpZGUtY29udGVudCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJiA+IHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4ud2lkZS1jb250ZW50LW92ZXJsYXkge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0teWZtLWNvbG9yLW1vZGFsLXdpZGUtY29udGVudC1vdmVybGF5KTtcbiAgICBvcGFjaXR5OiAwLjY7XG59XG4iLCIueWZtLWN1dHt0cmFuc2l0aW9uOmFsbCAuMTVzO21hcmdpbi1ib3R0b206MTVweH0ueWZtLWN1dC5jdXQtaGlnaGxpZ2h0e2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtib3gtc2hhZG93OjAgM3B4IDAgN3B4IHZhcigtLWctY29sb3ItYmFzZS1zaW1wbGUtaG92ZXIpO2JhY2tncm91bmQtY29sb3I6dmFyKC0tZy1jb2xvci1iYXNlLXNpbXBsZS1ob3Zlcik7Ym9yZGVyLXJhZGl1czozcHh9LnlmbS1jdXQtdGl0bGV7bGlzdC1zdHlsZTpub25lO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3VzZXItc2VsZWN0Om5vbmU7cGFkZGluZzo1cHggMCA1cHggMzBweH0ueWZtLWN1dC10aXRsZTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlcntkaXNwbGF5Om5vbmV9LnlmbS1jdXQtdGl0bGU6YmVmb3Jle2NvbnRlbnQ6XCJcIjt6LWluZGV4OjE7bGVmdDowO3RvcDo1MCU7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhOaUF4TmlJK0NpQWdJQ0E4Y0dGMGFDQnpkSEp2YTJVOUltTjFjbkpsYm5SRGIyeHZjaUlnWm1sc2JEMGlibTl1WlNJZ1pEMGlUVE1nTm13MUlEVWdOUzAxSWk4K0Nqd3ZjM1puUGdvPSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZyk7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2U7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDtwb3NpdGlvbjphYnNvbHV0ZX0ueWZtLWN1dC1jb250ZW50e3BhZGRpbmc6NXB4IDAgMTVweCAzMHB4fS55Zm0tY3V0Lm9wZW4+LnlmbS1jdXQtdGl0bGU6YmVmb3Jle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS1jdXQgb2x7Y291bnRlci1yZXNldDpjdXQtbGlzdH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tY3V0IG9sPmxpe2NvdW50ZXItaW5jcmVtZW50OmN1dC1saXN0fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS1jdXQgb2w+bGk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcnMoY3V0LWxpc3QsXCIuXCIpIFwiLiBcIn1cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNzcy5tYXAgKi9cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsueWZtLWZpbGVfX2ljb257LS0teWZtLWZpbGUtaWNvbi1pbWc6IHZhcigtLXlmbS1maWxlLWljb24sIHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBek9EUWdOVEV5SWo0OGNHRjBhQ0JtYVd4c1BTSmpkWEp5Wlc1MFEyOXNiM0lpSUdROUlrMHpOamt1T1NBNU55NDVUREk0TmlBeE5FTXlOemNnTlNBeU5qUXVPQzB1TVNBeU5USXVNUzB1TVVnME9FTXlNUzQxSURBZ01DQXlNUzQxSURBZ05EaDJOREUyWXpBZ01qWXVOU0F5TVM0MUlEUTRJRFE0SURRNGFESTRPR015Tmk0MUlEQWdORGd0TWpFdU5TQTBPQzAwT0ZZeE16RXVPV013TFRFeUxqY3ROUzR4TFRJMUxURTBMakV0TXpSNmJTMHlNaTQySURJeUxqZGpNaTR4SURJdU1TQXpMalVnTkM0MklEUXVNaUEzTGpSSU1qVTJWak15TGpWak1pNDRMamNnTlM0eklESXVNU0EzTGpRZ05DNHliRGd6TGprZ09ETXVPWHBOTXpNMklEUTRNRWcwT0dNdE9DNDRJREF0TVRZdE55NHlMVEUyTFRFMlZqUTRZekF0T0M0NElEY3VNaTB4TmlBeE5pMHhObWd4TnpaMk1UQTBZekFnTVRNdU15QXhNQzQzSURJMElESTBJREkwYURFd05IWXpNRFJqTUNBNExqZ3ROeTR5SURFMkxURTJJREUyZW0wdE5EZ3RNalEwZGpoak1DQTJMall0TlM0MElERXlMVEV5SURFeVNERXdPR010Tmk0MklEQXRNVEl0TlM0MExURXlMVEV5ZGkwNFl6QXROaTQySURVdU5DMHhNaUF4TWkweE1tZ3hOamhqTmk0MklEQWdNVElnTlM0MElERXlJREV5ZW0wd0lEWTBkamhqTUNBMkxqWXROUzQwSURFeUxURXlJREV5U0RFd09HTXROaTQySURBdE1USXROUzQwTFRFeUxURXlkaTA0WXpBdE5pNDJJRFV1TkMweE1pQXhNaTB4TW1neE5qaGpOaTQySURBZ01USWdOUzQwSURFeUlERXllbTB3SURZMGRqaGpNQ0EyTGpZdE5TNDBJREV5TFRFeUlERXlTREV3T0dNdE5pNDJJREF0TVRJdE5TNDBMVEV5TFRFeWRpMDRZekF0Tmk0MklEVXVOQzB4TWlBeE1pMHhNbWd4Tmpoak5pNDJJREFnTVRJZ05TNDBJREV5SURFeWVpSXZQand2YzNablBnPT0pKTtkaXNwbGF5OmlubGluZS1ibG9jazt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjE2cHg7bWFyZ2luOjAgMnB4O2NvbG9yOnZhcigtLXlmbS1maWxlLWljb24tY29sb3IsIC0teWZtLWNvbG9yLXRleHQpO2JhY2tncm91bmQtY29sb3I6Y3VycmVudENvbG9yO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJTtiYWNrZ3JvdW5kLXNpemU6MTAwJTttYXNrLWltYWdlOnZhcigtLS15Zm0tZmlsZS1pY29uLWltZyk7bWFzay1wb3NpdGlvbjpjZW50ZXI7bWFzay1yZXBlYXQ6bm8tcmVwZWF0fS55Zm0tZmlsZV9faWNvbjpiZWZvcmV7Y29udGVudDpcIlxcYTBcIn1cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNzcy5tYXAgKi9cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsueWZtLXRhYnN7bWFyZ2luLWJvdHRvbToxNXB4fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS10YWJzIG9se2NvdW50ZXItcmVzZXQ6dGFicy1saXN0fS55Zm06bm90KC55Zm1fbm8tbGlzdC1yZXNldCkgLnlmbS10YWJzIG9sPmxpe2NvdW50ZXItaW5jcmVtZW50OnRhYnMtbGlzdH0ueWZtOm5vdCgueWZtX25vLWxpc3QtcmVzZXQpIC55Zm0tdGFicyBvbD5saTpiZWZvcmV7Y29udGVudDpjb3VudGVycyh0YWJzLWxpc3QsXCIuXCIpIFwiLiBcIn0ueWZtLXRhYi1saXN0e2Rpc3BsYXk6ZmxleDtmbGV4LXdyYXA6d3JhcDttYXJnaW4tYm90dG9tOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgcmdiYSgwLDAsMCwuMDcpfS55Zm0tdGFie21hcmdpbi1ib3R0b206LTFweDttYXJnaW4tcmlnaHQ6MjBweDtib3JkZXItYm90dG9tOjJweCBzb2xpZCB0cmFuc3BhcmVudDtwYWRkaW5nOjZweCAwIDdweDtmb250LXdlaWdodDo3MDA7b3V0bGluZTpub25lO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7d2hpdGUtc3BhY2U6YnJlYWstc3BhY2VzfS55Zm0tdGFiOmxhc3QtY2hpbGR7bWFyZ2luLXJpZ2h0OjB9LnlmbS10YWI6aG92ZXIsLnlmbS10YWI6YWN0aXZle2NvbG9yOiMwMDQwODB9LnlmbS10YWIuYWN0aXZle2JvcmRlci1ib3R0b20tY29sb3I6IzAyN2JmM30ueWZtLXRhYjpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCAjNGQ5MGZlO2JvcmRlci1yYWRpdXM6MnB4fS55Zm0tdGFiOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSl7b3V0bGluZTowfS55Zm0tdGFiLXBhbmVse3Bvc2l0aW9uOnJlbGF0aXZlO3Zpc2liaWxpdHk6aGlkZGVuO292ZXJmbG93OmhpZGRlbjtoZWlnaHQ6MH0ueWZtLXRhYi1wYW5lbDpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOjAhaW1wb3J0YW50fS55Zm0tdGFiLXBhbmVsOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowIWltcG9ydGFudH0ueWZtLXRhYi1wYW5lbC5hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlO292ZXJmbG93OnZpc2libGU7aGVpZ2h0OmF1dG99LnlmbS10YWJzLWRyb3Bkb3due3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjkwJTttYXJnaW4tYm90dG9tOjA7LS15Zm0tdGFicy1kcm9wZG93bi1jb2xvcjogI0YyRjJGMjstLXlmbS10YWJzLWRyb3Bkb3duLXRleHQtY29sb3I6ICNBOEE4QTg7LS15Zm0tdGFicy1kcm9wZG93bi1jb2xvci1ib3JkZXI6ICNDQ0N9LnlmbS10YWJzLWRyb3Bkb3duIC55Zm0tdGFicy1kcm9wZG93bi1zZWxlY3R7cGFkZGluZzoxMHB4IDMwcHggMTBweCAxMHB4O2JhY2tncm91bmQ6dmFyKC0tZy1jb2xvci1iYXNlLWJhY2tncm91bmQpO2JvcmRlcjoxcHggc29saWQgdmFyKC0teWZtLXRhYnMtZHJvcGRvd24tY29sb3ItYm9yZGVyKTtjb2xvcjp2YXIoLS15Zm0tdGFicy1kcm9wZG93bi10ZXh0LWNvbG9yKTtib3JkZXItcmFkaXVzOjVweDtwb3NpdGlvbjpyZWxhdGl2ZTt1c2VyLXNlbGVjdDpub25lO21hcmdpbi1ib3R0b206MTBweDttYXgtd2lkdGg6NTAwcHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7b3ZlcmZsb3c6aGlkZGVuO3otaW5kZXg6MTB9LnlmbS10YWJzLWRyb3Bkb3duIC55Zm0tdGFicy1kcm9wZG93bi1zZWxlY3QuZmlsbGVke2NvbG9yOmluaGVyaXR9LnlmbS10YWJzLWRyb3Bkb3duIC55Zm0tdGFicy1kcm9wZG93bi1zZWxlY3Q6YWZ0ZXJ7Y29udGVudDpcIlwiO3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7cmlnaHQ6MTBweDt0b3A6MjUlO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4ycztiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBeE5pQXhOaUkrUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnYzNSeWIydGxQU0pqZFhKeVpXNTBRMjlzYjNJaUlHUTlJbTB6SURZZ05TQTFJRFV0TlNJdlBqd3ZjM1puUGc9PSk7d2lkdGg6MjBweDtoZWlnaHQ6MjBweH0ueWZtLXRhYnMtZHJvcGRvd24gLnlmbS10YWJzLWRyb3Bkb3duLXNlbGVjdC5hY3RpdmUrLnlmbS10YWJzLWRyb3Bkb3duLW1lbnV7dHJhbnNmb3JtOnNjYWxlWSgxKX0ueWZtLXRhYnMtZHJvcGRvd24gLnlmbS10YWJzLWRyb3Bkb3duLXNlbGVjdC5hY3RpdmU6YWZ0ZXJ7dHJhbnNmb3JtOnJvdGF0ZSgwKX0ueWZtLXRhYnMtZHJvcGRvd24+LnlmbS10YWJzLWRyb3Bkb3duLW1lbnV7d2lkdGg6MTAwJTttYXgtd2lkdGg6NTAwcHg7bWF4LWhlaWdodDo1MDBweDtvdmVyZmxvdy15OnNjcm9sbDtwYWRkaW5nOjEwcHggMDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEwO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47Ym9yZGVyOjFweCBzb2xpZCB2YXIoLS15Zm0tdGFicy1kcm9wZG93bi1jb2xvci1ib3JkZXIpO2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQtY29sb3I6dmFyKC0tZy1jb2xvci1iYXNlLWJhY2tncm91bmQpO3RyYW5zZm9ybTpzY2FsZVkoMCk7bGlzdC1zdHlsZTpub25lO3otaW5kZXg6MTAwO3RyYW5zaXRpb246dHJhbnNmb3JtIDEyNW1zO3RyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcn0ueWZtLXRhYnMtZHJvcGRvd24+LnlmbS10YWJzLWRyb3Bkb3duLW1lbnU+bGl7dXNlci1zZWxlY3Q6bm9uZTtjdXJzb3I6cG9pbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWctY29sb3ItYmFzZS1iYWNrZ3JvdW5kKX0ueWZtLXRhYnMtZHJvcGRvd24+LnlmbS10YWJzLWRyb3Bkb3duLW1lbnU+bGk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1nLWNvbG9yLWJhc2Utc2ltcGxlLWhvdmVyKTtjb2xvcjppbmhlcml0fS55Zm0tdGFicy1kcm9wZG93bj4ueWZtLXRhYnMtZHJvcGRvd24tbWVudT5saS55Zm0tdGFie3BhZGRpbmc6NXB4IDAgNXB4IDEwcHg7Ym9yZGVyLXJhZGl1czowO2JvcmRlci1ib3R0b206dW5zZXQ7bWFyZ2luOjA7Zm9udC13ZWlnaHQ6NTAwfS55Zm0tdGFicy1kcm9wZG93bj4ueWZtLXRhYnMtZHJvcGRvd24tbWVudT5saS55Zm0tdGFiLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWctY29sb3ItYmFzZS1zZWxlY3Rpb24pfS55Zm0tdGFicy1kcm9wZG93bj4ueWZtLXRhYnMtZHJvcGRvd24tbWVudT5saS55Zm0tdGFiOmhvdmVye2NvbG9yOmluaGVyaXR9LnlmbS10YWJzLWRyb3Bkb3duPi55Zm0tdGFiLXBhbmVsLmFjdGl2ZXtib3JkZXI6MXB4IHNvbGlkICNGMkYyRjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpO2JvcmRlci1yYWRpdXM6MTJweDtwYWRkaW5nOjQwcHggMTJweCAxNnB4fS55Zm0tdGFicy1kcm9wZG93bj4ueWZtLXRhYnN7d2lkdGg6MTAwJX0ueWZtLXRhYnMtYWNjb3JkaW9ue21heC13aWR0aDo4MCV9LnlmbS10YWJzLWFjY29yZGlvbj4ueWZtLXRhYjpmaXJzdC1vZi10eXBle2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnR9LnlmbS10YWJzLWFjY29yZGlvbiAueWZtLXRhYntwYWRkaW5nOjhweCAwIDEycHggNnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlci10b3A6MXB4IHNvbGlkICNFNUU1RTU7Zm9udC13ZWlnaHQ6NTAwO3Njcm9sbC1tYXJnaW4tdG9wOjIwcHh9LnlmbS10YWJzLWFjY29yZGlvbiAueWZtLXRhYjphZnRlcntjb250ZW50OlwiXCI7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jaztyaWdodDoxMHB4O3RvcDoyNSU7dHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MsYmFja2dyb3VuZC1jb2xvciAuMnM7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhOaUF4TmlJK1BIQmhkR2dnWm1sc2JEMGlibTl1WlNJZ2MzUnliMnRsUFNKamRYSnlaVzUwUTI5c2IzSWlJR1E5SW0weklEWWdOU0ExSURVdE5TSXZQand2YzNablBnPT0pO3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7Ym9yZGVyLXJhZGl1czo2cHg7cGFkZGluZzo2cHh9LnlmbS10YWJzLWFjY29yZGlvbiAueWZtLXRhYi5hY3RpdmV7Ym9yZGVyLWJvdHRvbS1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwfS55Zm0tdGFicy1hY2NvcmRpb24gLnlmbS10YWIuYWN0aXZlOmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoMCl9LnlmbS10YWJzLWFjY29yZGlvbiAueWZtLXRhYjpob3Zlcntjb2xvcjojM2Y1Nzk5fS55Zm0tdGFicy1hY2NvcmRpb24gLnlmbS10YWItcGFuZWwuYWN0aXZle21hcmdpbjoxMHB4IDAgMjVweCA2cHh9LnlmbS10YWJzLXZlcnRpY2FsPi55Zm0tdGFiLWxpc3R7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JvcmRlci1ib3R0b206dW5zZXR9LnlmbS10YWJzLXZlcnRpY2FsPi55Zm0tdGFiLXBhbmVse21hcmdpbi1sZWZ0OjMwcHh9LnlmbS10YWJzLXZlcnRpY2FsPi55Zm0tdGFiLWdyb3Vwe2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7bWFyZ2luLWJvdHRvbTo1cHh9LnlmbS10YWJzLXZlcnRpY2FsIC55Zm0tdmVydGljYWwtdGFiPmlucHV0W3R5cGU9cmFkaW9de3Zpc2liaWxpdHk6aGlkZGVuO3dpZHRoOjA7aGVpZ2h0OjB9LnlmbS10YWJzLXZlcnRpY2FsIC55Zm0tdmVydGljYWwtdGFiPmxhYmVse2Rpc3BsYXk6aW5saW5lLWJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctbGVmdDoyNXB4O21hcmdpbi1yaWdodDowO2xpbmUtaGVpZ2h0OjE4cHg7dXNlci1zZWxlY3Q6bm9uZX0ueWZtLXRhYnMtdmVydGljYWwgLnlmbS12ZXJ0aWNhbC10YWI+bGFiZWw6YmVmb3Jle2ZvbnQtZmFtaWx5OmluaXRpYWwhaW1wb3J0YW50O2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjFweDtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2JvcmRlcjojZGZkZmRmIDFweCBzb2xpZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnlmbS10YWJzLXZlcnRpY2FsIC55Zm0tdmVydGljYWwtdGFiIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQrbGFiZWw6YmVmb3Jle2NvbnRlbnQ6XCJcXDIwMjJcIjtiYWNrZ3JvdW5kLWNvbG9yOiM1MjgyZmY7dGV4dC1hbGlnbjpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlO2ZvbnQtc2l6ZToyMHB4O3doaXRlLXNwYWNlOnByZTtkaXNwbGF5OmlubGluZS1mbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2NvbG9yOiNmZmZ9LnlmbS10YWJzLXZlcnRpY2FsIC55Zm0tdmVydGljYWwtdGFie2JvcmRlci1ib3R0b206dW5zZXQhaW1wb3J0YW50fVxuLyojIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY3NzLm1hcCAqL1xuIl19 */", "/* stylelint-disable declaration-no-important */\n\n@import 'private';\n@import 'brand';\n\n@mixin removeMarginForEdgeChildren {\n & > *:first-child {\n margin-top: 0;\n }\n\n & > *:last-child {\n margin-bottom: 0;\n }\n}\n\n.yfm {\n @include private-brand();\n @include brand();\n\n font-family: var(--yfm-font-family-sans);\n font-size: 15px;\n line-height: 20px;\n word-wrap: break-word;\n color: var(--yfm-color-text);\n\n * {\n box-sizing: border-box;\n }\n\n & > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child {\n margin-top: 0 !important;\n }\n\n & > *:last-child {\n margin-bottom: 0 !important;\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: 15px;\n font-weight: 500;\n }\n\n h1 {\n font-size: 32px;\n line-height: 40px;\n }\n\n h2 {\n font-size: 24px;\n line-height: 28px;\n }\n\n h3 {\n font-size: 20px;\n line-height: 24px;\n }\n\n h4 {\n font-size: 17px;\n line-height: 24px;\n }\n\n h5 {\n font-size: 15px;\n line-height: 20px;\n }\n\n h6 {\n font-size: 13px;\n line-height: 18px;\n }\n\n a {\n background-color: transparent;\n color: var(--yfm-color-link);\n text-decoration: none;\n\n &:hover,\n &:active {\n color: var(--yfm-color-link-hover);\n }\n\n &:not([href]) {\n color: inherit;\n }\n }\n\n strong {\n font-weight: 700;\n }\n\n img,\n svg {\n box-sizing: content-box;\n max-width: 100%;\n border: none;\n vertical-align: middle;\n\n &[align='right'] {\n padding-left: 20px;\n }\n\n &[align='left'] {\n padding-right: 20px;\n }\n }\n\n img {\n object-fit: contain;\n background-color: var(--yfm-color-base);\n }\n\n svg {\n height: auto;\n }\n\n .katex svg {\n height: initial;\n }\n\n img + small {\n display: block;\n }\n\n p,\n blockquote,\n ul,\n ol,\n dl,\n table,\n pre {\n margin: 0 0 15px;\n }\n\n ul,\n ol,\n dl {\n & pre {\n margin-top: 15px;\n }\n }\n\n code,\n kbd,\n pre {\n font-family: var(--yfm-font-family-monospace);\n font-size: 1em;\n font-feature-settings: normal;\n }\n\n input {\n margin: 0;\n overflow: visible;\n\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n\n &[type='checkbox'] {\n position: relative;\n top: 1px;\n\n box-sizing: border-box;\n padding: 0;\n }\n }\n\n table {\n color: var(--yfm-color-table);\n\n display: inline-block;\n max-width: 100%;\n width: auto;\n overflow: auto;\n position: relative;\n z-index: 1;\n\n box-sizing: border-box;\n border: 1px solid var(--yfm-color-border);\n border-radius: 8px;\n border-collapse: collapse;\n border-spacing: 0;\n background: var(--yfm-color-base);\n\n thead,\n tr:nth-child(2n) {\n background-color: var(--yfm-color-table-row-background);\n }\n\n tr:first-child {\n td,\n th {\n border-top: none;\n }\n }\n\n tr:last-child {\n td,\n th {\n border-bottom: none;\n }\n }\n\n th,\n td {\n padding: 10px 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n border: 1px solid var(--yfm-color-border);\n\n @include removeMarginForEdgeChildren();\n }\n\n td {\n vertical-align: top;\n white-space: normal;\n }\n\n th {\n font-weight: 500;\n text-align: left;\n }\n\n tr td:first-child,\n tr th:first-child {\n border-left: none;\n }\n tr td:last-child,\n tr th:last-child {\n border-right: none;\n }\n }\n\n hr {\n box-sizing: content-box;\n height: 0.25em;\n padding: 0;\n margin: 1.5em 0;\n overflow: hidden;\n\n background-color: var(--yfm-color-border);\n border: none;\n\n &::before {\n content: '';\n display: table;\n }\n\n &::after {\n content: '';\n display: table;\n clear: both;\n }\n }\n\n blockquote {\n position: relative;\n padding-left: 12px;\n border-left: 3px solid var(--yfm-color-accent);\n\n @include removeMarginForEdgeChildren();\n }\n\n dl {\n padding: 0;\n\n @include removeMarginForEdgeChildren();\n\n dt {\n margin-bottom: 5px;\n font-size: 1em;\n font-weight: 500;\n font-style: italic;\n }\n\n dd {\n margin-bottom: 15px;\n padding: 0 15px;\n }\n }\n\n dd {\n margin-left: 0;\n\n & > ol:first-child,\n & > ul:first-child,\n & > dd:first-child {\n padding-left: 0;\n }\n }\n\n ul,\n ol {\n padding-left: 2.2em;\n }\n\n ul ul,\n ul ol,\n ol ol,\n ol ul {\n margin-top: 0;\n margin-bottom: 0;\n }\n\n &:not(.yfm_no-list-reset) {\n ol {\n list-style-type: none;\n counter-reset: list;\n\n & > li {\n position: relative;\n counter-increment: list;\n\n &::before {\n position: absolute;\n right: 100%;\n margin-right: 4px;\n content: counters(list, '.') '. ';\n }\n }\n }\n }\n\n li {\n word-wrap: break-word;\n }\n\n li + li {\n margin-top: 0.33em;\n }\n\n li p,\n li blockquote {\n margin-top: 15px;\n }\n\n code {\n padding: 0.1em 0.4em 0.15em;\n background-color: var(--yfm-color-inline-code-background);\n border-radius: 4px;\n font-size: 0.875em;\n white-space: pre-wrap;\n color: var(--yfm-color-inline-code);\n }\n\n pre {\n word-wrap: normal;\n }\n\n table code {\n white-space: nowrap;\n }\n\n pre * code {\n display: inline;\n padding: 0;\n margin: 0;\n overflow: visible;\n word-wrap: normal;\n background-color: transparent;\n border: 0;\n color: var(--yfm-color-text);\n }\n\n pre > code {\n display: block;\n padding: 16px;\n overflow: auto;\n\n background-color: var(--yfm-color-code-background);\n color: var(--yfm-color-text);\n\n white-space: pre;\n }\n\n sup,\n sub {\n line-height: 0;\n }\n\n /*\n Hides element visually, but leaves it visible for search crawlers and screen readers\n\n https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n */\n .visually-hidden {\n position: absolute;\n\n overflow: hidden;\n clip: rect(0 0 0 0);\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n padding: 0;\n\n white-space: nowrap;\n\n border: 0;\n\n clip-path: inset(100%);\n user-select: none;\n }\n\n --yfm-font-family-monospace: 'Menlo', 'Monaco', 'Consolas', 'Ubuntu Mono', 'Liberation Mono',\n 'DejaVu Sans Mono', 'Courier New', 'Courier', monospace;\n --yfm-font-family-sans: 'Segoe UI', arial, helvetica, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n", "@mixin private-brand {\n --yfm-color-text-private: rgba(0, 0, 0, 0.7);\n --yfm-color-link-private: #027bf3;\n --yfm-color-link-hover-private: #004080;\n --yfm-color-base-private: #ffffff;\n --yfm-color-table-private: #333;\n --yfm-color-border-private: rgba(0, 0, 0, 0.07);\n --yfm-color-table-row-background-private: rgba(0, 0, 0, 0.02);\n --yfm-color-accent-private: #027bf3;\n\n --yfm-color-inline-code-private: rgba(59, 96, 128, 1);\n --yfm-color-inline-code-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-code-background-private: rgba(107, 132, 153, 0.12);\n\n --yfm-color-hljs-background-private: rgba(107, 132, 153, 0.12);\n --yfm-color-hljs-subst-private: #444;\n --yfm-color-hljs-comment-private: #888888;\n --yfm-color-hljs-deletion-private: #880000;\n --yfm-color-hljs-section-private: #880000;\n --yfm-color-hljs-pseudo-private: #bc6060;\n --yfm-color-hljs-literal-private: #78a960;\n --yfm-color-hljs-addition-private: #397300;\n --yfm-color-hljs-meta-private: #1f7199;\n --yfm-color-hljs-meta-string-private: #4d99bf;\n\n --yfm-color-note-tip-private: #56bd67;\n --yfm-color-note-tip-background-private: rgba(63, 201, 46, 0.1);\n --yfm-color-note-warning-private: #f19518;\n --yfm-color-note-warning-background-private: rgba(255, 136, 0, 0.15);\n --yfm-color-note-important-private: #ff4645;\n --yfm-color-note-important-background-private: rgba(235, 50, 38, 0.08);\n --yfm-color-note-info-background-private: rgba(2, 123, 243, 0.08);\n\n --yfm-color-term-title-private: #027bf3;\n --yfm-color-term-title-hover-private: #004080;\n --yfm-color-term-dfn-background-private: rgb(255, 255, 255);\n --yfm-color-term-dfn-shadow-private: rgba(0, 0, 0, 0.15);\n --yfm-color-term-dfn-presudo-shadow-private: rgb(229, 229, 229);\n\n --yfm-color-modal-content-private: rgb(255, 255, 255);\n --yfm-color-modal-actions-hover-private: rgba(0, 0, 0, 0.05);\n --yfm-color-modal-wide-content-private: rgba(0, 0, 0, 0.85);\n --yfm-color-modal-wide-content-overlay-private: rgb(0, 0, 0);\n}\n", "@mixin brand {\n --yfm-color-base: var(--yfm-color-base-private);\n\n --yfm-color-text: var(--yfm-color-text-private);\n --yfm-color-link: var(--yfm-color-link-private);\n --yfm-color-link-hover: var(--yfm-color-link-hover-private);\n\n --yfm-color-table: var(--yfm-color-table-private);\n --yfm-color-table-row-background: var(--yfm-color-table-row-background-private);\n\n --yfm-color-border: var(--yfm-color-border-private);\n\n --yfm-color-accent: var(--yfm-color-accent-private);\n\n --yfm-color-inline-code: var(--yfm-color-inline-code-private);\n --yfm-color-inline-code-background: var(--yfm-color-inline-code-background-private);\n --yfm-color-code-background: var(--yfm-color-code-background-private);\n\n --yfm-color-hljs-background: var(--yfm-color-hljs-background-private);\n --yfm-color-hljs-subst: var(--yfm-color-hljs-subst-private);\n --yfm-color-hljs-comment: var(--yfm-color-hljs-comment-private);\n --yfm-color-hljs-deletion: var(--yfm-color-hljs-deletion-private);\n --yfm-color-hljs-section: var(--yfm-color-hljs-section-private);\n --yfm-color-hljs-pseudo: var(--yfm-color-hljs-pseudo-private);\n --yfm-color-hljs-literal: var(--yfm-color-hljs-literal-private);\n --yfm-color-hljs-addition: var(--yfm-color-hljs-addition-private);\n --yfm-color-hljs-meta: var(--yfm-color-hljs-meta-private);\n --yfm-color-hljs-meta-string: var(--yfm-color-hljs-meta-string-private);\n\n --yfm-color-note-tip: var(--yfm-color-note-tip-private);\n --yfm-color-note-tip-background: var(--yfm-color-note-tip-background-private);\n --yfm-color-note-warning: var(--yfm-color-note-warning-private);\n --yfm-color-note-warning-background: var(--yfm-color-note-warning-background-private);\n --yfm-color-note-important: var(--yfm-color-note-important-private);\n --yfm-color-note-important-background: var(--yfm-color-note-important-background-private);\n --yfm-color-note-info-background: var(--yfm-color-note-info-background-private);\n\n --yfm-color-term-title: var(--yfm-color-term-title-private);\n --yfm-color-term-title-hover: var(--yfm-color-term-title-hover-private);\n --yfm-color-term-dfn-background: var(--yfm-color-term-dfn-background-private);\n --yfm-color-term-dfn-shadow: var(--yfm-color-term-dfn-shadow-private);\n --yfm-color-term-dfn-pseudo-shadow: var(--yfm-color-term-dfn-presudo-shadow-private);\n\n --yfm-color-modal-content: var(--yfm-color-modal-content-private);\n --yfm-color-modal-actions-hover: var(--yfm-color-modal-actions-hover-private);\n --yfm-color-modal-wide-content: var(--yfm-color-modal-wide-content-private);\n --yfm-color-modal-wide-content-overlay: var(--yfm-color-modal-wide-content-overlay-private);\n}\n", ".yfm {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n display: inline-block;\n width: 24px;\n padding-right: 4px;\n margin-left: -24px;\n float: left;\n\n text-align: center;\n font-size: 18px;\n\n &:focus {\n &::before {\n opacity: 1;\n }\n }\n\n &::before {\n content: '#';\n opacity: 0;\n }\n }\n\n &:hover .yfm-anchor::before {\n opacity: 1;\n }\n }\n\n table {\n h1, h2, h3, h4, h5, h6 {\n .yfm-anchor {\n width: 1em;\n margin-left: -1em;\n padding-right: 0;\n }\n }\n };\n\n .yfm-tabs {\n .yfm-anchor::before {\n position: absolute;\n padding-right: 2px;\n }\n }\n}\n", ".yfm {\n .hljs {\n display: block;\n overflow-x: auto;\n padding: 16px;\n background: var(--yfm-color-hljs-background);\n }\n\n .hljs,\n .hljs-subst {\n color: var(--yfm-color-hljs-subst);\n }\n\n .hljs-comment {\n color: var(--yfm-color-hljs-comment);\n }\n\n .hljs-keyword,\n .hljs-attribute,\n .hljs-selector-tag,\n .hljs-meta-keyword,\n .hljs-doctag,\n .hljs-name {\n font-weight: bold;\n }\n\n .hljs-type,\n .hljs-string,\n .hljs-number,\n .hljs-selector-id,\n .hljs-selector-class,\n .hljs-quote,\n .hljs-template-tag,\n .hljs-deletion {\n color: var(--yfm-color-hljs-deletion);\n }\n\n .hljs-title,\n .hljs-section {\n color: var(--yfm-color-hljs-section);\n font-weight: bold;\n }\n\n .hljs-regexp,\n .hljs-symbol,\n .hljs-variable,\n .hljs-template-variable,\n .hljs-link,\n .hljs-selector-attr,\n .hljs-selector-pseudo {\n color: var(--yfm-color-hljs-pseudo);\n }\n\n .hljs-literal {\n color: var(--yfm-color-hljs-literal);\n }\n\n .hljs-built_in,\n .hljs-bullet,\n .hljs-code,\n .hljs-addition {\n color: var(--yfm-color-hljs-addition);\n }\n\n .hljs-meta {\n color: var(--yfm-color-hljs-meta);\n }\n\n .hljs-meta-string {\n color: var(--yfm-color-hljs-meta-string);\n }\n\n .hljs-emphasis {\n font-style: italic;\n }\n\n .hljs-strong {\n font-weight: bold;\n }\n}\n", ".yfm {\n &-clipboard {\n position: relative;\n\n &:hover {\n .yfm-clipboard-button {\n opacity: 1;\n }\n }\n\n & > pre {\n border-radius: 10px;\n overflow: hidden;\n }\n\n &-button {\n position: absolute;\n top: 16px;\n right: 16px;\n z-index: 1;\n opacity: 0;\n\n //reset default button style\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n cursor: pointer;\n\n &:focus {\n opacity: 1;\n }\n }\n\n &-icon {\n pointer-events: none;\n }\n }\n}\n", "/**\n Note: This file excludes \"cut\", \"file\" and \"tabs\" as they are handled separately\n in dedicated extensions (packages). In the future, \"note\", \"term\"\n and \"table\" will also be excluded from this file and moved to yfm.scss,\n once they are moved to separate packages. Direct usage is not recommended,\n as the file is subject to changes without prior notice.\n */\n\n@import 'note';\n@import 'table';\n@import 'term';\n", ".yfm .yfm-note {\n max-width: 1296px;\n margin: 20px 0;\n padding: 20px 20px 20px 64px;\n border-radius: 10px;\n\n .yfm-note-title {\n font-weight: 700;\n }\n\n & > * {\n margin: 0 0 10px;\n\n &:first-child {\n &::before {\n box-sizing: content-box;\n display: block;\n width: 24px;\n height: 24px;\n margin-top: -2px;\n margin-left: -44px;\n padding-right: 20px;\n float: left;\n }\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // @todo replace with variables\n\n $colors: (\n yfm-accent-info: #027bf3,\n yfm-accent-tip: #56bd67,\n yfm-accent-warning: #f19518,\n yfm-accent-alert: #ff4645,\n );\n\n @each $type, $color in $colors {\n &.#{$type} > :first-child::before {\n $r: red($color);\n $g: green($color);\n $b: blue($color);\n $rgbColor: 'rgb(' + $r + ',' + $g + ',' + $b + ')';\n content: url('data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 16 16\"%3E%3Ccircle cx=\"8\" cy=\"8\" r=\"8\" fill=\"' + $rgbColor + '\"/%3E%3Crect width=\"1\" height=\"5\" x=\"7.5\" y=\"6.5\" stroke=\"%23fff\" rx=\".5\"/%3E%3Ccircle cx=\"8\" cy=\"4\" r=\"1\" fill=\"%23fff\"/%3E%3C/svg%3E');\n }\n }\n\n $backgroundColors: (\n yfm-accent-info: var(--yfm-color-note-info-background),\n yfm-accent-tip: var(--yfm-color-note-tip-background),\n yfm-accent-alert: var(--yfm-color-note-important-background),\n yfm-accent-warning: var(--yfm-color-note-warning-background),\n );\n\n @each $type, $color in $backgroundColors {\n &.#{$type} {\n background: $color;\n }\n }\n}\n", ".yfm table td {\n &.cell-align-top-left,\n &.cell-align-bottom-left {\n text-align: start;\n }\n\n &.cell-align-top-center,\n &.cell-align-center {\n text-align: center;\n }\n\n &.cell-align-top-right,\n &.cell-align-bottom-right {\n text-align: end;\n }\n\n &.cell-align-top-left,\n &.cell-align-top-center,\n &.cell-align-top-right {\n vertical-align: top;\n }\n\n &.cell-align-center {\n vertical-align: middle;\n }\n\n &.cell-align-bottom-left,\n &.cell-align-bottom-right {\n vertical-align: bottom;\n }\n}\n\n", ".yfm-term {\n &_title {\n color: var(--yfm-color-term-title);\n cursor: pointer;\n\n border-bottom: 1px dotted;\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n &:hover {\n color: var(--yfm-color-term-title-hover);\n }\n }\n\n &_dfn {\n position: absolute;\n z-index: 100;\n\n width: fit-content;\n max-width: 450px;\n\n @media screen and (max-width: 600px) {\n & {\n max-width: 80%;\n }\n }\n\n visibility: hidden;\n opacity: 0;\n\n padding: 10px;\n\n background-color: var(--yfm-color-term-dfn-background);\n\n font-size: inherit;\n line-height: inherit;\n font-style: normal;\n\n border-radius: 4px;\n\n box-shadow: 0 8px 20px var(--yfm-color-term-dfn-shadow);\n outline: none;\n\n &::before {\n content: '';\n position: absolute;\n z-index: -1;\n inset: 0;\n\n border-radius: inherit;\n box-shadow: 0 0 0 1px var(--yfm-color-term-dfn-pseudo-shadow);\n }\n\n &.open {\n visibility: visible;\n\n animation-name: popup;\n animation-duration: 0.1s;\n animation-timing-function: ease-out;\n animation-fill-mode: forwards;\n\n @keyframes popup {\n 0% {\n opacity: 0;\n transform: translateY(10px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n }\n }\n }\n}\n", "/* stylelint-disable declaration-no-important */\n\n.wide-container {\n position: fixed;\n width: 100vw;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n top: 0px;\n left: 0px;\n z-index: 200;\n\n &.dc-doc-page {\n max-width: 100% !important;\n }\n\n .wide-content-viewer {\n visibility: hidden;\n }\n\n .wide-content-wrapper {\n z-index: 200;\n background-color: var(--yfm-color-modal-content);\n height: 90vh;\n width: 70vw;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n\n .wide-content {\n height: 95%;\n width: 100%;\n\n .wide-inner-element {\n max-width: 100%;\n width: 100%;\n height: 100%;\n }\n\n table {\n border-radius: 0px;\n }\n\n .wide-thead-content {\n display: table;\n width: 100%;\n }\n }\n\n .wide-toolbar {\n display: flex;\n flex-direction: row;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: 10px 12px;\n }\n\n .wide-entity-name {\n margin: 0;\n font-size: 18px;\n }\n\n .wide-actions {\n align-self: flex-end;\n\n .close-action {\n cursor: pointer;\n border-radius: 3px;\n\n transition: background 300ms;\n\n &:hover {\n background: var(--yfm-color-modal-actions-hover);\n }\n }\n }\n }\n}\n\n.wide-element-wrapper {\n display: flex;\n gap: 30px;\n position: relative;\n\n &:hover > .wide-content-viewer {\n visibility: visible;\n }\n\n .wide-inner-element {\n max-width: 700px;\n }\n}\n\n.wide-content-viewer {\n visibility: hidden;\n width: 30px;\n height: 30px;\n z-index: 100;\n padding: 6px;\n box-sizing: content-box;\n color: var(--yfm-color-modal-wide-content);\n cursor: pointer;\n\n & > svg {\n width: 20px;\n height: 20px;\n }\n}\n\n.wide-content-overlay {\n z-index: 100;\n width: 100vw;\n height: 100vh;\n position: fixed;\n top: 0;\n left: 0;\n background-color: var(--yfm-color-modal-wide-content-overlay);\n opacity: 0.6;\n}\n", ".yfm-cut{transition:all .15s;margin-bottom:15px}.yfm-cut.cut-highlight{background-clip:content-box;box-shadow:0 3px 0 7px var(--g-color-base-simple-hover);background-color:var(--g-color-base-simple-hover);border-radius:3px}.yfm-cut-title{list-style:none;cursor:pointer;position:relative;user-select:none;padding:5px 0 5px 30px}.yfm-cut-title::-webkit-details-marker{display:none}.yfm-cut-title:before{content:\"\";z-index:1;left:0;top:50%;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+CiAgICA8cGF0aCBzdHJva2U9ImN1cnJlbnRDb2xvciIgZmlsbD0ibm9uZSIgZD0iTTMgNmw1IDUgNS01Ii8+Cjwvc3ZnPgo=);transform:translateY(-50%) rotate(-90deg);transition:transform .3s ease;height:20px;width:20px;position:absolute}.yfm-cut-content{padding:5px 0 15px 30px}.yfm-cut.open>.yfm-cut-title:before{transform:translateY(-50%)}.yfm:not(.yfm_no-list-reset) .yfm-cut ol{counter-reset:cut-list}.yfm:not(.yfm_no-list-reset) .yfm-cut ol>li{counter-increment:cut-list}.yfm:not(.yfm_no-list-reset) .yfm-cut ol>li:before{content:counters(cut-list,\".\") \". \"}\n/*# sourceMappingURL=index.css.map */\n", "@charset \"UTF-8\";.yfm-file__icon{---yfm-file-icon-img: var(--yfm-file-icon, url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIj48cGF0aCBmaWxsPSJjdXJyZW50Q29sb3IiIGQ9Ik0zNjkuOSA5Ny45TDI4NiAxNEMyNzcgNSAyNjQuOC0uMSAyNTIuMS0uMUg0OEMyMS41IDAgMCAyMS41IDAgNDh2NDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4aDI4OGMyNi41IDAgNDgtMjEuNSA0OC00OFYxMzEuOWMwLTEyLjctNS4xLTI1LTE0LjEtMzR6bS0yMi42IDIyLjdjMi4xIDIuMSAzLjUgNC42IDQuMiA3LjRIMjU2VjMyLjVjMi44LjcgNS4zIDIuMSA3LjQgNC4ybDgzLjkgODMuOXpNMzM2IDQ4MEg0OGMtOC44IDAtMTYtNy4yLTE2LTE2VjQ4YzAtOC44IDcuMi0xNiAxNi0xNmgxNzZ2MTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0aDEwNHYzMDRjMCA4LjgtNy4yIDE2LTE2IDE2em0tNDgtMjQ0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyem0wIDY0djhjMCA2LjYtNS40IDEyLTEyIDEySDEwOGMtNi42IDAtMTItNS40LTEyLTEydi04YzAtNi42IDUuNC0xMiAxMi0xMmgxNjhjNi42IDAgMTIgNS40IDEyIDEyeiIvPjwvc3ZnPg==));display:inline-block;user-select:none;width:16px;margin:0 2px;color:var(--yfm-file-icon-color, --yfm-color-text);background-color:currentColor;background-repeat:no-repeat;background-position:50%;background-size:100%;mask-image:var(---yfm-file-icon-img);mask-position:center;mask-repeat:no-repeat}.yfm-file__icon:before{content:\"\\a0\"}\n/*# sourceMappingURL=index.css.map */\n", "@charset \"UTF-8\";.yfm-tabs{margin-bottom:15px}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol{counter-reset:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li{counter-increment:tabs-list}.yfm:not(.yfm_no-list-reset) .yfm-tabs ol>li:before{content:counters(tabs-list,\".\") \". \"}.yfm-tab-list{display:flex;flex-wrap:wrap;margin-bottom:15px;border-bottom:1px solid rgba(0,0,0,.07)}.yfm-tab{margin-bottom:-1px;margin-right:20px;border-bottom:2px solid transparent;padding:6px 0 7px;font-weight:700;outline:none;cursor:pointer;user-select:none;white-space:break-spaces}.yfm-tab:last-child{margin-right:0}.yfm-tab:hover,.yfm-tab:active{color:#004080}.yfm-tab.active{border-bottom-color:#027bf3}.yfm-tab:focus{outline:2px solid #4d90fe;border-radius:2px}.yfm-tab:focus:not(:focus-visible){outline:0}.yfm-tab-panel{position:relative;visibility:hidden;overflow:hidden;height:0}.yfm-tab-panel:first-child{margin-top:0!important}.yfm-tab-panel:last-child{margin-bottom:0!important}.yfm-tab-panel.active{visibility:visible;overflow:visible;height:auto}.yfm-tabs-dropdown{position:relative;width:90%;margin-bottom:0;--yfm-tabs-dropdown-color: #F2F2F2;--yfm-tabs-dropdown-text-color: #A8A8A8;--yfm-tabs-dropdown-color-border: #CCC}.yfm-tabs-dropdown .yfm-tabs-dropdown-select{padding:10px 30px 10px 10px;background:var(--g-color-base-background);border:1px solid var(--yfm-tabs-dropdown-color-border);color:var(--yfm-tabs-dropdown-text-color);border-radius:5px;position:relative;user-select:none;margin-bottom:10px;max-width:500px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:10}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.filled{color:inherit}.yfm-tabs-dropdown .yfm-tabs-dropdown-select:after{content:\"\";position:absolute;display:block;right:10px;top:25%;transform:rotate(90deg);transition:transform .2s;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);width:20px;height:20px}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active+.yfm-tabs-dropdown-menu{transform:scaleY(1)}.yfm-tabs-dropdown .yfm-tabs-dropdown-select.active:after{transform:rotate(0)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu{width:100%;max-width:500px;max-height:500px;overflow-y:scroll;padding:10px 0;position:absolute;z-index:10;display:flex;flex-direction:column;border:1px solid var(--yfm-tabs-dropdown-color-border);border-radius:5px;background-color:var(--g-color-base-background);transform:scaleY(0);list-style:none;z-index:100;transition:transform 125ms;transform-origin:top center}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li{user-select:none;cursor:pointer;background-color:var(--g-color-base-background)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li:hover{background-color:var(--g-color-base-simple-hover);color:inherit}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab{padding:5px 0 5px 10px;border-radius:0;border-bottom:unset;margin:0;font-weight:500}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab.active{background-color:var(--g-color-base-selection)}.yfm-tabs-dropdown>.yfm-tabs-dropdown-menu>li.yfm-tab:hover{color:inherit}.yfm-tabs-dropdown>.yfm-tab-panel.active{border:1px solid #F2F2F2;transform:translateY(-30px);border-radius:12px;padding:40px 12px 16px}.yfm-tabs-dropdown>.yfm-tabs{width:100%}.yfm-tabs-accordion{max-width:80%}.yfm-tabs-accordion>.yfm-tab:first-of-type{border-top-color:transparent}.yfm-tabs-accordion .yfm-tab{padding:8px 0 12px 6px;position:relative;border-top:1px solid #E5E5E5;font-weight:500;scroll-margin-top:20px}.yfm-tabs-accordion .yfm-tab:after{content:\"\";position:absolute;display:block;right:10px;top:25%;transform:rotate(-180deg);transition:transform .3s,background-color .2s;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiI+PHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGQ9Im0zIDYgNSA1IDUtNSIvPjwvc3ZnPg==);width:20px;height:20px;border-radius:6px;padding:6px}.yfm-tabs-accordion .yfm-tab.active{border-bottom-color:transparent!important;font-weight:700}.yfm-tabs-accordion .yfm-tab.active:after{transform:rotate(0)}.yfm-tabs-accordion .yfm-tab:hover{color:#3f5799}.yfm-tabs-accordion .yfm-tab-panel.active{margin:10px 0 25px 6px}.yfm-tabs-vertical>.yfm-tab-list{flex-direction:column;border-bottom:unset}.yfm-tabs-vertical>.yfm-tab-panel{margin-left:30px}.yfm-tabs-vertical>.yfm-tab-group{display:flex;flex-direction:row;margin-bottom:5px}.yfm-tabs-vertical .yfm-vertical-tab>input[type=radio]{visibility:hidden;width:0;height:0}.yfm-tabs-vertical .yfm-vertical-tab>label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;margin-right:0;line-height:18px;user-select:none}.yfm-tabs-vertical .yfm-vertical-tab>label:before{font-family:initial!important;content:\"\";position:absolute;left:0;bottom:1px;border-radius:50%;width:18px;height:18px;border:#dfdfdf 1px solid;background-color:#fff}.yfm-tabs-vertical .yfm-vertical-tab input[type=radio]:checked+label:before{content:\"\\2022\";background-color:#5282ff;text-align:center;vertical-align:middle;font-size:20px;white-space:pre;display:inline-flex;justify-content:center;align-items:center;color:#fff}.yfm-tabs-vertical .yfm-vertical-tab{border-bottom:unset!important}\n/*# sourceMappingURL=index.css.map */\n"],
5
5
  "mappings": "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",
6
6
  "names": []
@@ -133,7 +133,7 @@
133
133
  setDefinitonAriaAttributes(definitionElement, target);
134
134
  setDefinitionPosition(definitionElement, target);
135
135
  definitionElement.classList.toggle(openClass);
136
- trapFocus(definitionElement);
136
+ trapFocus(definitionElement, target);
137
137
  }
138
138
  function closeDefinition(definition) {
139
139
  definition.classList.remove(openClass);
@@ -159,12 +159,16 @@
159
159
  const left = box.left + scrollLeft - clientLeft;
160
160
  return { top: Math.round(top), left: Math.round(left) };
161
161
  }
162
- function trapFocus(element) {
162
+ function trapFocus(element, termButton) {
163
163
  const focusableElements = element.querySelectorAll(
164
164
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
165
165
  );
166
166
  const firstFocusableElement = focusableElements[0];
167
167
  const lastFocusableElement = focusableElements[focusableElements.length - 1];
168
+ if (!firstFocusableElement && document.activeElement !== termButton) {
169
+ termButton.focus();
170
+ return;
171
+ }
168
172
  if (firstFocusableElement) {
169
173
  firstFocusableElement.focus();
170
174
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/js/utils.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts"],
4
- "sourcesContent": ["export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitonAriaAttributes(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const ariaLive = termElement.getAttribute('aria-live') || 'polite';\n definitionElement?.setAttribute('aria-live', ariaLive);\n definitionElement?.setAttribute('aria-modal', 'true');\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function openDefinition(target: HTMLElement) {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openedDefinition && termId === openedDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openedDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openedDefinition && !isTargetDefinitionContent) {\n closeDefinition(openedDefinition);\n }\n\n if (!target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitonAriaAttributes(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n\n trapFocus(definitionElement);\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const term = document.getElementById(termId);\n const termParent = termParentElement(term);\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n term?.focus(); // Set focus back to open button after closing popup\n\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n\nexport function trapFocus(element: HTMLElement) {\n const focusableElements = element.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n const firstFocusableElement = focusableElements[0] as HTMLElement;\n const lastFocusableElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n if (firstFocusableElement) {\n firstFocusableElement.focus();\n }\n\n element.addEventListener('keydown', function (e) {\n const isTabPressed = e.key === 'Tab' || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n });\n}\n", "import {getEventTarget, isCustom} from '../utils';\n\nimport {\n closeDefinition,\n openClass,\n openDefinition,\n openDefinitionClass,\n setDefinitionPosition,\n} from './utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (getEventTarget(event) || !isCustom(event)) {\n openDefinition(getEventTarget(event) as HTMLElement);\n }\n });\n\n document.addEventListener('keydown', (event) => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (event.key === 'Enter' && document.activeElement) {\n openDefinition(document.activeElement as HTMLElement);\n }\n\n if (event.key === 'Escape' && openedDefinition) {\n closeDefinition(openedDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openedDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n });\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitonAriaAttributes(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const ariaLive = termElement.getAttribute('aria-live') || 'polite';\n definitionElement?.setAttribute('aria-live', ariaLive);\n definitionElement?.setAttribute('aria-modal', 'true');\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function openDefinition(target: HTMLElement) {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openedDefinition && termId === openedDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openedDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openedDefinition && !isTargetDefinitionContent) {\n closeDefinition(openedDefinition);\n }\n\n if (!target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitonAriaAttributes(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n\n trapFocus(definitionElement, target);\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const term = document.getElementById(termId);\n const termParent = termParentElement(term);\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n term?.focus(); // Set focus back to open button after closing popup\n\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n\nexport function trapFocus(element: HTMLElement, termButton: HTMLElement) {\n const focusableElements = element.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n const firstFocusableElement = focusableElements[0] as HTMLElement;\n const lastFocusableElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n // if another term was previously closed, the focus may still be on it\n if (!firstFocusableElement && document.activeElement !== termButton) {\n termButton.focus();\n return;\n }\n\n if (firstFocusableElement) {\n firstFocusableElement.focus();\n }\n\n element.addEventListener('keydown', function (e) {\n const isTabPressed = e.key === 'Tab' || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n });\n}\n", "import {getEventTarget, isCustom} from '../utils';\n\nimport {\n closeDefinition,\n openClass,\n openDefinition,\n openDefinitionClass,\n setDefinitionPosition,\n} from './utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (getEventTarget(event) || !isCustom(event)) {\n openDefinition(getEventTarget(event) as HTMLElement);\n }\n });\n\n document.addEventListener('keydown', (event) => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (event.key === 'Enter' && document.activeElement) {\n openDefinition(document.activeElement as HTMLElement);\n }\n\n if (event.key === 'Escape' && openedDefinition) {\n closeDefinition(openedDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openedDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n });\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";(()=>{(()=>{var p=t=>{let e=t.composedPath();return Array.isArray(e)&&e.length>0?e[0]:t.target},B=t=>{let e=p(t);return!e||!e.matches},b={TITLE:".yfm .yfm-term_title",CONTENT:".yfm .yfm-term_dfn"},s="open",d=b.CONTENT.replace(/\./g,"")+" "+s,f=!0;function S(t){var e;let n=t.getAttribute("term-key"),o=document.getElementById(`${n}_template`),i=o==null?void 0:o.content.cloneNode(!0).firstChild;return(e=o==null?void 0:o.parentElement)==null||e.appendChild(i),o.remove(),i}function I(t,e){let n=e.getAttribute("id")||Math.random().toString(36).substr(2,8);t==null||t.setAttribute("term-id",n)}function P(t,e){let n=e.getAttribute("aria-live")||"polite";t==null||t.setAttribute("aria-live",n),t==null||t.setAttribute("aria-modal","true")}function y(t,e){let{x:n,y:o,right:i,left:c,width:l,height:v}=e.getBoundingClientRect(),r=T(e);if(!r)return;let{right:h,left:O}=r.getBoundingClientRect();if((h<c||O>i)&&!f){a(t);return}f&&r&&(r.addEventListener("scroll",L),f=!1);let R=Number(t.getAttribute("relativeX")),k=Number(t.getAttribute("relativeY"));if(R===n&&k===o)return;t.setAttribute("relativeX",String(n)),t.setAttribute("relativeY",String(o));let x=v+5,u=t.parentElement;if(!u)return;let{width:g}=t.getBoundingClientRect(),{left:W}=u.getBoundingClientRect(),A=Number(m(e).left),C=g+A,X=A-g<0,N=C>document.body.clientWidth,Y=(N||document.dir==="rtl")&&!X?g-l:0,_=m(u).top-u.offsetTop,F=N?C-document.body.clientWidth+5:0,D=m(e).left-W+u.offsetLeft-Y,K=D+g>=document.body.clientWidth;t.style.top=Number(m(e).top+x-_)+"px",t.style.left=Number(D-(K?F:0))+"px"}function L(){let t=document.getElementsByClassName(d)[0];if(!t)return;let e=t.getAttribute("term-id")||"",n=document.getElementById(e);n&&y(t,n)}function T(t){return t?t.closest("table")||t.closest("code")||t.parentElement:null}function E(t){let e=document.getElementsByClassName(d)[0],n=t.getAttribute("id"),o=t.getAttribute("term-key"),i=document.getElementById(o+"_element");if(o&&!i&&(i=S(t)),e&&n===e.getAttribute("term-id")){a(e);return}let l=t.closest([b.CONTENT.replace(" ",""),s].join("."));e&&!l&&a(e),!(!t.matches(b.TITLE)||!i)&&(I(i,t),P(i,t),y(i,t),i.classList.toggle(s),w(i))}function a(t){t.classList.remove(s);let e=t.getAttribute("term-id")||"",n=document.getElementById(e),o=T(n);o&&(o.removeEventListener("scroll",L),n==null||n.focus(),f=!0)}function m(t){let e=t.getBoundingClientRect(),n=document.body,o=document.documentElement,i=window.pageYOffset||o.scrollTop||n.scrollTop,c=window.pageXOffset||o.scrollLeft||n.scrollLeft,l=o.clientTop||n.clientTop||0,v=o.clientLeft||n.clientLeft||0,r=e.top+i-l,h=e.left+c-v;return{top:Math.round(r),left:Math.round(h)}}function w(t){let e=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),n=e[0],o=e[e.length-1];n&&n.focus(),t.addEventListener("keydown",function(i){(i.key==="Tab"||i.keyCode===9)&&(i.shiftKey?document.activeElement===n&&(o.focus(),i.preventDefault()):document.activeElement===o&&(n.focus(),i.preventDefault()))})}typeof document!="undefined"&&(document.addEventListener("click",t=>{(p(t)||!B(t))&&E(p(t))}),document.addEventListener("keydown",t=>{let e=document.getElementsByClassName(d)[0];t.key==="Enter"&&document.activeElement&&E(document.activeElement),t.key==="Escape"&&e&&a(e)}),window.addEventListener("resize",()=>{let t=document.getElementsByClassName(d)[0];if(!t)return;let e=t.getAttribute("term-id")||"",n=document.getElementById(e);if(!n){t.classList.toggle(s);return}y(t,n)}))})();})();
1
+ "use strict";(()=>{(()=>{var p=t=>{let e=t.composedPath();return Array.isArray(e)&&e.length>0?e[0]:t.target},S=t=>{let e=p(t);return!e||!e.matches},b={TITLE:".yfm .yfm-term_title",CONTENT:".yfm .yfm-term_dfn"},l="open",d=b.CONTENT.replace(/\./g,"")+" "+l,f=!0;function B(t){var e;let n=t.getAttribute("term-key"),o=document.getElementById(`${n}_template`),i=o==null?void 0:o.content.cloneNode(!0).firstChild;return(e=o==null?void 0:o.parentElement)==null||e.appendChild(i),o.remove(),i}function I(t,e){let n=e.getAttribute("id")||Math.random().toString(36).substr(2,8);t==null||t.setAttribute("term-id",n)}function P(t,e){let n=e.getAttribute("aria-live")||"polite";t==null||t.setAttribute("aria-live",n),t==null||t.setAttribute("aria-modal","true")}function v(t,e){let{x:n,y:o,right:i,left:r,width:s,height:y}=e.getBoundingClientRect(),c=T(e);if(!c)return;let{right:h,left:O}=c.getBoundingClientRect();if((h<r||O>i)&&!f){a(t);return}f&&c&&(c.addEventListener("scroll",L),f=!1);let R=Number(t.getAttribute("relativeX")),k=Number(t.getAttribute("relativeY"));if(R===n&&k===o)return;t.setAttribute("relativeX",String(n)),t.setAttribute("relativeY",String(o));let x=y+5,u=t.parentElement;if(!u)return;let{width:g}=t.getBoundingClientRect(),{left:W}=u.getBoundingClientRect(),A=Number(m(e).left),C=g+A,X=A-g<0,N=C>document.body.clientWidth,Y=(N||document.dir==="rtl")&&!X?g-s:0,_=m(u).top-u.offsetTop,F=N?C-document.body.clientWidth+5:0,D=m(e).left-W+u.offsetLeft-Y,K=D+g>=document.body.clientWidth;t.style.top=Number(m(e).top+x-_)+"px",t.style.left=Number(D-(K?F:0))+"px"}function L(){let t=document.getElementsByClassName(d)[0];if(!t)return;let e=t.getAttribute("term-id")||"",n=document.getElementById(e);n&&v(t,n)}function T(t){return t?t.closest("table")||t.closest("code")||t.parentElement:null}function E(t){let e=document.getElementsByClassName(d)[0],n=t.getAttribute("id"),o=t.getAttribute("term-key"),i=document.getElementById(o+"_element");if(o&&!i&&(i=B(t)),e&&n===e.getAttribute("term-id")){a(e);return}let s=t.closest([b.CONTENT.replace(" ",""),l].join("."));e&&!s&&a(e),!(!t.matches(b.TITLE)||!i)&&(I(i,t),P(i,t),v(i,t),i.classList.toggle(l),w(i,t))}function a(t){t.classList.remove(l);let e=t.getAttribute("term-id")||"",n=document.getElementById(e),o=T(n);o&&(o.removeEventListener("scroll",L),n==null||n.focus(),f=!0)}function m(t){let e=t.getBoundingClientRect(),n=document.body,o=document.documentElement,i=window.pageYOffset||o.scrollTop||n.scrollTop,r=window.pageXOffset||o.scrollLeft||n.scrollLeft,s=o.clientTop||n.clientTop||0,y=o.clientLeft||n.clientLeft||0,c=e.top+i-s,h=e.left+r-y;return{top:Math.round(c),left:Math.round(h)}}function w(t,e){let n=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),o=n[0],i=n[n.length-1];if(!o&&document.activeElement!==e){e.focus();return}o&&o.focus(),t.addEventListener("keydown",function(r){(r.key==="Tab"||r.keyCode===9)&&(r.shiftKey?document.activeElement===o&&(i.focus(),r.preventDefault()):document.activeElement===i&&(o.focus(),r.preventDefault()))})}typeof document!="undefined"&&(document.addEventListener("click",t=>{(p(t)||!S(t))&&E(p(t))}),document.addEventListener("keydown",t=>{let e=document.getElementsByClassName(d)[0];t.key==="Enter"&&document.activeElement&&E(document.activeElement),t.key==="Escape"&&e&&a(e)}),window.addEventListener("resize",()=>{let t=document.getElementsByClassName(d)[0];if(!t)return;let e=t.getAttribute("term-id")||"",n=document.getElementById(e);if(!n){t.classList.toggle(l);return}v(t,n)}))})();})();
2
2
  //# sourceMappingURL=_yfm-only.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/js/utils.ts", "../../src/js/term/utils.ts", "../../src/js/term/index.ts"],
4
- "sourcesContent": ["export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitonAriaAttributes(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const ariaLive = termElement.getAttribute('aria-live') || 'polite';\n definitionElement?.setAttribute('aria-live', ariaLive);\n definitionElement?.setAttribute('aria-modal', 'true');\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function openDefinition(target: HTMLElement) {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openedDefinition && termId === openedDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openedDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openedDefinition && !isTargetDefinitionContent) {\n closeDefinition(openedDefinition);\n }\n\n if (!target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitonAriaAttributes(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n\n trapFocus(definitionElement);\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const term = document.getElementById(termId);\n const termParent = termParentElement(term);\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n term?.focus(); // Set focus back to open button after closing popup\n\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n\nexport function trapFocus(element: HTMLElement) {\n const focusableElements = element.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n const firstFocusableElement = focusableElements[0] as HTMLElement;\n const lastFocusableElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n if (firstFocusableElement) {\n firstFocusableElement.focus();\n }\n\n element.addEventListener('keydown', function (e) {\n const isTabPressed = e.key === 'Tab' || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n });\n}\n", "import {getEventTarget, isCustom} from '../utils';\n\nimport {\n closeDefinition,\n openClass,\n openDefinition,\n openDefinitionClass,\n setDefinitionPosition,\n} from './utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (getEventTarget(event) || !isCustom(event)) {\n openDefinition(getEventTarget(event) as HTMLElement);\n }\n });\n\n document.addEventListener('keydown', (event) => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (event.key === 'Enter' && document.activeElement) {\n openDefinition(document.activeElement as HTMLElement);\n }\n\n if (event.key === 'Escape' && openedDefinition) {\n closeDefinition(openedDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openedDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n });\n}\n"],
5
- "mappings": "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",
6
- "names": ["getEventTarget", "event", "path", "isCustom", "target", "Selector", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "_a", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitonAriaAttributes", "ariaLive", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "definitionLeftCoordinate", "getCoords", "definitionRightCoordinate", "definitionOutOfScreenOnLeft", "definitionOutOfScreenOnRight", "fitDefinitionDocument", "customHeaderTop", "shiftLeft", "offsetLeft", "isShiftLeftNeeded", "openedDefinition", "term", "openDefinition", "isTargetDefinitionContent", "trapFocus", "definition", "elem", "box", "body", "docEl", "scrollTop", "scrollLeft", "clientTop", "clientLeft", "top", "left", "element", "focusableElements", "firstFocusableElement", "lastFocusableElement", "e"]
4
+ "sourcesContent": ["export const getEventTarget = (event: Event) => {\n const path = event.composedPath();\n return Array.isArray(path) && path.length > 0 ? path[0] : event.target;\n};\n\nexport const isCustom = (event: Event) => {\n const target = getEventTarget(event);\n return !target || !(target as HTMLElement).matches;\n};\n", "export const Selector = {\n TITLE: '.yfm .yfm-term_title',\n CONTENT: '.yfm .yfm-term_dfn',\n};\nexport const openClass = 'open';\nexport const openDefinitionClass = Selector.CONTENT.replace(/\\./g, '') + ' ' + openClass;\nlet isListenerNeeded = true;\n\nexport function createDefinitionElement(termElement: HTMLElement) {\n const termKey = termElement.getAttribute('term-key');\n const definitionTemplate = document.getElementById(\n `${termKey}_template`,\n ) as HTMLTemplateElement;\n const definitionElement = definitionTemplate?.content.cloneNode(true).firstChild as HTMLElement;\n\n definitionTemplate?.parentElement?.appendChild(definitionElement);\n definitionTemplate.remove();\n\n return definitionElement;\n}\n\nexport function setDefinitionId(definitionElement: HTMLElement, termElement: HTMLElement): void {\n const termId = termElement.getAttribute('id') || Math.random().toString(36).substr(2, 8);\n definitionElement?.setAttribute('term-id', termId);\n}\n\nexport function setDefinitonAriaAttributes(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const ariaLive = termElement.getAttribute('aria-live') || 'polite';\n definitionElement?.setAttribute('aria-live', ariaLive);\n definitionElement?.setAttribute('aria-modal', 'true');\n}\n\nexport function setDefinitionPosition(\n definitionElement: HTMLElement,\n termElement: HTMLElement,\n): void {\n const {\n x: termX,\n y: termY,\n right: termRight,\n left: termLeft,\n width: termWidth,\n height: termHeight,\n } = termElement.getBoundingClientRect();\n\n const termParent = termParentElement(termElement);\n\n if (!termParent) {\n return;\n }\n\n const {right: termParentRight, left: termParentLeft} = termParent.getBoundingClientRect();\n\n if ((termParentRight < termLeft || termParentLeft > termRight) && !isListenerNeeded) {\n closeDefinition(definitionElement);\n return;\n }\n\n if (isListenerNeeded && termParent) {\n termParent.addEventListener('scroll', termOnResize);\n isListenerNeeded = false;\n }\n\n const relativeX = Number(definitionElement.getAttribute('relativeX'));\n const relativeY = Number(definitionElement.getAttribute('relativeY'));\n\n if (relativeX === termX && relativeY === termY) {\n return;\n }\n\n definitionElement.setAttribute('relativeX', String(termX));\n definitionElement.setAttribute('relativeY', String(termY));\n\n const offsetTop = termHeight + 5;\n const definitionParent = definitionElement.parentElement;\n\n if (!definitionParent) {\n return;\n }\n\n const {width: definitionWidth} = definitionElement.getBoundingClientRect();\n const {left: definitionParentLeft} = definitionParent.getBoundingClientRect();\n\n // If definition not fit document change base alignment\n const definitionLeftCoordinate = Number(getCoords(termElement).left);\n const definitionRightCoordinate = definitionWidth + definitionLeftCoordinate;\n\n const definitionOutOfScreenOnLeft = definitionLeftCoordinate - definitionWidth < 0;\n const definitionOutOfScreenOnRight = definitionRightCoordinate > document.body.clientWidth;\n\n const isAlignSwapped = definitionOutOfScreenOnRight || document.dir === 'rtl';\n const fitDefinitionDocument =\n isAlignSwapped && !definitionOutOfScreenOnLeft ? definitionWidth - termWidth : 0;\n const customHeaderTop = getCoords(definitionParent).top - definitionParent.offsetTop;\n const offsetRight = 5;\n const shiftLeft = definitionOutOfScreenOnRight\n ? definitionRightCoordinate - document.body.clientWidth + offsetRight\n : 0;\n const offsetLeft =\n getCoords(termElement).left -\n definitionParentLeft +\n definitionParent.offsetLeft -\n fitDefinitionDocument;\n\n const isShiftLeftNeeded = offsetLeft + definitionWidth >= document.body.clientWidth;\n\n definitionElement.style.top =\n Number(getCoords(termElement).top + offsetTop - customHeaderTop) + 'px';\n definitionElement.style.left = Number(offsetLeft - (isShiftLeftNeeded ? shiftLeft : 0)) + 'px';\n}\n\nfunction termOnResize() {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n}\n\nfunction termParentElement(term: HTMLElement | null) {\n if (!term) {\n return null;\n }\n\n const closestScrollableParent = term.closest('table') || term.closest('code');\n\n return closestScrollableParent || term.parentElement;\n}\n\nexport function openDefinition(target: HTMLElement) {\n const openedDefinition = document.getElementsByClassName(openDefinitionClass)[0] as HTMLElement;\n\n const termId = target.getAttribute('id');\n const termKey = target.getAttribute('term-key');\n let definitionElement = document.getElementById(termKey + '_element');\n\n if (termKey && !definitionElement) {\n definitionElement = createDefinitionElement(target);\n }\n\n const isSameTerm = openedDefinition && termId === openedDefinition.getAttribute('term-id');\n if (isSameTerm) {\n closeDefinition(openedDefinition);\n return;\n }\n\n const isTargetDefinitionContent = target.closest(\n [Selector.CONTENT.replace(' ', ''), openClass].join('.'),\n );\n\n if (openedDefinition && !isTargetDefinitionContent) {\n closeDefinition(openedDefinition);\n }\n\n if (!target.matches(Selector.TITLE) || !definitionElement) {\n return;\n }\n\n setDefinitionId(definitionElement, target);\n setDefinitonAriaAttributes(definitionElement, target);\n setDefinitionPosition(definitionElement, target);\n\n definitionElement.classList.toggle(openClass);\n\n trapFocus(definitionElement, target);\n}\n\nexport function closeDefinition(definition: HTMLElement) {\n definition.classList.remove(openClass);\n const termId = definition.getAttribute('term-id') || '';\n const term = document.getElementById(termId);\n const termParent = termParentElement(term);\n\n if (!termParent) {\n return;\n }\n\n termParent.removeEventListener('scroll', termOnResize);\n term?.focus(); // Set focus back to open button after closing popup\n\n isListenerNeeded = true;\n}\n\nfunction getCoords(elem: HTMLElement) {\n const box = elem.getBoundingClientRect();\n\n const body = document.body;\n const docEl = document.documentElement;\n\n const scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\n const scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\n\n const clientTop = docEl.clientTop || body.clientTop || 0;\n const clientLeft = docEl.clientLeft || body.clientLeft || 0;\n\n const top = box.top + scrollTop - clientTop;\n const left = box.left + scrollLeft - clientLeft;\n\n return {top: Math.round(top), left: Math.round(left)};\n}\n\nexport function trapFocus(element: HTMLElement, termButton: HTMLElement) {\n const focusableElements = element.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n const firstFocusableElement = focusableElements[0] as HTMLElement;\n const lastFocusableElement = focusableElements[focusableElements.length - 1] as HTMLElement;\n\n // if another term was previously closed, the focus may still be on it\n if (!firstFocusableElement && document.activeElement !== termButton) {\n termButton.focus();\n return;\n }\n\n if (firstFocusableElement) {\n firstFocusableElement.focus();\n }\n\n element.addEventListener('keydown', function (e) {\n const isTabPressed = e.key === 'Tab' || e.keyCode === 9;\n if (!isTabPressed) {\n return;\n }\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n lastFocusableElement.focus();\n e.preventDefault();\n }\n } else if (document.activeElement === lastFocusableElement) {\n firstFocusableElement.focus();\n e.preventDefault();\n }\n });\n}\n", "import {getEventTarget, isCustom} from '../utils';\n\nimport {\n closeDefinition,\n openClass,\n openDefinition,\n openDefinitionClass,\n setDefinitionPosition,\n} from './utils';\n\nif (typeof document !== 'undefined') {\n document.addEventListener('click', (event) => {\n if (getEventTarget(event) || !isCustom(event)) {\n openDefinition(getEventTarget(event) as HTMLElement);\n }\n });\n\n document.addEventListener('keydown', (event) => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (event.key === 'Enter' && document.activeElement) {\n openDefinition(document.activeElement as HTMLElement);\n }\n\n if (event.key === 'Escape' && openedDefinition) {\n closeDefinition(openedDefinition);\n }\n });\n\n window.addEventListener('resize', () => {\n const openedDefinition = document.getElementsByClassName(\n openDefinitionClass,\n )[0] as HTMLElement;\n\n if (!openedDefinition) {\n return;\n }\n\n const termId = openedDefinition.getAttribute('term-id') || '';\n const termElement = document.getElementById(termId);\n\n if (!termElement) {\n openedDefinition.classList.toggle(openClass);\n return;\n }\n\n setDefinitionPosition(openedDefinition, termElement);\n });\n}\n"],
5
+ "mappings": "yBAAO,IAAMA,EAAkBC,GAAiB,CAC5C,IAAMC,EAAOD,EAAM,aAAa,EAChC,OAAO,MAAM,QAAQC,CAAI,GAAKA,EAAK,OAAS,EAAIA,EAAK,CAAC,EAAID,EAAM,MACpE,EAEaE,EAAYF,GAAiB,CACtC,IAAMG,EAASJ,EAAeC,CAAK,EACnC,MAAO,CAACG,GAAU,CAAEA,EAAuB,OAC/C,ECRaC,EAAW,CACpB,MAAO,uBACP,QAAS,oBACb,EACaC,EAAY,OACZC,EAAsBF,EAAS,QAAQ,QAAQ,MAAO,EAAE,EAAI,IAAMC,EAC3EE,EAAmB,GAEhB,SAASC,EAAwBC,EAA0B,CARlE,IAAAC,EASI,IAAMC,EAAUF,EAAY,aAAa,UAAU,EAC7CG,EAAqB,SAAS,eAChC,GAAGD,CAAO,WACd,EACME,EAAoBD,GAAA,KAAA,OAAAA,EAAoB,QAAQ,UAAU,EAAA,EAAM,WAEtE,OAAAF,EAAAE,GAAA,KAAA,OAAAA,EAAoB,gBAApB,MAAAF,EAAmC,YAAYG,CAAA,EAC/CD,EAAmB,OAAO,EAEnBC,CACX,CAEO,SAASC,EAAgBD,EAAgCJ,EAAgC,CAC5F,IAAMM,EAASN,EAAY,aAAa,IAAI,GAAK,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAG,CAAC,EACvFI,GAAA,MAAAA,EAAmB,aAAa,UAAWE,CAAA,CAC/C,CAEO,SAASC,EACZH,EACAJ,EACI,CACJ,IAAMQ,EAAWR,EAAY,aAAa,WAAW,GAAK,SAC1DI,GAAA,MAAAA,EAAmB,aAAa,YAAaI,CAAA,EAC7CJ,GAAA,MAAAA,EAAmB,aAAa,aAAc,MAAA,CAClD,CAEO,SAASK,EACZL,EACAJ,EACI,CACJ,GAAM,CACF,EAAGU,EACH,EAAGC,EACH,MAAOC,EACP,KAAMC,EACN,MAAOC,EACP,OAAQC,CACZ,EAAIf,EAAY,sBAAsB,EAEhCgB,EAAaC,EAAkBjB,CAAW,EAEhD,GAAI,CAACgB,EACD,OAGJ,GAAM,CAAC,MAAOE,EAAiB,KAAMC,CAAc,EAAIH,EAAW,sBAAsB,EAExF,IAAKE,EAAkBL,GAAYM,EAAiBP,IAAc,CAACd,EAAkB,CACjFsB,EAAgBhB,CAAiB,EACjC,MACJ,CAEIN,GAAoBkB,IACpBA,EAAW,iBAAiB,SAAUK,CAAY,EAClDvB,EAAmB,IAGvB,IAAMwB,EAAY,OAAOlB,EAAkB,aAAa,WAAW,CAAC,EAC9DmB,EAAY,OAAOnB,EAAkB,aAAa,WAAW,CAAC,EAEpE,GAAIkB,IAAcZ,GAASa,IAAcZ,EACrC,OAGJP,EAAkB,aAAa,YAAa,OAAOM,CAAK,CAAC,EACzDN,EAAkB,aAAa,YAAa,OAAOO,CAAK,CAAC,EAEzD,IAAMa,EAAYT,EAAa,EACzBU,EAAmBrB,EAAkB,cAE3C,GAAI,CAACqB,EACD,OAGJ,GAAM,CAAC,MAAOC,CAAe,EAAItB,EAAkB,sBAAsB,EACnE,CAAC,KAAMuB,CAAoB,EAAIF,EAAiB,sBAAsB,EAGtEG,EAA2B,OAAOC,EAAU7B,CAAW,EAAE,IAAI,EAC7D8B,EAA4BJ,EAAkBE,EAE9CG,EAA8BH,EAA2BF,EAAkB,EAC3EM,EAA+BF,EAA4B,SAAS,KAAK,YAGzEG,GADiBD,GAAgC,SAAS,MAAQ,QAElD,CAACD,EAA8BL,EAAkBZ,EAAY,EAC7EoB,EAAkBL,EAAUJ,CAAgB,EAAE,IAAMA,EAAiB,UAErEU,EAAYH,EACZF,EAA4B,SAAS,KAAK,YAF5B,EAGd,EACAM,EACFP,EAAU7B,CAAW,EAAE,KACvB2B,EACAF,EAAiB,WACjBQ,EAEEI,EAAoBD,EAAaV,GAAmB,SAAS,KAAK,YAExEtB,EAAkB,MAAM,IACpB,OAAOyB,EAAU7B,CAAW,EAAE,IAAMwB,EAAYU,CAAe,EAAI,KACvE9B,EAAkB,MAAM,KAAO,OAAOgC,GAAcC,EAAoBF,EAAY,EAAE,EAAI,IAC9F,CAEA,SAASd,GAAe,CACpB,IAAMiB,EAAmB,SAAS,uBAAuBzC,CAAmB,EAAE,CAAC,EAE/E,GAAI,CAACyC,EACD,OAEJ,IAAMhC,EAASgC,EAAiB,aAAa,SAAS,GAAK,GACrDtC,EAAc,SAAS,eAAeM,CAAM,EAE7CN,GAILS,EAAsB6B,EAAkBtC,CAAW,CACvD,CAEA,SAASiB,EAAkBsB,EAA0B,CACjD,OAAKA,EAI2BA,EAAK,QAAQ,OAAO,GAAKA,EAAK,QAAQ,MAAM,GAE1CA,EAAK,cAL5B,IAMf,CAEO,SAASC,EAAe9C,EAAqB,CAChD,IAAM4C,EAAmB,SAAS,uBAAuBzC,CAAmB,EAAE,CAAC,EAEzES,EAASZ,EAAO,aAAa,IAAI,EACjCQ,EAAUR,EAAO,aAAa,UAAU,EAC1CU,EAAoB,SAAS,eAAeF,EAAU,UAAU,EAOpE,GALIA,GAAW,CAACE,IACZA,EAAoBL,EAAwBL,CAAM,GAGnC4C,GAAoBhC,IAAWgC,EAAiB,aAAa,SAAS,EACzE,CACZlB,EAAgBkB,CAAgB,EAChC,MACJ,CAEA,IAAMG,EAA4B/C,EAAO,QACrC,CAACC,EAAS,QAAQ,QAAQ,IAAK,EAAE,EAAGC,CAAS,EAAE,KAAK,GAAG,CAC3D,EAEI0C,GAAoB,CAACG,GACrBrB,EAAgBkB,CAAgB,EAGhC,GAAC5C,EAAO,QAAQC,EAAS,KAAK,GAAK,CAACS,KAIxCC,EAAgBD,EAAmBV,CAAM,EACzCa,EAA2BH,EAAmBV,CAAM,EACpDe,EAAsBL,EAAmBV,CAAM,EAE/CU,EAAkB,UAAU,OAAOR,CAAS,EAE5C8C,EAAUtC,EAAmBV,CAAM,EACvC,CAEO,SAAS0B,EAAgBuB,EAAyB,CACrDA,EAAW,UAAU,OAAO/C,CAAS,EACrC,IAAMU,EAASqC,EAAW,aAAa,SAAS,GAAK,GAC/CJ,EAAO,SAAS,eAAejC,CAAM,EACrCU,EAAaC,EAAkBsB,CAAI,EAEpCvB,IAILA,EAAW,oBAAoB,SAAUK,CAAY,EACrDkB,GAAA,MAAAA,EAAM,MAAA,EAENzC,EAAmB,GACvB,CAEA,SAAS+B,EAAUe,EAAmB,CAClC,IAAMC,EAAMD,EAAK,sBAAsB,EAEjCE,EAAO,SAAS,KAChBC,EAAQ,SAAS,gBAEjBC,EAAY,OAAO,aAAeD,EAAM,WAAaD,EAAK,UAC1DG,EAAa,OAAO,aAAeF,EAAM,YAAcD,EAAK,WAE5DI,EAAYH,EAAM,WAAaD,EAAK,WAAa,EACjDK,EAAaJ,EAAM,YAAcD,EAAK,YAAc,EAEpDM,EAAMP,EAAI,IAAMG,EAAYE,EAC5BG,EAAOR,EAAI,KAAOI,EAAaE,EAErC,MAAO,CAAC,IAAK,KAAK,MAAMC,CAAG,EAAG,KAAM,KAAK,MAAMC,CAAI,CAAC,CACxD,CAEO,SAASX,EAAUY,EAAsBC,EAAyB,CACrE,IAAMC,EAAoBF,EAAQ,iBAC9B,0EACJ,EACMG,EAAwBD,EAAkB,CAAC,EAC3CE,EAAuBF,EAAkBA,EAAkB,OAAS,CAAC,EAG3E,GAAI,CAACC,GAAyB,SAAS,gBAAkBF,EAAY,CACjEA,EAAW,MAAM,EACjB,MACJ,CAEIE,GACAA,EAAsB,MAAM,EAGhCH,EAAQ,iBAAiB,UAAW,SAAUK,EAAG,EACxBA,EAAE,MAAQ,OAASA,EAAE,UAAY,KAKlDA,EAAE,SACE,SAAS,gBAAkBF,IAC3BC,EAAqB,MAAM,EAC3BC,EAAE,eAAe,GAEd,SAAS,gBAAkBD,IAClCD,EAAsB,MAAM,EAC5BE,EAAE,eAAe,GAEzB,CAAC,CACL,CC3OI,OAAO,UAAa,cACpB,SAAS,iBAAiB,QAAUpE,GAAU,EACtCD,EAAeC,CAAK,GAAK,CAACE,EAASF,CAAK,IACxCiD,EAAelD,EAAeC,CAAK,CAAgB,CAE3D,CAAC,EAED,SAAS,iBAAiB,UAAYA,GAAU,CAC5C,IAAM+C,EAAmB,SAAS,uBAC9BzC,CACJ,EAAE,CAAC,EAECN,EAAM,MAAQ,SAAW,SAAS,eAClCiD,EAAe,SAAS,aAA4B,EAGpDjD,EAAM,MAAQ,UAAY+C,GAC1BlB,EAAgBkB,CAAgB,CAExC,CAAC,EAED,OAAO,iBAAiB,SAAU,IAAM,CACpC,IAAMA,EAAmB,SAAS,uBAC9BzC,CACJ,EAAE,CAAC,EAEH,GAAI,CAACyC,EACD,OAGJ,IAAMhC,EAASgC,EAAiB,aAAa,SAAS,GAAK,GACrDtC,EAAc,SAAS,eAAeM,CAAM,EAElD,GAAI,CAACN,EAAa,CACdsC,EAAiB,UAAU,OAAO1C,CAAS,EAC3C,MACJ,CAEAa,EAAsB6B,EAAkBtC,CAAW,CACvD,CAAC",
6
+ "names": ["getEventTarget", "event", "path", "isCustom", "target", "Selector", "openClass", "openDefinitionClass", "isListenerNeeded", "createDefinitionElement", "termElement", "_a", "termKey", "definitionTemplate", "definitionElement", "setDefinitionId", "termId", "setDefinitonAriaAttributes", "ariaLive", "setDefinitionPosition", "termX", "termY", "termRight", "termLeft", "termWidth", "termHeight", "termParent", "termParentElement", "termParentRight", "termParentLeft", "closeDefinition", "termOnResize", "relativeX", "relativeY", "offsetTop", "definitionParent", "definitionWidth", "definitionParentLeft", "definitionLeftCoordinate", "getCoords", "definitionRightCoordinate", "definitionOutOfScreenOnLeft", "definitionOutOfScreenOnRight", "fitDefinitionDocument", "customHeaderTop", "shiftLeft", "offsetLeft", "isShiftLeftNeeded", "openedDefinition", "term", "openDefinition", "isTargetDefinitionContent", "trapFocus", "definition", "elem", "box", "body", "docEl", "scrollTop", "scrollLeft", "clientTop", "clientLeft", "top", "left", "element", "termButton", "focusableElements", "firstFocusableElement", "lastFocusableElement", "e"]
7
7
  }
package/dist/js/yfm.js CHANGED
@@ -525,7 +525,7 @@
525
525
  setDefinitonAriaAttributes(definitionElement, target);
526
526
  setDefinitionPosition(definitionElement, target);
527
527
  definitionElement.classList.toggle(openClass);
528
- trapFocus(definitionElement);
528
+ trapFocus(definitionElement, target);
529
529
  }
530
530
  function closeDefinition(definition) {
531
531
  definition.classList.remove(openClass);
@@ -551,12 +551,16 @@
551
551
  const left = box.left + scrollLeft - clientLeft;
552
552
  return { top: Math.round(top), left: Math.round(left) };
553
553
  }
554
- function trapFocus(element) {
554
+ function trapFocus(element, termButton) {
555
555
  const focusableElements = element.querySelectorAll(
556
556
  'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
557
557
  );
558
558
  const firstFocusableElement = focusableElements[0];
559
559
  const lastFocusableElement = focusableElements[focusableElements.length - 1];
560
+ if (!firstFocusableElement && document.activeElement !== termButton) {
561
+ termButton.focus();
562
+ return;
563
+ }
560
564
  if (firstFocusableElement) {
561
565
  firstFocusableElement.focus();
562
566
  }