mayurankv_Obsidian-Code-Styler/styles.css
Mayuran Visakan 8e4e3e730f update
2024-02-13 03:50:57 +00:00

1245 lines
142 KiB
CSS

/* src/css/codeblocks.css */
body {
--border-radius: 10px;
--gradient-background-colour: transparent;
--code-padding: 8px;
--container-height: calc(var(--language-icon-size) + 2 * var(--header-inner-vertical-padding) * var(--header-font-size));
--container-min-height: calc((var(--header-font-size) + 2 * var(--header-inner-vertical-padding) * var(--header-font-size)) * var(--line-height-normal));
--language-border-colour: var(--code-styler-codeblock-background-colour);
--language-border-width: 0px;
--header-font-size: var(--code-size);
--header-padding: 0px;
--header-inner-vertical-padding: 0.3;
--header-spacing: 15px;
--header-button-spacing: 14px;
--header-separator-width: 2px;
--header-separator-width-padding: var(--header-separator-width);
--code-styler-header-border: none;
--folded-bottom-border: 0 solid transparent;
--language-icon-size: 28px;
--language-icon-filter: none;
--gradient-highlights-colour-stop: 100%;
--line-number-height-correction: 2px;
--line-number-gutter-padding: 16px;
--line-number-gutter-min-width: 32.67px;
--line-wrapping: pre-wrap;
--line-active-wrapping: var(--line-wrapping);
--code-styler-button-colour: var(--text-muted);
--code-styler-button-active-colour: white;
--duration-button: 240ms;
--dent-difference: 30px;
--polygon-in: polygon(0 0, 16px 0, 16px 36px, 0 36px);
--polygon-out: polygon(0 0, 100% 0, 100% 100%, 0 100%);
--copy-code-header-right-margin: calc(3 * var(--header-button-spacing));
}
.code-styler-pre-parent {
margin-bottom: 16px;
}
.code-styler pre.code-styler-pre {
overflow: hidden !important;
min-height: unset;
padding: 0px !important;
border-radius: var(--border-radius) !important;
background: var(--code-styler-codeblock-background-colour) !important;
}
.code-styler pre.code-styler-pre[class*=language-] {
padding-left: var(--language-border-width) !important;
background: linear-gradient(90deg, var(--language-border-colour), var(--language-border-colour) var(--language-border-width), var(--code-styler-codeblock-background-colour) var(--language-border-width), var(--code-styler-codeblock-background-colour) 100%), var(--code-styler-codeblock-background-colour) !important;
}
.code-styler pre > code {
padding-top: var(--code-padding) !important;
padding-bottom: var(--code-padding) !important;
}
.code-styler pre.code-styler-pre > code {
display: grid;
max-height: unset;
padding-top: var(--code-padding) !important;
padding-right: 0px !important;
padding-bottom: var(--code-padding) !important;
padding-left: 0px !important;
border-radius: 0px !important;
background: none !important;
grid-template-columns: min-content auto;
grid-template-rows: auto;
overflow-x: overlay;
transition-duration: var(--duration-button);
transition-property:
max-height,
padding-top,
padding-bottom,
border-top;
transition-timing-function: ease-in-out;
white-space: var(--line-wrapping) !important;
}
.code-styler pre.code-styler-pre.wrapped > code {
--line-wrapping: pre-wrap;
--line-active-wrapping: pre-wrap;
}
.code-styler pre.code-styler-pre.unwrapped > code {
--line-wrapping: pre;
--line-active-wrapping: pre;
}
.code-styler pre.code-styler-pre.unwrapped-inactive > code {
--line-wrapping: pre;
--line-active-wrapping: pre-wrap;
}
.code-styler pre.code-styler-pre code:not(:has(> input[style*="display: inline;"])):active {
--line-wrapping: var(--line-active-wrapping) !important;
}
.code-styler pre.code-styler-pre.code-styler-folded > code {
max-height: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.code-styler pre.code-styler-pre::before,
.code-styler pre.code-styler-pre::after {
content: none !important;
}
.markdown-source-view.mod-cm6 .cm-embed-block pre.code-styler-pre {
margin: 0em 0px;
}
body.code-styler .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container + [class*=code-styler-line].HyperMD-codeblock-begin {
border-top: none !important;
border-top-left-radius: 0px !important;
border-top-right-radius: 0px !important;
}
.code-styler .markdown-source-view [class*=code-styler-line].HyperMD-codeblock-end {
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
}
body.code-styler .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container-hidden + [class*=code-styler-line].HyperMD-codeblock-begin {
border-top-left-radius: var(--border-radius) !important;
border-top-right-radius: var(--border-radius) !important;
}
body.code-styler .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container-hidden + [class*=code-styler-line].HyperMD-codeblock-begin .code-styler-line-number {
border-top-left-radius: var(--border-radius) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line] {
overflow: hidden;
padding: 0 !important;
padding-left: var(--size-4-4) !important;
background: linear-gradient(90deg, var(--gradient-background-colour) var(--gradient-highlights-colour-stop), transparent 100%), var(--code-styler-codeblock-background-colour) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line][class*=language-] {
background: linear-gradient(90deg, var(--language-border-colour), var(--language-border-colour) var(--language-border-width), var(--gradient-background-colour) var(--language-border-width) var(--gradient-highlights-colour-stop), transparent 100%), var(--code-styler-codeblock-background-colour) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line][class*=language-] .code-styler-line-number {
margin-left: var(--language-border-width);
}
body .code-styler-header-container-hidden {
display: none !important;
}
.code-styler-header-container {
display: flex !important;
overflow: visible;
height: var(--container-height);
min-height: var(--container-min-height);
box-sizing: content-box;
padding-top: var(--header-padding);
margin-top: 0px !important;
font-size: var(--header-font-size);
transition: border-bottom ease-in-out var(--duration-button);
user-select: none;
}
.markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container {
padding-bottom: var(--header-separator-width);
padding-left: var(--language-border-width);
border-top: var(--code-styler-header-border);
border-right: var(--code-styler-header-border);
border-left: var(--code-styler-header-border);
background: linear-gradient(var(--code-styler-header-background-colour) 0%, var(--code-styler-header-background-colour) calc(100% - var(--header-separator-width)), var(--code-styler-header-separator-colour) calc(100% - var(--header-separator-width)), var(--code-styler-header-separator-colour) 100%) var(--language-border-width) bottom/100% border-box no-repeat, var(--language-border-colour) !important;
border-top-left-radius: var(--border-radius);
border-top-right-radius: var(--border-radius);
}
pre.code-styler-pre .code-styler-header-container {
border-bottom: var(--header-separator-width) solid var(--code-styler-header-separator-colour);
background-color: var(--code-styler-header-background-colour);
}
.markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container.code-styler-header-folded {
padding-bottom: var(--header-padding);
border-bottom: var(--code-styler-header-border);
border-bottom: var(--folded-bottom-border);
background: linear-gradient(var(--code-styler-header-background-colour) 0%, var(--code-styler-header-background-colour) 100%) var(--language-border-width) bottom/100% border-box no-repeat, var(--language-border-colour) !important;
border-bottom-left-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
}
pre.code-styler-pre.code-styler-folded .code-styler-header-container {
border-bottom: var(--folded-bottom-border);
}
.code-styler-header-container .code-styler-header-language-tag {
display: flex;
height: 100%;
flex-direction: column;
align-content: center;
justify-content: center;
padding-top: calc(1em * var(--header-inner-vertical-padding));
padding-right: var(--header-spacing);
padding-bottom: calc(1em * var(--header-inner-vertical-padding));
padding-left: var(--header-spacing);
border-radius: var(--border-radius) var(--border-radius) 0px 0px;
margin-right: var(--header-spacing);
background-color: var(--code-styler-header-language-tag-background-colour);
color: var(--code-styler-header-language-tag-text-colour);
font-size: inherit;
font-style: var(--code-styler-header-language-tag-text-italic, normal);
font-weight: var(--code-styler-header-language-tag-text-bold, normal);
text-align: center;
transition: border-radius ease-in-out var(--duration-button), padding ease-in-out var(--duration-button);
}
.markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container.code-styler-header-folded .code-styler-header-language-tag,
pre.code-styler-pre.code-styler-folded .code-styler-header-container .code-styler-header-language-tag {
border-radius: var(--border-radius);
}
.code-styler-header-text {
display: flex;
flex-direction: column;
align-content: center;
justify-content: center;
padding-top: calc(1em * var(--header-inner-vertical-padding));
padding-bottom: calc(1em * var(--header-inner-vertical-padding));
padding-left: 0px;
color: var(--code-styler-header-text-colour);
font-size: inherit;
font-style: var(--code-styler-header-title-text-italic, normal);
font-weight: var(--code-styler-header-title-text-bold, normal);
transition: padding ease-in-out var(--duration-button);
}
body .code-styler-header-container:not(:has(div > img.code-styler-icon)) .code-styler-header-language-tag {
border-bottom-left-radius: 0 !important;
border-top-left-radius: 0 !important;
}
body .code-styler-header-container:not(:has(.code-styler-header-language-tag)) .code-styler-header-text {
padding-left: var(--header-spacing);
}
div:has(> img.code-styler-icon) {
display: inline-flex;
flex-direction: column;
align-content: center;
justify-content: center;
padding-top: calc(1em * var(--header-inner-vertical-padding));
padding-right: var(--header-spacing);
padding-bottom: calc(1em * var(--header-inner-vertical-padding));
padding-left: var(--header-spacing);
transition: padding ease-in-out var(--duration-button);
}
.code-styler-icon {
width: var(--language-icon-size);
height: var(--language-icon-size);
border: none !important;
margin: 0 !important;
filter: var(--language-icon-filter);
}
pre.code-styler-pre [class^=code-styler-line-highlighted] > .code-styler-line-text {
background-image: linear-gradient(90deg, var(--gradient-background-colour) 0% var(--gradient-highlights-colour-stop), var(--code-styler-codeblock-background-colour) 100%);
}
.code-styler-line-highlighted {
--gradient-background-colour: var(--code-styler-default-highlight-colour) !important;
}
.code-styler-active-line-highlight .cm-active,
.code-styler-active-line-highlight-editor .cm-active {
background: linear-gradient(to right, var(--code-styler-active-editor-line-colour), var(--gradient-highlights-colour-stop), transparent) !important;
}
.code-styler-active-line-highlight .markdown-source-view .HyperMD-codeblock.cm-active,
.code-styler-active-line-highlight-codeblock .markdown-source-view .HyperMD-codeblock.cm-active {
background: linear-gradient(to right, var(--code-styler-active-codeblock-line-colour), var(--gradient-highlights-colour-stop), var(--code-styler-codeblock-background-colour)) !important;
}
.markdown-source-view :not(div):not([class*=HyperMD-codeblock]) > .code-styler-line-number {
display: none;
}
.code-styler code > div:first-child > .code-styler-line-number {
box-shadow: 0px calc(-1 * var(--code-padding)) var(--code-styler-gutter-background-colour);
transition: box-shadow ease-in-out var(--duration-button);
}
.code-styler .code-styler-folded > code > div:first-child > .code-styler-line-number {
box-shadow: 0px 0px var(--code-styler-gutter-background-colour);
}
.code-styler code > div:last-child > .code-styler-line-number {
box-shadow: 0px var(--code-padding) var(--code-styler-gutter-background-colour);
}
.code-styler code > div:only-child > .code-styler-line-number {
box-shadow: 0px calc(-1 * var(--code-padding)) var(--code-styler-gutter-background-colour), 0px var(--code-padding) var(--code-styler-gutter-background-colour);
}
pre.code-styler-pre div > [class*=code-styler-line-number],
.markdown-source-view div[class*=HyperMD-codeblock] > [class*=code-styler-line-number] {
width: var(--line-number-gutter-width);
min-width: var(--line-number-gutter-min-width);
padding-right: 8px;
padding-left: calc(4px + var(--language-border-width));
background-color: var(--code-styler-gutter-background-colour);
color: var(--code-styler-gutter-text-colour);
font-family: var(--font-monospace);
font-size: var(--code-size);
text-align: right;
user-select: none;
}
.markdown-source-view [class*=HyperMD-codeblock] > .code-styler-line-number {
position: absolute;
left: 0;
display: inline-block;
min-width: calc(var(--line-number-gutter-min-width) - 12px);
height: 100%;
box-sizing: content-box;
padding-top: var(--line-number-height-correction);
direction: rtl;
overflow-x: auto;
}
.markdown-source-view .HyperMD-codeblock-begin .code-styler-line-number,
.markdown-source-view .HyperMD-codeblock-end .code-styler-line-number {
width: var(--line-number-gutter-width);
}
pre.code-styler-pre .code-styler-line-number {
position: sticky;
top: -1px;
left: 0;
border-top: var(--line-number-height-correction) solid transparent;
grid-column: 1;
white-space: nowrap;
}
pre.code-styler-pre div:last-child > .code-styler-line-number {
width: unset;
}
.code-styler-gutter-highlight pre.code-styler-pre [class*=code-styler-line-highlighted] .code-styler-line-number {
background-color: var(--gradient-background-colour) !important;
}
.code-styler-active-line-highlight.code-styler-gutter-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active .code-styler-line-number,
.code-styler-active-line-highlight-codeblock.code-styler-gutter-highlight .markdown-source-view .HyperMD-codeblock[class*=code-styler-line].cm-active .code-styler-line-number,
.code-styler-gutter-highlight [class*=code-styler-line-highlighted] .code-styler-line-number {
background-color: rgba(0, 0, 0, 0) !important;
}
.code-styler-gutter-active-line .cm-active .code-styler-line-number {
color: var(--code-styler-gutter-active-text-colour) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock:has(.code-styler-line-number) {
padding-left: calc(12px + var(--language-border-width) + var(--line-number-gutter-width) + var(--line-number-gutter-padding)) !important;
}
.code-styler .markdown-source-view .HyperMD-codeblock[class*=code-styler-line]::before {
content: none !important;
}
pre.code-styler-pre > code > div[class*=code-styler-line] {
display: contents !important;
}
pre.code-styler-pre .code-styler-line-text {
flex-basis: 100%;
padding-left: var(--line-number-gutter-padding);
grid-column: 2;
}
.HyperMD-codeblock:has(> .cm-widgetBuffer) {
white-space: nowrap;
}
.HyperMD-codeblock:has(> .cm-widgetBuffer) > .cm-hmd-codeblock {
white-space: break-spaces;
}
pre.code-styler-pre.code-styler-folded::-webkit-scrollbar,
pre.code-styler-pre.code-styler-folded code::-webkit-scrollbar,
pre.code-styler-pre.hide-scroll::-webkit-scrollbar,
pre.code-styler-pre.hide-scroll code::-webkit-scrollbar {
display: none !important;
}
@keyframes outdent {
from {
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
clip-path: var(--polygon-in);
}
to {
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
}
@keyframes indent {
from {
margin-right: var(--copy-code-header-right-margin);
clip-path: var(--polygon-out);
}
to {
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
clip-path: var(--polygon-in);
}
}
@keyframes reverse-outdent {
from {
clip-path: var(--polygon-in);
}
to {
clip-path: var(--polygon-out);
}
}
@keyframes reverse-indent {
from {
clip-path: var(--polygon-out);
}
to {
clip-path: var(--polygon-in);
}
}
pre.code-styler-pre button {
display: unset !important;
padding: 0 !important;
border: none !important;
margin: 0;
margin-top: 0 !important;
margin-bottom: 0 !important;
background: transparent !important;
box-shadow: none;
color: var(--code-styler-button-colour) !important;
font-family: var(--font-interface);
font-size: var(--font-ui-smaller);
opacity: 1;
transition: visibility var(--duration-button), opacity var(--duration-button);
visibility: visible;
}
pre.code-styler-pre.code-styler-folded button,
pre.code-styler-pre:not(.code-styler-folded):not(:hover) button,
pre.code-styler-pre:not(.code-styler-folded):not(:hover) .code-styler-header-container::after {
opacity: 0;
visibility: hidden;
}
.code-styler-header-container::after {
position: relative;
top: 0;
right: 0;
bottom: 0;
left: 0;
width: 20px;
height: 20px;
margin: auto;
margin-right: var(--header-button-spacing);
background-color: var(--code-styler-button-colour);
content: "\200b";
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
opacity: 1;
scale: 0.8;
transition:
transform var(--duration-button) ease-out,
visibility var(--duration-button),
opacity var(--duration-button),
scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
visibility: visible;
}
pre.code-styler-pre.code-styler-folded .code-styler-header-container::after,
.markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container:not(:has(+ .HyperMD-codeblock-begin))::after {
transform: rotate(-90deg);
}
.code-styler-header-container:hover::after {
scale: 1;
}
body pre.code-styler-pre:has(.code-styler-header-container-hidden) button.copy-code-button,
body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container-hidden + .HyperMD-codeblock-begin span.code-block-flair {
top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal)) !important;
--copy-code-header-right-margin: 12px;
}
body .markdown-source-view :not(pre.code-styler-pre) > .code-styler-header-container.hidden + .HyperMD-codeblock-begin {
overflow: hidden;
}
pre.code-styler-pre button.copy-code-button {
top: max(calc(0.5 * var(--container-height) * 1), calc(0.5 * var(--container-min-height) * 1)) !important;
bottom: unset !important;
transform: translateY(-50%);
}
pre.code-styler-pre button.copy-code-button,
pre.code-styler-pre button.run-code-button,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair {
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
clip-path: var(--polygon-in);
will-change: margin-right, clip-path;
}
pre.code-styler-pre button.copy-code-button:not(:active),
pre.code-styler-pre button.run-code-button:not(:active),
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:not(:active) {
animation: indent var(--duration-button);
}
pre.code-styler-pre button.copy-code-button:hover,
pre.code-styler-pre button.run-code-button:hover,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:hover {
margin-right: var(--copy-code-header-right-margin);
animation: outdent var(--duration-button);
background-color: transparent;
clip-path: var(--polygon-out);
}
pre.code-styler-pre button.copy-code-button:active,
pre.code-styler-pre button.run-code-button:active,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair:active {
scale: 0.95;
transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
}
pre.code-styler-pre button.copy-code-button::before,
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::before {
display: inline-block;
width: 14px;
height: 14px;
padding-right: 4px;
background-color: var(--code-styler-button-colour);
content: "\200b";
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 10v18H10V10h18m0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2Z'/%3E%3Cpath d='M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M28 10v18H10V10h18m0-2H10a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2Z'/%3E%3Cpath d='M4 18H2V4a2 2 0 0 1 2-2h14v2H4Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='<Transparent Rectangle>'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
vertical-align: 1px;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair {
position: absolute;
top: min(calc(-0.5 * var(--container-height) * 1.1 - var(--header-separator-width)), calc(-0.5 * var(--container-min-height) * 1.1 - var(--header-separator-width))) !important;
right: 0;
padding: 0;
margin-top: 0 !important;
margin-bottom: 0 !important;
font-size: 0;
line-height: initial !important;
transform: translateY(-50%);
visibility: hidden;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair > * {
width: 0px;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::before {
font-size: var(--font-ui-smaller);
opacity: 1;
vertical-align: -1px;
visibility: visible;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line span.code-block-flair::after {
color: var(--code-styler-button-colour);
content: "Copy";
font-size: var(--font-ui-smaller);
opacity: 1;
visibility: visible;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock-begin.code-styler-line {
overflow: visible;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line .code-styler-comment-link {
display: inline;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock.code-styler-line .code-styler-comment-link > p {
display: inline;
}
/* src/css/inlineCode.css */
body {
--code-styler-inline-font-weight: 400;
--code-styler-inline-border-radius: 6px;
--code-styler-inline-padding-vertical: 5px;
--code-styler-inline-padding-horizontal: 5px;
--code-styler-inline-margin-horizontal: 0px;
--code-styler-inline-colour: var(--code-normal);
--code-styler-inline-colour-active: var(--code-normal);
--code-styler-inline-background-colour: var(--code-background);
}
.code-styler.code-styler-style-inline .cm-s-obsidian span.cm-inline-code,
.code-styler.code-styler-style-inline .markdown-rendered :not(pre) > code:not([class*=blur]),
.code-styler.code-styler-style-inline .reveal :not(pre) > code:not([class*=blur]),
.code-styler.code-styler-style-inline code.code-styler-settings-inline-code {
padding: var(--code-styler-inline-padding-vertical) var(--code-styler-inline-padding-horizontal) !important;
border-radius: var(--code-styler-inline-border-radius) !important;
margin: 0px var(--code-styler-inline-margin-horizontal) !important;
background-color: var(--code-styler-inline-background-colour) !important;
color: var(--code-styler-inline-colour);
font-weight: var(--code-styler-inline-font-weight);
}
.code-styler.code-styler-style-inline .cm-s-obsidian span.cm-formatting-code {
display: inline !important;
color: var(--code-styler-inline-colour-active);
}
.code-styler.code-styler-style-inline .cm-s-obsidian span.code-styler-inline-opener ~ span.cm-inline-code:not(.cm-formatting-code) {
padding-left: 0px !important;
border-radius: 0px var(--code-styler-inline-border-radius) var(--code-styler-inline-border-radius) 0px !important;
margin-left: 0px !important;
}
.code-styler.code-styler-style-inline .cm-s-obsidian span.code-styler-inline-opener,
.code-styler.code-styler-style-inline .cm-s-obsidian span.cm-formatting-code:has(+ span.cm-inline-code:not(.cm-formatting-code)) {
padding-right: 0px !important;
padding-left: var(--code-styler-inline-padding-horizontal) !important;
border-radius: var(--code-styler-inline-border-radius) 0px 0px var(--code-styler-inline-border-radius) !important;
margin-right: 0px !important;
margin-left: var(--code-styler-inline-margin-horizontal) !important;
color: var(--code-styler-inline-colour-active);
}
.code-styler.code-styler-style-inline .cm-s-obsidian span.cm-formatting-code + span.cm-inline-code:not(.cm-formatting-code) {
padding-right: 0px !important;
padding-left: 0px !important;
border-radius: 0px !important;
margin: 0px 0px !important;
color: var(--code-styler-inline-colour-active);
}
.code-styler.code-styler-style-inline .cm-s-obsidian span.cm-inline-code:not(.cm-formatting-code) + span.cm-formatting-code {
padding-right: var(--code-styler-inline-padding-horizontal) !important;
padding-left: 0px !important;
border-radius: 0px var(--code-styler-inline-border-radius) var(--code-styler-inline-border-radius) 0px !important;
margin-right: var(--code-styler-inline-margin-horizontal) !important;
margin-left: 0px !important;
color: var(--code-styler-inline-colour-active);
}
body.code-styler span.code-styler-inline-opener > span > img.code-styler-inline-icon:not([class*=emoji]) {
display: inline !important;
height: calc(var(--code-size) * 1.2);
margin-bottom: 2px !important;
vertical-align: middle;
}
.code-styler span.code-styler-inline-opener .code-styler-inline-title {
color: var(--code-styler-inline-title-colour);
font-weight: var(--code-styler-inline-title-font-weight);
}
.code-styler span.code-styler-inline-opener .code-styler-inline-title::after {
color: var(--code-styler-inline-title-color);
content: "\ff5c";
}
.code-styler span.code-styler-inline-opener span:has(> img.code-styler-inline-icon) {
padding-right: 8px;
}
.code-styler .cm-s-obsidian span.cm-inline-code .code-styler-inline-parameters {
color: var(--code-comment);
}
.reveal img.code-styler-inline-icon {
margin: inherit;
}
/* src/css/pdfExport.css */
div.print {
--line-wrapping: pre-wrap !important;
}
.code-styler div.print pre.code-styler-pre code {
max-height: unset !important;
}
.code-styler div.print pre.code-styler-pre.code-styler-folded code {
display: none !important;
}
/* src/css/pickr.css */
.pickr {
position: relative;
overflow: visible;
transform: translateY(0);
}
.pickr * {
box-sizing: border-box;
border: none;
-webkit-appearance: none;
appearance: none;
outline: none;
}
.pickr .pcr-button {
position: relative;
width: 2em;
height: 2em;
padding: 0.5em;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat center;
background-size: 0;
cursor: pointer;
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"Roboto",
"Helvetica Neue",
Arial,
sans-serif;
transition: all 0.3s;
}
.pickr .pcr-button::before {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
content: "";
}
.pickr .pcr-button::before {
z-index: initial;
}
.pickr .pcr-button::after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: .15em;
background: var(--pcr-color);
content: "";
transition: background 0.3s;
}
.pickr .pcr-button.clear {
background-size: 70%;
}
.pickr .pcr-button.clear::before {
opacity: 0;
}
.pickr .pcr-button.clear:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color);
}
.pickr .pcr-button.disabled {
cursor: not-allowed;
}
.pickr *,
.pcr-app * {
box-sizing: border-box;
border: none;
-webkit-appearance: none;
appearance: none;
outline: none;
}
.pickr input:focus,
.pickr input.pcr-active,
.pickr button:focus,
.pickr button.pcr-active,
.pcr-app input:focus,
.pcr-app input.pcr-active,
.pcr-app button:focus,
.pcr-app button.pcr-active {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px var(--pcr-color);
}
.pickr .pcr-palette,
.pickr .pcr-slider,
.pcr-app .pcr-palette,
.pcr-app .pcr-slider {
transition: box-shadow 0.3s;
}
.pickr .pcr-palette:focus,
.pickr .pcr-slider:focus,
.pcr-app .pcr-palette:focus,
.pcr-app .pcr-slider:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(0, 0, 0, 0.25);
}
.pcr-app {
position: fixed;
z-index: 10000;
top: 0;
left: 0;
display: flex;
flex-direction: column;
border-radius: 0.1em;
background: #fff;
box-shadow: 0 0.15em 1.5em 0 rgba(0, 0, 0, 0.1), 0 0 1em 0 rgba(0, 0, 0, 0.03);
font-family:
-apple-system,
BlinkMacSystemFont,
"Segoe UI",
"Roboto",
"Helvetica Neue",
Arial,
sans-serif;
opacity: 0;
transition: opacity 0.3s, visibility 0s 0.3s;
visibility: hidden;
}
.pcr-app.visible {
opacity: 1;
transition: opacity 0.3s;
visibility: visible;
}
.pcr-app .pcr-swatches {
display: flex;
flex-wrap: wrap;
margin-top: 0.75em;
}
.pcr-app .pcr-swatches.pcr-last {
margin: 0;
}
@supports (display: grid) {
.pcr-app .pcr-swatches {
display: grid;
align-items: center;
grid-template-columns: repeat(auto-fit, 1.75em);
}
}
.pcr-app .pcr-swatches > button {
position: relative;
z-index: 1;
overflow: hidden;
width: calc(1.75em - 10px);
height: calc(1.75em - 10px);
flex-shrink: 0;
border-radius: 0.15em;
margin: 2.5px;
background: transparent;
cursor: pointer;
font-size: 1em;
justify-self: center;
transition: all 0.15s;
}
.pcr-app .pcr-swatches > button::before {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 6px;
content: "";
}
.pcr-app .pcr-swatches > button::after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-sizing: border-box;
border: 1px solid rgba(0, 0, 0, 0.05);
border-radius: 0.15em;
background: var(--pcr-color);
content: "";
}
.pcr-app .pcr-swatches > button:hover {
filter: brightness(1.05);
}
.pcr-app .pcr-swatches > button:not(.pcr-active) {
box-shadow: none;
}
.pcr-app .pcr-interaction {
display: flex;
flex-wrap: wrap;
align-items: center;
margin: 0 -0.2em 0 -0.2em;
}
.pcr-app .pcr-interaction > * {
margin: 0 0.2em;
}
.pcr-app .pcr-interaction input {
padding: 0.45em 0.5em;
border-radius: .15em;
margin-top: 0.75em;
background: #f1f3f4;
color: #75797e;
cursor: pointer;
font-size: 0.75em;
letter-spacing: 0.07em;
text-align: center;
transition: all 0.15s;
}
.pcr-app .pcr-interaction input:hover {
filter: brightness(0.975);
}
.pcr-app .pcr-interaction input:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(66, 133, 244, 0.75);
}
.pcr-app .pcr-interaction .pcr-result {
min-width: 8em;
flex: 1 1 8em;
border-radius: .15em;
background: #f1f3f4;
color: #75797e;
cursor: text;
text-align: left;
transition: all 0.2s;
}
.pcr-app .pcr-interaction .pcr-result::-moz-selection {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-result::selection {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-type.active {
background: #4285f4;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-save,
.pcr-app .pcr-interaction .pcr-cancel,
.pcr-app .pcr-interaction .pcr-clear {
width: auto;
color: #fff;
}
.pcr-app .pcr-interaction .pcr-save,
.pcr-app .pcr-interaction .pcr-cancel,
.pcr-app .pcr-interaction .pcr-clear {
color: #fff;
}
.pcr-app .pcr-interaction .pcr-save:hover,
.pcr-app .pcr-interaction .pcr-cancel:hover,
.pcr-app .pcr-interaction .pcr-clear:hover {
filter: brightness(0.925);
}
.pcr-app .pcr-interaction .pcr-save {
background: #4285f4;
}
.pcr-app .pcr-interaction .pcr-clear,
.pcr-app .pcr-interaction .pcr-cancel {
background: #f44250;
}
.pcr-app .pcr-interaction .pcr-clear:focus,
.pcr-app .pcr-interaction .pcr-cancel:focus {
box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.85), 0 0 0 3px rgba(244, 66, 80, 0.75);
}
.pcr-app .pcr-selection .pcr-picker {
position: absolute;
width: 18px;
height: 18px;
border: 2px solid #fff;
border-radius: 100%;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pcr-app .pcr-selection .pcr-color-palette,
.pcr-app .pcr-selection .pcr-color-chooser,
.pcr-app .pcr-selection .pcr-color-opacity {
position: relative;
display: flex;
flex-direction: column;
cursor: grab;
cursor: -webkit-grab;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.pcr-app .pcr-selection .pcr-color-palette:active,
.pcr-app .pcr-selection .pcr-color-chooser:active,
.pcr-app .pcr-selection .pcr-color-opacity:active {
cursor: grabbing;
cursor: -webkit-grabbing;
}
.pcr-app[data-theme=nano] {
width: 14.25em;
max-width: 95vw;
}
.pcr-app[data-theme=nano] .pcr-swatches {
padding: 0 .6em;
margin-top: .6em;
}
.pcr-app[data-theme=nano] .pcr-interaction {
padding: 0 .6em .6em .6em;
}
.pcr-app[data-theme=nano] .pcr-selection {
display: grid;
width: 100%;
height: 10.5em;
align-items: center;
align-self: flex-start;
grid-gap: .6em;
grid-template-columns: 1fr 4fr;
grid-template-rows: 5fr auto auto;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview {
display: flex;
width: 100%;
height: 100%;
flex-direction: row;
justify-content: center;
margin-left: .6em;
grid-area: 2 / 1 / 4 / 1;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-last-color {
display: none;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color {
position: relative;
overflow: hidden;
width: 2em;
height: 2em;
border-radius: 50em;
background: var(--pcr-color);
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-preview .pcr-current-color::before {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
content: "";
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette {
z-index: 1;
width: 100%;
height: 100%;
grid-area: 1 / 1 / 2 / 3;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette {
width: 100%;
height: 100%;
border-radius: .15em;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-palette .pcr-palette::before {
position: absolute;
z-index: -1;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: .15em;
background: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: .5em;
content: "";
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser {
grid-area: 2 / 2 / 2 / 2;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity {
grid-area: 3 / 2 / 3 / 2;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser,
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity {
height: 0.5em;
margin: 0 .6em;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-picker,
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-picker {
top: 50%;
transform: translateY(-50%);
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider,
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider {
flex-grow: 1;
border-radius: 50em;
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-chooser .pcr-slider {
background: linear-gradient(to right, red, #ff0, lime, cyan, blue, #f0f, red);
}
.pcr-app[data-theme=nano] .pcr-selection .pcr-color-opacity .pcr-slider {
background: linear-gradient(to right, transparent, black), url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');
background-size: 100%, 0.25em;
}
.pcr-app .pcr-swatches > button {
padding: 0;
}
/* src/css/settings.css */
.setting-item.code-styler-spaced .checkbox-container + .pickr {
padding-left: 10px;
}
.code-styler-donation {
width: 70%;
margin: 0 auto;
text-align: center;
}
.code-styler-setting-text-area textarea {
width: 400px;
height: 220px;
}
.code-styler-setting-text-wide {
width: 100%;
}
button.code-styler-settings-button.copy-code-button {
position: absolute;
right: 0;
height: auto;
}
code.code-styler-settings-inline-code {
padding: 0.1em 0.25em;
border-radius: var(--code-radius);
background-color: var(--code-background);
color: var(--code-normal);
font-family: var(--font-monospace);
font-size: var(--code-size);
}
p:has(> code.code-styler-settings-inline-code) {
text-align: center;
}
.advanced-settings-header::after {
position: relative;
display: inline-block;
width: 20px;
height: 20px;
margin: auto;
margin-left: 4px;
background-color: var(--code-styler-button-colour);
content: "\200b";
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' xml:space='preserve'%3E%3Cpath d='M16 22 6 12l1.4-1.4 8.6 8.6 8.6-8.6L26 12z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
opacity: 1;
scale: 0.9;
transition:
transform var(--duration-button) ease-out,
visibility var(--duration-button),
opacity var(--duration-button),
scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
visibility: visible;
}
.advanced-settings-header.header-folded::after {
transform: rotate(-90deg);
}
/* src/css/pluginCompatibility.css */
pre.code-styler-pre code ~ code.language-output {
display: block;
padding-bottom: calc(2.5 * var(--code-padding)) !important;
padding-left: calc(var(--line-number-gutter-padding)) !important;
border-top: var(--header-separator-width) solid var(--code-styler-header-separator-colour);
margin-bottom: 0;
}
pre.code-styler-pre.code-styler-folded code ~ code.language-output {
border-top-width: 0;
border-top-color: transparent;
}
pre.code-styler-pre:hover code ~ code.language-output {
margin-bottom: 0;
}
pre.code-styler-pre code ~ code.language-output input.interactive-stdin {
padding: 2px 8px;
border-width: 1px;
border-style: solid;
border-color: var(--code-comment);
border-radius: 5px;
background-color: var(--code-styler-codeblock-background-colour);
color: var(--text-normal);
}
pre.code-styler-pre code ~ code.language-output hr {
display: none;
}
pre.code-styler-pre button.run-code-button {
--copy-code-header-right-margin: 12px;
--dent-difference: 24px;
height: 14px;
margin-bottom: 6px !important;
}
pre.code-styler-pre.code-styler-folded button.run-code-button {
top: 500px;
}
pre.code-styler-pre button.run-code-button::before {
display: inline-block;
width: 14px;
height: 14px;
padding-right: 4px;
background-color: var(--code-styler-button-colour);
content: "\200b";
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M7 28a1 1 0 0 1-1-1V5a1 1 0 0 1 1.482-.876l20 11a1 1 0 0 1 0 1.752l-20 11A1 1 0 0 1 7 28Z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
vertical-align: 0px;
}
pre.code-styler-pre button.clear-button-disabled,
pre.code-styler-pre button.run-button-disabled {
display: none !important;
}
pre.code-styler-pre button.clear-button {
height: 14px;
margin-bottom: 6px !important;
margin-left: calc(var(--language-border-width) + 12px);
clip-path: var(--polygon-in);
will-change: margin-right, clip-path;
}
pre.code-styler-pre button.clear-button::before {
display: inline-block;
width: 14px;
height: 14px;
padding-right: 4px;
background-color: var(--code-styler-button-colour);
content: "\200b";
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4 6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14 16 4z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 4 6 14l1.41 1.41L15 7.83V28h2V7.83l7.59 7.58L26 14 16 4z'/%3E%3Cpath fill='none' d='M0 0h32v32H0z' data-name='&lt;Transparent Rectangle&gt;'/%3E%3C/svg%3E");
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
vertical-align: 0px;
}
pre.code-styler-pre button.clear-button:not(:active) {
animation: reverse-indent var(--duration-button);
}
pre.code-styler-pre button.clear-button:hover {
margin-right: var(--copy-code-header-right-margin);
animation: reverse-outdent var(--duration-button);
background-color: transparent;
clip-path: var(--polygon-out);
}
pre.code-styler-pre button.clear-button:active {
scale: 0.95;
transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1);
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator {
z-index: 10;
background: none;
color: none;
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator::before {
box-shadow: none;
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator svg {
color: var(--code-styler-button-colour);
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator svg:hover {
color: var(--code-styler-button-active-colour);
}
.code-styler-pre-parent.has-run-code-button .load-state-indicator.visible {
transform: translateX(0);
}
.block-language-preview pre.code-styler-pre code {
white-space: unset;
}
pre.code-styler-pre span.code-block-line_num-wrap,
pre.code-styler-pre div.code-block-highlight-wrap {
display: none;
}
.markdown-source-view.mod-cm6 .cm-embed-block .code-styler-pre-parent + .edit-block-button::after {
padding-left: 4px;
content: "Edit Block";
font-size: var(--font-ui-smaller);
}
.markdown-source-view.mod-cm6 .cm-embed-block:not(:hover) .code-styler-pre-parent + .edit-block-button {
opacity: 0;
visibility: hidden;
}
.markdown-source-view.mod-cm6 .cm-embed-block > .code-styler-pre-parent + .edit-block-button {
--copy-code-header-right-margin: calc(2.2 * var(--header-button-spacing));
--dent-difference: 0px;
--polygon-in: polygon(0 0, 18px 0, 18px 36px, 0 36px);
z-index: 10;
top: max(calc(0.5 * var(--container-height) * 1), calc(0.5 * var(--container-min-height) * 1));
padding: 0 !important;
margin: 0;
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
background-color: transparent !important;
clip-path: var(--polygon-in);
opacity: 1;
transform: translateY(-50%);
transition: visibility var(--duration-button), opacity var(--duration-button) !important;
visibility: visible;
will-change: margin-right, clip-path;
}
.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block > .code-styler-pre-parent + .edit-block-button {
width: unset !important;
padding-left: 0 !important;
}
body .cm-embed-block .code-styler-pre-parent:has(pre.code-styler-pre .code-styler-header-container-hidden) + .edit-block-button {
--copy-code-header-right-margin: 4px;
top: calc(0.5 * var(--font-text-size) * 0.875 * var(--line-height-normal));
}
.markdown-source-view.mod-cm6 .cm-embed-block:hover .code-styler-pre-parent + .edit-block-button:hover {
margin-right: var(--copy-code-header-right-margin);
animation: reverse-outdent var(--duration-button);
background: transparent;
clip-path: var(--polygon-out);
}
.markdown-source-view.mod-cm6 .cm-embed-block:hover .code-styler-pre-parent + .edit-block-button:active {
scale: 0.95;
transition: scale var(--duration-button) cubic-bezier(0.4, 0.14, 0.3, 1) !important;
}
div.block-language-include pre.code-styler-pre button.copy-code-button {
margin: 0;
margin-right: calc(var(--copy-code-header-right-margin) - var(--dent-difference));
}
div.block-language-include pre.code-styler-pre button.copy-code-button:hover {
margin-right: var(--copy-code-header-right-margin);
}
.slides button.copy-code-button {
position: absolute;
top: 0;
right: 0;
height: auto;
padding: 6px 8px;
margin: 6px;
background-color: transparent;
box-shadow: none;
color: var(--text-muted);
font-family: var(--font-interface);
font-size: var(--font-ui-smaller);
}
/* src/styles.css */
/*! Complicated */
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjL2Nzcy9jb2RlYmxvY2tzLmNzcyIsICJzcmMvY3NzL2lubGluZUNvZGUuY3NzIiwgInNyYy9jc3MvcGRmRXhwb3J0LmNzcyIsICJzcmMvY3NzL3BpY2tyLmNzcyIsICJzcmMvY3NzL3NldHRpbmdzLmNzcyIsICJzcmMvY3NzL3BsdWdpbkNvbXBhdGliaWxpdHkuY3NzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiogRGVmaW5lIENTUyBWYXJpYWJsZXMgKi9cbmJvZHkge1xuXHQvKiBDb2RlYmxvY2sgQm9keSAqL1xuXHQtLWJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvdXI6IHRyYW5zcGFyZW50O1xuXHQtLWNvZGUtcGFkZGluZzogOHB4O1xuXHQtLWNvbnRhaW5lci1oZWlnaHQ6IGNhbGModmFyKC0tbGFuZ3VhZ2UtaWNvbi1zaXplKSArIDIgKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykgKiB2YXIoLS1oZWFkZXItZm9udC1zaXplKSk7XG5cdC0tY29udGFpbmVyLW1pbi1oZWlnaHQ6IGNhbGMoKHZhcigtLWhlYWRlci1mb250LXNpemUpICsgMiAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSAqIHZhcigtLWhlYWRlci1mb250LXNpemUpKSAqIHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCkpO1xuXHQtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXI6IHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cik7XG5cdC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoOiAwcHg7XG5cblx0LyogSGVhZGVyICovXG5cdC0taGVhZGVyLWZvbnQtc2l6ZTogdmFyKC0tY29kZS1zaXplKTtcblx0LS1oZWFkZXItcGFkZGluZzogMHB4O1xuXHQtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nOiAwLjM7XG5cdC0taGVhZGVyLXNwYWNpbmc6IDE1cHg7XG5cdC0taGVhZGVyLWJ1dHRvbi1zcGFjaW5nOiAxNHB4O1xuXHQtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGg6IDJweDtcblx0LS1oZWFkZXItc2VwYXJhdG9yLXdpZHRoLXBhZGRpbmc6IHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpO1xuXHQtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXI6IG5vbmU7XG5cdC0tZm9sZGVkLWJvdHRvbS1ib3JkZXI6IDAgc29saWQgdHJhbnNwYXJlbnQ7XG5cdC0tbGFuZ3VhZ2UtaWNvbi1zaXplOiAyOHB4O1xuXHQtLWxhbmd1YWdlLWljb24tZmlsdGVyOiBub25lO1xuXG5cdC8qIExpbmVzICovXG5cdC0tZ3JhZGllbnQtaGlnaGxpZ2h0cy1jb2xvdXItc3RvcDogMTAwJTtcblxuXHQvKiBMaW5lIE51bWJlcnMgKi9cblx0LS1saW5lLW51bWJlci1oZWlnaHQtY29ycmVjdGlvbjogMnB4O1xuXHQtLWxpbmUtbnVtYmVyLWd1dHRlci1wYWRkaW5nOiAxNnB4O1xuXHQtLWxpbmUtbnVtYmVyLWd1dHRlci1taW4td2lkdGg6IDMyLjY3cHg7XG5cblx0LyogTGluZSBUZXh0ICovXG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXA7XG5cdC0tbGluZS1hY3RpdmUtd3JhcHBpbmc6IHZhcigtLWxpbmUtd3JhcHBpbmcpO1xuXG5cdC8qIEJ1dHRvbnMgKi9cblx0LS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0LS1jb2RlLXN0eWxlci1idXR0b24tYWN0aXZlLWNvbG91cjogd2hpdGU7XG5cdC0tZHVyYXRpb24tYnV0dG9uOiAyNDBtcztcblx0LS1kZW50LWRpZmZlcmVuY2U6IDMwcHg7XG5cdC0tcG9seWdvbi1pbjogcG9seWdvbigwIDAsIDE2cHggMCwgMTZweCAzNnB4LCAwIDM2cHgpO1xuXHQtLXBvbHlnb24tb3V0OiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IGNhbGMoMyAqIHZhcigtLWhlYWRlci1idXR0b24tc3BhY2luZykpO1xufVxuXG4vKiogUHJlIGVsZW1lbnRzICovXG4uY29kZS1zdHlsZXItcHJlLXBhcmVudHtcblx0bWFyZ2luLWJvdHRvbTogMTZweDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlIHtcblx0b3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRtaW4taGVpZ2h0OiB1bnNldDtcblx0cGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlW2NsYXNzKj0nbGFuZ3VhZ2UtJ10ge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSwgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLWNvbG91cikgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSwgdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKSB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpIDEwMCUpLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlID4gY29kZSB7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZSA+IGNvZGUge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRtYXgtaGVpZ2h0OiB1bnNldDtcblx0cGFkZGluZy10b3A6IHZhcigtLWNvZGUtcGFkZGluZykgIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1jb2RlLXBhZGRpbmcpICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWluLWNvbnRlbnQgYXV0bztcblx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuXHRvdmVyZmxvdy14OiBvdmVybGF5O1xuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xuXHR0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBwYWRkaW5nLXRvcCwgcGFkZGluZy1ib3R0b20sIGJvcmRlci10b3A7XG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblx0d2hpdGUtc3BhY2U6IHZhcigtLWxpbmUtd3JhcHBpbmcpICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZS53cmFwcGVkID4gY29kZSB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXA7XG5cdC0tbGluZS1hY3RpdmUtd3JhcHBpbmc6IHByZS13cmFwO1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmUudW53cmFwcGVkID4gY29kZSB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlO1xuXHQtLWxpbmUtYWN0aXZlLXdyYXBwaW5nOiBwcmU7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZS51bndyYXBwZWQtaW5hY3RpdmUgPiBjb2RlIHtcblx0LS1saW5lLXdyYXBwaW5nOiBwcmU7XG5cdC0tbGluZS1hY3RpdmUtd3JhcHBpbmc6IHByZS13cmFwO1xufVxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmUgY29kZTpub3QoOmhhcyggPiBpbnB1dFtzdHlsZSo9XCJkaXNwbGF5OiBpbmxpbmU7XCJdKSk6YWN0aXZlIHtcblx0LS1saW5lLXdyYXBwaW5nOiB2YXIoLS1saW5lLWFjdGl2ZS13cmFwcGluZykgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBwcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWZvbGRlZCA+IGNvZGUge1xuXHRtYXgtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXIgcHJlLmNvZGUtc3R5bGVyLXByZTo6YmVmb3JlLFxuLmNvZGUtc3R5bGVyIHByZS5jb2RlLXN0eWxlci1wcmU6OmFmdGVyIHtcblx0Y29udGVudDogbm9uZSAhaW1wb3J0YW50O1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIHByZS5jb2RlLXN0eWxlci1wcmUge1xuXHRtYXJnaW46IDBlbSAwcHg7XG5cdC8qIG1hcmdpbjogMWVtIDBweDsgKi9cbn1cblxuLyoqIEVkaXRpbmcgTW9kZSBCb2R5ICovXG5ib2R5LmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIgKyBbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZVwiXS5IeXBlck1ELWNvZGVibG9jay1iZWdpbiB7XG5cdGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uSHlwZXJNRC1jb2RlYmxvY2stZW5kIHtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cbmJvZHkuY29kZS1zdHlsZXIgLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci1oaWRkZW4gKyBbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZVwiXS5IeXBlck1ELWNvZGVibG9jay1iZWdpbiB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50XG59XG5ib2R5LmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItaGlkZGVuICsgW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLXNpemUtNC00KSAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWdyYWRpZW50LWJhY2tncm91bmQtY29sb3VyKSB2YXIoLS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG91ci1zdG9wKSwgdHJhbnNwYXJlbnQgMTAwJSksIHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddW2NsYXNzKj0nbGFuZ3VhZ2UtJ10ge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHZhcigtLWxhbmd1YWdlLWJvcmRlci1jb2xvdXIpLCB2YXIoLS1sYW5ndWFnZS1ib3JkZXItY29sb3VyKSB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpLCB2YXIoLS1ncmFkaWVudC1iYWNrZ3JvdW5kLWNvbG91cikgdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLXdpZHRoKSB2YXIoLS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG91ci1zdG9wKSwgdHJhbnNwYXJlbnQgMTAwJSksIHZhcigtLWNvZGUtc3R5bGVyLWNvZGVibG9jay1iYWNrZ3JvdW5kLWNvbG91cikgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZSddW2NsYXNzKj0nbGFuZ3VhZ2UtJ10gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCk7XG59XG5cbi8qKiBIZWFkZXIgc3R5bGluZyAqL1xuYm9keSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lci1oaWRkZW4ge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4uY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciB7XG5cdGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdGhlaWdodDogdmFyKC0tY29udGFpbmVyLWhlaWdodCk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWNvbnRhaW5lci1taW4taGVpZ2h0KTtcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItcGFkZGluZyk7XG5cdG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IHZhcigtLWhlYWRlci1mb250LXNpemUpO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItYm90dG9tIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG5cdHVzZXItc2VsZWN0OiBub25lO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3IDpub3QocHJlLmNvZGUtc3R5bGVyLXByZSkgPiAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lciB7XG5cdHBhZGRpbmctYm90dG9tOiB2YXIoLS1oZWFkZXItc2VwYXJhdG9yLXdpZHRoKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpO1xuXHRib3JkZXItdG9wOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYm9yZGVyKTtcblx0Ym9yZGVyLXJpZ2h0OiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYm9yZGVyKTtcblx0Ym9yZGVyLWxlZnQ6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKSAwJSx2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpKSwgdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXNlcGFyYXRvci1jb2xvdXIpIGNhbGMoMTAwJSAtIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpKSwgdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXNlcGFyYXRvci1jb2xvdXIpIDEwMCUpIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgYm90dG9tLzEwMCUgYm9yZGVyLWJveCBuby1yZXBlYXQsdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLWNvbG91cikgIWltcG9ydGFudDtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIge1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1oZWFkZXItc2VwYXJhdG9yLXdpZHRoKSBzb2xpZCB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItc2VwYXJhdG9yLWNvbG91cik7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChwcmUuY29kZS1zdHlsZXItcHJlKSA+IC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLmNvZGUtc3R5bGVyLWhlYWRlci1mb2xkZWQge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXBhZGRpbmcpO1xuXHRib3JkZXItYm90dG9tOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYm9yZGVyKTtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tZm9sZGVkLWJvdHRvbS1ib3JkZXIpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKSAwJSx2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpIDEwMCUpIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgYm90dG9tLzEwMCUgYm9yZGVyLWJveCBuby1yZXBlYXQsdmFyKC0tbGFuZ3VhZ2UtYm9yZGVyLWNvbG91cikgIWltcG9ydGFudDtcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItZm9sZGVkIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyIHtcblx0Ym9yZGVyLWJvdHRvbTogdmFyKC0tZm9sZGVkLWJvdHRvbS1ib3JkZXIpO1xufVxuLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIgLmNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdHBhZGRpbmctdG9wOiBjYWxjKDFlbSAqIHZhcigtLWhlYWRlci1pbm5lci12ZXJ0aWNhbC1wYWRkaW5nKSk7XG5cdHBhZGRpbmctcmlnaHQ6IHZhcigtLWhlYWRlci1zcGFjaW5nKTtcblx0cGFkZGluZy1ib3R0b206IGNhbGMoMWVtICogdmFyKC0taGVhZGVyLWlubmVyLXZlcnRpY2FsLXBhZGRpbmcpKTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1oZWFkZXItc3BhY2luZyk7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpIDBweCAwcHg7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLWJhY2tncm91bmQtY29sb3VyKTtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctdGV4dC1jb2xvdXIpO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGZvbnQtc3R5bGU6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWctdGV4dC1pdGFsaWMsIG5vcm1hbCk7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1jb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnLXRleHQtYm9sZCwgbm9ybWFsKTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbiksIHBhZGRpbmcgZWFzZS1pbi1vdXQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcbn1cbi5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIuY29kZS1zdHlsZXItaGVhZGVyLWZvbGRlZCAuY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZyxcbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItZm9sZGVkIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyIC5jb2RlLXN0eWxlci1oZWFkZXItbGFuZ3VhZ2UtdGFnIHtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG59XG4uY29kZS1zdHlsZXItaGVhZGVyLXRleHQge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRwYWRkaW5nLXRvcDogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRwYWRkaW5nLWxlZnQ6IDBweDtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWhlYWRlci10ZXh0LWNvbG91cik7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Zm9udC1zdHlsZTogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXRpdGxlLXRleHQtaXRhbGljLCBub3JtYWwpO1xuXHRmb250LXdlaWdodDogdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXRpdGxlLXRleHQtYm9sZCwgbm9ybWFsKTtcblx0dHJhbnNpdGlvbjogcGFkZGluZyBlYXNlLWluLW91dCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxuYm9keSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcyggZGl2ID4gaW1nLmNvZGUtc3R5bGVyLWljb24pKSAuY29kZS1zdHlsZXItaGVhZGVyLWxhbmd1YWdlLXRhZyB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuYm9keSAuY29kZS1zdHlsZXItaGVhZGVyLWNvbnRhaW5lcjpub3QoOmhhcyggLmNvZGUtc3R5bGVyLWhlYWRlci1sYW5ndWFnZS10YWcpKSAuY29kZS1zdHlsZXItaGVhZGVyLXRleHQge1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWhlYWRlci1zcGFjaW5nKTtcbn1cbmRpdjpoYXMoPiBpbWcuY29kZS1zdHlsZXItaWNvbikge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0cGFkZGluZy10b3A6IGNhbGMoMWVtICogdmFyKC0taGVhZGVyLWlubmVyLXZlcnRpY2FsLXBhZGRpbmcpKTtcblx0cGFkZGluZy1yaWdodDogdmFyKC0taGVhZGVyLXNwYWNpbmcpO1xuXHRwYWRkaW5nLWJvdHRvbTogY2FsYygxZW0gKiB2YXIoLS1oZWFkZXItaW5uZXItdmVydGljYWwtcGFkZGluZykpO1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWhlYWRlci1zcGFjaW5nKTtcblx0dHJhbnNpdGlvbjogcGFkZGluZyBlYXNlLWluLW91dCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxuLmNvZGUtc3R5bGVyLWljb24ge1xuXHR3aWR0aDogdmFyKC0tbGFuZ3VhZ2UtaWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1sYW5ndWFnZS1pY29uLXNpemUpO1xuXHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcblx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cdGZpbHRlcjogdmFyKC0tbGFuZ3VhZ2UtaWNvbi1maWx0ZXIpO1xufVxuXG4vKiogTGluZXMgKi9cbnByZS5jb2RlLXN0eWxlci1wcmUgW2NsYXNzXj0nY29kZS1zdHlsZXItbGluZS1oaWdobGlnaHRlZCddID4gLmNvZGUtc3R5bGVyLWxpbmUtdGV4dCB7XG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdmFyKC0tZ3JhZGllbnQtYmFja2dyb3VuZC1jb2xvdXIpIDAlIHZhcigtLWdyYWRpZW50LWhpZ2hsaWdodHMtY29sb3VyLXN0b3ApLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpIDEwMCUpO1xufVxuLmNvZGUtc3R5bGVyLWxpbmUtaGlnaGxpZ2h0ZWQge1xuXHQtLWdyYWRpZW50LWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1jb2RlLXN0eWxlci1kZWZhdWx0LWhpZ2hsaWdodC1jb2xvdXIpICFpbXBvcnRhbnQ7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQgLmNtLWFjdGl2ZSxcbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQtZWRpdG9yIC5jbS1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHZhcigtLWNvZGUtc3R5bGVyLWFjdGl2ZS1lZGl0b3ItbGluZS1jb2xvdXIpLCB2YXIoLS1ncmFkaWVudC1oaWdobGlnaHRzLWNvbG91ci1zdG9wKSwgdHJhbnNwYXJlbnQpICFpbXBvcnRhbnQ7XG59XG4vKiEgQ29tcGxpY2F0ZWQgKi9cbi5jb2RlLXN0eWxlci1hY3RpdmUtbGluZS1oaWdobGlnaHQgLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jay5jbS1hY3RpdmUsXG4uY29kZS1zdHlsZXItYWN0aXZlLWxpbmUtaGlnaGxpZ2h0LWNvZGVibG9jayAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrLmNtLWFjdGl2ZSB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdmFyKC0tY29kZS1zdHlsZXItYWN0aXZlLWNvZGVibG9jay1saW5lLWNvbG91ciksIHZhcigtLWdyYWRpZW50LWhpZ2hsaWdodHMtY29sb3VyLXN0b3ApLCB2YXIoLS1jb2RlLXN0eWxlci1jb2RlYmxvY2stYmFja2dyb3VuZC1jb2xvdXIpKSAhaW1wb3J0YW50O1xufVxuXG4vKiogTGluZSBudW1iZXJzICovXG4ubWFya2Rvd24tc291cmNlLXZpZXcgOm5vdChkaXYpOm5vdChbY2xhc3MqPVwiSHlwZXJNRC1jb2RlYmxvY2tcIl0pID4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi5jb2RlLXN0eWxlciBjb2RlID4gZGl2OmZpcnN0LWNoaWxkID4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHsgLyo/IE1haW50YWluIGd1dHRlciBjb2xvdXIgd2hlbiBwYWRkZWQgKi9cblx0Ym94LXNoYWRvdzogMHB4IGNhbGMoLTEgKiB2YXIoLS1jb2RlLXBhZGRpbmcpKSB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IGVhc2UtaW4tb3V0IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG4uY29kZS1zdHlsZXIgLmNvZGUtc3R5bGVyLWZvbGRlZCA+IGNvZGUgPiBkaXY6Zmlyc3QtY2hpbGQgPiAuY29kZS1zdHlsZXItbGluZS1udW1iZXIgeyAvKj8gTWFpbnRhaW4gZ3V0dGVyIGNvbG91ciB3aGVuIHBhZGRlZCAqL1xuXHRib3gtc2hhZG93OiAwcHggMHB4IHZhcigtLWNvZGUtc3R5bGVyLWd1dHRlci1iYWNrZ3JvdW5kLWNvbG91cik7XG59XG4uY29kZS1zdHlsZXIgY29kZSA+IGRpdjpsYXN0LWNoaWxkID4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHsgLyo/IE1haW50YWluIGd1dHRlciBjb2xvdXIgd2hlbiBwYWRkZWQgKi9cblx0Ym94LXNoYWRvdzogMHB4IHZhcigtLWNvZGUtcGFkZGluZykgdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlciBjb2RlID4gZGl2Om9ubHktY2hpbGQgPiAuY29kZS1zdHlsZXItbGluZS1udW1iZXIgeyAvKj8gTWFpbnRhaW4gZ3V0dGVyIGNvbG91ciB3aGVuIHBhZGRlZCAqL1xuXHRib3gtc2hhZG93OiAwcHggY2FsYygtMSAqIHZhcigtLWNvZGUtcGFkZGluZykpIHZhcigtLWNvZGUtc3R5bGVyLWd1dHRlci1iYWNrZ3JvdW5kLWNvbG91ciksMHB4IHZhcigtLWNvZGUtcGFkZGluZykgdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLWJhY2tncm91bmQtY29sb3VyKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgZGl2ID4gW2NsYXNzKj0nY29kZS1zdHlsZXItbGluZS1udW1iZXInXSxcbi5tYXJrZG93bi1zb3VyY2UtdmlldyBkaXZbY2xhc3MqPVwiSHlwZXJNRC1jb2RlYmxvY2tcIl0gPiBbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lLW51bWJlciddIHtcblx0d2lkdGg6IHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci13aWR0aCk7XG5cdG1pbi13aWR0aDogdmFyKC0tbGluZS1udW1iZXItZ3V0dGVyLW1pbi13aWR0aCk7XG5cdHBhZGRpbmctcmlnaHQ6IDhweDtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKDRweCArIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItZ3V0dGVyLXRleHQtY29sb3VyKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1jb2RlLXNpemUpO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0dXNlci1zZWxlY3Q6IG5vbmU7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcgW2NsYXNzKj1cIkh5cGVyTUQtY29kZWJsb2NrXCJdID4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRsZWZ0OiAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1pbi13aWR0aDogY2FsYyh2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItbWluLXdpZHRoKSAtIDEycHgpO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tbGluZS1udW1iZXItaGVpZ2h0LWNvcnJlY3Rpb24pO1xuXHRkaXJlY3Rpb246IHJ0bDtcblx0b3ZlcmZsb3cteDogYXV0bztcbn1cbi5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4gLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyLFxuLm1hcmtkb3duLXNvdXJjZS12aWV3IC5IeXBlck1ELWNvZGVibG9jay1lbmQgLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyIHtcblx0d2lkdGg6IHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci13aWR0aCk7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIC5jb2RlLXN0eWxlci1saW5lLW51bWJlciB7XG5cdHBvc2l0aW9uOiBzdGlja3k7XG5cdHRvcDogLTFweDtcblx0bGVmdDogMDtcblx0Ym9yZGVyLXRvcDogdmFyKC0tbGluZS1udW1iZXItaGVpZ2h0LWNvcnJlY3Rpb24pIHNvbGlkIHRyYW5zcGFyZW50O1xuXHRncmlkLWNvbHVtbjogMTtcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgZGl2Omxhc3QtY2hpbGQgPiAuY29kZS1zdHlsZXItbGluZS1udW1iZXIge1xuXHR3aWR0aDogdW5zZXQ7XG59XG4uY29kZS1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCBwcmUuY29kZS1zdHlsZXItcHJlIFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkXCJdIC5jb2RlLXN0eWxlci1saW5lLW51bWJlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyYWRpZW50LWJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC5jb2RlLXN0eWxlci1ndXR0ZXItaGlnaGxpZ2h0IC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPVwiY29kZS1zdHlsZXItbGluZVwiXS5jbS1hY3RpdmUgLmNvZGUtc3R5bGVyLWxpbmUtbnVtYmVyLFxuLmNvZGUtc3R5bGVyLWFjdGl2ZS1saW5lLWhpZ2hsaWdodC1jb2RlYmxvY2suY29kZS1zdHlsZXItZ3V0dGVyLWhpZ2hsaWdodCAubWFya2Rvd24tc291cmNlLXZpZXcgLkh5cGVyTUQtY29kZWJsb2NrW2NsYXNzKj1cImNvZGUtc3R5bGVyLWxpbmVcIl0uY20tYWN0aXZlIC5jb2RlLXN0eWxlci1saW5lLW51bWJlcixcbi5jb2RlLXN0eWxlci1ndXR0ZXItaGlnaGxpZ2h0IFtjbGFzcyo9XCJjb2RlLXN0eWxlci1saW5lLWhpZ2hsaWdodGVkXCJdIC5jb2RlLXN0eWxlci1saW5lLW51bWJlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCkgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlci1ndXR0ZXItYWN0aXZlLWxpbmUgLmNtLWFjdGl2ZSAuY29kZS1zdHlsZXItbGluZS1udW1iZXJ7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1ndXR0ZXItYWN0aXZlLXRleHQtY29sb3VyKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2s6aGFzKC5jb2RlLXN0eWxlci1saW5lLW51bWJlcikge1xuXHRwYWRkaW5nLWxlZnQ6IGNhbGMoMTJweCArIHZhcigtLWxhbmd1YWdlLWJvcmRlci13aWR0aCkgKyB2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItd2lkdGgpICsgdmFyKC0tbGluZS1udW1iZXItZ3V0dGVyLXBhZGRpbmcpKSAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyIC5tYXJrZG93bi1zb3VyY2UtdmlldyAuSHlwZXJNRC1jb2RlYmxvY2tbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ106OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqIExpbmUgdGV4dCAqL1xucHJlLmNvZGUtc3R5bGVyLXByZSA+IGNvZGUgPiBkaXZbY2xhc3MqPSdjb2RlLXN0eWxlci1saW5lJ10ge1xuXHRkaXNwbGF5OiBjb250ZW50cyAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSAuY29kZS1zdHlsZXItbGluZS10ZXh0IHtcblx0ZmxleC1iYXNpczogMTAwJTtcblx0cGFkZGluZy1sZWZ0OiB2YXIoLS1saW5lLW51bWJlci1ndXR0ZXItcGFkZGluZyk7XG5cdGdyaWQtY29sdW1uOiAyO1xufVxuLkh5cGVyTUQtY29kZWJsb2NrOmhhcyg+IC5jbS13aWRnZXRCdWZmZXIpIHsgLyo/IFByZXZlbnQgTGluZSBXcmFwcyAqL1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLkh5cGVyTUQtY29kZWJsb2NrOmhhcyg+IC5jbS13aWRnZXRCdWZmZXIpID4gLmNtLWhtZC1jb2RlYmxvY2sgeyAvKj8gUHJldmVudCBMaW5lIFdyYXBzICovXG5cdHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XG59XG5cbi8qKiBTY3JvbGwgQmFyICovXG5wcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWZvbGRlZDo6LXdlYmtpdC1zY3JvbGxiYXIsXG5wcmUuY29kZS1zdHlsZXItcHJlLmNvZGUtc3R5bGVyLWZvbGRlZCBjb2RlOjotd2Via2l0LXNjcm9sbGJhcixcbnByZS5jb2RlLXN0eWxlci1wcmUuaGlkZS1zY3JvbGw6Oi13ZWJraXQtc2Nyb2xsYmFyLFxucHJlLmNvZGUtc3R5bGVyLXByZS5oaWRlLXNjcm9sbCBjb2RlOjotd2Via2l0LXNjcm9sbGJhciB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyoqIEJ1dHRvbnMgKi9cbkBrZXlmcmFtZXMgb3V0ZGVudCB7XG5cdGZyb20ge1xuXHRcdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbikgLSB2YXIoLS1kZW50LWRpZmZlcmVuY2UpKTtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24taW4pO1xuXHR9XG5cdHRvIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxufVxuQGtleWZyYW1lcyBpbmRlbnQge1xuXHRmcm9tIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxuXHR0byB7XG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKSAtIHZhcigtLWRlbnQtZGlmZmVyZW5jZSkpO1xuXHRcdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG5cdH1cbn1cbkBrZXlmcmFtZXMgcmV2ZXJzZS1vdXRkZW50IHtcblx0ZnJvbSB7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0fVxuXHR0byB7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLW91dCk7XG5cdH1cbn1cbkBrZXlmcmFtZXMgcmV2ZXJzZS1pbmRlbnQge1xuXHRmcm9tIHtcblx0XHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24tb3V0KTtcblx0fVxuXHR0byB7XG5cdFx0Y2xpcC1wYXRoOiB2YXIoLS1wb2x5Z29uLWluKTtcblx0fVxufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24ge1xuXHRkaXNwbGF5OiB1bnNldCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cikgIWltcG9ydGFudDtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbiksIG9wYWNpdHkgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItZm9sZGVkIGJ1dHRvbixcbnByZS5jb2RlLXN0eWxlci1wcmU6bm90KC5jb2RlLXN0eWxlci1mb2xkZWQpOm5vdCg6aG92ZXIpIGJ1dHRvbixcbnByZS5jb2RlLXN0eWxlci1wcmU6bm90KC5jb2RlLXN0eWxlci1mb2xkZWQpOm5vdCg6aG92ZXIpIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyOjphZnRlciB7XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlblxufVxuLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6OmFmdGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbjogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1oZWFkZXItYnV0dG9uLXNwYWNpbmcpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyKTtcblx0Y29udGVudDogXCJcXDIwMGJcIjtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3BhdGggZD0nTTE2IDIyIDYgMTJsMS40LTEuNCA4LjYgOC42IDguNi04LjZMMjYgMTJ6Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonLyUzRSUzQy9zdmclM0VcIik7XG5cdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInIGZpbGw9J25vbmUnIHN0cm9rZT0nY3VycmVudENvbG9yJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOScvJTNFJTNDL3N2ZyUzRVwiKTtcblx0LXdlYmtpdC1tYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRvcGFjaXR5OiAxO1xuXHRzY2FsZTogMC44O1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tZHVyYXRpb24tYnV0dG9uKSBlYXNlLW91dCwgdmlzaWJpbGl0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pLCBvcGFjaXR5IHZhcigtLWR1cmF0aW9uLWJ1dHRvbiksIHNjYWxlIHZhcigtLWR1cmF0aW9uLWJ1dHRvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4xNCwgMC4zLCAxKTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUuY29kZS1zdHlsZXItZm9sZGVkIC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyOjphZnRlcixcbi5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6bm90KDpoYXMoKyAuSHlwZXJNRC1jb2RlYmxvY2stYmVnaW4pKTo6YWZ0ZXIge1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXI6aG92ZXI6OmFmdGVyIHtcblx0c2NhbGU6IDE7XG59XG5ib2R5IHByZS5jb2RlLXN0eWxlci1wcmU6aGFzKC5jb2RlLXN0eWxlci1oZWFkZXItY29udGFpbmVyLWhpZGRlbikgYnV0dG9uLmNvcHktY29kZS1idXR0b24sXG5ib2R5IC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItaGlkZGVuICsgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luIHNwYW4uY29kZS1ibG9jay1mbGFpciB7XG5cdHRvcDogY2FsYygwLjUgKiB2YXIoLS1mb250LXRleHQtc2l6ZSkgKiAwLjg3NSAqIHZhcigtLWxpbmUtaGVpZ2h0LW5vcm1hbCkpICFpbXBvcnRhbnQ7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDEycHg7XG59XG5ib2R5IC5tYXJrZG93bi1zb3VyY2UtdmlldyA6bm90KHByZS5jb2RlLXN0eWxlci1wcmUpID4gLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXIuaGlkZGVuICsgLkh5cGVyTUQtY29kZWJsb2NrLWJlZ2luIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b24ge1xuXHR0b3A6IG1heChjYWxjKDAuNSAqIHZhcigtLWNvbnRhaW5lci1oZWlnaHQpICogMSksY2FsYygwLjUgKiB2YXIoLS1jb250YWluZXItbWluLWhlaWdodCkgKiAxKSkgIWltcG9ydGFudDtcblx0Ym90dG9tOiB1bnNldCAhaW1wb3J0YW50O1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uLFxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24ucnVuLWNvZGUtYnV0dG9uLCAvKj8gRXhlY3V0ZSBDb2RlIFBsdWdpbiBDb21wYXRpYmlsaXR5ICovXG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXIge1xuXHRtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pIC0gdmFyKC0tZGVudC1kaWZmZXJlbmNlKSk7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246bm90KDphY3RpdmUpLFxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24ucnVuLWNvZGUtYnV0dG9uOm5vdCg6YWN0aXZlKSwgLyo/IEV4ZWN1dGUgQ29kZSBQbHVnaW4gQ29tcGF0aWJpbGl0eSAqL1xuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyOm5vdCg6YWN0aXZlKSB7XG5cdGFuaW1hdGlvbjogaW5kZW50IHZhcigtLWR1cmF0aW9uLWJ1dHRvbik7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jb3B5LWNvZGUtYnV0dG9uOmhvdmVyLFxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24ucnVuLWNvZGUtYnV0dG9uOmhvdmVyLCAvKj8gRXhlY3V0ZSBDb2RlIFBsdWdpbiBDb21wYXRpYmlsaXR5ICovXG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXI6aG92ZXJ7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW4pO1xuXHRhbmltYXRpb246IG91dGRlbnQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY29weS1jb2RlLWJ1dHRvbjphY3RpdmUsXG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b246YWN0aXZlLCAvKj8gRXhlY3V0ZSBDb2RlIFBsdWdpbiBDb21wYXRpYmlsaXR5ICovXG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXI6YWN0aXZlIHtcblx0c2NhbGU6IDAuOTU7XG5cdHRyYW5zaXRpb246IHNjYWxlIHZhcigtLWR1cmF0aW9uLWJ1dHRvbikgY3ViaWMtYmV6aWVyKDAuNCwgMC4xNCwgMC4zLCAxKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246OmJlZm9yZSxcbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIHNwYW4uY29kZS1ibG9jay1mbGFpcjo6YmVmb3JlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xuXHRjb250ZW50OiBcIlxcMjAwYlwiO1xuXHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBkPSdNMjggMTB2MThIMTBWMTBoMThtMC0ySDEwYTIgMiAwIDAgMC0yIDJ2MThhMiAyIDAgMCAwIDIgMmgxOGEyIDIgMCAwIDAgMi0yVjEwYTIgMiAwIDAgMC0yLTJaJy8lM0UlM0NwYXRoIGQ9J000IDE4SDJWNGEyIDIgMCAwIDEgMi0yaDE0djJINFonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J00yOCAxMHYxOEgxMFYxMGgxOG0wLTJIMTBhMiAyIDAgMCAwLTIgMnYxOGEyIDIgMCAwIDAgMiAyaDE4YTIgMiAwIDAgMCAyLTJWMTBhMiAyIDAgMCAwLTItMlonLyUzRSUzQ3BhdGggZD0nTTQgMThIMlY0YTIgMiAwIDAgMSAyLTJoMTR2Mkg0WicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6JyBkYXRhLW5hbWU9JyZsdDtUcmFuc3BhcmVudCBSZWN0YW5nbGUmZ3Q7Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHQtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHZlcnRpY2FsLWFsaWduOiAxcHg7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogbWluKGNhbGMoLTAuNSAqIHZhcigtLWNvbnRhaW5lci1oZWlnaHQpICogMS4xIC0gdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCkpLGNhbGMoLTAuNSAqIHZhcigtLWNvbnRhaW5lci1taW4taGVpZ2h0KSAqIDEuMSAtIHZhcigtLWhlYWRlci1zZXBhcmF0b3Itd2lkdGgpKSkgIWltcG9ydGFudDtcblx0cmlnaHQ6IDA7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcblx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDA7XG5cdGxpbmUtaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgc3Bhbi5jb2RlLWJsb2NrLWZsYWlyID4gKiB7XG5cdHdpZHRoOiAwcHg7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXI6OmJlZm9yZSB7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0b3BhY2l0eTogMTtcblx0dmVydGljYWwtYWxpZ246IC0xcHg7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuSHlwZXJNRC1jb2RlYmxvY2suY29kZS1zdHlsZXItbGluZSBzcGFuLmNvZGUtYmxvY2stZmxhaXI6OmFmdGVyIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xuXHRjb250ZW50OiAnQ29weSc7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcblx0b3BhY2l0eTogMTtcblx0dmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay1iZWdpbi5jb2RlLXN0eWxlci1saW5lIHtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKiBMaW5rcyAqL1xuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLkh5cGVyTUQtY29kZWJsb2NrLmNvZGUtc3R5bGVyLWxpbmUgLmNvZGUtc3R5bGVyLWNvbW1lbnQtbGluayB7XG5cdGRpc3BsYXk6IGlubGluZTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5IeXBlck1ELWNvZGVibG9jay5jb2RlLXN0eWxlci1saW5lIC5jb2RlLXN0eWxlci1jb21tZW50LWxpbmsgPiBwIHtcblx0ZGlzcGxheTogaW5saW5lO1xufVxuIiwgIi8qKiBEZWZpbmUgQ1NTIFZhcmlhYmxlcyAqL1xuYm9keSB7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWZvbnQtd2VpZ2h0OiA0MDA7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXM6IDZweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtcGFkZGluZy12ZXJ0aWNhbDogNXB4O1xuXHQtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWw6IDVweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtbWFyZ2luLWhvcml6b250YWw6IDBweDtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtY29sb3VyOiB2YXIoLS1jb2RlLW5vcm1hbCk7XG5cdC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmU6IHZhcigtLWNvZGUtbm9ybWFsKTtcblx0LS1jb2RlLXN0eWxlci1pbmxpbmUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLWNvZGUtYmFja2dyb3VuZCk7XG59XG5cbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zdHlsZS1pbmxpbmUgLmNtLXMtb2JzaWRpYW4gc3Bhbi5jbS1pbmxpbmUtY29kZSxcbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zdHlsZS1pbmxpbmUgLm1hcmtkb3duLXJlbmRlcmVkIDpub3QocHJlKSA+IGNvZGU6bm90KFtjbGFzcyo9XCJibHVyXCJdKSxcbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zdHlsZS1pbmxpbmUgLnJldmVhbCA6bm90KHByZSkgPiBjb2RlOm5vdChbY2xhc3MqPVwiYmx1clwiXSksXG4uY29kZS1zdHlsZXIuY29kZS1zdHlsZXItc3R5bGUtaW5saW5lIGNvZGUuY29kZS1zdHlsZXItc2V0dGluZ3MtaW5saW5lLWNvZGUge1xuXHRwYWRkaW5nOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtcGFkZGluZy12ZXJ0aWNhbCkgdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXBhZGRpbmctaG9yaXpvbnRhbCkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXMpICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1tYXJnaW4taG9yaXpvbnRhbCkgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJhY2tncm91bmQtY29sb3VyKSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91cik7XG5cdGZvbnQtd2VpZ2h0OiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtZm9udC13ZWlnaHQpO1xufVxuLmNvZGUtc3R5bGVyLmNvZGUtc3R5bGVyLXN0eWxlLWlubGluZSAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWZvcm1hdHRpbmctY29kZSB7IC8qPyBTdGFuZGFsb25lIGJhY2t0aWNrcyAqL1xuXHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1jb2xvdXItYWN0aXZlKTtcbn1cbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zdHlsZS1pbmxpbmUgLmNtLXMtb2JzaWRpYW4gc3Bhbi5jb2RlLXN0eWxlci1pbmxpbmUtb3BlbmVyIH4gc3Bhbi5jbS1pbmxpbmUtY29kZTpub3QoLmNtLWZvcm1hdHRpbmctY29kZSkge1xuXHRwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xuXHRib3JkZXItcmFkaXVzOiAwcHggdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWJvcmRlci1yYWRpdXMpIHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAwcHggIWltcG9ydGFudDtcblx0bWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xufVxuLmNvZGUtc3R5bGVyLmNvZGUtc3R5bGVyLXN0eWxlLWlubGluZSAuY20tcy1vYnNpZGlhbiBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIsXG4uY29kZS1zdHlsZXIuY29kZS1zdHlsZXItc3R5bGUtaW5saW5lIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20tZm9ybWF0dGluZy1jb2RlOmhhcygrIHNwYW4uY20taW5saW5lLWNvZGU6bm90KC5jbS1mb3JtYXR0aW5nLWNvZGUpKSB7Lyo/IEZpcnN0IGJhY2t0aWNrICovXG5cdHBhZGRpbmctcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWxlZnQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1wYWRkaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAwcHggMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLW1hcmdpbi1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuXHRjb2xvcjogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLWNvbG91ci1hY3RpdmUpO1xufVxuLmNvZGUtc3R5bGVyLmNvZGUtc3R5bGVyLXN0eWxlLWlubGluZSAuY20tcy1vYnNpZGlhbiBzcGFuLmNtLWZvcm1hdHRpbmctY29kZSArIHNwYW4uY20taW5saW5lLWNvZGU6bm90KC5jbS1mb3JtYXR0aW5nLWNvZGUpIHsgLyo/IElubmVyIGNvZGUgd2l0aCBiYWNrdGlja3MgKi9cblx0cGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuXHRtYXJnaW46IDBweCAwcHggIWltcG9ydGFudDtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1jb2xvdXItYWN0aXZlKTtcbn1cbi5jb2RlLXN0eWxlci5jb2RlLXN0eWxlci1zdHlsZS1pbmxpbmUgLmNtLXMtb2JzaWRpYW4gc3Bhbi5jbS1pbmxpbmUtY29kZTpub3QoLmNtLWZvcm1hdHRpbmctY29kZSkgKyBzcGFuLmNtLWZvcm1hdHRpbmctY29kZSB7Lyo/IExhc3QgYmFja3RpY2sgKi9cblx0cGFkZGluZy1yaWdodDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLXBhZGRpbmctaG9yaXpvbnRhbCkgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcblx0Ym9yZGVyLXJhZGl1czogMHB4IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS1ib3JkZXItcmFkaXVzKSB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtYm9yZGVyLXJhZGl1cykgMHB4ICFpbXBvcnRhbnQ7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY29kZS1zdHlsZXItaW5saW5lLW1hcmdpbi1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtY29sb3VyLWFjdGl2ZSk7XG59XG5ib2R5LmNvZGUtc3R5bGVyIHNwYW4uY29kZS1zdHlsZXItaW5saW5lLW9wZW5lciA+IHNwYW4gPiBpbWcuY29kZS1zdHlsZXItaW5saW5lLWljb246bm90KFtjbGFzcyo9XCJlbW9qaVwiXSkge1xuXHRkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcblx0aGVpZ2h0OiBjYWxjKHZhcigtLWNvZGUtc2l6ZSkgKiAxLjIpO1xuXHRtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5jb2RlLXN0eWxlciBzcGFuLmNvZGUtc3R5bGVyLWlubGluZS1vcGVuZXIgLmNvZGUtc3R5bGVyLWlubGluZS10aXRsZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1pbmxpbmUtdGl0bGUtY29sb3VyKTtcblx0Zm9udC13ZWlnaHQ6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS10aXRsZS1mb250LXdlaWdodCk7XG59XG4uY29kZS1zdHlsZXIgc3Bhbi5jb2RlLXN0eWxlci1pbmxpbmUtb3BlbmVyIC5jb2RlLXN0eWxlci1pbmxpbmUtdGl0bGU6OmFmdGVyIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWlubGluZS10aXRsZS1jb2xvcik7XG5cdGNvbnRlbnQ6ICdcXEZGNUMnO1xufVxuLmNvZGUtc3R5bGVyIHNwYW4uY29kZS1zdHlsZXItaW5saW5lLW9wZW5lciBzcGFuOmhhcyggPiBpbWcuY29kZS1zdHlsZXItaW5saW5lLWljb24pIHtcblx0cGFkZGluZy1yaWdodDogOHB4O1xufVxuLmNvZGUtc3R5bGVyIC5jbS1zLW9ic2lkaWFuIHNwYW4uY20taW5saW5lLWNvZGUgLmNvZGUtc3R5bGVyLWlubGluZS1wYXJhbWV0ZXJzIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtY29tbWVudCk7XG59XG5cbi5yZXZlYWwgaW1nLmNvZGUtc3R5bGVyLWlubGluZS1pY29uIHtcblx0bWFyZ2luOiBpbmhlcml0O1xufVxuIiwgImRpdi5wcmludCB7XG5cdC0tbGluZS13cmFwcGluZzogcHJlLXdyYXAgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBkaXYucHJpbnQgcHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIHtcblx0bWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbn1cbi5jb2RlLXN0eWxlciBkaXYucHJpbnQgcHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgY29kZSB7XG5cdGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsICIvKiogUGlja3IgMS44LjIgTUlUIHwgaHR0cHM6Ly9naXRodWIuY29tL1NpbW9ud2VwL3BpY2tyICovXG4ucGlja3Ige3Bvc2l0aW9uOiByZWxhdGl2ZTtvdmVyZmxvdzogdmlzaWJsZTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCl9ICAucGlja3IgKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtib3JkZXI6IG5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO2FwcGVhcmFuY2U6IG5vbmU7b3V0bGluZTogbm9uZX0gIC5waWNrciAucGNyLWJ1dHRvbiB7cG9zaXRpb246IHJlbGF0aXZlO3dpZHRoOiAyZW07aGVpZ2h0OiAyZW07cGFkZGluZzogMC41ZW07Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiIHN0cm9rZT1cIiUyMzQyNDQ1QVwiIHN0cm9rZS13aWR0aD1cIjVweFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIj48cGF0aCBkPVwiTTQ1LDQ1TDUsNVwiPjwvcGF0aD48cGF0aCBkPVwiTTQ1LDVMNSw0NVwiPjwvcGF0aD48L3N2Zz4nKSBuby1yZXBlYXQgY2VudGVyO2JhY2tncm91bmQtc2l6ZTogMDtjdXJzb3I6IHBvaW50ZXI7Zm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO3RyYW5zaXRpb246IGFsbCAwLjNzfSAgLnBpY2tyIC5wY3ItYnV0dG9uOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAtMTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2NvbnRlbnQ6ICcnfSAgLnBpY2tyIC5wY3ItYnV0dG9uOjpiZWZvcmUge3otaW5kZXg6IGluaXRpYWx9ICAucGlja3IgLnBjci1idXR0b246OmFmdGVyIHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2JvcmRlci1yYWRpdXM6IC4xNWVtO2JhY2tncm91bmQ6IHZhcigtLXBjci1jb2xvcik7Y29udGVudDogJyc7dHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzfSAgLnBpY2tyIC5wY3ItYnV0dG9uLmNsZWFyIHtiYWNrZ3JvdW5kLXNpemU6IDcwJX0gIC5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjo6YmVmb3JlIHtvcGFjaXR5OiAwfSAgLnBpY2tyIC5wY3ItYnV0dG9uLmNsZWFyOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHZhcigtLXBjci1jb2xvcil9ICAucGlja3IgLnBjci1idXR0b24uZGlzYWJsZWQge2N1cnNvcjogbm90LWFsbG93ZWR9ICAucGlja3IgKiwgLnBjci1hcHAgKiB7Ym94LXNpemluZzogYm9yZGVyLWJveDtib3JkZXI6IG5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO2FwcGVhcmFuY2U6IG5vbmU7b3V0bGluZTogbm9uZX0gIC5waWNrciBpbnB1dDpmb2N1cywgLnBpY2tyIGlucHV0LnBjci1hY3RpdmUsIC5waWNrciBidXR0b246Zm9jdXMsIC5waWNrciBidXR0b24ucGNyLWFjdGl2ZSwgLnBjci1hcHAgaW5wdXQ6Zm9jdXMsIC5wY3ItYXBwIGlucHV0LnBjci1hY3RpdmUsIC5wY3ItYXBwIGJ1dHRvbjpmb2N1cywgLnBjci1hcHAgYnV0dG9uLnBjci1hY3RpdmUge2JveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpLCAwIDAgMCAzcHggdmFyKC0tcGNyLWNvbG9yKX0gIC5waWNrciAucGNyLXBhbGV0dGUsIC5waWNrciAucGNyLXNsaWRlciwgLnBjci1hcHAgLnBjci1wYWxldHRlLCAucGNyLWFwcCAucGNyLXNsaWRlciB7dHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzfSAgLnBpY2tyIC5wY3ItcGFsZXR0ZTpmb2N1cywgLnBpY2tyIC5wY3Itc2xpZGVyOmZvY3VzLCAucGNyLWFwcCAucGNyLXBhbGV0dGU6Zm9jdXMsIC5wY3ItYXBwIC5wY3Itc2xpZGVyOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4yNSl9ICAucGNyLWFwcCB7cG9zaXRpb246IGZpeGVkO3otaW5kZXg6IDEwMDAwO3RvcDogMDtsZWZ0OiAwO2Rpc3BsYXk6IGZsZXg7ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtib3JkZXItcmFkaXVzOiAwLjFlbTtiYWNrZ3JvdW5kOiAjZmZmO2JveC1zaGFkb3c6IDAgMC4xNWVtIDEuNWVtIDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDAgMWVtIDAgcmdiYSgwLCAwLCAwLCAwLjAzKTtmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIHNhbnMtc2VyaWY7b3BhY2l0eTogMDt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHZpc2liaWxpdHkgMHMgMC4zczt2aXNpYmlsaXR5OiBoaWRkZW59ICAucGNyLWFwcC52aXNpYmxlIHtvcGFjaXR5OiAxO3RyYW5zaXRpb246IG9wYWNpdHkgMC4zczt2aXNpYmlsaXR5OiB2aXNpYmxlfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyB7ZGlzcGxheTogZmxleDtmbGV4LXdyYXA6IHdyYXA7bWFyZ2luLXRvcDogMC43NWVtfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcy5wY3ItbGFzdCB7bWFyZ2luOiAwfSAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7ICAucGNyLWFwcCAucGNyLXN3YXRjaGVzIHtkaXNwbGF5OiBncmlkO2FsaWduLWl0ZW1zOiBjZW50ZXI7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIDEuNzVlbSl9ICB9ICAucGNyLWFwcCAucGNyLXN3YXRjaGVzID4gYnV0dG9uIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMTtvdmVyZmxvdzogaGlkZGVuO3dpZHRoOiBjYWxjKDEuNzVlbSAtIDEwcHgpO2hlaWdodDogY2FsYygxLjc1ZW0gLSAxMHB4KTtmbGV4LXNocmluazogMDtib3JkZXItcmFkaXVzOiAwLjE1ZW07bWFyZ2luOiAyLjVweDtiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtjdXJzb3I6IHBvaW50ZXI7Zm9udC1zaXplOiAxZW07anVzdGlmeS1zZWxmOiBjZW50ZXI7dHJhbnNpdGlvbjogYWxsIDAuMTVzfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjo6YmVmb3JlIHtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogLTE7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2JvcmRlci1yYWRpdXM6IC4xNWVtO2JhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTogNnB4O2NvbnRlbnQ6ICcnfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjo6YWZ0ZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym94LXNpemluZzogYm9yZGVyLWJveDtib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO2JvcmRlci1yYWRpdXM6IDAuMTVlbTtiYWNrZ3JvdW5kOiB2YXIoLS1wY3ItY29sb3IpO2NvbnRlbnQ6ICcnfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDEuMDUpfSAgLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbjpub3QoLnBjci1hY3RpdmUpIHtib3gtc2hhZG93OiBub25lfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiB7ZGlzcGxheTogZmxleDtmbGV4LXdyYXA6IHdyYXA7YWxpZ24taXRlbXM6IGNlbnRlcjttYXJnaW46IDAgLTAuMmVtIDAgLTAuMmVtfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiA+ICoge21hcmdpbjogMCAwLjJlbX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQge3BhZGRpbmc6IDAuNDVlbSAwLjVlbTtib3JkZXItcmFkaXVzOiAuMTVlbTttYXJnaW4tdG9wOiAwLjc1ZW07YmFja2dyb3VuZDogI2YxZjNmNDtjb2xvcjogIzc1Nzk3ZTtjdXJzb3I6IHBvaW50ZXI7Zm9udC1zaXplOiAwLjc1ZW07bGV0dGVyLXNwYWNpbmc6IDAuMDdlbTt0ZXh0LWFsaWduOiBjZW50ZXI7dHJhbnNpdGlvbjogYWxsIDAuMTVzfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiBpbnB1dDpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDAuOTc1KX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQ6Zm9jdXMge2JveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpLCAwIDAgMCAzcHggcmdiYSg2NiwgMTMzLCAyNDQsIDAuNzUpfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdCB7bWluLXdpZHRoOiA4ZW07ZmxleDogMSAxIDhlbTtib3JkZXItcmFkaXVzOiAuMTVlbTtiYWNrZ3JvdW5kOiAjZjFmM2Y0O2NvbG9yOiAjNzU3OTdlO2N1cnNvcjogdGV4dDt0ZXh0LWFsaWduOiBsZWZ0O3RyYW5zaXRpb246IGFsbCAwLjJzfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItcmVzdWx0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItdHlwZS5hY3RpdmUge2JhY2tncm91bmQ6ICM0Mjg1ZjQ7Y29sb3I6ICNmZmZ9ICAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZSwgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbCwgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyIHt3aWR0aDogYXV0bztjb2xvcjogI2ZmZn0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1zYXZlLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXIge2NvbG9yOiAjZmZmfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXNhdmU6aG92ZXIsIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jYW5jZWw6aG92ZXIsIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jbGVhcjpob3ZlciB7ZmlsdGVyOiBicmlnaHRuZXNzKDAuOTI1KX0gIC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1zYXZlIHtiYWNrZ3JvdW5kOiAjNDI4NWY0fSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsIHtiYWNrZ3JvdW5kOiAjZjQ0MjUwfSAgLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyOmZvY3VzLCAucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsOmZvY3VzIHtib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSwgMCAwIDAgM3B4IHJnYmEoMjQ0LCA2NiwgODAsIDAuNzUpfSAgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1waWNrZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt3aWR0aDogMThweDtoZWlnaHQ6IDE4cHg7Ym9yZGVyOiAycHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOiAxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmV9ICAucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGUsIC5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5IHtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogZmxleDtmbGV4LWRpcmVjdGlvbjogY29sdW1uO2N1cnNvcjogZ3JhYjtjdXJzb3I6IC13ZWJraXQtZ3JhYjstd2Via2l0LXVzZXItc2VsZWN0OiBub25lOy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7LW1zLXVzZXItc2VsZWN0OiBub25lO3VzZXItc2VsZWN0OiBub25lfSAgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wYWxldHRlOmFjdGl2ZSwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1jaG9vc2VyOmFjdGl2ZSwgLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5OmFjdGl2ZSB7Y3Vyc29yOiBncmFiYmluZztjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmd9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10ge3dpZHRoOiAxNC4yNWVtO21heC13aWR0aDogOTV2d30gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXN3YXRjaGVzIHtwYWRkaW5nOiAwIC42ZW07bWFyZ2luLXRvcDogLjZlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLWludGVyYWN0aW9uIHtwYWRkaW5nOiAwIC42ZW0gLjZlbSAuNmVtfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIHtkaXNwbGF5OiBncmlkO3dpZHRoOiAxMDAlO2hlaWdodDogMTAuNWVtO2FsaWduLWl0ZW1zOiBjZW50ZXI7YWxpZ24tc2VsZjogZmxleC1zdGFydDtncmlkLWdhcDogLjZlbTtncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA0ZnI7Z3JpZC10ZW1wbGF0ZS1yb3dzOiA1ZnIgYXV0byBhdXRvfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldyB7ZGlzcGxheTogZmxleDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7ZmxleC1kaXJlY3Rpb246IHJvdztqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjttYXJnaW4tbGVmdDogLjZlbTtncmlkLWFyZWE6IDIgLyAxIC8gNCAvIDF9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvciB7ZGlzcGxheTogbm9uZX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yIHtwb3NpdGlvbjogcmVsYXRpdmU7b3ZlcmZsb3c6IGhpZGRlbjt3aWR0aDogMmVtO2hlaWdodDogMmVtO2JvcmRlci1yYWRpdXM6IDUwZW07YmFja2dyb3VuZDogdmFyKC0tcGNyLWNvbG9yKX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAtMTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2NvbnRlbnQ6ICcnfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSB7ei1pbmRleDogMTt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Z3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAzfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGUge3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtib3JkZXItcmFkaXVzOiAuMTVlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGUgLnBjci1wYWxldHRlOjpiZWZvcmUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt6LWluZGV4OiAtMTt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym9yZGVyLXJhZGl1czogLjE1ZW07YmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOiAuNWVtO2NvbnRlbnQ6ICcnfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciB7Z3JpZC1hcmVhOiAyIC8gMiAvIDIgLyAyfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSB7Z3JpZC1hcmVhOiAzIC8gMiAvIDMgLyAyfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSB7aGVpZ2h0OiAwLjVlbTttYXJnaW46IDAgLjZlbX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIgLnBjci1waWNrZXIsIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1waWNrZXIge3RvcDogNTAlO3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKX0gIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIgLnBjci1zbGlkZXIsIC5wY3ItYXBwW2RhdGEtdGhlbWU9J25hbm8nXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1zbGlkZXIge2ZsZXgtZ3JvdzogMTtib3JkZXItcmFkaXVzOiA1MGVtfSAgLnBjci1hcHBbZGF0YS10aGVtZT0nbmFubyddIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXNsaWRlciB7YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZWQsICNmZjAsIGxpbWUsIGN5YW4sIGJsdWUsICNmMGYsIHJlZCl9ICAucGNyLWFwcFtkYXRhLXRoZW1lPSduYW5vJ10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5IC5wY3Itc2xpZGVyIHtiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCBibGFjayksIHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTogMTAwJSwgMC4yNWVtfVxuLnBjci1hcHAgLnBjci1zd2F0Y2hlcyA+IGJ1dHRvbiB7XG5cdHBhZGRpbmc6IDA7XG59XG4iLCAiLnNldHRpbmctaXRlbS5jb2RlLXN0eWxlci1zcGFjZWQgLmNoZWNrYm94LWNvbnRhaW5lciArIC5waWNrciB7XG5cdHBhZGRpbmctbGVmdDogMTBweDtcbn1cbi5jb2RlLXN0eWxlci1kb25hdGlvbiB7XG5cdHdpZHRoOiA3MCU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29kZS1zdHlsZXItc2V0dGluZy10ZXh0LWFyZWEgdGV4dGFyZWEge1xuXHR3aWR0aDogNDAwcHg7XG5cdGhlaWdodDogMjIwcHg7XG59XG4uY29kZS1zdHlsZXItc2V0dGluZy10ZXh0LXdpZGUge1xuXHR3aWR0aDogMTAwJTtcbn1cbmJ1dHRvbi5jb2RlLXN0eWxlci1zZXR0aW5ncy1idXR0b24uY29weS1jb2RlLWJ1dHRvbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdGhlaWdodDogYXV0bztcbn1cbmNvZGUuY29kZS1zdHlsZXItc2V0dGluZ3MtaW5saW5lLWNvZGUge1xuXHRwYWRkaW5nOiAwLjFlbSAwLjI1ZW07XG5cdGJvcmRlci1yYWRpdXM6IHZhcigtLWNvZGUtcmFkaXVzKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNvZGUtbm9ybWFsKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9ub3NwYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1jb2RlLXNpemUpO1xufVxucDpoYXMoPiBjb2RlLmNvZGUtc3R5bGVyLXNldHRpbmdzLWlubGluZS1jb2RlKSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hZHZhbmNlZC1zZXR0aW5ncy1oZWFkZXI6OmFmdGVyIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdG1hcmdpbjogYXV0bztcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItYnV0dG9uLWNvbG91cik7XG5cdGNvbnRlbnQ6IFwiXFwyMDBiXCI7XG5cdC13ZWJraXQtbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMicgeG1sOnNwYWNlPSdwcmVzZXJ2ZSclM0UlM0NwYXRoIGQ9J00xNiAyMiA2IDEybDEuNC0xLjQgOC42IDguNiA4LjYtOC42TDI2IDEyeicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRtYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyBmaWxsPSdub25lJyBzdHJva2U9J2N1cnJlbnRDb2xvcicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnICUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNiA5IDEyIDE1IDE4IDknLyUzRSUzQy9zdmclM0VcIik7XG5cdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0b3BhY2l0eTogMTtcblx0c2NhbGU6IDAuOTtcblx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLWR1cmF0aW9uLWJ1dHRvbikgZWFzZS1vdXQsIHZpc2liaWxpdHkgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSwgb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pLCBzY2FsZSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSk7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG59XG4uYWR2YW5jZWQtc2V0dGluZ3MtaGVhZGVyLmhlYWRlci1mb2xkZWQ6OmFmdGVyIHtcblx0dHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cbiIsICIvKiogRXhlY3V0ZSBDb2RlIFBsdWdpbiAqL1xucHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIH4gY29kZS5sYW5ndWFnZS1vdXRwdXQge1xuXHRkaXNwbGF5OiBibG9jaztcblx0cGFkZGluZy1ib3R0b206IGNhbGMoMi41ICogdmFyKC0tY29kZS1wYWRkaW5nKSkgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWxpbmUtbnVtYmVyLWd1dHRlci1wYWRkaW5nKSkgIWltcG9ydGFudDtcblx0Ym9yZGVyLXRvcDogdmFyKC0taGVhZGVyLXNlcGFyYXRvci13aWR0aCkgc29saWQgdmFyKC0tY29kZS1zdHlsZXItaGVhZGVyLXNlcGFyYXRvci1jb2xvdXIpO1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0IHtcblx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblx0Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlOmhvdmVyIGNvZGUgfiBjb2RlLmxhbmd1YWdlLW91dHB1dCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGNvZGUgfiBjb2RlLmxhbmd1YWdlLW91dHB1dCBpbnB1dC5pbnRlcmFjdGl2ZS1zdGRpbiB7XG5cdHBhZGRpbmc6IDJweCA4cHg7XG5cdGJvcmRlci13aWR0aDogMXB4O1xuXHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRib3JkZXItY29sb3I6IHZhcigtLWNvZGUtY29tbWVudCk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29kZS1zdHlsZXItY29kZWJsb2NrLWJhY2tncm91bmQtY29sb3VyKTtcblx0Y29sb3I6IHZhcigtLXRleHQtbm9ybWFsKTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgY29kZSB+IGNvZGUubGFuZ3VhZ2Utb3V0cHV0IGhyIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiB7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDEycHg7XG5cdC0tZGVudC1kaWZmZXJlbmNlOiAyNHB4O1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZS5jb2RlLXN0eWxlci1mb2xkZWQgYnV0dG9uLnJ1bi1jb2RlLWJ1dHRvbiB7XG5cdHRvcDogNTAwcHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5ydW4tY29kZS1idXR0b246OmJlZm9yZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0d2lkdGg6IDE0cHg7XG5cdGhlaWdodDogMTRweDtcblx0cGFkZGluZy1yaWdodDogNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2RlLXN0eWxlci1idXR0b24tY29sb3VyKTtcblx0Y29udGVudDogXCJcXDIwMGJcIjtcblx0LXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMyIDMyJyUzRSUzQ3BhdGggZD0nTTcgMjhhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLjQ4Mi0uODc2bDIwIDExYTEgMSAwIDAgMSAwIDEuNzUybC0yMCAxMUExIDEgMCAwIDEgNyAyOFonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J003IDI4YTEgMSAwIDAgMS0xLTFWNWExIDEgMCAwIDEgMS40ODItLjg3NmwyMCAxMWExIDEgMCAwIDEgMCAxLjc1MmwtMjAgMTFBMSAxIDAgMCAxIDcgMjhaJy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIGQ9J00wIDBoMzJ2MzJIMHonIGRhdGEtbmFtZT0nJmx0O1RyYW5zcGFyZW50IFJlY3RhbmdsZSZndDsnLyUzRSUzQy9zdmclM0VcIik7XG5cdC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0bWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0dmVydGljYWwtYWxpZ246IDBweDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNsZWFyLWJ1dHRvbi1kaXNhYmxlZCxcbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLnJ1bi1idXR0b24tZGlzYWJsZWQge1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jbGVhci1idXR0b24ge1xuXHRoZWlnaHQ6IDE0cHg7XG5cdG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1sYW5ndWFnZS1ib3JkZXItd2lkdGgpICsgMTJweCk7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1pbik7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcbn1cbnByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNsZWFyLWJ1dHRvbjo6YmVmb3JlIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTRweDtcblx0aGVpZ2h0OiAxNHB4O1xuXHRwYWRkaW5nLXJpZ2h0OiA0cHg7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xuXHRjb250ZW50OiBcIlxcMjAwYlwiO1xuXHQtd2Via2l0LW1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzIgMzInJTNFJTNDcGF0aCBkPSdNMTYgNCA2IDE0bDEuNDEgMS40MUwxNSA3LjgzVjI4aDJWNy44M2w3LjU5IDcuNThMMjYgMTQgMTYgNHonLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgZD0nTTAgMGgzMnYzMkgweicgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycvJTNFJTNDL3N2ZyUzRVwiKTtcblx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMiAzMiclM0UlM0NwYXRoIGQ9J00xNiA0IDYgMTRsMS40MSAxLjQxTDE1IDcuODNWMjhoMlY3LjgzbDcuNTkgNy41OEwyNiAxNCAxNiA0eicvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBkPSdNMCAwaDMydjMySDB6JyBkYXRhLW5hbWU9JyZsdDtUcmFuc3BhcmVudCBSZWN0YW5nbGUmZ3Q7Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHQtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG5cdHZlcnRpY2FsLWFsaWduOiAwcHg7XG59XG5wcmUuY29kZS1zdHlsZXItcHJlIGJ1dHRvbi5jbGVhci1idXR0b246bm90KDphY3RpdmUpIHtcblx0YW5pbWF0aW9uOiByZXZlcnNlLWluZGVudCB2YXIoLS1kdXJhdGlvbi1idXR0b24pO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY2xlYXItYnV0dG9uOmhvdmVye1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0YW5pbWF0aW9uOiByZXZlcnNlLW91dGRlbnQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBidXR0b24uY2xlYXItYnV0dG9uOmFjdGl2ZSB7XG5cdHNjYWxlOiAwLjk1O1xuXHR0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSk7XG59XG4uY29kZS1zdHlsZXItcHJlLXBhcmVudC5oYXMtcnVuLWNvZGUtYnV0dG9uIC5sb2FkLXN0YXRlLWluZGljYXRvciB7XG5cdHotaW5kZXg6IDEwO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjb2xvcjogbm9uZTtcbn1cbi5jb2RlLXN0eWxlci1wcmUtcGFyZW50Lmhhcy1ydW4tY29kZS1idXR0b24gLmxvYWQtc3RhdGUtaW5kaWNhdG9yOjpiZWZvcmUge1xuXHRib3gtc2hhZG93OiBub25lO1xufVxuLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQuaGFzLXJ1bi1jb2RlLWJ1dHRvbiAubG9hZC1zdGF0ZS1pbmRpY2F0b3Igc3ZnIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1jb2xvdXIpO1xufVxuLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQuaGFzLXJ1bi1jb2RlLWJ1dHRvbiAubG9hZC1zdGF0ZS1pbmRpY2F0b3Igc3ZnOmhvdmVyIHtcblx0Y29sb3I6IHZhcigtLWNvZGUtc3R5bGVyLWJ1dHRvbi1hY3RpdmUtY29sb3VyKTtcbn1cbi5jb2RlLXN0eWxlci1wcmUtcGFyZW50Lmhhcy1ydW4tY29kZS1idXR0b24gLmxvYWQtc3RhdGUtaW5kaWNhdG9yLnZpc2libGUge1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi8qKiBFbWJlZCBDb2RlIFBsdWdpbiAqL1xuLmJsb2NrLWxhbmd1YWdlLXByZXZpZXcgcHJlLmNvZGUtc3R5bGVyLXByZSBjb2RlIHtcblx0d2hpdGUtc3BhY2U6IHVuc2V0O1xufVxucHJlLmNvZGUtc3R5bGVyLXByZSBzcGFuLmNvZGUtYmxvY2stbGluZV9udW0td3JhcCxcbnByZS5jb2RlLXN0eWxlci1wcmUgZGl2LmNvZGUtYmxvY2staGlnaGxpZ2h0LXdyYXAge1xuXHRkaXNwbGF5OiBub25lO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50ICsgLmVkaXQtYmxvY2stYnV0dG9uOjphZnRlciB7XG5cdHBhZGRpbmctbGVmdDogNHB4O1xuXHRjb250ZW50OiAnRWRpdCBCbG9jayc7XG5cdGZvbnQtc2l6ZTogdmFyKC0tZm9udC11aS1zbWFsbGVyKTtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jazpub3QoOmhvdmVyKSAuY29kZS1zdHlsZXItcHJlLXBhcmVudCArIC5lZGl0LWJsb2NrLWJ1dHRvbiB7XG5cdG9wYWNpdHk6IDA7XG5cdHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202IC5jbS1lbWJlZC1ibG9jaz4uY29kZS1zdHlsZXItcHJlLXBhcmVudCArIC5lZGl0LWJsb2NrLWJ1dHRvbiB7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IGNhbGMoMi4yICogdmFyKC0taGVhZGVyLWJ1dHRvbi1zcGFjaW5nKSk7XG5cdC0tZGVudC1kaWZmZXJlbmNlOiAwcHg7XG5cdC0tcG9seWdvbi1pbjogcG9seWdvbigwIDAsIDE4cHggMCwgMThweCAzNnB4LCAwIDM2cHgpO1xuXHR6LWluZGV4OiAxMDtcblx0dG9wOiBtYXgoY2FsYygwLjUgKiB2YXIoLS1jb250YWluZXItaGVpZ2h0KSAqIDEpLGNhbGMoMC41ICogdmFyKC0tY29udGFpbmVyLW1pbi1oZWlnaHQpICogMSkpO1xuXHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdG1hcmdpbjogMDtcblx0bWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKSAtIHZhcigtLWRlbnQtZGlmZmVyZW5jZSkpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRjbGlwLXBhdGg6IHZhcigtLXBvbHlnb24taW4pO1xuXHRvcGFjaXR5OiAxO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zaXRpb246IHZpc2liaWxpdHkgdmFyKC0tZHVyYXRpb24tYnV0dG9uKSwgb3BhY2l0eSB2YXIoLS1kdXJhdGlvbi1idXR0b24pICFpbXBvcnRhbnQ7XG5cdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdHdpbGwtY2hhbmdlOiBtYXJnaW4tcmlnaHQsIGNsaXAtcGF0aDtcbn1cbi5tYXJrZG93bi1zb3VyY2Utdmlldy5tb2QtY202LmlzLWxpdmUtcHJldmlldy5pcy1yZWFkYWJsZS1saW5lLXdpZHRoIC5jbS1lbWJlZC1ibG9jaz4uY29kZS1zdHlsZXItcHJlLXBhcmVudCsuZWRpdC1ibG9jay1idXR0b24ge1xuXHR3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG5ib2R5IC5jbS1lbWJlZC1ibG9jayAuY29kZS1zdHlsZXItcHJlLXBhcmVudDpoYXMoIHByZS5jb2RlLXN0eWxlci1wcmUgLmNvZGUtc3R5bGVyLWhlYWRlci1jb250YWluZXItaGlkZGVuKSArIC5lZGl0LWJsb2NrLWJ1dHRvbiB7XG5cdC0tY29weS1jb2RlLWhlYWRlci1yaWdodC1tYXJnaW46IDRweDtcblx0dG9wOiBjYWxjKDAuNSAqIHZhcigtLWZvbnQtdGV4dC1zaXplKSAqIDAuODc1ICogdmFyKC0tbGluZS1oZWlnaHQtbm9ybWFsKSk7XG59XG4ubWFya2Rvd24tc291cmNlLXZpZXcubW9kLWNtNiAuY20tZW1iZWQtYmxvY2s6aG92ZXIgLmNvZGUtc3R5bGVyLXByZS1wYXJlbnQgKyAuZWRpdC1ibG9jay1idXR0b246aG92ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcblx0YW5pbWF0aW9uOiByZXZlcnNlLW91dGRlbnQgdmFyKC0tZHVyYXRpb24tYnV0dG9uKTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGNsaXAtcGF0aDogdmFyKC0tcG9seWdvbi1vdXQpO1xufVxuLm1hcmtkb3duLXNvdXJjZS12aWV3Lm1vZC1jbTYgLmNtLWVtYmVkLWJsb2NrOmhvdmVyIC5jb2RlLXN0eWxlci1wcmUtcGFyZW50ICsgLmVkaXQtYmxvY2stYnV0dG9uOmFjdGl2ZSB7XG5cdHNjYWxlOiAwLjk1O1xuXHR0cmFuc2l0aW9uOiBzY2FsZSB2YXIoLS1kdXJhdGlvbi1idXR0b24pIGN1YmljLWJlemllcigwLjQsIDAuMTQsIDAuMywgMSkgIWltcG9ydGFudDtcbn1cblxuLyoqIEZpbGUgSW5jbHVkZSBQbHVnaW4gKi9cbmRpdi5ibG9jay1sYW5ndWFnZS1pbmNsdWRlIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b24ge1xuXHRtYXJnaW46IDA7XG5cdG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1jb3B5LWNvZGUtaGVhZGVyLXJpZ2h0LW1hcmdpbikgLSB2YXIoLS1kZW50LWRpZmZlcmVuY2UpKTtcbn1cbmRpdi5ibG9jay1sYW5ndWFnZS1pbmNsdWRlIHByZS5jb2RlLXN0eWxlci1wcmUgYnV0dG9uLmNvcHktY29kZS1idXR0b246aG92ZXIge1xuXHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNvcHktY29kZS1oZWFkZXItcmlnaHQtbWFyZ2luKTtcbn1cblxuLyoqIENvcmUgU2xpZGVzIFBsdWdpbiAqL1xuLnNsaWRlcyBidXR0b24uY29weS1jb2RlLWJ1dHRvbiB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRyaWdodDogMDtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwYWRkaW5nOiA2cHggOHB4O1xuXHRtYXJnaW46IDZweDtcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdGJveC1zaGFkb3c6IG5vbmU7XG5cdGNvbG9yOiB2YXIoLS10ZXh0LW11dGVkKTtcblx0Zm9udC1mYW1pbHk6IHZhcigtLWZvbnQtaW50ZXJmYWNlKTtcblx0Zm9udC1zaXplOiB2YXIoLS1mb250LXVpLXNtYWxsZXIpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBO0FBRUMsbUJBQWlCO0FBQ2pCLGdDQUE4QjtBQUM5QixrQkFBZ0I7QUFDaEIsc0JBQW9CLEtBQUssSUFBSSxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxpQ0FBaUMsRUFBRSxJQUFJO0FBQ3BHLDBCQUF3QixLQUFLLENBQUMsSUFBSSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsSUFBSSxpQ0FBaUMsRUFBRSxJQUFJLHFCQUFxQixFQUFFLElBQUk7QUFDbEksNEJBQTBCLElBQUk7QUFDOUIsMkJBQXlCO0FBR3pCLHNCQUFvQixJQUFJO0FBQ3hCLG9CQUFrQjtBQUNsQixtQ0FBaUM7QUFDakMsb0JBQWtCO0FBQ2xCLDJCQUF5QjtBQUN6Qiw0QkFBMEI7QUFDMUIsb0NBQWtDLElBQUk7QUFDdEMsK0JBQTZCO0FBQzdCLDBCQUF3QixFQUFFLE1BQU07QUFDaEMsd0JBQXNCO0FBQ3RCLDBCQUF3QjtBQUd4QixxQ0FBbUM7QUFHbkMsbUNBQWlDO0FBQ2pDLGdDQUE4QjtBQUM5QixrQ0FBZ0M7QUFHaEMsbUJBQWlCO0FBQ2pCLDBC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 */