@charset "UTF-8";
[data-theme=light],
:root:not([data-theme=dark]) {
  --mt-necrolori-form-background: #f5f5f5;
  --mt-homepage-opening-background: color-mix(in srgb, var(--pico-primary) 10%, #fff 90%);
  --mt-gallery-background: color-mix(in srgb, var(--pico-primary) 5%, #fff 95%);
}

[data-theme=dark],
:root[data-theme=dark] {
  --mt-necrolori-form-background: #121212;
  --mt-homepage-opening-background: color-mix(in srgb, var(--pico-primary) 10%, #000 90%);
  --mt-gallery-background: color-mix(in srgb, var(--pico-primary) 5%, #000 95%);
}

@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/inter/inter-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/inter/inter-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/inter/inter-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/inter/inter-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/merriweather/merriweather-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/merriweather/merriweather-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/merriweather/merriweather-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/merriweather/merriweather-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/noto-sans/noto-sans-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/noto-sans/noto-sans-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/noto-sans/noto-sans-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/noto-sans/noto-sans-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/noto-serif/noto-serif-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/noto-serif/noto-serif-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/noto-serif/noto-serif-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/noto-serif/noto-serif-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/open-sans/open-sans-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/open-sans/open-sans-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/open-sans/open-sans-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/open-sans/open-sans-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/roboto/roboto-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/roboto/roboto-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/roboto/roboto-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/roboto/roboto-700italic.woff2") format("woff2");
}
/*!
 * Pico CSS ✨ v2.1.1 (https://picocss.com)
 * Copyright 2019-2025 - Licensed under MIT
 */
/**
 * Styles
 */
:root,
:host {
  --pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji);
  --pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji);
  --pico-font-family: var(--pico-font-family-sans-serif);
  --pico-line-height: 1.5;
  --pico-font-weight: 400;
  --pico-font-size: 100%;
  --pico-text-underline-offset: 0.1rem;
  --pico-border-radius: 0.25rem;
  --pico-border-width: 0.0625rem;
  --pico-outline-width: 0.125rem;
  --pico-transition: 0.2s ease-in-out;
  --pico-spacing: 1rem;
  --pico-typography-spacing-vertical: 1rem;
  --pico-block-spacing-vertical: var(--pico-spacing);
  --pico-block-spacing-horizontal: var(--pico-spacing);
  --pico-grid-column-gap: var(--pico-spacing);
  --pico-grid-row-gap: var(--pico-spacing);
  --pico-form-element-spacing-vertical: 0.75rem;
  --pico-form-element-spacing-horizontal: 1rem;
  --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
  --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
  --pico-nav-element-spacing-vertical: 1rem;
  --pico-nav-element-spacing-horizontal: 0.5rem;
  --pico-nav-link-spacing-vertical: 0.5rem;
  --pico-nav-link-spacing-horizontal: 0.5rem;
  --pico-nav-breadcrumb-divider: ">";
  --pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
}
@media (min-width: 576px) {
  :root,
  :host {
    --pico-font-size: 106.25%;
  }
}
@media (min-width: 768px) {
  :root,
  :host {
    --pico-font-size: 112.5%;
  }
}
@media (min-width: 1024px) {
  :root,
  :host {
    --pico-font-size: 118.75%;
  }
}
@media (min-width: 1280px) {
  :root,
  :host {
    --pico-font-size: 125%;
  }
}
@media (min-width: 1536px) {
  :root,
  :host {
    --pico-font-size: 131.25%;
  }
}

a {
  --pico-text-decoration: underline;
}
a.secondary, a.contrast {
  --pico-text-decoration: underline;
}

small {
  --pico-font-size: 0.875em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --pico-font-weight: 700;
}

h1 {
  --pico-font-size: 2rem;
  --pico-line-height: 1.125;
  --pico-typography-spacing-top: 3rem;
}

h2 {
  --pico-font-size: 1.75rem;
  --pico-line-height: 1.15;
  --pico-typography-spacing-top: 2.625rem;
}

h3 {
  --pico-font-size: 1.5rem;
  --pico-line-height: 1.175;
  --pico-typography-spacing-top: 2.25rem;
}

h4 {
  --pico-font-size: 1.25rem;
  --pico-line-height: 1.2;
  --pico-typography-spacing-top: 1.874rem;
}

h5 {
  --pico-font-size: 1.125rem;
  --pico-line-height: 1.225;
  --pico-typography-spacing-top: 1.6875rem;
}

h6 {
  --pico-font-size: 1rem;
  --pico-line-height: 1.25;
  --pico-typography-spacing-top: 1.5rem;
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:where(select, textarea) {
  --pico-outline-width: 0.0625rem;
}

[type=search] {
  --pico-border-radius: 5rem;
}

[type=checkbox],
[type=radio] {
  --pico-border-width: 0.125rem;
}

[type=checkbox][role=switch] {
  --pico-border-width: 0.1875rem;
}

details.dropdown summary:not([role=button]) {
  --pico-outline-width: 0.0625rem;
}

nav details.dropdown summary:focus-visible {
  --pico-outline-width: 0.125rem;
}

[role=search] {
  --pico-border-radius: 5rem;
}

[role=search]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus),
[role=group]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}
[role=search]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus),
[role=group]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=button],
[role=group] [role=button] {
  --pico-form-element-spacing-horizontal: 2rem;
}

details summary[role=button]:not(.outline)::after {
  filter: brightness(0) invert(1);
}

/**
 * Color schemes
 */
[data-theme=light],
:root:not([data-theme=dark]),
:host(:not([data-theme=dark])) {
  color-scheme: light;
  --pico-background-color: #fff;
  --pico-color: #373c44;
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: #0172ad;
  --pico-primary-background: #0172ad;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(1, 114, 173, 0.5);
  --pico-primary-hover: #015887;
  --pico-primary-hover-background: #02659a;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(2, 154, 232, 0.5);
  --pico-primary-inverse: #fff;
  --pico-secondary: #5d6b89;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(93, 107, 137, 0.5);
  --pico-secondary-hover: #48536b;
  --pico-secondary-hover-background: #48536b;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(93, 107, 137, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #181c25;
  --pico-contrast-background: #181c25;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(24, 28, 37, 0.5);
  --pico-contrast-hover: #000;
  --pico-contrast-hover-background: #000;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-secondary-hover);
  --pico-contrast-focus: rgba(93, 107, 137, 0.25);
  --pico-contrast-inverse: #fff;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
  --pico-h1-color: #2d3138;
  --pico-h2-color: #373c44;
  --pico-h3-color: #424751;
  --pico-h4-color: #4d535e;
  --pico-h5-color: #5c6370;
  --pico-h6-color: #646b79;
  --pico-mark-background-color: rgb(252.5, 230.5, 191.5);
  --pico-mark-color: #0f1114;
  --pico-ins-color: rgb(28.5, 105.5, 84);
  --pico-del-color: rgb(136, 56.5, 53);
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: rgb(251, 251.5, 252.25);
  --pico-form-element-selected-background-color: #dfe3eb;
  --pico-form-element-border-color: #cfd5e2;
  --pico-form-element-color: #23262c;
  --pico-form-element-placeholder-color: var(--pico-muted-color);
  --pico-form-element-active-background-color: #fff;
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
  --pico-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: rgb(76, 154.5, 137.5);
  --pico-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #bfc7d9;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
  --pico-card-background-color: var(--pico-background-color);
  --pico-card-border-color: var(--pico-muted-border-color);
  --pico-card-box-shadow: var(--pico-box-shadow);
  --pico-card-sectioning-background-color: rgb(251, 251.5, 252.25);
  --pico-dropdown-background-color: #fff;
  --pico-dropdown-border-color: #eff1f4;
  --pico-dropdown-box-shadow: var(--pico-box-shadow);
  --pico-dropdown-color: var(--pico-color);
  --pico-dropdown-hover-background-color: #eff1f4;
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=light] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:root:not([data-theme=dark]) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:host(:not([data-theme=dark])) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]),
  :host(:not([data-theme])) {
    color-scheme: dark;
    --pico-background-color: rgb(19, 22.5, 30.5);
    --pico-color: #c2c7d0;
    --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
    --pico-muted-color: #7b8495;
    --pico-muted-border-color: #202632;
    --pico-primary: #01aaff;
    --pico-primary-background: #0172ad;
    --pico-primary-border: var(--pico-primary-background);
    --pico-primary-underline: rgba(1, 170, 255, 0.5);
    --pico-primary-hover: #79c0ff;
    --pico-primary-hover-background: #017fc0;
    --pico-primary-hover-border: var(--pico-primary-hover-background);
    --pico-primary-hover-underline: var(--pico-primary-hover);
    --pico-primary-focus: rgba(1, 170, 255, 0.375);
    --pico-primary-inverse: #fff;
    --pico-secondary: #969eaf;
    --pico-secondary-background: #525f7a;
    --pico-secondary-border: var(--pico-secondary-background);
    --pico-secondary-underline: rgba(150, 158, 175, 0.5);
    --pico-secondary-hover: #b3b9c5;
    --pico-secondary-hover-background: #5d6b89;
    --pico-secondary-hover-border: var(--pico-secondary-hover-background);
    --pico-secondary-hover-underline: var(--pico-secondary-hover);
    --pico-secondary-focus: rgba(144, 158, 190, 0.25);
    --pico-secondary-inverse: #fff;
    --pico-contrast: #dfe3eb;
    --pico-contrast-background: #eff1f4;
    --pico-contrast-border: var(--pico-contrast-background);
    --pico-contrast-underline: rgba(223, 227, 235, 0.5);
    --pico-contrast-hover: #fff;
    --pico-contrast-hover-background: #fff;
    --pico-contrast-hover-border: var(--pico-contrast-hover-background);
    --pico-contrast-hover-underline: var(--pico-contrast-hover);
    --pico-contrast-focus: rgba(207, 213, 226, 0.25);
    --pico-contrast-inverse: #000;
    --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
    --pico-h1-color: #f0f1f3;
    --pico-h2-color: #e0e3e7;
    --pico-h3-color: #c2c7d0;
    --pico-h4-color: #b3b9c5;
    --pico-h5-color: #a4acba;
    --pico-h6-color: #8891a4;
    --pico-mark-background-color: #014063;
    --pico-mark-color: #fff;
    --pico-ins-color: #62af9a;
    --pico-del-color: rgb(205.5, 126, 123);
    --pico-blockquote-border-color: var(--pico-muted-border-color);
    --pico-blockquote-footer-color: var(--pico-muted-color);
    --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-form-element-background-color: rgb(28, 33, 43.5);
    --pico-form-element-selected-background-color: #2a3140;
    --pico-form-element-border-color: #2a3140;
    --pico-form-element-color: #e0e3e7;
    --pico-form-element-placeholder-color: #8891a4;
    --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
    --pico-form-element-active-border-color: var(--pico-primary-border);
    --pico-form-element-focus-color: var(--pico-primary-border);
    --pico-form-element-disabled-opacity: 0.5;
    --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
    --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
    --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
    --pico-form-element-valid-border-color: #2a7b6f;
    --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
    --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
    --pico-switch-background-color: #333c4e;
    --pico-switch-checked-background-color: var(--pico-primary-background);
    --pico-switch-color: #fff;
    --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-accordion-border-color: var(--pico-muted-border-color);
    --pico-accordion-active-summary-color: var(--pico-primary-hover);
    --pico-accordion-close-summary-color: var(--pico-color);
    --pico-accordion-open-summary-color: var(--pico-muted-color);
    --pico-card-background-color: #181c25;
    --pico-card-border-color: var(--pico-card-background-color);
    --pico-card-box-shadow: var(--pico-box-shadow);
    --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
    --pico-dropdown-background-color: #181c25;
    --pico-dropdown-border-color: #202632;
    --pico-dropdown-box-shadow: var(--pico-box-shadow);
    --pico-dropdown-color: var(--pico-color);
    --pico-dropdown-hover-background-color: #202632;
    --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  }
  :root:not([data-theme]) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]),
  :host(:not([data-theme])) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]) {
    --pico-form-element-focus-color: var(--pico-primary-focus);
  }
  :root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after,
  :host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after {
    filter: brightness(0);
  }
}
[data-theme=dark] {
  color-scheme: dark;
  --pico-background-color: rgb(19, 22.5, 30.5);
  --pico-color: #c2c7d0;
  --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
  --pico-muted-color: #7b8495;
  --pico-muted-border-color: #202632;
  --pico-primary: #01aaff;
  --pico-primary-background: #0172ad;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(1, 170, 255, 0.5);
  --pico-primary-hover: #79c0ff;
  --pico-primary-hover-background: #017fc0;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(1, 170, 255, 0.375);
  --pico-primary-inverse: #fff;
  --pico-secondary: #969eaf;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(150, 158, 175, 0.5);
  --pico-secondary-hover: #b3b9c5;
  --pico-secondary-hover-background: #5d6b89;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(144, 158, 190, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #dfe3eb;
  --pico-contrast-background: #eff1f4;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(223, 227, 235, 0.5);
  --pico-contrast-hover: #fff;
  --pico-contrast-hover-background: #fff;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-contrast-hover);
  --pico-contrast-focus: rgba(207, 213, 226, 0.25);
  --pico-contrast-inverse: #000;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
  --pico-h1-color: #f0f1f3;
  --pico-h2-color: #e0e3e7;
  --pico-h3-color: #c2c7d0;
  --pico-h4-color: #b3b9c5;
  --pico-h5-color: #a4acba;
  --pico-h6-color: #8891a4;
  --pico-mark-background-color: #014063;
  --pico-mark-color: #fff;
  --pico-ins-color: #62af9a;
  --pico-del-color: rgb(205.5, 126, 123);
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: rgb(28, 33, 43.5);
  --pico-form-element-selected-background-color: #2a3140;
  --pico-form-element-border-color: #2a3140;
  --pico-form-element-color: #e0e3e7;
  --pico-form-element-placeholder-color: #8891a4;
  --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
  --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: #2a7b6f;
  --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #333c4e;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
  --pico-card-background-color: #181c25;
  --pico-card-border-color: var(--pico-card-background-color);
  --pico-card-box-shadow: var(--pico-box-shadow);
  --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
  --pico-dropdown-background-color: #181c25;
  --pico-dropdown-border-color: #202632;
  --pico-dropdown-box-shadow: var(--pico-box-shadow);
  --pico-dropdown-color: var(--pico-color);
  --pico-dropdown-hover-background-color: #202632;
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=dark] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}
[data-theme=dark] details summary[role=button].contrast:not(.outline)::after {
  filter: brightness(0);
}

progress,
[type=checkbox],
[type=radio],
[type=range] {
  accent-color: var(--pico-primary);
}

/**
 * Document
 * Content-box & Responsive typography
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root),
:where(:host) {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
  text-underline-offset: var(--pico-text-underline-offset);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
}

/**
 * Landmarks
 */
body {
  width: 100%;
  margin: 0;
}

main {
  display: block;
}

body > header,
body > main,
body > footer {
  padding-block: var(--pico-block-spacing-vertical);
}

/**
 * Section
 */
section {
  margin-bottom: var(--pico-block-spacing-vertical);
}

/**
 * Container
 */
.container,
.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--pico-spacing);
  padding-left: var(--pico-spacing);
}

@media (min-width: 576px) {
  .container {
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1280px;
  }
}

/**
 * Grid
 * Minimal grid system with auto-layout columns
 */
.grid {
  grid-column-gap: var(--pico-grid-column-gap);
  grid-row-gap: var(--pico-grid-row-gap);
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
  }
}
.grid > * {
  min-width: 0;
}

/**
 * Overflow auto
 */
.overflow-auto {
  overflow: auto;
}

/**
 * Typography
 */
b,
strong {
  font-weight: bolder;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
blockquote,
dl,
ol,
p,
pre,
table,
ul {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-style: normal;
  font-weight: var(--pico-font-weight);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
}

h1 {
  --pico-color: var(--pico-h1-color);
}

h2 {
  --pico-color: var(--pico-h2-color);
}

h3 {
  --pico-color: var(--pico-h3-color);
}

h4 {
  --pico-color: var(--pico-h4-color);
}

h5 {
  --pico-color: var(--pico-h5-color);
}

h6 {
  --pico-color: var(--pico-h6-color);
}

:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: var(--pico-typography-spacing-top);
}

p {
  margin-bottom: var(--pico-typography-spacing-vertical);
}

hgroup {
  margin-bottom: var(--pico-typography-spacing-vertical);
}
hgroup > * {
  margin-top: 0;
  margin-bottom: 0;
}
hgroup > *:not(:first-child):last-child {
  --pico-color: var(--pico-muted-color);
  --pico-font-weight: unset;
  font-size: 1rem;
}

:where(ol, ul) li {
  margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

ul li {
  list-style: square;
}

mark {
  padding: 0.125rem 0.25rem;
  background-color: var(--pico-mark-background-color);
  color: var(--pico-mark-color);
  vertical-align: baseline;
}

blockquote {
  display: block;
  margin: var(--pico-typography-spacing-vertical) 0;
  padding: var(--pico-spacing);
  border-right: none;
  border-left: 0.25rem solid var(--pico-blockquote-border-color);
  border-inline-start: 0.25rem solid var(--pico-blockquote-border-color);
  border-inline-end: none;
}
blockquote footer {
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5);
  color: var(--pico-blockquote-footer-color);
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
  cursor: help;
}

ins {
  color: var(--pico-ins-color);
  text-decoration: none;
}

del {
  color: var(--pico-del-color);
}

::-moz-selection {
  background-color: var(--pico-text-selection-color);
}

::selection {
  background-color: var(--pico-text-selection-color);
}

/**
 * Link
 */
:where(a:not([role=button])),
[role=link] {
  --pico-color: var(--pico-primary);
  --pico-background-color: transparent;
  --pico-underline: var(--pico-primary-underline);
  outline: none;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  -webkit-text-decoration: var(--pico-text-decoration);
          text-decoration: var(--pico-text-decoration);
  text-decoration-color: var(--pico-underline);
  text-underline-offset: 0.125em;
  transition: background-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition);
}
:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-primary-hover);
  --pico-underline: var(--pico-primary-hover-underline);
  --pico-text-decoration: underline;
}
:where(a:not([role=button])):focus-visible,
[role=link]:focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}
:where(a:not([role=button])).secondary,
[role=link].secondary {
  --pico-color: var(--pico-secondary);
  --pico-underline: var(--pico-secondary-underline);
}
:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-underline: var(--pico-secondary-hover-underline);
}
:where(a:not([role=button])).contrast,
[role=link].contrast {
  --pico-color: var(--pico-contrast);
  --pico-underline: var(--pico-contrast-underline);
}
:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-underline: var(--pico-contrast-hover-underline);
}

a[role=button] {
  display: inline-block;
}

/**
 * Button
 */
button {
  margin: 0;
  overflow: visible;
  font-family: inherit;
  text-transform: none;
}

button,
[type=submit],
[type=reset],
[type=button] {
  -webkit-appearance: button;
}

button,
[type=submit],
[type=reset],
[type=button],
[type=file]::file-selector-button,
[role=button] {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  --pico-color: var(--pico-primary-inverse);
  --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: 1rem;
  line-height: var(--pico-line-height);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}
button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus),
[type=submit]:is([aria-current]:not([aria-current=false])),
[type=submit]:is(:hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false])),
[type=reset]:is(:hover, :active, :focus),
[type=button]:is([aria-current]:not([aria-current=false])),
[type=button]:is(:hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),
[type=file]::file-selector-button:is(:hover, :active, :focus),
[role=button]:is([aria-current]:not([aria-current=false])),
[role=button]:is(:hover, :active, :focus) {
  --pico-background-color: var(--pico-primary-hover-background);
  --pico-border-color: var(--pico-primary-hover-border);
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  --pico-color: var(--pico-primary-inverse);
}
button:focus, button:is([aria-current]:not([aria-current=false])):focus,
[type=submit]:focus,
[type=submit]:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=button]:focus,
[type=button]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,
[role=button]:focus,
[role=button]:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

[type=submit],
[type=reset],
[type=button] {
  margin-bottom: var(--pico-spacing);
}

:is(button, [type=submit], [type=button], [role=button]).secondary,
[type=reset],
[type=file]::file-selector-button {
  --pico-background-color: var(--pico-secondary-background);
  --pico-border-color: var(--pico-secondary-border);
  --pico-color: var(--pico-secondary-inverse);
  cursor: pointer;
}
:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-secondary-hover-background);
  --pico-border-color: var(--pico-secondary-hover-border);
  --pico-color: var(--pico-secondary-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}

:is(button, [type=submit], [type=button], [role=button]).contrast {
  --pico-background-color: var(--pico-contrast-background);
  --pico-border-color: var(--pico-contrast-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-contrast-hover-background);
  --pico-border-color: var(--pico-contrast-hover-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}

:is(button, [type=submit], [type=button], [role=button]).outline,
[type=reset].outline {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary);
  --pico-border-color: var(--pico-primary);
}
:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary-hover);
  --pico-border-color: var(--pico-primary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.secondary,
[type=reset].outline {
  --pico-color: var(--pico-secondary);
  --pico-border-color: var(--pico-secondary);
}
:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-border-color: var(--pico-secondary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.contrast {
  --pico-color: var(--pico-contrast);
  --pico-border-color: var(--pico-contrast);
}
:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-border-color: var(--pico-contrast-hover);
}

:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled],
:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) {
  opacity: 0.5;
  pointer-events: none;
}

/**
 * Embedded content
 */
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

:where(iframe) {
  border-style: none;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

svg:not(:root),
svg:not(:host) {
  overflow: hidden;
}

/**
 * Figure
 */
figure {
  display: block;
  margin: 0;
  padding: 0;
}
figure figcaption {
  padding: calc(var(--pico-spacing) * 0.5) 0;
  color: var(--pico-muted-color);
}

/**
 * Misc
 */
hr {
  height: 0;
  margin: var(--pico-typography-spacing-vertical) 0;
  border: 0;
  border-top: 1px solid var(--pico-muted-border-color);
  color: inherit;
}

[hidden],
template {
  display: none !important;
}

canvas {
  display: inline-block;
}

/**
 * Basics form elements
 */
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 1rem;
  line-height: var(--pico-line-height);
  font-family: inherit;
  letter-spacing: inherit;
}

input {
  overflow: visible;
}

select {
  text-transform: none;
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

:-moz-focusring {
  outline: none;
}

:-moz-ui-invalid {
  box-shadow: none;
}

::-ms-expand {
  display: none;
}

[type=file],
[type=range] {
  padding: 0;
  border-width: 0;
}

input:not([type=checkbox], [type=radio], [type=range]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
}

fieldset {
  width: 100%;
  margin: 0;
  margin-bottom: var(--pico-spacing);
  padding: 0;
  border: 0;
}

label,
fieldset legend {
  display: block;
  margin-bottom: calc(var(--pico-spacing) * 0.375);
  color: var(--pico-color);
  font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight));
}

fieldset legend {
  margin-bottom: calc(var(--pico-spacing) * 0.5);
}

input:not([type=checkbox], [type=radio]),
button[type=submit],
select,
textarea {
  width: 100%;
}

input:not([type=checkbox], [type=radio], [type=range], [type=file]),
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
}

input,
select,
textarea {
  --pico-background-color: var(--pico-form-element-background-color);
  --pico-border-color: var(--pico-form-element-border-color);
  --pico-color: var(--pico-form-element-color);
  --pico-box-shadow: none;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-background-color: var(--pico-form-element-active-background-color);
}

input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-active-border-color);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=range],
[type=file],
[readonly]):focus,
:where(select, textarea):not([readonly]):focus {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}

input:not([type=submit], [type=button], [type=reset])[disabled],
select[disabled],
textarea[disabled],
label[aria-disabled=true],
:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) {
  opacity: var(--pico-form-element-disabled-opacity);
  pointer-events: none;
}

label[aria-disabled=true] input[disabled] {
  opacity: 1;
}

:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid] {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  padding-left: var(--pico-form-element-spacing-horizontal);
  padding-inline-start: var(--pico-form-element-spacing-horizontal) !important;
  padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=false]:not(select) {
  background-image: var(--pico-icon-valid);
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=true]:not(select) {
  background-image: var(--pico-icon-invalid);
}
:where(input, select, textarea)[aria-invalid=false] {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-valid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important;
}
:where(input, select, textarea)[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important;
}

[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) {
  background-position: center left 0.75rem;
}

input::placeholder,
input::-webkit-input-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
select:invalid {
  color: var(--pico-form-element-placeholder-color);
  opacity: 1;
}

input:not([type=checkbox], [type=radio]),
select,
textarea {
  margin-bottom: var(--pico-spacing);
}

select::-ms-expand {
  border: 0;
  background-color: transparent;
}
select:not([multiple], [size]) {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  padding-left: var(--pico-form-element-spacing-horizontal);
  padding-inline-start: var(--pico-form-element-spacing-horizontal);
  padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  background-image: var(--pico-icon-chevron);
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
select[multiple] option:checked {
  background: var(--pico-form-element-selected-background-color);
  color: var(--pico-form-element-color);
}

[dir=rtl] select:not([multiple], [size]) {
  background-position: center left 0.75rem;
}

textarea {
  display: block;
  resize: vertical;
}
textarea[aria-invalid] {
  --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  background-position: top right 0.75rem !important;
  background-size: 1rem var(--pico-icon-height) !important;
}

:where(input, select, textarea, fieldset, .grid) + small {
  display: block;
  width: 100%;
  margin-top: calc(var(--pico-spacing) * -0.75);
  margin-bottom: var(--pico-spacing);
  color: var(--pico-muted-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=false] + small {
  color: var(--pico-ins-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=true] + small {
  color: var(--pico-del-color);
}

label > :where(input, select, textarea) {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Checkboxes, Radios and Switches
 */
label:has([type=checkbox], [type=radio]) {
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
}

[type=checkbox],
[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.25em;
  height: 1.25em;
  margin-top: -0.125em;
  margin-inline-end: 0.5em;
  border-width: var(--pico-border-width);
  vertical-align: middle;
  cursor: pointer;
}
[type=checkbox]::-ms-check,
[type=radio]::-ms-check {
  display: none;
}
[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus,
[type=radio]:checked,
[type=radio]:checked:active,
[type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-checkbox);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}
[type=checkbox] ~ label,
[type=radio] ~ label {
  display: inline-block;
  margin-bottom: 0;
  cursor: pointer;
}
[type=checkbox] ~ label:not(:last-of-type),
[type=radio] ~ label:not(:last-of-type) {
  margin-inline-end: 1em;
}

[type=checkbox]:indeterminate {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-minus);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}

[type=radio] {
  border-radius: 50%;
}
[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-inverse);
  border-width: 0.35em;
  background-image: none;
}

[type=checkbox][role=switch] {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-color: var(--pico-switch-color);
  width: 2.25em;
  height: 1.25em;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: 1.25em;
  background-color: var(--pico-background-color);
  line-height: 1.25em;
}
[type=checkbox][role=switch]:not([aria-invalid]) {
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:before {
  display: block;
  aspect-ratio: 1;
  height: 100%;
  border-radius: 50%;
  background-color: var(--pico-color);
  box-shadow: var(--pico-switch-thumb-box-shadow);
  content: "";
  transition: margin 0.1s ease-in-out;
}
[type=checkbox][role=switch]:focus {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:checked {
  --pico-background-color: var(--pico-switch-checked-background-color);
  --pico-border-color: var(--pico-switch-checked-background-color);
  background-image: none;
}
[type=checkbox][role=switch]:checked::before {
  margin-inline-start: calc(2.25em - 1.25em);
}
[type=checkbox][role=switch][disabled] {
  --pico-background-color: var(--pico-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-background-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-background-color: var(--pico-form-element-invalid-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=radio][aria-invalid=false]:checked,
[type=radio][aria-invalid=false]:checked:active,
[type=radio][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=radio]:checked[aria-invalid=true],
[type=radio]:checked:active[aria-invalid=true],
[type=radio]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}

/**
 * Input type search
 */
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);
  background-image: var(--pico-icon-search);
  background-position: center left calc(var(--pico-form-element-spacing-horizontal) + 0.125rem);
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important;
  background-position: center left 1.125rem, center right 0.75rem;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] {
  background-image: var(--pico-icon-search), var(--pico-icon-valid);
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] {
  background-image: var(--pico-icon-search), var(--pico-icon-invalid);
}

[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  background-position: center right 1.125rem;
}
[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  background-position: center right 1.125rem, center left 0.75rem;
}

/**
 * Accordion (<details>)
 */
details {
  display: block;
  margin-bottom: var(--pico-spacing);
}
details summary {
  line-height: 1rem;
  list-style-type: none;
  cursor: pointer;
  transition: color var(--pico-transition);
}
details summary:not([role]) {
  color: var(--pico-accordion-close-summary-color);
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  display: none;
}
details summary::-moz-list-bullet {
  list-style-type: none;
}
details summary::after {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5);
  float: right;
  transform: rotate(-90deg);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
  transition: transform var(--pico-transition);
}
details summary:focus {
  outline: none;
}
details summary:focus:not([role]) {
  color: var(--pico-accordion-active-summary-color);
}
details summary:focus-visible:not([role]) {
  outline: var(--pico-outline-width) solid var(--pico-primary-focus);
  outline-offset: calc(var(--pico-spacing, 1rem) * 0.5);
  color: var(--pico-primary);
}
details summary[role=button] {
  width: 100%;
  text-align: left;
}
details summary[role=button]::after {
  height: calc(1rem * var(--pico-line-height, 1.5));
}
details[open] > summary {
  margin-bottom: var(--pico-spacing);
}
details[open] > summary:not([role]):not(:focus) {
  color: var(--pico-accordion-open-summary-color);
}
details[open] > summary::after {
  transform: rotate(0);
}

[dir=rtl] details summary {
  text-align: right;
}
[dir=rtl] details summary::after {
  float: left;
  background-position: left center;
}

/**
 * Card (<article>)
 */
article {
  margin-bottom: var(--pico-block-spacing-vertical);
  padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
  border-radius: var(--pico-border-radius);
  background: var(--pico-card-background-color);
  box-shadow: var(--pico-card-box-shadow);
}
article > header,
article > footer {
  margin-right: calc(var(--pico-block-spacing-horizontal) * -1);
  margin-left: calc(var(--pico-block-spacing-horizontal) * -1);
  padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal);
  background-color: var(--pico-card-sectioning-background-color);
}
article > header {
  margin-top: calc(var(--pico-block-spacing-vertical) * -1);
  margin-bottom: var(--pico-block-spacing-vertical);
  border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
  border-top-right-radius: var(--pico-border-radius);
  border-top-left-radius: var(--pico-border-radius);
}
article > footer {
  margin-top: var(--pico-block-spacing-vertical);
  margin-bottom: calc(var(--pico-block-spacing-vertical) * -1);
  border-top: var(--pico-border-width) solid var(--pico-card-border-color);
  border-bottom-right-radius: var(--pico-border-radius);
  border-bottom-left-radius: var(--pico-border-radius);
}

/**
 * Dropdown (details.dropdown)
 */
details.dropdown {
  position: relative;
  border-bottom: none;
}
details.dropdown > summary::after,
details.dropdown > button::after,
details.dropdown > a::after {
  display: block;
  width: 1rem;
  height: calc(1rem * var(--pico-line-height, 1.5));
  margin-inline-start: 0.25rem;
  float: right;
  transform: rotate(0deg) translateX(0.2rem);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
}

nav details.dropdown {
  margin-bottom: 0;
}

details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-form-element-border-color);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-form-element-background-color);
  color: var(--pico-form-element-placeholder-color);
  line-height: inherit;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}
details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus {
  border-color: var(--pico-form-element-active-border-color);
  background-color: var(--pico-form-element-active-background-color);
}
details.dropdown > summary:not([role]):focus {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}
details.dropdown > summary:not([role]):focus-visible {
  outline: none;
}
details.dropdown > summary:not([role])[aria-invalid=false] {
  --pico-form-element-border-color: var(--pico-form-element-valid-border-color);
  --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color);
  --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color);
}
details.dropdown > summary:not([role])[aria-invalid=true] {
  --pico-form-element-border-color: var(--pico-form-element-invalid-border-color);
  --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color);
  --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color);
}

nav details.dropdown {
  display: inline;
  margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0;
}
nav details.dropdown > summary::after {
  transform: rotate(0deg) translateX(0rem);
}
nav details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav details.dropdown > summary:not([role]):focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

details.dropdown > summary + ul {
  display: flex;
  z-index: 99;
  position: absolute;
  left: 0;
  flex-direction: column;
  width: 100%;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin: 0;
  margin-top: var(--pico-outline-width);
  padding: 0;
  border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-dropdown-background-color);
  box-shadow: var(--pico-dropdown-box-shadow);
  color: var(--pico-dropdown-color);
  white-space: nowrap;
  opacity: 0;
  transition: opacity var(--pico-transition), transform 0s ease-in-out 1s;
}
details.dropdown > summary + ul[dir=rtl] {
  right: 0;
  left: auto;
}
details.dropdown > summary + ul li {
  width: 100%;
  margin-bottom: 0;
  padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal);
  list-style: none;
}
details.dropdown > summary + ul li:first-of-type {
  margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li:last-of-type {
  margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li a {
  display: block;
  margin: calc(var(--pico-form-element-spacing-vertical) * -0.5) calc(var(--pico-form-element-spacing-horizontal) * -1);
  padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal);
  overflow: hidden;
  border-radius: 0;
  color: var(--pico-dropdown-color);
  text-decoration: none;
  text-overflow: ellipsis;
}
details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus, details.dropdown > summary + ul li a:active, details.dropdown > summary + ul li a:focus-visible, details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) {
  background-color: var(--pico-dropdown-hover-background-color);
}
details.dropdown > summary + ul li label {
  width: 100%;
}
details.dropdown > summary + ul li:has(label):hover {
  background-color: var(--pico-dropdown-hover-background-color);
}

details.dropdown[open] > summary {
  margin-bottom: 0;
}

details.dropdown[open] > summary + ul {
  transform: scaleY(1);
  opacity: 1;
  transition: opacity var(--pico-transition), transform 0s ease-in-out 0s;
}

details.dropdown[open] > summary::before {
  display: block;
  z-index: 1;
  position: fixed;
  width: 100vw;
  height: 100vh;
  inset: 0;
  background: none;
  content: "";
  cursor: default;
}

label > details.dropdown {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Group ([role="group"], [role="search"])
 */
[role=search],
[role=group] {
  display: inline-flex;
  position: relative;
  width: 100%;
  margin-bottom: var(--pico-spacing);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  vertical-align: middle;
  transition: box-shadow var(--pico-transition);
}
[role=search] > *,
[role=search] input:not([type=checkbox], [type=radio]),
[role=search] select,
[role=group] > *,
[role=group] input:not([type=checkbox], [type=radio]),
[role=group] select {
  position: relative;
  flex: 1 1 auto;
  margin-bottom: 0;
}
[role=search] > *:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] > *:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[role=search] > *:not(:last-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=search] select:not(:last-child),
[role=group] > *:not(:last-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=group] select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[role=search] > *:focus,
[role=search] input:not([type=checkbox], [type=radio]):focus,
[role=search] select:focus,
[role=group] > *:focus,
[role=group] input:not([type=checkbox], [type=radio]):focus,
[role=group] select:focus {
  z-index: 2;
}
[role=search] button:not(:first-child),
[role=search] [type=submit]:not(:first-child),
[role=search] [type=reset]:not(:first-child),
[role=search] [type=button]:not(:first-child),
[role=search] [role=button]:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] button:not(:first-child),
[role=group] [type=submit]:not(:first-child),
[role=group] [type=reset]:not(:first-child),
[role=group] [type=button]:not(:first-child),
[role=group] [role=button]:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: calc(var(--pico-border-width) * -1);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=reset],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=reset],
[role=group] [type=button],
[role=group] [role=button] {
  width: auto;
}
@supports selector(:has(*)) {
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
  }
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select,
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select {
    border-color: transparent;
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus),
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] {
    --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
    --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
  }
  [role=search] button:focus,
  [role=search] [type=submit]:focus,
  [role=search] [type=reset]:focus,
  [role=search] [type=button]:focus,
  [role=search] [role=button]:focus,
  [role=group] button:focus,
  [role=group] [type=submit]:focus,
  [role=group] [type=reset]:focus,
  [role=group] [type=button]:focus,
  [role=group] [role=button]:focus {
    box-shadow: none;
  }
}

[role=search] > *:first-child {
  border-top-left-radius: 5rem;
  border-bottom-left-radius: 5rem;
}
[role=search] > *:last-child {
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
}

/**
 * Nav
 */
:where(nav li)::before {
  float: left;
  content: "​";
}

nav,
nav ul {
  display: flex;
}

nav {
  justify-content: space-between;
  overflow: visible;
}
nav ol,
nav ul {
  align-items: center;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
nav ol:first-of-type,
nav ul:first-of-type {
  margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav ol:last-of-type,
nav ul:last-of-type {
  margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav li {
  display: inline-block;
  margin: 0;
  padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
}
nav li :where(a, [role=link]) {
  display: inline-block;
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);
  padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
  border-radius: var(--pico-border-radius);
}
nav li :where(a, [role=link]):not(:hover) {
  text-decoration: none;
}
nav li button,
nav li [role=button],
nav li [type=button],
nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]),
nav li select {
  height: auto;
  margin-right: inherit;
  margin-bottom: 0;
  margin-left: inherit;
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] {
  align-items: center;
  justify-content: start;
}
nav[aria-label=breadcrumb] ul li:not(:first-child) {
  margin-inline-start: var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] ul li a {
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
  margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
}
nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
  display: inline-block;
  position: absolute;
  width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
  margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
  content: var(--pico-nav-breadcrumb-divider);
  color: var(--pico-muted-color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

aside nav,
aside ol,
aside ul,
aside li {
  display: block;
}
aside li {
  padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal);
}
aside li a {
  display: block;
}
aside li [role=button] {
  margin: inherit;
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after {
  content: "\\";
}

/**
 * Accessibility & User interaction
 */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

/**
 * Reduce Motion Features
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    background-attachment: initial !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}
[data-theme=light],
:root:not([data-theme=dark]) {
  --pico-background-color: var(--mt-background-color, #fff);
  --pico-color: var(--mt-color, #373c44);
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: var(--mt-primary-color, #00599c);
  --pico-primary-background: var(--mt-primary-color, #00599c);
  --pico-primary-hover-background: var(--mt-primary-color-darken, rgb(0, 59.9038461538, 105));
  --pico-primary-hover-underline: var(--mt-primary-color, #00599c);
  --pico-primary-border: var(--mt-primary-color, #00599c);
  --pico-primary-hover: var(--mt-primary-color-darken, rgb(0, 59.9038461538, 105));
  --pico-primary-underline: var(--mt-primary-color-lighten, rgb(0, 118.0961538462, 207));
  --pico-primary-focus: var(--mt-primary-color-lighten, rgb(0, 118.0961538462, 207));
  --pico-primary-inverse: var(--mt-primary-inverse-color, #ffffff);
  --pico-secondary: var(--mt-secondary-color, #737987);
  --pico-secondary-background: var(--mt-secondary-color, #737987);
  --pico-secondary-hover-background: var(--mt-secondary-color-darken, rgb(91.54, 96.316, 107.46));
  --pico-secondary-hover-underline: var(--mt-secondary-color, #737987);
  --pico-secondary-border: var(--mt-secondary-color, #737987);
  --pico-secondary-hover: var(--mt-secondary-color-darken, rgb(91.54, 96.316, 107.46));
  --pico-secondary-underline: var(--mt-secondary-color-lighten, rgb(142.14, 147.156, 158.86));
  --pico-secondary-focus: var(--mt-secondary-color-lighten, rgb(142.14, 147.156, 158.86));
  --pico-secondary-inverse: var(--mt-secondary-inverse-color, #ffffff);
  --pico-contrast: var(--mt-contrast-color, #181c25);
  --pico-contrast-background: var(--mt-contrast-color, #181c25);
  --pico-contrast-hover-background: var(--mt-contrast-color-darken, rgb(3.9344262295, 4.5901639344, 6.0655737705));
  --pico-contrast-hover-underline: var(--mt-contrast-color, #181c25);
  --pico-contrast-border: var(--mt-contrast-color, #181c25);
  --pico-contrast-hover: var(--mt-contrast-color-darken, rgb(3.9344262295, 4.5901639344, 6.0655737705));
  --pico-contrast-underline: var(--mt-contrast-color-lighten, rgb(44.0655737705, 51.4098360656, 67.9344262295));
  --pico-contrast-focus: var(--mt-contrast-color-lighten, rgb(44.0655737705, 51.4098360656, 67.9344262295));
  --pico-contrast-inverse: var(--mt-contrast-inverse-color, #ffffff);
  --pico-font-family: var(--mt-font-family, Inter, Tahoma, Verdana, sans-serif);
  --pico-font-size: var(--mt-font-size, 1rem);
  --pico-line-height: var(--mt-line-height, 1.4rem);
  --pico-font-weight: var(--mt-font-weight, 400);
  --pico-heading-font-weight: var(--mt-heading-font-weight, 700);
  --pico-letter-spacing: var(--mt-letter-spacing, normal);
  --pico-block-spacing-vertical: 1.5rem;
}

[data-theme=dark],
:root[data-theme=dark] {
  --pico-background-color: var(--mt-tdark-background-color, #1d2327);
  --pico-color: var(--mt-tdark-color, #1d2327);
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-background: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-hover-background: var(--mt-tdark-primary-color-lighten, rgb(133.6734693878, 199.5153061224, 231.3265306122));
  --pico-primary-hover-underline: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-border: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-hover: var(--mt-tdark-primary-color-lighten, rgb(133.6734693878, 199.5153061224, 231.3265306122));
  --pico-primary-underline: var(--mt-tdark-primary-color-darken, rgb(48.3265306122, 160.4846938776, 214.6734693878));
  --pico-primary-focus: var(--mt-tdark-primary-color-darken, rgb(48.3265306122, 160.4846938776, 214.6734693878));
  --pico-primary-inverse: var(--mt-tdark-primary-inverse-color, #121212);
  --pico-secondary: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-background: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-hover-background: var(--mt-tdark-secondary-color-lighten, rgb(191.6097560976, 195.743902439, 205.3902439024));
  --pico-secondary-hover-underline: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-border: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-hover: var(--mt-tdark-secondary-color-lighten, rgb(191.6097560976, 195.743902439, 205.3902439024));
  --pico-secondary-underline: var(--mt-tdark-secondary-color-darken, rgb(134.3902439024, 142.256097561, 160.6097560976));
  --pico-secondary-focus: var(--mt-tdark-secondary-color-darken, rgb(134.3902439024, 142.256097561, 160.6097560976));
  --pico-secondary-inverse: var(--mt-tdark-secondary-inverse-color, #121212);
  --pico-contrast: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-background: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-hover-background: var(--mt-tdark-contrast-color-lighten, hsl(216, 33.3333333333%, 107.0588235294%));
  --pico-contrast-hover-underline: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-border: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-hover: var(--mt-tdark-contrast-color-lighten, hsl(216, 33.3333333333%, 107.0588235294%));
  --pico-contrast-underline: var(--mt-tdark-contrast-color-darken, rgb(211, 219.8, 233));
  --pico-contrast-focus: var(--mt-tdark-contrast-color-darken, rgb(211, 219.8, 233));
  --pico-contrast-inverse: var(--mt-tdark-contrast-inverse-color, #121212);
  --pico-font-family: var(--mt-font-family, Inter, Tahoma, Verdana, sans-serif);
  --pico-font-size: var(--mt-font-size, 1rem);
  --pico-line-height: var(--mt-line-height, 1.4rem);
  --pico-font-weight: var(--mt-font-weight, 400);
  --pico-heading-font-weight: var(--mt-heading-font-weight, 700);
  --pico-letter-spacing: var(--mt-letter-spacing, normal);
  --pico-block-spacing-vertical: 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--mt-heading-font-family, Roboto, Georgia, serif);
}

ul li {
  list-style: disc;
}

blockquote, blockquote p {
  font-style: italic;
}

html {
  scroll-behavior: smooth;
  position: relative;
  margin-top: 0 !important;
}
html body {
  padding-top: var(--wp-admin--admin-bar--height, 0px);
}
html body > .site-header,
html body > .header-nav-menu,
html body > .main-grid,
html body > .site-footer,
html body > .page-intro {
  box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
}

.logo-light,
.logo-light-and-dark {
  display: block;
}

.logo-dark {
  display: none;
}

[data-theme=dark] .logo-light {
  display: none;
}

[data-theme=dark] .logo-dark {
  display: block;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.brid *[role=button],
.brid-close *[role=button] {
  background: initial;
  border: initial;
}

.brid *[role=button]:focus,
.brid-close *[role=button]:focus {
  outline: none;
  box-shadow: none;
}

@media (min-width: 576px) {
  body.home > .site-header:not(.is-sticky) .header-center > a .logo-light,
  body.home > .site-header:not(.is-sticky) .header-center > a .logo-light-and-dark,
  body.home > .site-header:not(.is-sticky) .header-center > a .logo-dark {
    display: none;
  }
}

body > .site-header {
  background-color: var(--pico-primary);
  color: var(--pico-primary-inverse);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: 56px;
  padding-left: calc(var(--pico-spacing) / 4);
  padding-right: calc(var(--pico-spacing) / 4);
  z-index: 9999999;
}
body > .site-header.is-sticky {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0);
  left: 0;
  right: 0;
}
body > .site-header .header-left,
body > .site-header .header-right {
  width: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body > .site-header .header-left .menu-toggle,
body > .site-header .header-right .menu-toggle {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: inherit;
  cursor: pointer;
}
body > .site-header .header-center {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
body > .site-header .header-center > a > img {
  max-height: 48px;
  min-height: 30px;
  width: 100%;
}
body > .site-header .header-center > a strong {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--pico-primary-inverse);
}

body > .site-footer {
  padding: 0;
}
body > .site-footer .footer-separator {
  height: var(--pico-spacing);
  background-color: var(--pico-primary);
  margin-bottom: calc(var(--pico-spacing) / 2);
}
body > .site-footer .footer-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pico-spacing);
  padding: var(--pico-spacing);
}
@media (min-width: 576px) {
  body > .site-footer .footer-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--pico-spacing) * 1.5);
  }
}
@media (min-width: 1024px) {
  body > .site-footer .footer-columns {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
body > .site-footer .footer-columns .footer-col > strong {
  margin-bottom: 0.75rem;
  display: block;
  text-align: center;
  font-size: 1.2rem;
}
@media (min-width: 576px) {
  body > .site-footer .footer-columns .footer-col > strong {
    text-align: left;
  }
}
body > .site-footer .footer-columns .footer-col .w3c-logo {
  margin-bottom: var(--pico-spacing);
}
body > .site-footer .footer-columns .footer-col ul {
  padding: 0;
}
body > .site-footer .footer-columns .footer-col ul li {
  list-style: none;
  margin-bottom: calc(var(--pico-spacing) / 2);
  font-size: 0.95rem;
}
body > .site-footer .footer-columns .footer-col ul li strong {
  display: block;
  font-size: 0.95rem;
}
body > .site-footer .footer-columns .footer-col ul a {
  text-decoration: none;
}
body > .site-footer .footer-columns .footer-col ul small {
  font-weight: bold;
}
body > .site-footer .footer-credits {
  background-color: var(--pico-background-color);
  text-align: center;
  padding: calc(var(--pico-spacing) / 4) var(--pico-spacing);
}
body > .site-footer .footer-credits small {
  font-size: 0.8rem;
}

body.admin-bar .sidebar-hamburger {
  top: 0;
}
@media (min-width: 600px) {
  body.admin-bar .sidebar-hamburger {
    top: 46px;
  }
}
@media (min-width: 782px) {
  body.admin-bar .sidebar-hamburger {
    top: 32px;
  }
}

.sidebar-hamburger {
  position: fixed;
  top: 0;
  left: 0;
  width: 85vw;
  max-width: 560px;
  height: 100vh;
  background: var(--pico-background-color);
  color: var(--pico-color);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow: hidden;
  padding: var(--pico-spacing);
  display: flex;
  flex-direction: column;
  z-index: 99999999;
}
.sidebar-hamburger.open {
  transform: translateX(0);
}
.sidebar-hamburger-overlay {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1900;
  display: none;
}
.sidebar-hamburger-overlay.visible {
  display: block;
}
.sidebar-hamburger-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: calc(var(--pico-spacing) / 2);
  padding-bottom: calc(var(--pico-spacing) / 2);
  border-bottom: 1px solid var(--pico-blockquote-border-color);
}
.sidebar-hamburger-logo img {
  height: 48px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.sidebar-hamburger-close {
  --pico-color: var(--pico-color);
  color: var(--pico-color);
  background: none;
  border: none;
  font-size: 1.5rem;
  padding: 0;
  margin-left: var(--pico-spacing);
}
.sidebar-hamburger-close:hover, .sidebar-hamburger-close:focus {
  box-shadow: none;
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-controls {
  margin: var(--pico-spacing) 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--pico-spacing);
  flex-wrap: wrap;
}
.sidebar-hamburger-controls .font-size-controls button {
  font-size: 1rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2);
}
.sidebar-hamburger-controls .theme-toggle {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.sidebar-hamburger-controls .theme-toggle label,
.sidebar-hamburger-controls .theme-toggle input {
  margin: 0;
}
.sidebar-hamburger-search {
  margin: var(--pico-spacing) 0;
}
.sidebar-hamburger-search > *:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.sidebar-hamburger-search > *:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.sidebar-hamburger-menu {
  margin: var(--pico-spacing) 0;
  flex: 1 1 auto;
  overflow-y: auto;
}
.sidebar-hamburger-menu .accordion {
  border-bottom: 1px solid var(--pico-blockquote-border-color);
}
.sidebar-hamburger-menu .accordion:last-child {
  border-bottom: none;
}
.sidebar-hamburger-menu .accordion-toggle, .sidebar-hamburger-menu .accordion-link {
  --pico-color: var(--pico-color);
  color: var(--pico-color);
  background: none;
  border: none;
  font-size: 1.1rem;
  padding: 0;
  margin: var(--pico-spacing) auto;
  display: block;
  width: 100%;
  text-align: left;
  font-weight: 700;
  transition: color 0.2s ease;
  cursor: pointer;
  text-decoration: none;
}
.sidebar-hamburger-menu .accordion-toggle:hover, .sidebar-hamburger-menu .accordion-toggle:focus, .sidebar-hamburger-menu .accordion-link:hover, .sidebar-hamburger-menu .accordion-link:focus {
  --pico-color: var(--pico-color);
  box-shadow: none;
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content {
  display: none;
  padding: 0;
  margin-bottom: var(--pico-spacing);
}
.sidebar-hamburger-menu .accordion-content.open {
  display: block;
}
.sidebar-hamburger-menu .accordion-content a {
  --pico-color: var(--pico-color);
  display: block;
  padding: 0;
  color: var(--pico-color);
  text-decoration: none;
  transition: color 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content a:hover {
  --pico-color: var(--pico-color);
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content.columns-2 {
  display: none;
}
.sidebar-hamburger-menu .accordion-content.columns-2.open {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pico-spacing);
}
.sidebar-hamburger-menu .accordion-content.social-links {
  display: none;
}
.sidebar-hamburger-menu .accordion-content.social-links.open {
  display: flex;
  gap: var(--pico-spacing);
  flex-wrap: wrap;
  align-items: center;
}
.sidebar-hamburger-menu .accordion-content.social-links a {
  --pico-color: var(--pico-color);
  display: inline-flex;
  align-items: center;
  gap: 0;
  text-decoration: none;
  color: var(--pico-color);
}
.sidebar-hamburger-menu .accordion-content.social-links a:hover {
  --pico-color: var(--pico-color);
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}

body > .header-nav-menu {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 1.33);
  border-bottom: 1px solid var(--pico-blockquote-border-color);
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 100, 100, 0.2) transparent;
}
body > .header-nav-menu::-webkit-scrollbar {
  height: 6px;
}
body > .header-nav-menu::-webkit-scrollbar-track {
  background: transparent;
}
body > .header-nav-menu::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.2);
  border-radius: 5px;
}
body > .header-nav-menu .menu-scroll-wrapper {
  display: flex;
  gap: var(--pico-spacing);
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: space-between;
}
body > .header-nav-menu .menu-scroll-wrapper li {
  padding: calc(var(--pico-spacing) / 4);
}
body > .header-nav-menu .menu-scroll-wrapper li a {
  text-decoration: none;
  padding: calc(var(--pico-spacing) / 2);
  border-radius: 4px;
  transition: background 0.3s;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: -0.01rem;
}
body > .header-nav-menu .menu-scroll-wrapper li a:hover, body > .header-nav-menu .menu-scroll-wrapper li a:focus {
  background-color: var(--primary-hover);
  color: var(--contrast);
}

body.home.has-header-sticky > .page-intro .intro-col-center img {
  display: none;
}

body.home > .page-intro {
  display: none;
}
@media (min-width: 576px) {
  body.home > .page-intro {
    display: flex;
  }
}

body > .page-intro {
  display: flex;
  flex-direction: column;
  gap: var(--pico-spacing);
  margin: 0 auto;
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
}
body > .page-intro .intro-col.intro-col-left, body > .page-intro .intro-col.intro-col-right {
  display: none;
}
body > .page-intro .intro-col.intro-col-center {
  text-align: center;
}
body > .page-intro .intro-col.intro-col-center h1 {
  margin: 0;
  color: var(--pico-primary);
  text-transform: uppercase;
}
body > .page-intro .intro-col.intro-col-center h1 .h1-subtitle {
  display: block;
  font-size: 45%;
  margin-top: 0.25em;
}
body > .page-intro .intro-col.intro-col-center img {
  max-height: 48px;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
body > .page-intro .intro-col.intro-col-center img.page-intro-image {
  display: block;
}
@media (min-width: 1024px) {
  body > .page-intro {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  body > .page-intro .intro-col.intro-col-left, body > .page-intro .intro-col.intro-col-right {
    display: block;
    flex: 1;
    min-height: 90px;
  }
  body > .page-intro .intro-col.intro-col-center {
    flex: 2;
  }
}

.main-grid {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 100vh;
  padding: var(--pico-spacing) 0 0 0;
}
.main-grid.with-sidebar {
  gap: 0;
}
@media (min-width: 1024px) {
  .main-grid.with-sidebar {
    grid-template-columns: 2fr 1fr;
  }
}
@media (min-width: 1536px) {
  .main-grid.with-sidebar {
    grid-template-columns: 2.2fr 0.8fr;
  }
}

.main-content {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .main-content {
    padding: 0 var(--pico-spacing);
  }
}

.main-sidebar {
  padding: 0 var(--pico-spacing);
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .main-sidebar {
    box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
  }
}
.main-sidebar > .widget {
  margin-left: auto;
  margin-right: auto;
}
.main-sidebar .widget.nk-feed-reader-list-feed-rubrica {
  height: auto !important;
}
.main-sidebar .widget-sidebar-featured-poi-lista article {
  padding: 0;
  margin: 0 auto calc(var(--pico-spacing) / 2) auto;
}
.main-sidebar .widget-sidebar-featured-poi-lista article a {
  color: inherit;
  text-decoration: none;
  display: block;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article a {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article a {
    display: block;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article figure {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--pico-border-radius) var(--pico-border-radius) 0 0;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article figure {
    aspect-ratio: 16/10;
    flex: 1;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article figure {
    flex: none;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article .post-meta {
    flex: 3;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article .post-meta {
    flex: none;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article .post-meta .lancio {
  padding: 0.7rem;
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--pico-primary);
  margin-bottom: calc(var(--pico-spacing) * -1.5);
}
.main-sidebar .widget-sidebar-featured-poi-lista article .post-meta h3 {
  padding: 0.7rem;
  margin: 0;
  font-size: 1rem;
}
.main-sidebar .widget-sidebar-featured-poi-lista article.featured .post-meta h2 {
  font-size: 1rem;
  font-weight: bold;
}
.main-sidebar .widget-sidebar-featured-poi-lista article.compact .post-meta h2 {
  font-size: 1rem;
}

.widget .widget-title-img,
.widget .widget-title {
  position: relative;
  text-align: center;
  display: block;
  margin-bottom: calc(var(--pico-spacing) / 2);
}
.widget .widget-title-img > img,
.widget .widget-title-img > span,
.widget .widget-title > img,
.widget .widget-title > span {
  position: relative;
}
.widget .widget-title-img img,
.widget .widget-title img {
  width: 100%;
  max-width: 220px;
  max-height: 60px;
  margin: 0 auto;
  padding-left: var(--pico-spacing);
  padding-right: var(--pico-spacing);
  background-color: var(--pico-background-color);
  z-index: 10;
}
.widget .widget-title-img a,
.widget .widget-title a {
  display: block;
  background-color: transparent;
}
.widget .widget-title-img > span,
.widget .widget-title > span {
  background-color: var(--pico-background-color);
  color: var(--pico-primary);
  z-index: 100;
  display: inline-block;
  position: relative;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2);
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: 700;
  max-width: 70%;
}
.widget .widget-title-img::before,
.widget .widget-title::before {
  border-top: 1px solid var(--pico-primary);
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 50%;
  display: inline-block;
  height: 1px;
  z-index: 1;
}
.widget .widget-title-img {
  margin-bottom: var(--pico-spacing);
}
.widget .widget-footer {
  text-align: right;
  margin-top: var(--pico-spacing);
}
.widget .widget-footer a[role=button] {
  padding: calc(var(--pico-spacing) / 4) var(--pico-spacing);
}

blockquote {
  padding: 0 0 0 var(--pico-spacing);
  margin: 0;
  display: block;
  font-style: italic;
}

@keyframes blinker {
  50% {
    opacity: 0.3;
  }
}
.comment-form-url {
  display: none;
}

.wp-caption {
  max-width: 100%;
  width: auto !important;
}

.wp-caption img,
img.size-full,
img.size-large,
img.size-medium,
img.size-thumbnail {
  max-width: 100%;
  height: auto;
}

img.alignright,
figure.alignright,
div.wp-caption.alignright {
  float: none;
  margin: 0.2rem auto var(--pico-spacing);
  display: block;
  text-align: right;
}
@media (min-width: 576px) {
  img.alignright,
  figure.alignright,
  div.wp-caption.alignright {
    float: right;
    margin: 0.2rem 0 var(--pico-spacing) var(--pico-spacing);
    max-width: 100%;
    height: auto;
  }
}
img.alignleft,
figure.alignleft,
div.wp-caption.alignleft {
  float: none;
  margin: 0.2rem auto var(--pico-spacing);
  display: block;
  text-align: left;
}
@media (min-width: 576px) {
  img.alignleft,
  figure.alignleft,
  div.wp-caption.alignleft {
    float: left;
    margin: 0.2rem var(--pico-spacing) var(--pico-spacing) 0;
    max-width: 100%;
    height: auto;
  }
}
img.alignnone,
figure.alignnone,
div.wp-caption.alignnone {
  margin: 0.2rem var(--pico-spacing) var(--pico-spacing) 0;
  max-width: 100%;
  height: auto;
}
img.aligncenter,
figure.aligncenter,
div.wp-caption.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 100%;
  height: auto;
  text-align: center;
}

.wp-caption-text {
  font-size: 0.8rem;
  margin: 0;
  padding: calc(var(--pico-spacing) / 2);
  text-align: center;
}

#wpadminbar {
  z-index: 9999999;
  position: fixed !important;
}

iframe {
  max-width: 100%;
}

.container.container-ldb1 {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
}

.main-sidebar .widget-nk-adv-print:not(:has(> *:not(:empty))) {
  margin: 0;
}

div[id^=flx-] {
  text-align: center;
  margin: 0 auto;
}

div[id^=flx_necro] {
  margin-bottom: calc(var(--pico-spacing) * 2);
}

div[id^=flx-iniziative] {
  margin: var(--pico-spacing) auto var(--pico-spacing) auto;
}

div[id^=flx-iniziative]:not(:has(> *:not(:empty))) {
  margin: 0;
}

div[id^=flx-infeed] {
  margin: var(--pico-spacing) auto var(--pico-spacing) auto;
}

div[id^=flx-infeed]:not(:has(> *:not(:empty))) {
  margin: 0;
}

@media (min-width: 576px) {
  body.home main.main-content .widget .widget-title-img,
  body.home main.main-content .widget .widget-title {
    padding-left: 2rem;
    text-align: left;
  }
}
body.home main.main-content .widget_mt_list_posts:first-child .mosaico {
  background-color: var(--mt-homepage-opening-background);
  padding: var(--pico-spacing);
  margin: 0 calc(var(--pico-spacing) * -1) var(--pico-spacing);
}

.mosaico {
  display: grid;
  gap: var(--pico-spacing);
  grid-template-columns: 1fr;
}
.mosaico__item {
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.mosaico__item figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  display: block;
  position: relative;
  margin: 0;
}
.mosaico__item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.mosaico__item-video figure:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #ffffff;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.mosaico__item-gallery figure:before,
.mosaico__item-gallery figure:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.mosaico__item-gallery figure:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.mosaico__item-diretta figure:before {
  content: "LIVE";
  background-color: #e53e3e;
  top: 0.1rem;
  left: 0.1rem;
  display: inline-block;
  position: absolute;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0rem calc(var(--pico-spacing) / 2);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.mosaico__item a {
  display: block;
  color: inherit;
  text-decoration: none;
  position: relative;
}
.mosaico__item h2 {
  font-size: 1.1rem;
  margin: 0;
}
.mosaico__item--main figure {
  aspect-ratio: 16/10;
}
@media (min-width: 576px) {
  .mosaico__item--main figure {
    aspect-ratio: 16/12;
  }
}
.mosaico__item--main h2 {
  font-size: 1.1rem;
}
@media (min-width: 576px) {
  .mosaico__item--main h2 {
    font-size: 1.6rem;
  }
}
.mosaico__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  inset: auto 0 0 0;
  z-index: 2;
  line-height: 1.3;
}
.mosaico__cat {
  border-radius: calc(var(--pico-spacing) / 1.8);
  display: inline-block;
  background-color: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.mosaico__lancio {
  color: var(--pico-primary);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
}
@media (min-width: 576px) {
  .mosaico--1 .mosaico__item--main figure {
    aspect-ratio: 16/10;
  }
}
@media (min-width: 576px) {
  .mosaico--1 .mosaico__item--main .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
.mosaico--2 .mosaico__item--main figure {
  aspect-ratio: 16/10;
}
@media (min-width: 576px) {
  .mosaico--2 .mosaico__item--main h2 {
    font-size: 1.1rem;
  }
}
@media (min-width: 576px) {
  .mosaico--2 .mosaico__item .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
@media (min-width: 576px) {
  .mosaico--2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .mosaico--multi .mosaico__item--main .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
@media (min-width: 576px) {
  .mosaico--multi {
    grid-template-columns: repeat(2, 2fr);
  }
  .mosaico--multi > .mosaico__item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
  }
}
@media (min-width: 768px) {
  .mosaico--multi {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .mosaico--multi {
    grid-template-columns: repeat(2, 2fr);
  }
}
@media (min-width: 1280px) {
  .mosaico--multi {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-list-vertical__item {
  display: flex;
  flex-direction: column;
  gap: var(--pico-spacing);
  margin: 0 auto var(--pico-spacing) auto;
  padding: 0;
  overflow: hidden;
}
@media (min-width: 576px) {
  .post-list-vertical__item {
    flex-direction: row;
    align-items: flex-start;
  }
}
.post-list-vertical__item-private {
  opacity: 0.7;
  border: 1px dashed var(--pico-color);
}
.post-list-vertical__link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.post-list-vertical__link .post-list-vertical__content:first-child {
  padding-left: var(--pico-spacing);
}
@media (min-width: 576px) {
  .post-list-vertical__link {
    display: flex;
    flex-direction: row;
    gap: var(--pico-spacing);
  }
}
.post-list-vertical__thumb {
  margin-bottom: calc(var(--pico-spacing) / 2);
  flex: 0 0 220px;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
@media (min-width: 576px) {
  .post-list-vertical__thumb {
    max-width: 220px;
    margin-bottom: 0rem;
  }
}
.post-list-vertical__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.post-list-vertical__item-diretta .post-list-vertical__thumb:before {
  content: "LIVE";
  background-color: #e53e3e;
  top: 0.1rem;
  left: 0.1rem;
  display: inline-block;
  position: absolute;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0rem calc(var(--pico-spacing) / 2);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.post-list-vertical__item-gallery .post-list-vertical__thumb:before,
.post-list-vertical__item-gallery .post-list-vertical__thumb:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.post-list-vertical__item-gallery .post-list-vertical__thumb:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.post-list-vertical__item-video .post-list-vertical__thumb:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #ffffff;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.post-list-vertical__content {
  flex: 1;
  padding: 0 var(--pico-spacing) calc(var(--pico-spacing) / 2);
}
@media (min-width: 576px) {
  .post-list-vertical__content {
    padding: var(--pico-spacing) var(--pico-spacing) var(--pico-spacing) 0;
  }
}
.post-list-vertical__cat {
  border-radius: calc(var(--pico-spacing) / 1.8);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.post-list-vertical__lancio {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--pico-primary);
  margin-bottom: calc(var(--pico-spacing) / 4);
}
.post-list-vertical__title {
  font-size: 1.1rem;
  margin: 0 0 calc(var(--pico-spacing) / 4);
}
@media (min-width: 576px) {
  .post-list-vertical__title {
    font-size: 1.3rem;
  }
}

.h3cards {
  display: grid;
  gap: var(--pico-spacing);
  grid-template-columns: 1fr;
  align-items: start;
}
@media (min-width: 576px) {
  .h3cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
.h3cards__item {
  overflow: hidden;
  margin: 0;
  padding: 0;
  height: 100%;
  /* Badge/overlay formati speciali */
}
.h3cards__item a {
  display: block;
  color: inherit;
  text-decoration: none;
  position: relative;
}
.h3cards__item .h3cards__figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
  margin: 0;
}
.h3cards__item .h3cards__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.h3cards__item .h3cards__title {
  font-size: 1.1rem;
  line-height: 1.25;
  margin: 0;
}
.h3cards__item-video .h3cards__figure:before {
  content: "";
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #fff;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.h3cards__item-gallery .h3cards__figure:before, .h3cards__item-gallery .h3cards__figure:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.h3cards__item-gallery .h3cards__figure:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.h3cards__item-diretta .h3cards__figure:before {
  content: "LIVE";
  position: absolute;
  top: 0.1rem;
  left: 0.1rem;
  background: #e53e3e;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 calc(var(--pico-spacing) / 2);
}
.h3cards__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  inset: auto 0 0 0;
  z-index: 2;
  line-height: 1.3;
}
.h3cards__cat {
  border-radius: calc(var(--pico-spacing) / 1.8);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
}
.h3cards__lancio {
  color: var(--pico-primary);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWUuY3NzIiwiY29uZmlncy9fdmFyaWFibGVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9pbnRlci9faW50ZXIuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL21lcnJpd2VhdGhlci9fbWVycml3ZWF0aGVyLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9ub3RvLXNhbnMvX25vdG8tc2Fucy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL2Fzc2V0cy1zcmMvZm9udHMvbm90by1zZXJpZi9fbm90by1zZXJpZi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL2Fzc2V0cy1zcmMvZm9udHMvb3Blbi1zYW5zL19vcGVuLXNhbnMuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL3JvYm90by9fcm9ib3RvLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9oZWxwZXJzL19jb3B5cmlnaHQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19zdHlsZXMuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19zY2hlbWVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy90aGVtZXMvZGVmYXVsdC9fbGlnaHQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19kYXJrLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2RvY3VtZW50LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2xhbmRtYXJrcy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvbGF5b3V0L19zZWN0aW9uLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2NvbnRhaW5lci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvbGF5b3V0L19ncmlkLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX292ZXJmbG93LWF1dG8uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX3R5cG9ncmFwaHkuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX2xpbmsuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX2J1dHRvbi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fZW1iZWRkZWQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX2ZpZ3VyZS5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fbWlzYy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvZm9ybXMvX2Jhc2ljcy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvZm9ybXMvX2NoZWNrYm94LXJhZGlvLXN3aXRjaC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvZm9ybXMvX2lucHV0LXNlYXJjaC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fZ3JvdXAuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL05ldHdlZWsvbmV0d2Vlay13cC9zaXRlcy9xdW90aWRpYW5vLXByaW1hL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbXBvbmVudHMvX25hdi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvTmV0d2Vlay9uZXR3ZWVrLXdwL3NpdGVzL3F1b3RpZGlhbm8tcHJpbWEvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvdXRpbGl0aWVzL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9OZXR3ZWVrL25ldHdlZWstd3Avc2l0ZXMvcXVvdGlkaWFuby1wcmltYS9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy91dGlsaXRpZXMvX3JlZHVjZS1tb3Rpb24uc2NzcyIsImNvbmZpZ3MvX3BpY28tdmFyaWFibGVzLnNjc3MiLCJsYXlvdXQvX3R5cG9ncmFwaHkuc2NzcyIsImxheW91dC9fZ2xvYmFsLnNjc3MiLCJtaXhpbnMvX21lZGlhX21pbl93aWR0aC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX3NpZGViYXItaGFtYnVyZ2VyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1uYXYtbWVudS5zY3NzIiwibGF5b3V0L19wYWdlLWludHJvLnNjc3MiLCJsYXlvdXQvX21haW4tZ3JpZC5zY3NzIiwibGF5b3V0L19tYWluLWNvbnRlbnQuc2NzcyIsImxheW91dC9fbWFpbi1zaWRlYmFyLnNjc3MiLCJsYXlvdXQvX3dpZGdldHMuc2NzcyIsImxheW91dC9fd3Atc3RhbmRhcmQuc2NzcyIsImxheW91dC9fYWR2LnNjc3MiLCJwYWdlL19ob21lLnNjc3MiLCJwYXJ0aWFscy9saXN0LXBvc3RzL19tb3NhaWNvLnNjc3MiLCJwYXJ0aWFscy9saXN0LXBvc3RzL19saXN0YS5zY3NzIiwicGFydGlhbHMvbGlzdC1wb3N0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QTtLQUFBLGlCQUFBO0VBQ0EsMEJBQUE7S0FBQSx1QkFBQTtFQUNBLGNBQUE7QXJEMjZHUjtBcUR2NkdJO0VBQ0UsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLFNBQUE7QXJEeTZHTjtBcURyNkdJO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSxRQUFBO0VBQVUsU0FBQTtFQUNWLHFDQUFBO0VBQ0Esd0NBQUE7RUFDQSw4QkFBQTtFQUNBLDZDQUFBO0FyRHc2R047QXFEcjZHSTtFQUVFLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLDZDQUFBO0VBQ0EsVUFBQTtBckRzNkdOO0FxRHA2R0k7RUFDRSxxQ0FBQTtFQUNBLFVBQUE7QXJEczZHTjtBcURuNkdJO0VBQ0UsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBO0VBQ0Esd0NBQUE7QXJEcTZHTjtBcURqNkdFO0VBQ0UsMERBQUE7RUFDQSxpQkFBQTtFQUNBLFVBQUE7RUFDQSxnQkFBQTtBckRtNkdKO0FxRGg2R0U7RUFDRSw4Q0FBQTtFQUNBLHFCQUFBO0VBQ0EsK0JBQUE7RUFDQSxrQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxvR0FBQTtFQUNBLDRDQUFBO0FyRGs2R0o7QXFELzVHRTtFQUNFLDBCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBckRpNkdKIiwiZmlsZSI6ImhvbWUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuW2RhdGEtdGhlbWU9bGlnaHRdLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSB7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgI2ZmZiA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICNmZmYgOTUlKTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10sXG46cm9vdFtkYXRhLXRoZW1lPWRhcmtdIHtcbiAgLS1tdC1uZWNyb2xvcmktZm9ybS1iYWNrZ3JvdW5kOiAjMTIxMjEyO1xuICAtLW10LWhvbWVwYWdlLW9wZW5pbmctYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgMTAlLCAjMDAwIDkwJSk7XG4gIC0tbXQtZ2FsbGVyeS1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSA1JSwgIzAwMCA5NSUpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9pbnRlci9pbnRlci1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG4vKiFcbiAqIFBpY28gQ1NTIOKcqCB2Mi4xLjEgKGh0dHBzOi8vcGljb2Nzcy5jb20pXG4gKiBDb3B5cmlnaHQgMjAxOS0yMDI1IC0gTGljZW5zZWQgdW5kZXIgTUlUXG4gKi9cbi8qKlxuICogU3R5bGVzXG4gKi9cbjpyb290LFxuOmhvc3Qge1xuICAtLXBpY28tZm9udC1mYW1pbHktZW1vamk6IFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLS1waWNvLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IHN5c3RlbS11aSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIEhlbHZldGljYSwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiwgdmFyKC0tcGljby1mb250LWZhbWlseS1lbW9qaSk7XG4gIC0tcGljby1mb250LWZhbWlseS1tb25vc3BhY2U6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIG1vbm9zcGFjZSwgdmFyKC0tcGljby1mb250LWZhbWlseS1lbW9qaSk7XG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tcGljby1mb250LWZhbWlseS1zYW5zLXNlcmlmKTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjU7XG4gIC0tcGljby1mb250LXdlaWdodDogNDAwO1xuICAtLXBpY28tZm9udC1zaXplOiAxMDAlO1xuICAtLXBpY28tdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjFyZW07XG4gIC0tcGljby1ib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAtLXBpY28tYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjEyNXJlbTtcbiAgLS1waWNvLXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC0tcGljby1zcGFjaW5nOiAxcmVtO1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsOiAxcmVtO1xuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWdyaWQtY29sdW1uLWdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWdyaWQtcm93LWdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsOiAwLjc1cmVtO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMXJlbTtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uOiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQ6IDAgMCAwIDAuMDYyNXJlbSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbDogMC41cmVtO1xuICAtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gIC0tcGljby1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyOiBcIj5cIjtcbiAgLS1waWNvLWljb24tY2hlY2tib3g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMjU1LCAyNTUsIDI1NSknIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24tbWludXM6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMjU1LCAyNTUsIDI1NSknIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2xpbmUgeDE9JzUnIHkxPScxMicgeDI9JzE5JyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBpY28taWNvbi1jaGV2cm9uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDEzNiwgMTQ1LCAxNjQpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzYgOSAxMiAxNSAxOCA5JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLXNlYXJjaDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxMzYsIDE0NSwgMTY0KScgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzExJyBjeT0nMTEnIHI9JzgnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzIxJyB5MT0nMjEnIHgyPScxNi42NScgeTI9JzE2LjY1JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDEwNi4yNSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDExMi41JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDExOC43NSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBpY28tZm9udC1zaXplOiAxMjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1waWNvLWZvbnQtc2l6ZTogMTMxLjI1JTtcbiAgfVxufVxuXG5hIHtcbiAgLS1waWNvLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuYS5zZWNvbmRhcnksIGEuY29udHJhc3Qge1xuICAtLXBpY28tdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbnNtYWxsIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgxIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMnJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDNyZW07XG59XG5cbmgyIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMS43NXJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi42MjVyZW07XG59XG5cbmgzIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMS41cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMTc1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi4yNXJlbTtcbn1cblxuaDQge1xuICAtLXBpY28tZm9udC1zaXplOiAxLjI1cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMjtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuODc0cmVtO1xufVxuXG5oNSB7XG4gIC0tcGljby1mb250LXNpemU6IDEuMTI1cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMjI1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMS42ODc1cmVtO1xufVxuXG5oNiB7XG4gIC0tcGljby1mb250LXNpemU6IDFyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4yNTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuNXJlbTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgLS1waWNvLW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC0tcGljby1ib3JkZXItcmFkaXVzOiA1cmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICAtLXBpY28tYm9yZGVyLXdpZHRoOiAwLjEyNXJlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXSB7XG4gIC0tcGljby1ib3JkZXItd2lkdGg6IDAuMTg3NXJlbTtcbn1cblxuZGV0YWlscy5kcm9wZG93biBzdW1tYXJ5Om5vdChbcm9sZT1idXR0b25dKSB7XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjA2MjVyZW07XG59XG5cbm5hdiBkZXRhaWxzLmRyb3Bkb3duIHN1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjEyNXJlbTtcbn1cblxuW3JvbGU9c2VhcmNoXSB7XG4gIC0tcGljby1ib3JkZXItcmFkaXVzOiA1cmVtO1xufVxuXG5bcm9sZT1zZWFyY2hdOmhhcyhidXR0b24uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9c3VibWl0XS5zZWNvbmRhcnk6Zm9jdXMsXG5bdHlwZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uc2Vjb25kYXJ5OmZvY3VzKSxcbltyb2xlPWdyb3VwXTpoYXMoYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcblt0eXBlPXN1Ym1pdF0uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5zZWNvbmRhcnk6Zm9jdXMsXG5bcm9sZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cykge1xuICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXNlY29uZGFyeS1mb2N1cyk7XG59XG5bcm9sZT1zZWFyY2hdOmhhcyhidXR0b24uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMpLFxuW3JvbGU9Z3JvdXBdOmhhcyhidXR0b24uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMpIHtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1jb250cmFzdC1mb2N1cyk7XG59XG5bcm9sZT1zZWFyY2hdIGJ1dHRvbixcbltyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXSxcbltyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXSxcbltyb2xlPWdyb3VwXSBidXR0b24sXG5bcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dLFxuW3JvbGU9Z3JvdXBdIFtyb2xlPWJ1dHRvbl0ge1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMnJlbTtcbn1cblxuZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXTpub3QoLm91dGxpbmUpOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG5cbi8qKlxuICogQ29sb3Igc2NoZW1lc1xuICovXG5bZGF0YS10aGVtZT1saWdodF0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pLFxuOmhvc3QoOm5vdChbZGF0YS10aGVtZT1kYXJrXSkpIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC0tcGljby1jb2xvcjogIzM3M2M0NDtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcbiAgLS1waWNvLW11dGVkLWNvbG9yOiAjNjQ2Yjc5O1xuICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiByZ2IoMjMxLCAyMzQsIDIzOS41KTtcbiAgLS1waWNvLXByaW1hcnk6ICMwMTcyYWQ7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTE0LCAxNzMsIDAuNSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiAjMDE1ODg3O1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDI2NTlhO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogcmdiYSgyLCAxNTQsIDIzMiwgMC41KTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLXNlY29uZGFyeTogIzVkNmI4OTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjNTI1ZjdhO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiByZ2JhKDkzLCAxMDcsIDEzNywgMC41KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogIzQ4NTM2YjtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNDg1MzZiO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHJnYmEoOTMsIDEwNywgMTM3LCAwLjI1KTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tY29udHJhc3Q6ICMxODFjMjU7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjMTgxYzI1O1xuICAtLXBpY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDI0LCAyOCwgMzcsIDAuNSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogIzAwMDtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6ICMwMDA7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDkzLCAxMDcsIDEzNywgMC4yNSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDE1KTtcbiAgLS1waWNvLWgxLWNvbG9yOiAjMmQzMTM4O1xuICAtLXBpY28taDItY29sb3I6ICMzNzNjNDQ7XG4gIC0tcGljby1oMy1jb2xvcjogIzQyNDc1MTtcbiAgLS1waWNvLWg0LWNvbG9yOiAjNGQ1MzVlO1xuICAtLXBpY28taDUtY29sb3I6ICM1YzYzNzA7XG4gIC0tcGljby1oNi1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW1hcmstYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1Mi41LCAyMzAuNSwgMTkxLjUpO1xuICAtLXBpY28tbWFyay1jb2xvcjogIzBmMTExNDtcbiAgLS1waWNvLWlucy1jb2xvcjogcmdiKDI4LjUsIDEwNS41LCA4NCk7XG4gIC0tcGljby1kZWwtY29sb3I6IHJnYigxMzYsIDU2LjUsIDUzKTtcbiAgLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsIDI1MS41LCAyNTIuMjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICNkZmUzZWI7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjY2ZkNWUyO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yOiAjMjMyNjJjO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjUsIDEwNS41LCAxMDYuNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjAwLjI1LCA3OS4yNSwgNzIuMjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoNzYsIDE1NC41LCAxMzcuNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDM5LCAxNTIuNzUsIDExOC43NSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3I6ICNiZmM3ZDk7XG4gIC0tcGljby1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1zd2l0Y2gtY29sb3I6ICNmZmY7XG4gIC0tcGljby1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgLS1waWNvLWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWNhcmQtYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgLS1waWNvLWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUxLCAyNTEuNSwgMjUyLjI1KTtcbiAgLS1waWNvLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC0tcGljby1kcm9wZG93bi1ib3JkZXItY29sb3I6ICNlZmYxZjQ7XG4gIC0tcGljby1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAtLXBpY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI2VmZjFmNDtcbiAgLS1waWNvLWljb24tdmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoNzYsIDE1NC41LCAxMzcuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigyMDAuMjUsIDc5LjI1LCA3Mi4yNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG59XG5bZGF0YS10aGVtZT1saWdodF0gaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSksXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pLFxuOmhvc3QoOm5vdChbZGF0YS10aGVtZT1kYXJrXSkpIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5LCAyMi41LCAzMC41KTtcbiAgICAtLXBpY28tY29sb3I6ICNjMmM3ZDA7XG4gICAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjE4NzUpO1xuICAgIC0tcGljby1tdXRlZC1jb2xvcjogIzdiODQ5NTtcbiAgICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcGljby1wcmltYXJ5OiAjMDFhYWZmO1xuICAgIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gICAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjUpO1xuICAgIC0tcGljby1wcmltYXJ5LWhvdmVyOiAjNzljMGZmO1xuICAgIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICMwMTdmYzA7XG4gICAgLS1waWNvLXByaW1hcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAgIC0tcGljby1wcmltYXJ5LWZvY3VzOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjM3NSk7XG4gICAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogI2ZmZjtcbiAgICAtLXBpY28tc2Vjb25kYXJ5OiAjOTY5ZWFmO1xuICAgIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogIzUyNWY3YTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoMTUwLCAxNTgsIDE3NSwgMC41KTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiAjYjNiOWM1O1xuICAgIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogIzVkNmI4OTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiByZ2JhKDE0NCwgMTU4LCAxOTAsIDAuMjUpO1xuICAgIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgICAtLXBpY28tY29udHJhc3Q6ICNkZmUzZWI7XG4gICAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6ICNlZmYxZjQ7XG4gICAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDIyMywgMjI3LCAyMzUsIDAuNSk7XG4gICAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiAjZmZmO1xuICAgIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC0tcGljby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG4gICAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDIwNywgMjEzLCAyMjYsIDAuMjUpO1xuICAgIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiAjMDAwO1xuICAgIC0tcGljby1ib3gtc2hhZG93OiAwLjAxNDVyZW0gMC4wMjlyZW0gMC4xNzRyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAxNjk4KSwgMC4wMzM1cmVtIDAuMDY3cmVtIDAuNDAycmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMjQpLCAwLjA2MjVyZW0gMC4xMjVyZW0gMC43NXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDMpLCAwLjExMjVyZW0gMC4yMjVyZW0gMS4zNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDM2KSwgMC4yMDg1cmVtIDAuNDE3cmVtIDIuNTAycmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNDMwMiksIDAuNXJlbSAxcmVtIDZyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjA2KSwgMCAwIDAgMC4wNjI1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTUpO1xuICAgIC0tcGljby1oMS1jb2xvcjogI2YwZjFmMztcbiAgICAtLXBpY28taDItY29sb3I6ICNlMGUzZTc7XG4gICAgLS1waWNvLWgzLWNvbG9yOiAjYzJjN2QwO1xuICAgIC0tcGljby1oNC1jb2xvcjogI2IzYjljNTtcbiAgICAtLXBpY28taDUtY29sb3I6ICNhNGFjYmE7XG4gICAgLS1waWNvLWg2LWNvbG9yOiAjODg5MWE0O1xuICAgIC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3I6ICMwMTQwNjM7XG4gICAgLS1waWNvLW1hcmstY29sb3I6ICNmZmY7XG4gICAgLS1waWNvLWlucy1jb2xvcjogIzYyYWY5YTtcbiAgICAtLXBpY28tZGVsLWNvbG9yOiByZ2IoMjA1LjUsIDEyNiwgMTIzKTtcbiAgICAtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBpY28tYmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjgsIDMzLCA0My41KTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICMyYTMxNDA7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6ICMyYTMxNDA7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1jb2xvcjogI2UwZTNlNztcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiAjODg5MWE0O1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcjogcmdiKDE0OS41LCA3NCwgODApO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjI1LCA2My41LCA1OSk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAjMmE3YjZmO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDIyLCAxMzcsIDEwNS41KTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3I6ICMzMzNjNGU7XG4gICAgLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tc3dpdGNoLWNvbG9yOiAjZmZmO1xuICAgIC0tcGljby1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtLXBpY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgIC0tcGljby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gICAgLS1waWNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAtLXBpY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgICAtLXBpY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLXBpY28tY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAgIC0tcGljby1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gICAgLS1waWNvLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICMxODFjMjU7XG4gICAgLS1waWNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgICAtLXBpY28tZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgICAtLXBpY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgIC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcGljby1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDQyLCAxMjMsIDExMSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAtLXBpY28taWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDE0OS41LCA3NCwgODApJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyLjAxJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG4gIDpyb290Om5vdChbZGF0YS10aGVtZV0pIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG4gIFt0eXBlPWJ1dHRvbl0sXG4gIFt0eXBlPXJlc2V0XSxcbiAgW3R5cGU9Y2hlY2tib3hdLFxuICBbdHlwZT1yYWRpb10sXG4gIFt0eXBlPWZpbGVdKSxcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuICBbdHlwZT1idXR0b25dLFxuICBbdHlwZT1yZXNldF0sXG4gIFt0eXBlPWNoZWNrYm94XSxcbiAgW3R5cGU9cmFkaW9dLFxuICBbdHlwZT1maWxlXSkge1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gIH1cbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSkgZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXS5jb250cmFzdDpub3QoLm91dGxpbmUpOjphZnRlcixcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gIH1cbn1cbltkYXRhLXRoZW1lPWRhcmtdIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5LCAyMi41LCAzMC41KTtcbiAgLS1waWNvLWNvbG9yOiAjYzJjN2QwO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMSwgMTcwLCAyNTUsIDAuMTg3NSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzdiODQ5NTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgLS1waWNvLXByaW1hcnk6ICMwMWFhZmY7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTcwLCAyNTUsIDAuNSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiAjNzljMGZmO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDE3ZmMwO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogcmdiYSgxLCAxNzAsIDI1NSwgMC4zNzUpO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tc2Vjb25kYXJ5OiAjOTY5ZWFmO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICM1MjVmN2E7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoMTUwLCAxNTgsIDE3NSwgMC41KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogI2IzYjljNTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNWQ2Yjg5O1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHJnYmEoMTQ0LCAxNTgsIDE5MCwgMC4yNSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLWNvbnRyYXN0OiAjZGZlM2ViO1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogI2VmZjFmNDtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogcmdiYSgyMjMsIDIyNywgMjM1LCAwLjUpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6ICNmZmY7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDIwNywgMjEzLCAyMjYsIDAuMjUpO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogIzAwMDtcbiAgLS1waWNvLWJveC1zaGFkb3c6IDAuMDE0NXJlbSAwLjAyOXJlbSAwLjE3NHJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE2OTgpLCAwLjAzMzVyZW0gMC4wNjdyZW0gMC40MDJyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAyNCksIDAuMDYyNXJlbSAwLjEyNXJlbSAwLjc1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMyksIDAuMTEyNXJlbSAwLjIyNXJlbSAxLjM1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMzYpLCAwLjIwODVyZW0gMC40MTdyZW0gMi41MDJyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjA0MzAyKSwgMC41cmVtIDFyZW0gNnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDYpLCAwIDAgMCAwLjA2MjVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAxNSk7XG4gIC0tcGljby1oMS1jb2xvcjogI2YwZjFmMztcbiAgLS1waWNvLWgyLWNvbG9yOiAjZTBlM2U3O1xuICAtLXBpY28taDMtY29sb3I6ICNjMmM3ZDA7XG4gIC0tcGljby1oNC1jb2xvcjogI2IzYjljNTtcbiAgLS1waWNvLWg1LWNvbG9yOiAjYTRhY2JhO1xuICAtLXBpY28taDYtY29sb3I6ICM4ODkxYTQ7XG4gIC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3I6ICMwMTQwNjM7XG4gIC0tcGljby1tYXJrLWNvbG9yOiAjZmZmO1xuICAtLXBpY28taW5zLWNvbG9yOiAjNjJhZjlhO1xuICAtLXBpY28tZGVsLWNvbG9yOiByZ2IoMjA1LjUsIDEyNiwgMTIzKTtcbiAgLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6IHJnYigyOCwgMzMsIDQzLjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICMyYTMxNDA7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjMmEzMTQwO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yOiAjZTBlM2U3O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiAjODg5MWE0O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTQ5LjUsIDc0LCA4MCk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjI1LCA2My41LCA1OSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3I6ICMyYTdiNmY7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDIyLCAxMzcsIDEwNS41KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogIzMzM2M0ZTtcbiAgLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXN3aXRjaC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tYWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tYWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAtLXBpY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3I6ICMxODFjMjU7XG4gIC0tcGljby1jYXJkLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAtLXBpY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAtLXBpY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgLS1waWNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgLS1waWNvLWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIC0tcGljby1kcm9wZG93bi1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNjMyO1xuICAtLXBpY28taWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYig0MiwgMTIzLCAxMTEpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLWludmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTQ5LjUsIDc0LCA4MCknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG59XG5bZGF0YS10aGVtZT1kYXJrXSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xufVxuXG5wcm9ncmVzcyxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPXJhbmdlXSB7XG4gIGFjY2VudC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbn1cblxuLyoqXG4gKiBEb2N1bWVudFxuICogQ29udGVudC1ib3ggJiBSZXNwb25zaXZlIHR5cG9ncmFwaHlcbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cblxuOndoZXJlKDpyb290KSxcbjp3aGVyZSg6aG9zdCkge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLXBpY28tZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXBpY28tbGluZS1oZWlnaHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tcGljby1mb250LWZhbWlseSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogdmFyKC0tcGljby10ZXh0LXVuZGVybGluZS1vZmZzZXQpO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB0YWItc2l6ZTogNDtcbn1cblxuLyoqXG4gKiBMYW5kbWFya3NcbiAqL1xuYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSA+IGhlYWRlcixcbmJvZHkgPiBtYWluLFxuYm9keSA+IGZvb3RlciB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi8qKlxuICogU2VjdGlvblxuICovXG5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLyoqXG4gKiBDb250YWluZXJcbiAqL1xuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5cbi8qKlxuICogR3JpZFxuICogTWluaW1hbCBncmlkIHN5c3RlbSB3aXRoIGF1dG8tbGF5b3V0IGNvbHVtbnNcbiAqL1xuLmdyaWQge1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXBpY28tZ3JpZC1jb2x1bW4tZ2FwKTtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1waWNvLWdyaWQtcm93LWdhcCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDAlLCAxZnIpKTtcbiAgfVxufVxuLmdyaWQgPiAqIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIE92ZXJmbG93IGF1dG9cbiAqL1xuLm92ZXJmbG93LWF1dG8ge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBUeXBvZ3JhcGh5XG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hZGRyZXNzLFxuYmxvY2txdW90ZSxcbmRsLFxub2wsXG5wLFxucHJlLFxudGFibGUsXG51bCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1waWNvLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXBpY28tZm9udC1mYW1pbHkpO1xufVxuXG5oMSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oMS1jb2xvcik7XG59XG5cbmgyIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWgyLWNvbG9yKTtcbn1cblxuaDMge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDMtY29sb3IpO1xufVxuXG5oNCB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oNC1jb2xvcik7XG59XG5cbmg1IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWg1LWNvbG9yKTtcbn1cblxuaDYge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDYtY29sb3IpO1xufVxuXG46d2hlcmUoYXJ0aWNsZSwgYWRkcmVzcywgYmxvY2txdW90ZSwgZGwsIGZpZ3VyZSwgZm9ybSwgb2wsIHAsIHByZSwgdGFibGUsIHVsKSB+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcCk7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbmhncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cbmhncm91cCA+ICoge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuaGdyb3VwID4gKjpub3QoOmZpcnN0LWNoaWxkKTpsYXN0LWNoaWxkIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB1bnNldDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG46d2hlcmUob2wsIHVsKSBsaSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpICogMC4yNSk7XG59XG5cbjp3aGVyZShkbCwgb2wsIHVsKSA6d2hlcmUoZGwsIG9sLCB1bCkge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpICogMC4yNSk7XG59XG5cbnVsIGxpIHtcbiAgbGlzdC1zdHlsZTogc3F1YXJlO1xufVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1tYXJrLWNvbG9yKTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDAuMjVyZW0gc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1pbmxpbmUtZW5kOiBub25lO1xufVxuYmxvY2txdW90ZSBmb290ZXIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yKTtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuaW5zIHtcbiAgY29sb3I6IHZhcigtLXBpY28taW5zLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5kZWwge1xuICBjb2xvcjogdmFyKC0tcGljby1kZWwtY29sb3IpO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3IpO1xufVxuXG4vKipcbiAqIExpbmtcbiAqL1xuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKSxcbltyb2xlPWxpbmtdIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tcHJpbWFyeS11bmRlcmxpbmUpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tcGljby10ZXh0LWRlY29yYXRpb24pO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXBpY28tdW5kZXJsaW5lKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyNWVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIHRleHQtZGVjb3JhdGlvbiB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcbltyb2xlPWxpbmtdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZSk7XG4gIC0tcGljby10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSk6Zm9jdXMtdmlzaWJsZSxcbltyb2xlPWxpbmtdOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLnNlY29uZGFyeSxcbltyb2xlPWxpbmtdLnNlY29uZGFyeSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnkpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9bGlua10uc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5jb250cmFzdCxcbltyb2xlPWxpbmtdLmNvbnRyYXN0IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0KTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1jb250cmFzdC11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1saW5rXS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXIpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZSk7XG59XG5cbmFbcm9sZT1idXR0b25dIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEJ1dHRvblxuICovXG5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1idXR0b25dIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbixcblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuW3JvbGU9YnV0dG9uXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgLS1waWNvLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYnV0dG9uLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXI6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbmJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSwgYnV0dG9uOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXN1Ym1pdF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1zdWJtaXRdOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPXJlc2V0XTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3R5cGU9YnV0dG9uXTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9YnV0dG9uXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcbltyb2xlPWJ1dHRvbl06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG59XG5idXR0b246Zm9jdXMsIGJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPXN1Ym1pdF06Zm9jdXMsXG5bdHlwZT1zdWJtaXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9YnV0dG9uXTpmb2N1cyxcblt0eXBlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bcm9sZT1idXR0b25dOmZvY3VzLFxuW3JvbGU9YnV0dG9uXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLnNlY29uZGFyeSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktYm9yZGVyKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWludmVyc2UpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmZvY3VzLCA6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1yZXNldF06Zm9jdXMsXG5bdHlwZT1yZXNldF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBpY28tYm94LXNoYWRvdzogdmFyKC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksIDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1zZWNvbmRhcnktZm9jdXMpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdCB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1pbnZlcnNlKTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLmNvbnRyYXN0OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1pbnZlcnNlKTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLmNvbnRyYXN0OmZvY3VzLCA6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWNvbnRyYXN0LWZvY3VzKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLnNlY29uZGFyeSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeSk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5KTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuY29udHJhc3Qge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0KTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG59XG5cbjp3aGVyZShidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPXJlc2V0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSlbZGlzYWJsZWRdLFxuOndoZXJlKGZpZWxkc2V0W2Rpc2FibGVkXSkgOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdLCBbcm9sZT1idXR0b25dKSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qKlxuICogRW1iZWRkZWQgY29udGVudFxuICovXG46d2hlcmUoYXVkaW8sIGNhbnZhcywgaWZyYW1lLCBpbWcsIHN2ZywgdmlkZW8pIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG46d2hlcmUoaWZyYW1lKSB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuOndoZXJlKHN2Zzpub3QoW2ZpbGxdKSkge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbnN2Zzpub3QoOnJvb3QpLFxuc3ZnOm5vdCg6aG9zdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKipcbiAqIEZpZ3VyZVxuICovXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuZmlndXJlIGZpZ2NhcHRpb24ge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjUpIDA7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbn1cblxuLyoqXG4gKiBNaXNjXG4gKi9cbmhyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQmFzaWNzIGZvcm0gZWxlbWVudHNcbiAqL1xuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuOi1tb3otdWktaW52YWxpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblt0eXBlPWZpbGVdLFxuW3R5cGU9cmFuZ2VdIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSkge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMik7XG59XG5cbmZpZWxkc2V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sYWJlbCxcbmZpZWxkc2V0IGxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjM3NSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9ybS1sYWJlbC1mb250LXdlaWdodCwgdmFyKC0tcGljby1mb250LXdlaWdodCkpO1xufVxuXG5maWVsZHNldCBsZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjUpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuYnV0dG9uW3R5cGU9c3VibWl0XSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSksXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3IpO1xuICAtLXBpY28tYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSwgW3JvbGU9c3dpdGNoXSwgW3JlYWRvbmx5XSk6aXMoOmFjdGl2ZSwgOmZvY3VzKSxcbjp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSk6aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1yYW5nZV0sXG5bdHlwZT1maWxlXSxcbltyZWFkb25seV0pOmZvY3VzLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSlbZGlzYWJsZWRdLFxuc2VsZWN0W2Rpc2FibGVkXSxcbnRleHRhcmVhW2Rpc2FibGVkXSxcbmxhYmVsW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sXG46d2hlcmUoZmllbGRzZXRbZGlzYWJsZWRdKSA6aXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSksIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgb3BhY2l0eTogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5sYWJlbFthcmlhLWRpc2FibGVkPXRydWVdIGlucHV0W2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWRhdGVdLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuW3R5cGU9bW9udGhdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT13ZWVrXSxcblt0eXBlPXJhbmdlXSlbYXJpYS1pbnZhbGlkXSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXdlZWtdLFxuW3R5cGU9cmFuZ2VdKVthcmlhLWludmFsaWQ9ZmFsc2VdOm5vdChzZWxlY3QpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLXZhbGlkKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWRhdGVdLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuW3R5cGU9bW9udGhdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT13ZWVrXSxcblt0eXBlPXJhbmdlXSlbYXJpYS1pbnZhbGlkPXRydWVdOm5vdChzZWxlY3QpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLWludmFsaWQpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9ZmFsc2VdIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPWZhbHNlXTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPWZhbHNlXTppcyg6YWN0aXZlLCA6Zm9jdXMpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSkge1xuICAtLXBpY28tYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9dHJ1ZV06aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPXRydWVdOmlzKDphY3RpdmUsIDpmb2N1cyk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSB7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbltkaXI9cnRsXSA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6aXMoW2FyaWEtaW52YWxpZF0sIFthcmlhLWludmFsaWQ9dHJ1ZV0sIFthcmlhLWludmFsaWQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IDAuNzVyZW07XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG5zZWxlY3Q6aW52YWxpZCB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gIG9wYWNpdHk6IDE7XG59XG5cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGV2cm9uKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuc2VsZWN0W211bHRpcGxlXSBvcHRpb246Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3IpO1xufVxuXG5bZGlyPXJ0bF0gc2VsZWN0Om5vdChbbXVsdGlwbGVdLCBbc2l6ZV0pIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMC43NXJlbTtcbn1cblxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cbnRleHRhcmVhW2FyaWEtaW52YWxpZF0ge1xuICAtLXBpY28taWNvbi1oZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodCAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSB2YXIoLS1waWNvLWljb24taGVpZ2h0KSAhaW1wb3J0YW50O1xufVxuXG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZCkgKyBzbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogLTAuNzUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZClbYXJpYS1pbnZhbGlkPWZhbHNlXSArIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLXBpY28taW5zLWNvbG9yKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXQsIC5ncmlkKVthcmlhLWludmFsaWQ9dHJ1ZV0gKyBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWRlbC1jb2xvcik7XG59XG5cbmxhYmVsID4gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuMjUpO1xufVxuXG4vKipcbiAqIENoZWNrYm94ZXMsIFJhZGlvcyBhbmQgU3dpdGNoZXNcbiAqL1xubGFiZWw6aGFzKFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG4gIG1hcmdpbi10b3A6IC0wLjEyNWVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMC41ZW07XG4gIGJvcmRlci13aWR0aDogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bdHlwZT1jaGVja2JveF06Oi1tcy1jaGVjayxcblt0eXBlPXJhZGlvXTo6LW1zLWNoZWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblt0eXBlPWNoZWNrYm94XTpjaGVja2VkLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmUsIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQsXG5bdHlwZT1yYWRpb106Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1yYWRpb106Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tY2hlY2tib3gpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5bdHlwZT1jaGVja2JveF0gfiBsYWJlbCxcblt0eXBlPXJhZGlvXSB+IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bdHlwZT1jaGVja2JveF0gfiBsYWJlbDpub3QoOmxhc3Qtb2YtdHlwZSksXG5bdHlwZT1yYWRpb10gfiBsYWJlbDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBtYXJnaW4taW5saW5lLWVuZDogMWVtO1xufVxuXG5bdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tbWludXMpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cblt0eXBlPXJhZGlvXSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblt0eXBlPXJhZGlvXTpjaGVja2VkLCBbdHlwZT1yYWRpb106Y2hlY2tlZDphY3RpdmUsIFt0eXBlPXJhZGlvXTpjaGVja2VkOmZvY3VzIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgYm9yZGVyLXdpZHRoOiAwLjM1ZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF0ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtY29sb3IpO1xuICB3aWR0aDogMi4yNWVtO1xuICBoZWlnaHQ6IDEuMjVlbTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiAxLjI1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOm5vdChbYXJpYS1pbnZhbGlkXSkge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93KTtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmZvY3VzIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZCB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOjpiZWZvcmUge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDIuMjVlbSAtIDEuMjVlbSk7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2Rpc2FibGVkXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJvcmRlci1jb2xvcik7XG59XG5cblt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsIFt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsIFt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMsXG5bdHlwZT1yYWRpb11bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLFxuW3R5cGU9cmFkaW9dW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1yYWRpb11bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF06Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPXJhZGlvXTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPXJhZGlvXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1yYWRpb106Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgc2VhcmNoXG4gKi9cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tc2VhcmNoKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMC4xMjVyZW0pO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdW2FyaWEtaW52YWxpZF0ge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMS4xMjVyZW0sIGNlbnRlciByaWdodCAwLjc1cmVtO1xufVxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1zZWFyY2gpLCB2YXIoLS1waWNvLWljb24tdmFsaWQpO1xufVxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF1bYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLXNlYXJjaCksIHZhcigtLXBpY28taWNvbi1pbnZhbGlkKTtcbn1cblxuW2Rpcj1ydGxdIDp3aGVyZShpbnB1dCk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMS4xMjVyZW07XG59XG5bZGlyPXJ0bF0gOndoZXJlKGlucHV0KTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWRdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtLCBjZW50ZXIgbGVmdCAwLjc1cmVtO1xufVxuXG4vKipcbiAqIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5kZXRhaWxzIHN1bW1hcnkge1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzIHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICBjb2xvcjogdmFyKC0tcGljby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjptYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjotbW96LWxpc3QtYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZywgMXJlbSkgKiAwLjUpO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGV2cm9uKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OmZvY3VzOm5vdChbcm9sZV0pIHtcbiAgY29sb3I6IHZhcigtLXBpY28tYWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yKTtcbn1cbmRldGFpbHMgc3VtbWFyeTpmb2N1cy12aXNpYmxlOm5vdChbcm9sZV0pIHtcbiAgb3V0bGluZTogdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG5kZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5kZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dOjphZnRlciB7XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCwgMS41KSk7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeTpub3QoW3JvbGVdKTpub3QoOmZvY3VzKSB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3IpO1xufVxuZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG59XG5cbltkaXI9cnRsXSBkZXRhaWxzIHN1bW1hcnkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbltkaXI9cnRsXSBkZXRhaWxzIHN1bW1hcnk6OmFmdGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xufVxuXG4vKipcbiAqIENhcmQgKDxhcnRpY2xlPilcbiAqL1xuYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tY2FyZC1ib3gtc2hhZG93KTtcbn1cbmFydGljbGUgPiBoZWFkZXIsXG5hcnRpY2xlID4gZm9vdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjY2KSB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3IpO1xufVxuYXJ0aWNsZSA+IGhlYWRlciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tY2FyZC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbn1cbmFydGljbGUgPiBmb290ZXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gIGJvcmRlci10b3A6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qKlxuICogRHJvcGRvd24gKGRldGFpbHMuZHJvcGRvd24pXG4gKi9cbmRldGFpbHMuZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTo6YWZ0ZXIsXG5kZXRhaWxzLmRyb3Bkb3duID4gYnV0dG9uOjphZnRlcixcbmRldGFpbHMuZHJvcGRvd24gPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0LCAxLjUpKTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMC4yNXJlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVYKDAuMnJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGV2cm9uKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogXCJcIjtcbn1cblxubmF2IGRldGFpbHMuZHJvcGRvd24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKSB7XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCkgKyB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDIgKyB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJvcmRlci1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTphY3RpdmUsIGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSlbYXJpYS1pbnZhbGlkPWZhbHNlXSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSlbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcik7XG59XG5cbm5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW46IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xufVxubmF2IGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5OjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMHJlbSk7XG59XG5uYXYgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIDIpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLSB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKSB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5uYXYgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cblxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tb3V0bGluZS13aWR0aCk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1kcm9wZG93bi1ib3gtc2hhZG93KTtcbiAgY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24tY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXBpY28tdHJhbnNpdGlvbiksIHRyYW5zZm9ybSAwcyBlYXNlLWluLW91dCAxcztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWxbZGlyPXJ0bF0ge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAtMC41KSBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYTpob3ZlciwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhOmZvY3VzLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6YWN0aXZlLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6Zm9jdXMtdmlzaWJsZSwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpOmhhcyhsYWJlbCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5ICsgdWwge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmxhYmVsID4gZGV0YWlscy5kcm9wZG93biB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuMjUpO1xufVxuXG4vKipcbiAqIEdyb3VwIChbcm9sZT1cImdyb3VwXCJdLCBbcm9sZT1cInNlYXJjaFwiXSlcbiAqL1xuW3JvbGU9c2VhcmNoXSxcbltyb2xlPWdyb3VwXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWdyb3VwLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5bcm9sZT1zZWFyY2hdID4gKixcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbltyb2xlPXNlYXJjaF0gc2VsZWN0LFxuW3JvbGU9Z3JvdXBdID4gKixcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5bcm9sZT1zZWFyY2hdID4gKjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdID4gKjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuW3JvbGU9c2VhcmNoXSA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5bcm9sZT1zZWFyY2hdID4gKjpmb2N1cyxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpmb2N1cyxcbltyb2xlPXNlYXJjaF0gc2VsZWN0OmZvY3VzLFxuW3JvbGU9Z3JvdXBdID4gKjpmb2N1cyxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOmZvY3VzLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpmb2N1cyB7XG4gIHotaW5kZXg6IDI7XG59XG5bcm9sZT1zZWFyY2hdIGJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9cmVzZXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbcm9sZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3R5cGU9cmVzZXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIC0xKTtcbn1cbltyb2xlPXNlYXJjaF0gYnV0dG9uLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF0sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gYnV0dG9uLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1ncm91cF0gW3R5cGU9cmVzZXRdLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoKikpIHtcbiAgW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIHtcbiAgICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdzogdmFyKC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uKTtcbiAgfVxuICBbcm9sZT1zZWFyY2hdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG4gIFtyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgc2VsZWN0LFxuICBbcm9sZT1ncm91cF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIHNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cyksXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIHtcbiAgICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdzogdmFyKC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQpO1xuICB9XG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBidXR0b24sXG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbdHlwZT1zdWJtaXRdLFxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9YnV0dG9uXSxcbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFtyb2xlPWJ1dHRvbl0sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIGJ1dHRvbixcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9c3VibWl0XSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9YnV0dG9uXSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3JvbGU9YnV0dG9uXSB7XG4gICAgLS1waWNvLWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gIH1cbiAgW3JvbGU9c2VhcmNoXSBidXR0b246Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XTpmb2N1cyxcbiAgW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF06Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXTpmb2N1cyxcbiAgW3JvbGU9c2VhcmNoXSBbcm9sZT1idXR0b25dOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gYnV0dG9uOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFt0eXBlPXJlc2V0XTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbcm9sZT1idXR0b25dOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbltyb2xlPXNlYXJjaF0gPiAqOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXJlbTtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVyZW07XG59XG5cbi8qKlxuICogTmF2XG4gKi9cbjp3aGVyZShuYXYgbGkpOjpiZWZvcmUge1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCLigItcIjtcbn1cblxubmF2LFxubmF2IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxubmF2IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbm5hdiBvbCxcbm5hdiB1bCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5uYXYgb2w6Zmlyc3Qtb2YtdHlwZSxcbm5hdiB1bDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2IG9sOmxhc3Qtb2YtdHlwZSxcbm5hdiB1bDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xufVxubmF2IGxpIDp3aGVyZShhLCBbcm9sZT1saW5rXSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogLTEpIGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbn1cbm5hdiBsaSA6d2hlcmUoYSwgW3JvbGU9bGlua10pOm5vdCg6aG92ZXIpIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxubmF2IGxpIGJ1dHRvbixcbm5hdiBsaSBbcm9sZT1idXR0b25dLFxubmF2IGxpIFt0eXBlPWJ1dHRvbl0sXG5uYXYgbGkgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKSxcbm5hdiBsaSBzZWxlY3Qge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAtIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIDIpIHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGkgYSB7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogLTEpIDA7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogNCk7XG4gIG1hcmdpbjogMCBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgY29udGVudDogdmFyKC0tcGljby1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIGFbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5hc2lkZSBuYXYsXG5hc2lkZSBvbCxcbmFzaWRlIHVsLFxuYXNpZGUgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmFzaWRlIGxpIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KSB2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5hc2lkZSBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5hc2lkZSBsaSBbcm9sZT1idXR0b25dIHtcbiAgbWFyZ2luOiBpbmhlcml0O1xufVxuXG5bZGlyPXJ0bF0gbmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSA6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXFxcXCI7XG59XG5cbi8qKlxuICogQWNjZXNzaWJpbGl0eSAmIFVzZXIgaW50ZXJhY3Rpb25cbiAqL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bYXJpYS1kaXNhYmxlZD10cnVlXSxcbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bYXJpYS1oaWRkZW49ZmFsc2VdW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG5bYXJpYS1oaWRkZW49ZmFsc2VdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSxcblt0YWJpbmRleF0ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbltkaXI9cnRsXSB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4vKipcbiAqIFJlZHVjZSBNb3Rpb24gRmVhdHVyZXNcbiAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKjpub3QoW2FyaWEtYnVzeT10cnVlXSksXG4gIDpub3QoW2FyaWEtYnVzeT10cnVlXSk6OmJlZm9yZSxcbiAgOm5vdChbYXJpYS1idXN5PXRydWVdKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxufVxuW2RhdGEtdGhlbWU9bGlnaHRdLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tdC1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC1jb2xvciwgIzM3M2M0NCk7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgyLCAxNTQsIDIzMiwgMC4yNSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjMDA1OTljKTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXByaW1hcnktY29sb3ItZGFya2VuLCByZ2IoMCwgNTkuOTAzODQ2MTUzOCwgMTA1KSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDAsIDU5LjkwMzg0NjE1MzgsIDEwNSkpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDAsIDExOC4wOTYxNTM4NDYyLCAyMDcpKTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDAsIDExOC4wOTYxNTM4NDYyLCAyMDcpKTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogdmFyKC0tbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yLCAjZmZmZmZmKTtcbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjNzM3OTg3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICM3Mzc5ODcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sIHJnYig5MS41NCwgOTYuMzE2LCAxMDcuNDYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgIzczNzk4Nyk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICM3Mzc5ODcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItZGFya2VuLCByZ2IoOTEuNTQsIDk2LjMxNiwgMTA3LjQ2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgcmdiKDE0Mi4xNCwgMTQ3LjE1NiwgMTU4Ljg2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1saWdodGVuLCByZ2IoMTQyLjE0LCAxNDcuMTU2LCAxNTguODYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiB2YXIoLS1tdC1zZWNvbmRhcnktaW52ZXJzZS1jb2xvciwgI2ZmZmZmZik7XG4gIC0tcGljby1jb250cmFzdDogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICMxODFjMjUpO1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICMxODFjMjUpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMy45MzQ0MjYyMjk1LCA0LjU5MDE2MzkzNDQsIDYuMDY1NTczNzcwNSkpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgIzE4MWMyNSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjMTgxYzI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1kYXJrZW4sIHJnYigzLjkzNDQyNjIyOTUsIDQuNTkwMTYzOTM0NCwgNi4wNjU1NzM3NzA1KSk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sIHJnYig0NC4wNjU1NzM3NzA1LCA1MS40MDk4MzYwNjU2LCA2Ny45MzQ0MjYyMjk1KSk7XG4gIC0tcGljby1jb250cmFzdC1mb2N1czogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItbGlnaHRlbiwgcmdiKDQ0LjA2NTU3Mzc3MDUsIDUxLjQwOTgzNjA2NTYsIDY3LjkzNDQyNjIyOTUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6IHZhcigtLW10LWNvbnRyYXN0LWludmVyc2UtY29sb3IsICNmZmZmZmYpO1xuICAtLXBpY28tZm9udC1mYW1pbHk6IHZhcigtLW10LWZvbnQtZmFtaWx5LCBJbnRlciwgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmKTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAxcmVtKTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgMS40cmVtKTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgNDAwKTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsIDcwMCk7XG4gIC0tcGljby1sZXR0ZXItc3BhY2luZzogdmFyKC0tbXQtbGV0dGVyLXNwYWNpbmcsIG5vcm1hbCk7XG4gIC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiAxLjVyZW07XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdLFxuOnJvb3RbZGF0YS10aGVtZT1kYXJrXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1iYWNrZ3JvdW5kLWNvbG9yLCAjMWQyMzI3KTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1jb2xvciwgIzFkMjMyNyk7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgyLCAxNTQsIDIzMiwgMC4yNSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgIzViYjRkZik7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDEzMy42NzM0NjkzODc4LCAxOTkuNTE1MzA2MTIyNCwgMjMxLjMyNjUzMDYxMjIpKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXI6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDEzMy42NzM0NjkzODc4LCAxOTkuNTE1MzA2MTIyNCwgMjMxLjMyNjUzMDYxMjIpKTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDQ4LjMyNjUzMDYxMjIsIDE2MC40ODQ2OTM4Nzc2LCAyMTQuNjczNDY5Mzg3OCkpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW4sIHJnYig0OC4zMjY1MzA2MTIyLCAxNjAuNDg0NjkzODc3NiwgMjE0LjY3MzQ2OTM4NzgpKTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1pbnZlcnNlLWNvbG9yLCAjMTIxMjEyKTtcbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjYTNhOWI3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICNhM2E5YjcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuLCByZ2IoMTkxLjYwOTc1NjA5NzYsIDE5NS43NDM5MDI0MzksIDIwNS4zOTAyNDM5MDI0KSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICNhM2E5YjcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjYTNhOWI3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxOTEuNjA5NzU2MDk3NiwgMTk1Ljc0MzkwMjQzOSwgMjA1LjM5MDI0MzkwMjQpKTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW4sIHJnYigxMzQuMzkwMjQzOTAyNCwgMTQyLjI1NjA5NzU2MSwgMTYwLjYwOTc1NjA5NzYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDEzNC4zOTAyNDM5MDI0LCAxNDIuMjU2MDk3NTYxLCAxNjAuNjA5NzU2MDk3NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yLCAjMTIxMjEyKTtcbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI2Y1ZjdmYSk7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI2Y1ZjdmYSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1saWdodGVuLCBoc2woMjE2LCAzMy4zMzMzMzMzMzMzJSwgMTA3LjA1ODgyMzUyOTQlKSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjZjVmN2ZhKTtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICNmNWY3ZmEpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sIGhzbCgyMTYsIDMzLjMzMzMzMzMzMzMlLCAxMDcuMDU4ODIzNTI5NCUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMjExLCAyMTkuOCwgMjMzKSk7XG4gIC0tcGljby1jb250cmFzdC1mb2N1czogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMjExLCAyMTkuOCwgMjMzKSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjMTIxMjEyKTtcbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgSW50ZXIsIFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZik7XG4gIC0tcGljby1mb250LXNpemU6IHZhcigtLW10LWZvbnQtc2l6ZSwgMXJlbSk7XG4gIC0tcGljby1saW5lLWhlaWdodDogdmFyKC0tbXQtbGluZS1oZWlnaHQsIDEuNHJlbSk7XG4gIC0tcGljby1mb250LXdlaWdodDogdmFyKC0tbXQtZm9udC13ZWlnaHQsIDQwMCk7XG4gIC0tcGljby1oZWFkaW5nLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCA3MDApO1xuICAtLXBpY28tbGV0dGVyLXNwYWNpbmc6IHZhcigtLW10LWxldHRlci1zcGFjaW5nLCBub3JtYWwpO1xuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogdmFyKC0tbXQtaGVhZGluZy1mb250LWZhbWlseSwgUm9ib3RvLCBHZW9yZ2lhLCBzZXJpZik7XG59XG5cbnVsIGxpIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuaHRtbCBib2R5IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KTtcbn1cbmh0bWwgYm9keSA+IC5zaXRlLWhlYWRlcixcbmh0bWwgYm9keSA+IC5oZWFkZXItbmF2LW1lbnUsXG5odG1sIGJvZHkgPiAubWFpbi1ncmlkLFxuaHRtbCBib2R5ID4gLnNpdGUtZm9vdGVyLFxuaHRtbCBib2R5ID4gLnBhZ2UtaW50cm8ge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSwgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLmxvZ28tbGlnaHQsXG4ubG9nby1saWdodC1hbmQtZGFyayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9nby1kYXJrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmxvZ28tbGlnaHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAubG9nby1kYXJrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLmJyaWQgKltyb2xlPWJ1dHRvbl0sXG4uYnJpZC1jbG9zZSAqW3JvbGU9YnV0dG9uXSB7XG4gIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gIGJvcmRlcjogaW5pdGlhbDtcbn1cblxuLmJyaWQgKltyb2xlPWJ1dHRvbl06Zm9jdXMsXG4uYnJpZC1jbG9zZSAqW3JvbGU9YnV0dG9uXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICBib2R5LmhvbWUgPiAuc2l0ZS1oZWFkZXI6bm90KC5pcy1zdGlja3kpIC5oZWFkZXItY2VudGVyID4gYSAubG9nby1saWdodCxcbiAgYm9keS5ob21lID4gLnNpdGUtaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuaGVhZGVyLWNlbnRlciA+IGEgLmxvZ28tbGlnaHQtYW5kLWRhcmssXG4gIGJvZHkuaG9tZSA+IC5zaXRlLWhlYWRlcjpub3QoLmlzLXN0aWNreSkgLmhlYWRlci1jZW50ZXIgPiBhIC5sb2dvLWRhcmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuYm9keSA+IC5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogNTZweDtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyLmlzLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDApO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0LFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IHtcbiAgd2lkdGg6IDU2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItY2VudGVyIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItY2VudGVyID4gYSA+IGltZyB7XG4gIG1heC1oZWlnaHQ6IDQ4cHg7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWNlbnRlciA+IGEgc3Ryb25nIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xufVxuXG5ib2R5ID4gLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZzogMDtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1zZXBhcmF0b3Ige1xuICBoZWlnaHQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMS41KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IDJyZW07XG4gIH1cbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sID4gc3Ryb25nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgPiBzdHJvbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIC53M2MtbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCBsaSBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgdWwgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIHVsIHNtYWxsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY3JlZGl0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jcmVkaXRzIHNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbmJvZHkuYWRtaW4tYmFyIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICBib2R5LmFkbWluLWJhciAuc2lkZWJhci1oYW1idXJnZXIge1xuICAgIHRvcDogNDZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XG4gIGJvZHkuYWRtaW4tYmFyIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gICAgdG9wOiAzMnB4O1xuICB9XG59XG5cbi5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogODV2dztcbiAgbWF4LXdpZHRoOiA1NjBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci5vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW92ZXJsYXkge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDE5MDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItb3ZlcmxheS52aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2lkZWJhci1oYW1idXJnZXItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWxvZ28gaW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jbG9zZSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItY2xvc2U6aG92ZXIsIC5zaWRlYmFyLWhhbWJ1cmdlci1jbG9zZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNvbnRyb2xzIC5mb250LXNpemUtY29udHJvbHMgYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyAudGhlbWUtdG9nZ2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjJyZW07XG59XG4uc2lkZWJhci1oYW1idXJnZXItY29udHJvbHMgLnRoZW1lLXRvZ2dsZSBsYWJlbCxcbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyAudGhlbWUtdG9nZ2xlIGlucHV0IHtcbiAgbWFyZ2luOiAwO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLXNlYXJjaCB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLXNlYXJjaCA+ICo6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1zZWFyY2ggPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgZmxleDogMSAxIGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tdG9nZ2xlLCAuc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWxpbmsge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLXRvZ2dsZTpob3ZlciwgLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi10b2dnbGU6Zm9jdXMsIC5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tbGluazpob3ZlciwgLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1saW5rOmZvY3VzIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQgYSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50IGE6aG92ZXIge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuY29sdW1ucy0yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5jb2x1bW5zLTIub3BlbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzLm9wZW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhOmhvdmVyIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xufVxuXG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS4zMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKSB0cmFuc3BhcmVudDtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIGhlaWdodDogNnB4O1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIGxpIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSAubWVudS1zY3JvbGwtd3JhcHBlciBsaSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxcmVtO1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIgbGkgYTpob3ZlciwgYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIgbGkgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xufVxuXG5ib2R5LmhvbWUuaGFzLWhlYWRlci1zdGlja3kgPiAucGFnZS1pbnRybyAuaW50cm8tY29sLWNlbnRlciBpbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5LmhvbWUgPiAucGFnZS1pbnRybyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgYm9keS5ob21lID4gLnBhZ2UtaW50cm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuYm9keSA+IC5wYWdlLWludHJvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmJvZHkgPiAucGFnZS1pbnRybyAuaW50cm8tY29sLmludHJvLWNvbC1sZWZ0LCBib2R5ID4gLnBhZ2UtaW50cm8gLmludHJvLWNvbC5pbnRyby1jb2wtcmlnaHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuYm9keSA+IC5wYWdlLWludHJvIC5pbnRyby1jb2wuaW50cm8tY29sLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmJvZHkgPiAucGFnZS1pbnRybyAuaW50cm8tY29sLmludHJvLWNvbC1jZW50ZXIgaDEge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuYm9keSA+IC5wYWdlLWludHJvIC5pbnRyby1jb2wuaW50cm8tY29sLWNlbnRlciBoMSAuaDEtc3VidGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiA0NSU7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cbmJvZHkgPiAucGFnZS1pbnRybyAuaW50cm8tY29sLmludHJvLWNvbC1jZW50ZXIgaW1nIHtcbiAgbWF4LWhlaWdodDogNDhweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuYm9keSA+IC5wYWdlLWludHJvIC5pbnRyby1jb2wuaW50cm8tY29sLWNlbnRlciBpbWcucGFnZS1pbnRyby1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBib2R5ID4gLnBhZ2UtaW50cm8ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgYm9keSA+IC5wYWdlLWludHJvIC5pbnRyby1jb2wuaW50cm8tY29sLWxlZnQsIGJvZHkgPiAucGFnZS1pbnRybyAuaW50cm8tY29sLmludHJvLWNvbC1yaWdodCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMTtcbiAgICBtaW4taGVpZ2h0OiA5MHB4O1xuICB9XG4gIGJvZHkgPiAucGFnZS1pbnRybyAuaW50cm8tY29sLmludHJvLWNvbC1jZW50ZXIge1xuICAgIGZsZXg6IDI7XG4gIH1cbn1cblxuLm1haW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbn1cbi5tYWluLWdyaWQud2l0aC1zaWRlYmFyIHtcbiAgZ2FwOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWFpbi1ncmlkLndpdGgtc2lkZWJhciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gIC5tYWluLWdyaWQud2l0aC1zaWRlYmFyIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIuMmZyIDAuOGZyO1xuICB9XG59XG5cbi5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgfVxufVxuXG4ubWFpbi1zaWRlYmFyIHtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLXNpZGViYXIge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyID4gLndpZGdldCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQubmstZmVlZC1yZWFkZXItbGlzdC1mZWVkLXJ1YnJpY2Ege1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIGF1dG8gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgYXV0bztcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBmaWd1cmUge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cykgdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSAwIDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgZmlndXJlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgZmlndXJlIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBmaWd1cmUgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIC5wb3N0LW1ldGEge1xuICAgIGZsZXg6IDM7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgLnBvc3QtbWV0YSB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgLnBvc3QtbWV0YSAubGFuY2lvIHtcbiAgcGFkZGluZzogMC43cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogLTEuNSk7XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSAucG9zdC1tZXRhIGgzIHtcbiAgcGFkZGluZzogMC43cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlLmZlYXR1cmVkIC5wb3N0LW1ldGEgaDIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUuY29tcGFjdCAucG9zdC1tZXRhIGgyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgPiBpbWcsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nID4gc3Bhbixcbi53aWRnZXQgLndpZGdldC10aXRsZSA+IGltZyxcbi53aWRnZXQgLndpZGdldC10aXRsZSA+IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nIGltZyxcbi53aWRnZXQgLndpZGdldC10aXRsZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyMjBweDtcbiAgbWF4LWhlaWdodDogNjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgei1pbmRleDogMTA7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nIGEsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgPiBzcGFuLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlID4gc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1heC13aWR0aDogNzAlO1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZzo6YmVmb3JlLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlOjpiZWZvcmUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIHotaW5kZXg6IDE7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi53aWRnZXQgLndpZGdldC1mb290ZXIge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi53aWRnZXQgLndpZGdldC1mb290ZXIgYVtyb2xlPWJ1dHRvbl0ge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMCAwIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rZXIge1xuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxufVxuLmNvbW1lbnQtZm9ybS11cmwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLndwLWNhcHRpb24gaW1nLFxuaW1nLnNpemUtZnVsbCxcbmltZy5zaXplLWxhcmdlLFxuaW1nLnNpemUtbWVkaXVtLFxuaW1nLnNpemUtdGh1bWJuYWlsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmltZy5hbGlnbnJpZ2h0LFxuZmlndXJlLmFsaWducmlnaHQsXG5kaXYud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGltZy5hbGlnbnJpZ2h0LFxuICBmaWd1cmUuYWxpZ25yaWdodCxcbiAgZGl2LndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMC4ycmVtIDAgdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbmltZy5hbGlnbmxlZnQsXG5maWd1cmUuYWxpZ25sZWZ0LFxuZGl2LndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgaW1nLmFsaWdubGVmdCxcbiAgZmlndXJlLmFsaWdubGVmdCxcbiAgZGl2LndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAuMnJlbSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5pbWcuYWxpZ25ub25lLFxuZmlndXJlLmFsaWdubm9uZSxcbmRpdi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogMC4ycmVtIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbmltZy5hbGlnbmNlbnRlcixcbmZpZ3VyZS5hbGlnbmNlbnRlcixcbmRpdi53cC1jYXB0aW9uLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dwYWRtaW5iYXIge1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGFpbmVyLmNvbnRhaW5lci1sZGIxIHtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYm94LXNoYWRvdzogLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG59XG5cbi5tYWluLXNpZGViYXIgLndpZGdldC1uay1hZHYtcHJpbnQ6bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkge1xuICBtYXJnaW46IDA7XG59XG5cbmRpdltpZF49Zmx4LV0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5kaXZbaWRePWZseF9uZWNyb10ge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbn1cblxuZGl2W2lkXj1mbHgtaW5pemlhdGl2ZV0ge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdIHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgYm9keS5ob21lIG1haW4ubWFpbi1jb250ZW50IC53aWRnZXQgLndpZGdldC10aXRsZS1pbWcsXG4gIGJvZHkuaG9tZSBtYWluLm1haW4tY29udGVudCAud2lkZ2V0IC53aWRnZXQtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5ib2R5LmhvbWUgbWFpbi5tYWluLWNvbnRlbnQgLndpZGdldF9tdF9saXN0X3Bvc3RzOmZpcnN0LWNoaWxkIC5tb3NhaWNvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtaG9tZXBhZ2Utb3BlbmluZy1iYWNrZ3JvdW5kKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbWFyZ2luOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0xKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG4ubW9zYWljbyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG59XG4ubW9zYWljb19faXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cbi5tb3NhaWNvX19pdGVtIGZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbn1cbi5tb3NhaWNvX19pdGVtIGZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm1vc2FpY29fX2l0ZW0tdmlkZW8gZmlndXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xufVxuLm1vc2FpY29fX2l0ZW0tZ2FsbGVyeSBmaWd1cmU6YmVmb3JlLFxuLm1vc2FpY29fX2l0ZW0tZ2FsbGVyeSBmaWd1cmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLm1vc2FpY29fX2l0ZW0tZ2FsbGVyeSBmaWd1cmU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjJyZW0sIC0wLjJyZW0pO1xuICB6LWluZGV4OiAxO1xufVxuLm1vc2FpY29fX2l0ZW0tZGlyZXR0YSBmaWd1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJMSVZFXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTNlM2U7XG4gIHRvcDogMC4xcmVtO1xuICBsZWZ0OiAwLjFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5tb3NhaWNvX19pdGVtIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1vc2FpY29fX2l0ZW0gaDIge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luOiAwO1xufVxuLm1vc2FpY29fX2l0ZW0tLW1haW4gZmlndXJlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9zYWljb19faXRlbS0tbWFpbiBmaWd1cmUge1xuICAgIGFzcGVjdC1yYXRpbzogMTYvMTI7XG4gIH1cbn1cbi5tb3NhaWNvX19pdGVtLS1tYWluIGgyIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY29fX2l0ZW0tLW1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICB9XG59XG4ubW9zYWljb19fbWV0YSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGluc2V0OiBhdXRvIDAgMCAwO1xuICB6LWluZGV4OiAyO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLm1vc2FpY29fX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuOCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1vc2FpY29fX2xhbmNpbyB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0xIC5tb3NhaWNvX19pdGVtLS1tYWluIGZpZ3VyZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0xIC5tb3NhaWNvX19pdGVtLS1tYWluIC5tb3NhaWNvX19tZXRhIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG4ubW9zYWljby0tMiAubW9zYWljb19faXRlbS0tbWFpbiBmaWd1cmUge1xuICBhc3BlY3QtcmF0aW86IDE2LzEwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0yIC5tb3NhaWNvX19pdGVtLS1tYWluIGgyIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS0yIC5tb3NhaWNvX19pdGVtIC5tb3NhaWNvX19tZXRhIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSAubW9zYWljb19faXRlbS0tbWFpbiAubW9zYWljb19fbWV0YSB7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMmZyKTtcbiAgfVxuICAubW9zYWljby0tbXVsdGkgPiAubW9zYWljb19faXRlbTpudGgtY2hpbGQoMSkge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubW9zYWljby0tbXVsdGkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDJmcik7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLm1vc2FpY28tLW11bHRpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLXByaXZhdGUge1xuICBvcGFjaXR5OiAwLjc7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1waWNvLWNvbG9yKTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fY29udGVudDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBmbGV4OiAwIDAgMjIwcHg7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiB7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLWRpcmV0dGEgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJMSVZFXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTNlM2U7XG4gIHRvcDogMC4xcmVtO1xuICBsZWZ0OiAwLjFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tZ2FsbGVyeSAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUsXG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLWdhbGxlcnkgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS1nYWxsZXJ5IC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4ycmVtLCAtMC4ycmVtKTtcbiAgei1pbmRleDogMTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tdmlkZW8gLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuNzVyZW07XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50IHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gIH1cbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuOCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGFuY2lvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGl0bGUge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB9XG59XG5cbi5oM2NhcmRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oM2NhcmRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG4uaDNjYXJkc19faXRlbSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBCYWRnZS9vdmVybGF5IGZvcm1hdGkgc3BlY2lhbGkgKi9cbn1cbi5oM2NhcmRzX19pdGVtIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmgzY2FyZHNfX2l0ZW0gLmgzY2FyZHNfX2ZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xufVxuLmgzY2FyZHNfX2l0ZW0gLmgzY2FyZHNfX2ZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmgzY2FyZHNfX2l0ZW0gLmgzY2FyZHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDA7XG59XG4uaDNjYXJkc19faXRlbS12aWRlbyAuaDNjYXJkc19fZmlndXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEuMXJlbSBzb2xpZCAjZmZmO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG59XG4uaDNjYXJkc19faXRlbS1nYWxsZXJ5IC5oM2NhcmRzX19maWd1cmU6YmVmb3JlLCAuaDNjYXJkc19faXRlbS1nYWxsZXJ5IC5oM2NhcmRzX19maWd1cmU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLmgzY2FyZHNfX2l0ZW0tZ2FsbGVyeSAuaDNjYXJkc19fZmlndXJlOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4ycmVtLCAtMC4ycmVtKTtcbiAgei1pbmRleDogMTtcbn1cbi5oM2NhcmRzX19pdGVtLWRpcmV0dGEgLmgzY2FyZHNfX2ZpZ3VyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIkxJVkVcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMXJlbTtcbiAgbGVmdDogMC4xcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTUzZTNlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG4uaDNjYXJkc19fbWV0YSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGluc2V0OiBhdXRvIDAgMCAwO1xuICB6LWluZGV4OiAyO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLmgzY2FyZHNfX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuOCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMC44cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMnJlbTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNS41KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG4uaDNjYXJkc19fbGFuY2lvIHtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59IiwiQHVzZSAnc2Fzczpjb2xvcic7XG5cbiRtdC1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4kbXQtY29sb3I6ICMzNzNjNDQ7XG5cbiRtdC1wcmltYXJ5LWNvbG9yOiAjMDA1OTljO1xuJG10LXByaW1hcnktY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LXByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXByaW1hcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC1wcmltYXJ5LWludmVyc2UtY29sb3I6ICNmZmZmZmY7XG5cbiRtdC1zZWNvbmRhcnktY29sb3I6ICM3Mzc5ODc7XG4kbXQtc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXNlY29uZGFyeS1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LXNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3I6ICNmZmZmZmY7XG5cbiRtdC1jb250cmFzdC1jb2xvcjogIzE4MWMyNTtcbiRtdC1jb250cmFzdC1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LWNvbnRyYXN0LWludmVyc2UtY29sb3I6ICNmZmZmZmY7XG5cblxuXG5cbiRtdC10ZGFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMzI3O1xuXG4kbXQtdGRhcmstY29sb3I6ICMxZDIzMjc7XG5cbiRtdC10ZGFyay1wcmltYXJ5LWNvbG9yOiAjNWJiNGRmO1xuJG10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLXByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC10ZGFyay1wcmltYXJ5LWludmVyc2UtY29sb3I6ICMxMjEyMTI7XG5cbiRtdC10ZGFyay1zZWNvbmRhcnktY29sb3I6ICNhM2E5Yjc7XG4kbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtdGRhcmstc2Vjb25kYXJ5LWludmVyc2UtY29sb3I6ICMxMjEyMTI7XG5cbiRtdC10ZGFyay1jb250cmFzdC1jb2xvcjogI2Y1ZjdmYTtcbiRtdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LXRkYXJrLWNvbnRyYXN0LWludmVyc2UtY29sb3I6ICMxMjEyMTI7XG5cblxuJG10LWZvbnQtZmFtaWx5OiAnSW50ZXInLCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4kbXQtZm9udC1zaXplOiAxcmVtO1xuJG10LWxpbmUtaGVpZ2h0OiAxLjRyZW07XG4kbXQtZm9udC13ZWlnaHQ6IDQwMDtcbiRtdC1sZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuJG10LWhlYWRpbmctZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBHZW9yZ2lhLCBzZXJpZjtcbiRtdC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDA7XG5cbiRtdC1zaXRlLWhlYWRlci1oZWlnaHQ6IDU2cHg7XG5cbiRtdC16aW5kZXgtaGVhZGVyOiA5OTk5OTk5O1xuJG10LXppbmRleC1zaWRlYmFyLWhhbWJ1cmdlcjogOTk5OTk5OTk7XG4kbXQtemluZGV4LXBvcHVwOiA5OTk5OTk5OTk7XG5cbiRtdC1icmVha3BvaW50czogKFxuICBzbTogKGJyZWFrcG9pbnQ6IDU3NnB4LFxuICAgIHZpZXdwb3J0OiAxMDAlLFxuICAgIHJvb3QtZm9udC1zaXplOiAxMDYuMjUlLFxuICApLFxuICBtZDogKGJyZWFrcG9pbnQ6IDc2OHB4LFxuICAgIHZpZXdwb3J0OiAxMDAlLFxuICAgIHJvb3QtZm9udC1zaXplOiAxMTIuNSUsXG4gICksXG4gIGxnOiAoYnJlYWtwb2ludDogMTAyNHB4LFxuICAgIHZpZXdwb3J0OiAxMjgwcHgsXG4gICAgcm9vdC1mb250LXNpemU6IDExOC43NSUsXG4gICksXG4gIHhsOiAoYnJlYWtwb2ludDogMTI4MHB4LFxuICAgIHZpZXdwb3J0OiAxMjgwcHgsXG4gICAgcm9vdC1mb250LXNpemU6IDEyNSUsXG4gICksXG4gIHh4bDogKGJyZWFrcG9pbnQ6IDE1MzZweCxcbiAgICB2aWV3cG9ydDogMTI4MHB4LFxuICAgIHJvb3QtZm9udC1zaXplOiAxMzEuMjUlLFxuICApXG4pO1xuXG4vLyBUZW1hIFNvbGl0b1xuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1cImRhcmtcIl0pIHtcblxuICAtLW10LW5lY3JvbG9yaS1mb3JtLWJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIC0tbXQtaG9tZXBhZ2Utb3BlbmluZy1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSAxMCUsICNmZmYgOTAlKTtcbiAgLS1tdC1nYWxsZXJ5LWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDUlLCAjZmZmIDk1JSk7XG5cbn1cblxuLy8gVGVtYSBEYXJrXG5bZGF0YS10aGVtZT1cImRhcmtcIl0sXG46cm9vdFtkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgIzAwMCA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICMwMDAgOTUlKTtcblxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9pbnRlci9pbnRlci03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIi8qIVxuICogUGljbyBDU1Mg4pyoIHYyLjEuMSAoaHR0cHM6Ly9waWNvY3NzLmNvbSlcbiAqIENvcHlyaWdodCAyMDE5LTIwMjUgLSBMaWNlbnNlZCB1bmRlciBNSVRcbiAqL1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vY29sb3JzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vaGVscGVycy9mdW5jdGlvbnNcIjtcbkB1c2UgXCJ0aGVtZS1jb2xvcnNcIjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidGhlbWVzL2RlZmF1bHRcIikge1xuICAvKipcbiAgICogU3R5bGVzXG4gICAqL1xuXG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLy8gVHlwb2dyYXBoeVxuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LWVtb2ppOlxuICAgICAgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6XG4gICAgICBzeXN0ZW0tdWksIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgICBzYW5zLXNlcmlmLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktZW1vamkpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LW1vbm9zcGFjZTpcbiAgICAgIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIG1vbm9zcGFjZSxcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1lbW9qaSk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1zYW5zLXNlcmlmKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS41O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxMDAlO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xcmVtO1xuXG4gICAgLy8gQm9yZGVyc1xuICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aDogMC4xMjVyZW07XG5cbiAgICAvLyBUcmFuc2l0aW9uc1xuICAgICN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAvLyBTcGFjaW5nc1xuICAgICN7JGNzcy12YXItcHJlZml4fXNwYWNpbmc6IDFyZW07XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgdHlwb2dyYXBoeSBlbGVtZW50c1xuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWw6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gU3BhY2luZ3MgZm9yIGJvZHkgPiBoZWFkZXIsIGJvZHkgPiBtYWluLCBib2R5ID4gZm9vdGVyLCBzZWN0aW9uLCBhcnRpY2xlXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2xhbmRtYXJrc1wiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvc2VjdGlvblwiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikgb3JcbiAgICAgIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKVxuICAgIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWw6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIH1cblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9ncmlkXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JpZC1jb2x1bW4tZ2FwOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncmlkLXJvdy1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgZm9ybSBlbGVtZW50cyBhbmQgYnV0dG9uXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY1wiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMC43NXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzICYgZmllbGRzZXRzIGxlZ2VuZFxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gICAgfVxuXG4gICAgLy8gR3JvdXAgKHJvbGU9XCJncm91cFwiKVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQ6IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIDAuMDYyNXJlbVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbW9kYWxcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bW9kYWwtb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMC4zNzVyZW0pO1xuICAgIH1cblxuICAgIC8vIFNwYWNpbmdzIGZvciBuYXYgY29tcG9uZW50XG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9uYXZcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbDogMC41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyOiBcIj5cIjtcbiAgICB9XG5cbiAgICAvLyBDaGVja2JveGVzIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvY2hlY2tib3gtcmFkaW8tc3dpdGNoXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2hlY2tib3g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkd2hpdGUpfScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1taW51czogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR3aGl0ZSl9JyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NsaW5lIHgxPSc1JyB5MT0nMTInIHgyPScxOScgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBDaGV2cm9uIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZHJvcGRvd25cIilcbiAgICB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWNoZXZyb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOSclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIERhdGV0aW1lIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtZGF0ZVwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWRhdGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcmVjdCB4PSczJyB5PSc0JyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHJ4PScyJyByeT0nMiclM0UlM0MvcmVjdCUzRSUzQ2xpbmUgeDE9JzE2JyB5MT0nMicgeDI9JzE2JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzgnIHkxPScyJyB4Mj0nOCcgeTI9JzYnJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPSczJyB5MT0nMTAnIHgyPScyMScgeTI9JzEwJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tdGltZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0Nwb2x5bGluZSBwb2ludHM9JzEyIDYgMTIgMTIgMTYgMTQnJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBTZWFyY2ggaWNvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2lucHV0LXNlYXJjaFwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXNlYXJjaDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMjEnIHkxPScyMScgeDI9JzE2LjY1JyB5Mj0nMTYuNjUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIENsb3NlIGljb25cbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2xvc2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDbGluZSB4MT0nMTgnIHkxPSc2JyB4Mj0nNicgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nNicgeTE9JzYnIHgyPScxOCcgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBMb2FkaW5nIGljb24gKGFuaW1hdGVkKVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgICAvLyBJbnNwaXJlZCBieSBodHRwczovL2NvZGVwZW4uaW8vYWxla3NhbmRlcjM1MS9wZW4vS3pnS1BvXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWxvYWRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgZmlsbD0nbm9uZScgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgJTNFJTNDc3R5bGUlM0UgZyAlN0IgYW5pbWF0aW9uOiByb3RhdGUgMnMgbGluZWFyIGluZmluaXRlOyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyAlN0QgY2lyY2xlICU3QiBzdHJva2UtZGFzaGFycmF5OiA3NSwxMDA7IHN0cm9rZS1kYXNob2Zmc2V0OiAtNTsgYW5pbWF0aW9uOiBkYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgJTdEIEBrZXlmcmFtZXMgcm90YXRlICU3QiAwJTI1ICU3QiB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgJTdEIDEwMCUyNSAlN0IgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgJTdEICU3RCBAa2V5ZnJhbWVzIGRhc2ggJTdCIDAlMjUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDEsMTAwOyBzdHJva2UtZGFzaG9mZnNldDogMDsgJTdEIDUwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xNy41OyAlN0QgMTAwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC02MjsgJTdEICU3RCAlM0Mvc3R5bGUlM0UlM0NnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPSc0JyAvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgcm9vdCBmb250IHNpemVcbiAgICBAaWYgJGVuYWJsZS1yZXNwb25zaXZlLXR5cG9ncmFwaHkge1xuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IG1hcC5nZXQoJHZhbHVlcywgXCJyb290LWZvbnQtc2l6ZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHNwYWNpbmdzXG4gIEBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtc3BhY2luZ3Mge1xuICAgIC8vIExhbmRtYXJrcyBhbmQgc2VjdGlvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9sYW5kbWFya3NcIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvc2VjdGlvblwiKSB7XG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gaGVhZGVyLFxuICAgICAgI3skc2VtYW50aWMtcm9vdC1lbGVtZW50fSA+IG1haW4sXG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gZm9vdGVyLFxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDE7XG4gICAgICAgICAgICAgIEBpZiAka2V5ID09IFwic21cIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuMjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1kXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxnXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjc1O1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4bFwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMjtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwieHhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyLjI1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikge1xuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDE7XG4gICAgICAgICAgICAgIEBpZiAka2V5ID09IFwic21cIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuMjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1kXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxnXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjc1O1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4bFwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMjtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwieHhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyLjI1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWw6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogJG11bHRpcGxpZXJcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvbGlua1wiKSB7XG4gICAgYSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgLy8gU2Vjb25kYXJ5ICYgQ29udHJhc3RcbiAgICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgICAmLnNlY29uZGFyeSxcbiAgICAgICAgJi5jb250cmFzdCB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUeXBvZ3JhcGh5XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgLy8gU21hbGxcbiAgICBzbWFsbCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDAuODc1ZW07XG4gICAgfVxuXG4gICAgLy8gSGVhZGluZ3NcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDNyZW07XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAyLjYyNXJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDEuNXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjE3NTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDIuMjVyZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuODc0cmVtO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS4yMjU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjY4NzVyZW07XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxcmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90YWJsZVwiKSB7XG4gICAgdGhlYWQsXG4gICAgdGZvb3Qge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aDogMC4xODc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9jb2RlXCIpIHtcbiAgICBwcmUsXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgfVxuXG4gICAga2JkIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5wdXRzIGFuZCBTZWxlY3RzXG4gIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICBbdHlwZT1cImZpbGVcIl1cbiAgICApLFxuICA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSkge1xuICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbiAgfVxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzOiA1cmVtO1xuICB9XG5cbiAgLy8gQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAgIH1cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMTg3NXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICAgIHN1bW1hcnk6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIGRldGFpbHMuZHJvcGRvd24ge1xuICAgICAgICBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gR3JvdXAgKHJvbGU9XCJncm91cFwiKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2dyb3VwXCIpIHtcbiAgICBbcm9sZT1cInNlYXJjaFwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzOiA1cmVtO1xuICAgIH1cblxuICAgIFtyb2xlPVwic2VhcmNoXCJdLFxuICAgIFtyb2xlPVwiZ3JvdXBcIl0ge1xuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICY6aGFzKFxuICAgICAgICAgICAgYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFtyb2xlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpmb2N1c1xuICAgICAgICAgICkge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1cyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyhcbiAgICAgICAgICAgIGJ1dHRvbi5jb250cmFzdDpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLmNvbnRyYXN0OmZvY3VzLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0uY29udHJhc3Q6Zm9jdXMsXG4gICAgICAgICAgICBbcm9sZT1cImJ1dHRvblwiXS5jb250cmFzdDpmb2N1c1xuICAgICAgICAgICkge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWZvY3VzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZXZyb24gaWNvbnNcbiAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIHdoaXRlIGZvciBhY2NvcmRpb24gYW5kIGRyb3Bkb3duIGJ1dHRvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMge1xuICAgICAgc3VtbWFyeSB7XG4gICAgICAgICRzZWxlY3RvcjogJyZbcm9sZT1cImJ1dHRvblwiXSc7XG4gICAgICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn06bm90KC5vdXRsaW5lKVwiO1xuICAgICAgICB9XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMb2FkaW5nIGljb24gKGFuaW1hdGVkKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2xvYWRpbmdcIikge1xuICAgIC8vIENoYW5nZSB0aGUgaWNvbiBjb2xvciB0byB3aGl0ZSBmb3IgYnV0dG9uc1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW2FyaWEtYnVzeT1cInRydWVcIl06bm90KGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICAkc2VsZWN0b3I6ICcmOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbcm9sZT1cImJ1dHRvblwiXSknO1xuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn06bm90KC5vdXRsaW5lKVwiO1xuICAgICAgfVxuICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImRhcmtcIikgPT0gJHdoaXRlIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AdXNlIFwibGlnaHRcIjtcbkB1c2UgXCJkYXJrXCI7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcInRoZW1lcy9kZWZhdWx0XCIpIHtcbiAgLyoqXG4gICAqIENvbG9yIHNjaGVtZXNcbiAgICovXG5cbiAgLy8gTGlnaHQgY29sb3Igc2NoZW1lIChEZWZhdWx0KVxuICAvLyBDYW4gYmUgZm9yY2VkIHdpdGggZGF0YS10aGVtZT1cImxpZ2h0XCJcbiAgW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lPVwiZGFya1wiXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWU9XCJkYXJrXCJdKSkge1xuICAgIEBpbmNsdWRlIGxpZ2h0LnRoZW1lO1xuICB9XG5cbiAgLy8gRGFyayBjb2xvciBzY2hlbWUgKEF1dG8pXG4gIC8vIEF1dG9tYXRpY2FsbHkgZW5hYmxlZCBpZiB1c2VyIGhhcyBEYXJrIG1vZGUgZW5hYmxlZFxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIDpyb290Om5vdChbZGF0YS10aGVtZV0pLFxuICAgIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkge1xuICAgICAgQGluY2x1ZGUgZGFyay50aGVtZTtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIGNvbG9yIHNjaGVtZSAoRm9yY2VkKVxuICAvLyBFbmFibGVkIGlmIGZvcmNlZCB3aXRoIGRhdGEtdGhlbWU9XCJkYXJrXCJcbiAgW2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICBAaW5jbHVkZSBkYXJrLnRoZW1lO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBwcm9ncmVzcyxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeSk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG4vLyBEZWZhdWx0OiBMaWdodCB0aGVtZVxuQG1peGluIHRoZW1lIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogI3skd2hpdGV9O1xuXG4gIC8vIFRleHQgY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6ICN7JHppbmMtNzUwfTtcblxuICAvLyBUZXh0IHNlbGVjdGlvbiBjb2xvclxuICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LXNlbGVjdGlvbi1jb2xvcjogdGhlbWUtY29sb3JzLmdldChcInRleHQtc2VsZWN0aW9uLWNvbG9yXCIsIFwibGlnaHRcIik7XG5cbiAgLy8gTXV0ZWQgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yOiAjeyR6aW5jLTU1MH07XG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTEwMCwgJHNsYXRlLTUwKX07XG5cbiAgLy8gUHJpbWFyeSBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnlcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1iYWNrZ3JvdW5kXCIsIFwibGlnaHRcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmU6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LXVuZGVybGluZVwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1ob3ZlclwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyLWJhY2tncm91bmRcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1mb2N1c1wiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWludmVyc2U6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWludmVyc2VcIiwgXCJsaWdodFwiKTtcblxuICAvLyBTZWNvbmRhcnkgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeTogI3skc2xhdGUtNTUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQ6ICN7JHNsYXRlLTYwMH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtNTUwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyOiAjeyRzbGF0ZS02NTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogI3skc2xhdGUtNjUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1czogI3tyZ2JhKCRzbGF0ZS01NTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBDb250cmFzdCBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3Q6ICN7JHNsYXRlLTkwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQ6ICN7JHNsYXRlLTkwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtOTAwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXI6ICN7JGJsYWNrfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI3skYmxhY2t9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtZm9jdXM6ICN7cmdiYSgkc2xhdGUtNTUwLCAwLjI1KX07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBCb3ggc2hhZG93XG4gICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IGZ1bmN0aW9ucy5zaGFkb3coJHNsYXRlLTQwMCk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3R5cG9ncmFwaHlcIikge1xuICAgIC8vIEhlYWRpbmdzIGNvbG9yc1xuICAgICN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yOiAjeyR6aW5jLTgwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDItY29sb3I6ICN7JHppbmMtNzUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMy1jb2xvcjogI3skemluYy03MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg0LWNvbG9yOiAjeyR6aW5jLTY1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDUtY29sb3I6ICN7JHppbmMtNjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNi1jb2xvcjogI3skemluYy01NTB9O1xuXG4gICAgLy8gSGlnaGxpZ2h0ZWQgdGV4dCAoPG1hcms+KVxuICAgICN7JGNzcy12YXItcHJlZml4fW1hcmstYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJGFtYmVyLTEwMCwgJGFtYmVyLTUwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcjogI3skemluYy05NTB9O1xuXG4gICAgLy8gSW5zZXJ0ZWQgKDxpbnM+KSAmIERlbGV0ZWQgKDxkZWw+KVxuICAgICN7JGNzcy12YXItcHJlZml4fWlucy1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy03NTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kZWwtY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy03NTApfTtcblxuICAgIC8vIEJsb2NrcXVvdGVcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBCdXR0b25cbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikge1xuICAgIC8vIFRvIGRpc2FibGUgYm94LXNoYWRvdywgcmVtb3ZlIHRoZSB2YXIgb3Igc2V0IHRvICcwIDAgMCByZ2JhKDAsIDAsIDAsIDApJ1xuICAgIC8vIERvbid0IHVzZSwgJ25vbmUsICdmYWxzZSwgJ251bGwnLCAnMCcsIGV0Yy5cbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIC8vIFRhYmxlXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdGFibGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dGFibGUtcm93LXN0cmlwcGVkLWJhY2tncm91bmQtY29sb3I6ICN7cmdiYSgkemluYy01MDAsIDAuMDM3NSl9O1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2NvZGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTUwLCAkd2hpdGUsIDc1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtY29sb3I6ICN7JHppbmMtNTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBGb3JtIGVsZW1lbnRzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS01MCwgJHdoaXRlLCAyNSUpfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMTAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS0xNTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcjogI3skemluYy04NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy0zNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peChcbiAgICAgICAgJHJlZC01MDAsXG4gICAgICAgICR6aW5jLTM1MCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy0zNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRqYWRlLTQ1MCxcbiAgICAgICAgJHppbmMtMzUwLFxuICAgICAgICA3NSVcbiAgICAgICl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICApO1xuICB9XG5cbiAgLy8gU3dpdGNoIChpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvY2hlY2tib3gtcmFkaW8tc3dpdGNoXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogdGhlbWUtY29sb3JzLmdldChcInN3aXRjaC10aHVtYi1ib3gtc2hhZG93XCIsIFwibGlnaHRcIik7XG4gIH1cblxuICAvLyBSYW5nZSAoaW5wdXRbdHlwZT1cInJhbmdlXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1yYW5nZVwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTIwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYWN0aXZlLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIC8vIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgfVxuXG4gIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS01MCwgJHdoaXRlLCAyNSUpfTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtNTB9O1xuICB9XG5cbiAgLy8gTG9hZGluZyAoW2FyaWEtYnVzeT10cnVlXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9sb2FkaW5nXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1sb2FkaW5nLXNwaW5uZXItb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1tb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6ICN7cmdiYShjb2xvci5taXgoJHppbmMtMTAwLCAkemluYy01MCksIDAuNzUpfTtcbiAgfVxuXG4gIC8vIFByb2dyZXNzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvcHJvZ3Jlc3NcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICN7JHNsYXRlLTEwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICB9XG5cbiAgLy8gVG9vbHRpcCAoW2RhdGEtdG9vbHRpcF0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvdG9vbHRpcFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dG9vbHRpcC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuICB9XG5cbiAgLy8gRm9ybSB2YWxpZGF0aW9uIGljb25zXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkamFkZS00NTAsICR6aW5jLTM1MCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkcmVkLTUwMCwgJHppbmMtMzUwLCA3NSUpKX0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAvLyBGb2N1cyBmb3IgYnV0dG9ucywgcmFkaW8gYW5kIHNlbGVjdFxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY3NcIikge1xuICAgIGlucHV0OmlzKFxuICAgICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwiZmlsZVwiXVxuICAgICAgKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG4vLyBEZWZhdWx0OiBEYXJrIHRoZW1lXG5AbWl4aW4gdGhlbWUge1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05NTAsICRzbGF0ZS05MDApfTtcblxuICAvLyBUZXh0IGNvbG9yXG4gICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiAjeyR6aW5jLTIwMH07XG5cbiAgLy8gVGV4dCBzZWxlY3Rpb24gY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1zZWxlY3Rpb24tY29sb3I6IHRoZW1lLWNvbG9ycy5nZXQoXCJ0ZXh0LXNlbGVjdGlvbi1jb2xvclwiLCBcImRhcmtcIik7XG5cbiAgLy8gTXV0ZWQgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yOiAjeyR6aW5jLTQ1MH07XG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcblxuICAvLyBQcmltYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5OiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeVwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZDogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktYmFja2dyb3VuZFwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmU6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LXVuZGVybGluZVwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXI6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1mb2N1c1wiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImRhcmtcIik7XG5cbiAgLy8gU2Vjb25kYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnk6ICN7JHppbmMtMzUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQ6ICN7JHNsYXRlLTYwMH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS11bmRlcmxpbmU6ICN7cmdiYSgkemluYy0zNTAsIDAuNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXI6ICN7JHppbmMtMjUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICN7JHNsYXRlLTU1MH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXM6ICN7cmdiYSgkc2xhdGUtMzUwLCAwLjI1KX07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlOiAjeyR3aGl0ZX07XG5cbiAgLy8gQ29udHJhc3QgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0OiAjeyRzbGF0ZS0xMDB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kOiAjeyRzbGF0ZS01MH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtMTAwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXI6ICN7JHdoaXRlfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI3skd2hpdGV9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1czogI3tyZ2JhKCRzbGF0ZS0xNTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZTogI3skYmxhY2t9O1xuXG4gIC8vIEJveCBzaGFkb3dcbiAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogZnVuY3Rpb25zLnNoYWRvdyhjb2xvci5taXgoJGJsYWNrLCAkc2xhdGUtOTUwKSk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3R5cG9ncmFwaHlcIikge1xuICAgIC8vIEhlYWRpbmdzIGNvbG9yc1xuICAgICN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yOiAjeyR6aW5jLTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMi1jb2xvcjogI3skemluYy0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yOiAjeyR6aW5jLTIwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDQtY29sb3I6ICN7JHppbmMtMjUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNS1jb2xvcjogI3skemluYy0zMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yOiAjeyR6aW5jLTQwMH07XG5cbiAgICAvLyBIaWdobGlnaHRlZCB0ZXh0ICg8bWFyaz4pXG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRhenVyZS03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fW1hcmstY29sb3I6ICN7JHdoaXRlfTtcblxuICAgIC8vIEluc2VydGVkICg8aW5zPikgJiBEZWxldGVkICg8ZGVsPilcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3I6ICN7Y29sb3IubWl4KCRqYWRlLTQ1MCwgJHppbmMtMjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yOiAje2NvbG9yLm1peCgkcmVkLTUwMCwgJHppbmMtMjAwKX07XG5cbiAgICAvLyBCbG9ja3F1b3RlXG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICB9XG5cbiAgLy8gQnV0dG9uXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvYnV0dG9uXCIpIHtcbiAgICAvLyBUbyBkaXNhYmxlIGJveC1zaGFkb3csIHJlbW92ZSB0aGUgdmFyIG9yIHNldCB0byAnMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSdcbiAgICAvLyBEb24ndCB1c2UsICdub25lLCAnZmFsc2UsICdudWxsJywgJzAnLCBldGMuXG4gICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cblxuICAvLyBUYWJsZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3RhYmxlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLXJvdy1zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yOiAje3JnYmEoJHppbmMtNTAwLCAwLjAzNzUpfTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9jb2RlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05MDAsICRzbGF0ZS04NTAsIDc1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtY29sb3I6ICN7JHppbmMtNDAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBGb3JtIGVsZW1lbnRzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05MDAsICRzbGF0ZS04NTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcjogI3skemluYy0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogI3skemluYy00MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRzbGF0ZS05MDAsXG4gICAgICAgICRzbGF0ZS04NTAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peCgkcmVkLTUwMCwgJHNsYXRlLTYwMCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkcmVkLTUwMCxcbiAgICAgICAgJHNsYXRlLTYwMCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkc2xhdGUtNjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkamFkZS00NTAsXG4gICAgICAgICRzbGF0ZS02MDAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gIH1cblxuICAvLyBTd2l0Y2ggKGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jb2xvcjogI3skd2hpdGV9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiB0aGVtZS1jb2xvcnMuZ2V0KFwic3dpdGNoLXRodW1iLWJveC1zaGFkb3dcIiwgXCJkYXJrXCIpO1xuICB9XG5cbiAgLy8gUmFuZ2UgKGlucHV0W3R5cGU9XCJyYW5nZVwiXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtcmFuZ2VcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWFjdGl2ZS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBBY2NvcmRpb24gKDxkZXRhaWxzPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBDYXJkICg8YXJ0aWNsZT4pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvY2FyZFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS05MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTkwMCwgJHNsYXRlLTg1MCwgNzUlKX07XG4gIH1cblxuICAvLyBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS05MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgfVxuXG4gIC8vIExvYWRpbmcgKFthcmlhLWJ1c3k9dHJ1ZV0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bG9hZGluZy1zcGlubmVyLW9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vIE1vZGFsICg8ZGlhbG9nPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yOiAje3JnYmEoY29sb3IubWl4KCRibGFjaywgJHppbmMtOTUwKSwgMC43NSl9O1xuICB9XG5cbiAgLy8gUHJvZ3Jlc3NcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9wcm9ncmVzc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1wcm9ncmVzcy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBUb29sdGlwIChbZGF0YS10b29sdGlwXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy90b29sdGlwXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZSk7XG4gIH1cblxuICAvLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoY29sb3IubWl4KCRqYWRlLTQ1MCwgJHNsYXRlLTYwMCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkcmVkLTUwMCwgJHNsYXRlLTYwMCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC8vIEZvY3VzIGZvciBidXR0b25zLCByYWRpbyBhbmQgc2VsZWN0XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgaW5wdXQ6aXMoXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJmaWxlXCJdXG4gICAgICApIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZXZyb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIHtcbiAgICAvLyBDaGFuZ2UgdGhlIGljb24gY29sb3IgdG8gYmxhY2sgZm9yIGFjY29yZGlvbiBhbmQgZHJvcGRvd24gLmNvbnRyYXN0IGJ1dHRvbnNcbiAgICBAaWYgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICZbcm9sZT1cImJ1dHRvblwiXS5jb250cmFzdDpub3QoLm91dGxpbmUpIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExvYWRpbmcgaWNvbiAoYW5pbWF0ZWQpXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIGJsYWNrIGZvciAuY29udHJhc3QgYnV0dG9uc1xuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1idXN5PVwidHJ1ZVwiXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAgICAgJi5jb250cmFzdDppcyhcbiAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICAgICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgICAgICAgW3JvbGU9XCJidXR0b25cIl1cbiAgICAgICAgICApOm5vdCgub3V0bGluZSkge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9kb2N1bWVudFwiKSB7XG4gIC8qKlxuICAgKiBEb2N1bWVudFxuICAgKiBDb250ZW50LWJveCAmIFJlc3BvbnNpdmUgdHlwb2dyYXBoeVxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQmFja2dyb3VuZHMgZG8gbm90IHJlcGVhdCBieSBkZWZhdWx0IChvcGluaW9uYXRlZClcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIEFkZCB0ZXh0IGRlY29yYXRpb24gaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICA6OmJlZm9yZSxcbiAgOjphZnRlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvLyAxXG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQnJlYWtzIHdvcmRzIHRvIHByZXZlbnQgb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMy4gVXNlIGEgNC1zcGFjZSB0YWIgd2lkdGggaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gNC4gUmVtb3ZlIHRoZSBncmV5IGhpZ2hsaWdodCBvbiBsaW5rcyBpbiBpT1MgKG9waW5pb25hdGVkKVxuICAvLyA1LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPU1xuICA6d2hlcmUoOnJvb3QpLFxuICA6d2hlcmUoOmhvc3QpIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyA0XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA1XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNVxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpOyAvLyAxXG4gICAgZm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC11bmRlcmxpbmUtb2Zmc2V0KTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IC8vIDJcbiAgICB0YWItc2l6ZTogNDsgLy8gM1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9sYW5kbWFya3NcIikge1xuICAvKipcbiAgICogTGFuZG1hcmtzXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gIGJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICB9XG5cbiAgLy8gUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUVcbiAgbWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9ICN7JHNlbWFudGljLXJvb3QtZWxlbWVudH0ge1xuICAgID4gaGVhZGVyLFxuICAgID4gbWFpbixcbiAgICA+IGZvb3RlciB7XG4gICAgICAvLyA8aGVhZGVyPiwgPG1haW4+LCA8Zm9vdGVyPiBhcyBjb250YWluZXJzXG4gICAgICBAaWYgJGVuYWJsZS1zZW1hbnRpYy1jb250YWluZXIge1xuICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogdHJ1ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICAgIEBpZiAkZW5hYmxlLXZpZXdwb3J0IHtcbiAgICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRicmVha3BvaW50cyB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwiYnJlYWtwb2ludFwiKSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcInZpZXdwb3J0XCIpO1xuICAgICAgICAgICAgICAgIEBpZiAkZmlyc3QtYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIHZlcnRpY2FsIHNwYWNpbmdzIGZvciA8aGVhZGVyPiwgPG1haW4+LCA8Zm9vdGVyPlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9zZWN0aW9uXCIpIHtcbiAgLyoqXG4gICAqIFNlY3Rpb25cbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2NvbnRhaW5lclwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIENvbnRhaW5lclxuICAgKi9cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgJGZpcnN0LWJyZWFrcG9pbnQ6IHRydWU7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmICR2YWx1ZXMge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJ2aWV3cG9ydFwiKTtcbiAgICAgICAgICBAaWYgJGZpcnN0LWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgJGZpcnN0LWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2dyaWRcIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gIC8qKlxuICAgKiBHcmlkXG4gICAqIE1pbmltYWwgZ3JpZCBzeXN0ZW0gd2l0aCBhdXRvLWxheW91dCBjb2x1bW5zXG4gICAqL1xuXG4gIC5ncmlkIHtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ncmlkLWNvbHVtbi1nYXApO1xuICAgIGdyaWQtcm93LWdhcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWdyaWQtcm93LWdhcCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgIEBpZiBtYXAuZ2V0KCRicmVha3BvaW50cywgXCJtZFwiKSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldChtYXAuZ2V0KCRicmVha3BvaW50cywgXCJtZFwiKSwgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMCUsIDFmcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIG1pbi13aWR0aDogMDsgLy8gSEFDSyBmb3IgY2hpbGRyZW4gaW4gb3ZlcmZsb3dcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L292ZXJmbG93LWF1dG9cIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gIC8qKlxuICAgKiBPdmVyZmxvdyBhdXRvXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gLm92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gIC8qKlxuICAgKiBUeXBvZ3JhcGh5XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBiLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdWIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFkZHJlc3MsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYmxvY2txdW90ZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBvbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBwLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHByZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0YWJsZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB1bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgxLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgzLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg1LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseSk7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgxIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgyIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgyLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgzIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg0IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg0LWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg1IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg1LWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg2IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yKTtcbiAgfVxuXG4gIC8vIE1hcmdpbi10b3AgZm9yIGhlYWRpbmdzIGFmdGVyIGEgYmxvY2tcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShhcnRpY2xlLCBhZGRyZXNzLCBibG9ja3F1b3RlLCBkbCwgZmlndXJlLCBmb3JtLCBvbCwgcCwgcHJlLCB0YWJsZSwgdWwpIHtcbiAgICB+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXRvcCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHAge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSGVhZGluZyBncm91cFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG5cbiAgICA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpOmxhc3QtY2hpbGQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodDogdW5zZXQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdHNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUob2wsIHVsKSB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmdpbi10b3AgZm9yIG5lc3RlZCBsaXN0c1xuICAvLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBuZXN0ZWQgbGlzdHMgaW4gQ2hyb21lLCBFZGdlLCBJRSwgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShkbCwgb2wsIHVsKSA6d2hlcmUoZGwsIG9sLCB1bCkge1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjI1KTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgfVxuXG4gIC8vIEhpZ2hsaWdodGVkIHRleHRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBtYXJrIHtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcik7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gQmxvY2txdW90ZVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMC4yNXJlbSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiBub25lO1xuXG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xuICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICAvLyAxLiBSZW1vdmUgdW5kZXJsaW5lIGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vIDFcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBJbnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnMge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aW5zLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBkZWxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZWwge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHNlbGVjdGlvblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC1zZWxlY3Rpb24tY29sb3IpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvbGlua1wiKSB7XG4gIC8qKlxuICAgKiBMaW5rXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJsaW5rXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktdW5kZXJsaW5lKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTsgLy8gMVxuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lKTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTI1ZW07XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICB0ZXh0LWRlY29yYXRpb24gdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItdW5kZXJsaW5lKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgLy8gU2Vjb25kYXJ5XG4gICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5KTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LXVuZGVybGluZSk7XG5cbiAgICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ29udHJhc3RcbiAgICAgICYuY29udHJhc3Qge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtdW5kZXJsaW5lKTtcblxuICAgICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGEge1xuICAgICZbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvYnV0dG9uXCIpIHtcbiAgLyoqXG4gICAqIEJ1dHRvblxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vyc1xuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBjb250cm9scyBpbiBTYWZhcmlcbiAgLy8gMy4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDNcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyAxXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFBpY29cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBidXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWludmVyc2UpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgIGJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKSxcbiAgICAmOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3csXG4gICAgICAgIDAgMCAwIHJnYmEoMCwgMCwgMCwgMClcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKTpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpLFxuICAgICAgICAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLy8gLnNlY29uZGFyeSwgLmNvbnRyYXN0ICYgLm91dGxpbmVcbiAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5zZWNvbmRhcnksXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJvcmRlcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSk6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRyYXN0XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5jb250cmFzdCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ib3JkZXIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1pbnZlcnNlKTtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSk6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAocHJpbWFyeSlcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLm91dGxpbmUsXG4gICAgW3R5cGU9XCJyZXNldFwiXS5vdXRsaW5lIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAoc2Vjb25kYXJ5KVxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICAgIDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLm91dGxpbmUuc2Vjb25kYXJ5LFxuICAgIFt0eXBlPVwicmVzZXRcIl0ub3V0bGluZSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeSk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnkpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAoY29udHJhc3QpXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgICAgOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbcm9sZT1cImJ1dHRvblwiXSkub3V0bGluZS5jb250cmFzdCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIFNlY29uZGFyeSBidXR0b24gd2l0aG91dCAuY2xhc3NcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmVzZXRcIl0sXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaW52ZXJzZSk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBbZGlzYWJsZWRdXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICA6d2hlcmUoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKVtkaXNhYmxlZF0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICA6d2hlcmUoZmllbGRzZXRbZGlzYWJsZWRdKVxuICAgIDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3JvbGU9XCJidXR0b25cIl0pIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9lbWJlZGRlZFwiKSB7XG4gIC8qKlxuICAgKiBFbWJlZGRlZCBjb250ZW50XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGF1ZGlvLCBjYW52YXMsIGlmcmFtZSwgaW1nLCBzdmcsIHZpZGVvKSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYXVkaW8sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTdcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaWZyYW1lcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShpZnJhbWUpIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICAvLyAyLiBSZXNwb25zaXZlIGJ5IGRlZmF1bHRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMlxuICAgIGhlaWdodDogYXV0bzsgLy8gMlxuICAgIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gMVxuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKHN2Zzpub3QoW2ZpbGxdKSkge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ZnOm5vdCg6cm9vdCksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ZnOm5vdCg6aG9zdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9maWd1cmVcIikge1xuICAvKipcbiAgICogRmlndXJlXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjUpIDA7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9taXNjXCIpIHtcbiAgLyoqXG4gICAqIE1pc2NcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3hcbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGhyIHtcbiAgICBoZWlnaHQ6IDA7IC8vIDJcbiAgICBtYXJnaW46IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2hpZGRlbl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGVtcGxhdGUge1xuICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gY2FudmFzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgLy8gSGVscGVyXG4gICRoZWxwZXItcHJldmlvdXMtdGFnczogXCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXRcIjtcbiAgLyoqXG4gICAqIEJhc2ljcyBmb3JtIGVsZW1lbnRzXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG9wdGdyb3VwLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gICAgZm9udC1zaXplOiAxcmVtOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7IC8vIDFcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRVxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvLyAxXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTBcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaVxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIG9mIGZvY3VzIG91dGxpbmVzIGluIEZpcmVmb3hcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gIFJlbW92ZSB0aGUgZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIDppbnZhbGlkIHN0eWxlcyBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOi1tb3otdWktaW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgaW5jb25zaXN0ZW50IGFwcGVhcmFuY2UgaW4gSUUgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJmaWxlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyBGb3JjZSBoZWlnaHQgZm9yIGFsdGVybmF0aXZlcyBpbnB1dCB0eXBlc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInJhbmdlXCJdKSB7XG4gICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgKDFyZW0gKiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpKSArXG4gICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMikgK1xuICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICk7XG4gIH1cblxuICAvLyBGaWVsZHNldFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gTGFiZWwgJiBsZWdlbmRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBmaWVsZHNldCBsZWdlbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogMC4zNzUpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1sYWJlbC1mb250LXdlaWdodCwgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KSk7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjUpO1xuICB9XG5cbiAgLy8gQmxvY2tzLCAxMDAlXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBSZXNldCBhcHBlYXJhbmNlIChOb3QgQ2hlY2tib3hlcywgUmFkaW9zLCBSYW5nZSBhbmQgRmlsZSlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICB9XG5cbiAgLy8gQ29tbW9ucyBzdHlsZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3cpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuXG4gICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGJvcmRlci1jb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm94LXNoYWRvdyB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlICYgRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICBbcmVhZG9ubHldXG4gICAgKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlICYgRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFtyb2xlPVwic3dpdGNoXCJdLCBbcmVhZG9ubHldKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvY3VzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICBpbnB1dDpub3QoXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgIFt0eXBlPVwicmFuZ2VcIl0sXG4gICAgICBbdHlwZT1cImZpbGVcIl0sXG4gICAgICBbcmVhZG9ubHldXG4gICAgKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0pW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3RbZGlzYWJsZWRdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pXG4gICAgOmlzKGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0pLCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgb3BhY2l0eTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWxbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gQXJpYS1pbnZhbGlkXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgJjpub3QoXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgW3R5cGU9XCJtb250aFwiXSxcbiAgICAgICAgW3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICBbdHlwZT1cIndlZWtcIl0sXG4gICAgICAgIFt0eXBlPVwicmFuZ2VcIl1cbiAgICAgICkge1xuICAgICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW1cbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXTpub3Qoc2VsZWN0KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkKTtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdOm5vdChzZWxlY3QpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKTtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OiAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aClcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKTtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkaXI9XCJydGxcIl0ge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICY6aXMoW2FyaWEtaW52YWxpZF0sIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLCBbYXJpYS1pbnZhbGlkPVwiZmFsc2VcIl0pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDo6cGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdDppbnZhbGlkIHtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBib3R0b20gKE5vdCBDaGVja2JveGVzIGFuZCBSYWRpb3MpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLy8gU2VsZWN0XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0IHtcbiAgICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICZbbXVsdGlwbGVdIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCB7XG4gICAgICAmOm5vdChbbXVsdGlwbGVdLCBbc2l6ZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUZXh0YXJlYVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuXG4gICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24taGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICgxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KSkgK1xuICAgICAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyKSArXG4gICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICApO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQgMC43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvZ3JpZFwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAkaGVscGVyLXByZXZpb3VzLXRhZ3M6ICRoZWxwZXItcHJldmlvdXMtdGFncyArIFwiLCAuZ3JpZFwiO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoI3skaGVscGVyLXByZXZpb3VzLXRhZ3N9KSB7XG4gICAgKyBzbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAtMC43NSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICB9XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICArIHNtYWxsIHtcbiAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgKyBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIElucHV0IGluc2lkZSBhIGxhYmVsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWwge1xuICAgID4gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuMjUpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAvKipcbiAgICogQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICAgKi9cblxuICAvLyBMYWJlbHNcbiAgLy8gTm90IHdvcmtpbmcgaW4gRmlyZWZveCwgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHRoZSBgOmhhcygpYCBwc2V1ZG8tY2xhc3NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCB7XG4gICAgJjpoYXMoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEuMjVlbTtcbiAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC4xMjVlbTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMC41ZW07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyB1bnN0eWxlIElFIGNoZWNrYm94ZXNcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGVja2JveCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAmIH4gbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrYm94ZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1taW51cyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAvLyBSYWRpb3NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMzVlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdW3JvbGU9XCJzd2l0Y2hcIl0ge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY29sb3IpO1xuXG4gICAgLy8gQ29uZmlnXG4gICAgJHN3aXRjaC1oZWlnaHQ6IDEuMjVlbTtcbiAgICAkc3dpdGNoLXdpZHRoOiAyLjI1ZW07XG4gICAgJHN3aXRjaC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICAgLy8gU3R5bGVzXG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgICAmOm5vdChbYXJpYS1pbnZhbGlkXSkge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAkc3dpdGNoLXRyYW5zaXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoI3skc3dpdGNoLXdpZHRofSAtICN7JHN3aXRjaC1oZWlnaHR9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcmlhLWludmFsaWRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICY6Y2hlY2tlZCxcbiAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1zZWFyY2hcIikge1xuICAvKipcbiAgICogSW5wdXQgdHlwZSBzZWFyY2hcbiAgICovXG5cbiAgLy8gOm5vdCgpIGFyZSBuZWVkZWQgdG8gYWRkIFNwZWNpZmljaXR5IGFuZCBhdm9pZCAhaW1wb3J0YW50IG9uIHBhZGRpbmdcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgJlt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW0pO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlclxuICAgICAgICBsZWZ0XG4gICAgICAgIGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMC4xMjVyZW0pO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAmW2FyaWEtaW52YWxpZF0ge1xuICAgICAgICBAaWYgJGVuYWJsZS1pbXBvcnRhbnQge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbVxuICAgICAgICAgICkgIWltcG9ydGFudDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgICAgIGNlbnRlciBsZWZ0IDEuMTI1cmVtLFxuICAgICAgICAgIGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoKSwgdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tdmFsaWQpO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1zZWFyY2gpLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1pbnZhbGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShpbnB1dCkge1xuICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgICAgICZbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtO1xuXG4gICAgICAgICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAgICAgICAgIGNlbnRlciByaWdodCAxLjEyNXJlbSxcbiAgICAgICAgICAgICAgY2VudGVyIGxlZnQgMC43NXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikge1xuICAvKipcbiAgICogQWNjb3JkaW9uICg8ZGV0YWlscz4pXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzZXQgbWFya2VyXG4gICAgICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6LW1vei1saXN0LWJ1bGxldCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gTWFya2VyXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nLCAxcmVtKSAqIDAuNSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tY2hldnJvbik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpub3QoW3JvbGVdKSB7XG4gICAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR5cGUgYnV0dG9uXG4gICAgICAmW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAvLyBNYXJrZXJcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0LCAxLjUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9wZW5cbiAgICAmW29wZW5dIHtcbiAgICAgID4gc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcblxuICAgICAgICAmOm5vdChbcm9sZV0pIHtcbiAgICAgICAgICAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzIHtcbiAgICAgIHN1bW1hcnkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgLyoqXG4gICAqIENhcmQgKDxhcnRpY2xlPilcbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpXG4gICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYm94LXNoYWRvdyk7XG5cbiAgICA+IGhlYWRlcixcbiAgICA+IGZvb3RlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogMC42NilcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgID4gaGVhZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogLTEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgICAgc29saWRcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gICAgICBib3JkZXItdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICBzb2xpZFxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICAgKi9cblxuICAvLyBDb250YWluZXJcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAvLyBNYXJrZXJcbiAgICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgICA+IHN1bW1hcnksXG4gICAgPiBidXR0b24sXG4gICAgPiBhIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCwgMS41KSk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuMjVyZW07XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLy8gVE9ETzogZmluZCBvdXQgd2h5IHdlIG5lZWQgdGhpcyBtYWdpYyBudW1iZXIgKDAuMiByZW0pXG4gICAgICAgIC8vIGZvciB0aGUgbWFya2VyIHRvIGJlIGFsaWduZWQgd2l0aCB0aGUgcmVndWxhciBzZWxlY3RcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwLjJyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8gaW5zaWRlIGEgbmF2XG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICAvLyBPdmVycmlkZSBoZWlnaHRcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gQnV0dG9uIGFzIGEgc2VsZWN0XG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgIDFyZW0gKlxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpICtcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqXG4gICAgICAgIDIgK1xuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqXG4gICAgICAgIDJcbiAgICApO1xuICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpXG4gICAgICBzb2xpZFxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMFxuICAgICAgICAwXG4gICAgICAgIDBcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IGZvY3VzIHZpc2libGUgZnJvbSBhY2NvcmRpb24gY29tcG9uZW50XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQXJpYS1pbnZhbGlkXG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgIH1cblxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duIGluc2lkZSBhIG5hdlxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYgZGV0YWlscy5kcm9wZG93biB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgMDtcblxuICAgID4gc3VtbWFyeSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMHJlbSk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAvLyBPdmVycmlkZSBoZWlnaHRcbiAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICgxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KSkgK1xuICAgICAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIDIpXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLVxuICAgICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICAgIClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3VibWVudVxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgdHJhbnNmb3JtIDBzIGVhc2UtaW4tb3V0IDFzO1xuICAgIH1cblxuICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0wLjUpXG4gICAgICAgICAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSlcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgICAgICZbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIE5vdCB3b3JraW5nIGluIEZpcmVmb3gsIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgYDpoYXMoKWAgcHNldWRvLWNsYXNzXG4gICAgICAmOmhhcyhsYWJlbCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIG9wZW5lZFxuICAvLyBpbnNpZGUgY29udGFpbmVyIHR5cGUgYWNjb3JkaW9uXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gTWVudSBvcGVuZWRcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gIC8vIDEuIEluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSB7XG4gICAgKyB1bCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBvcGFjaXR5IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgICB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgZm9yIGRyb3Bkb3duXG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbiAgLy8gTGFiZWxcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWwgPiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuMjUpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAvKipcbiAgICogR3JvdXAgKFtyb2xlPVwiZ3JvdXBcIl0sIFtyb2xlPVwic2VhcmNoXCJdKVxuICAgKi9cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwic2VhcmNoXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwiZ3JvdXBcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pO1xuXG4gICAgPiAqLFxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSxcbiAgICBzZWxlY3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3JvbGU9XCJidXR0b25cIl0sXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAgIHNlbGVjdCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoKikpIHtcbiAgICAgIC8vIEdyb3VwIGJveCBzaGFkb3cgd2hlbiBhIGJ1dHRvbiBpcyBmb2N1c2VkXG4gICAgICAmOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCBbdHlwZT1cImJ1dHRvblwiXTpmb2N1cywgW3JvbGU9XCJidXR0b25cIl06Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdzogdmFyKFxuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b25cbiAgICAgICAgKTtcblxuICAgICAgICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSksXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHcm91cCBib3ggc2hhZG93IHdoZW4gYW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgJjpoYXMoaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93OiB2YXIoXG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWlucHV0XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQWRhcHQgYm94IHNoYWRvdyBmb3IgYnV0dG9uc1xuICAgICAgICBidXR0b24sXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGJ1dHRvbiBib3ggc2hhZG93IGlmIHdlIGhhdmUgYSBncm91cCBib3ggc2hhZG93XG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgIFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJzZWFyY2hcIl0ge1xuICAgID4gKiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL25hdlwiKSB7XG4gIC8qKlxuICAgKiBOYXZcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcblxuICAvLyBQcmV2ZW50IFZvaWNlT3ZlciBmcm9tIGlnbm9yaW5nIGxpc3Qgc2VtYW50aWNzIGluIFNhZmFyaSAob3BpbmlvbmF0ZWQpXG4gIDp3aGVyZShuYXYgbGkpOjpiZWZvcmUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXFwyMDBCXCI7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgICAgOndoZXJlKGEsIFtyb2xlPVwibGlua1wiXSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSlcbiAgICAgICAgICBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNaW5pbWFsIHN1cHBvcnQgZm9yIGJ1dHRvbnMgYW5kIGZvcm1zIGVsZW1lbnRzXG4gICAgICBidXR0b24sXG4gICAgICBbcm9sZT1cImJ1dHRvblwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0sIFt0eXBlPVwicmFuZ2VcIl0sIFt0eXBlPVwiZmlsZVwiXSksXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLVxuICAgICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICAgIClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgJlthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiXSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcblxuICAgICAgJiB1bCBsaSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWluaW1hbCBzdXBwb3J0IGZvciBhcmlhLWN1cnJlbnRcbiAgICAgICYgYVthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIE5hdlxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFzaWRlIHtcbiAgICBuYXYsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC8vIE1pbmltYWwgc3VwcG9ydCBmb3IgbGlua3MgYXMgYnV0dG9uc1xuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnJlYWRjcnVtYiBSVExcbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYge1xuICAgICAgJlthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiXSB7XG4gICAgICAgICYgdWwgbGkge1xuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICA6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXFxcXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcInV0aWxpdGllcy9hY2Nlc3NpYmlsaXR5XCIpIHtcbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgJiBVc2VyIGludGVyYWN0aW9uXG4gICAqL1xuXG4gIC8vIEJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gQWNjZXNzaWJpbGl0eVxuXG4gIC8vIENoYW5nZSB0aGUgY3Vyc29yIG9uIGNvbnRyb2wgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1jb250cm9sc10ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZSBpbm9wZXJhYmxlIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIGRpc3BsYXkgb24gdmlzdWFsbHkgaGlkZGVuIGFjY2Vzc2libGUgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFVzZXIgaW50ZXJhY3Rpb25cbiAgLy8gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhcmVhLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3VtbWFyeSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdGFiaW5kZXhdIHtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2Rpcj1cInJ0bFwiXSB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidXRpbGl0aWVzL3JlZHVjZS1tb3Rpb25cIikgYW5kIGVuYWJsZS10cmFuc2l0aW9ucyBhbmQgZW5hYmxlLWltcG9ydGFudCB7XG4gIC8qKlxuICAgKiBSZWR1Y2UgTW90aW9uIEZlYXR1cmVzXG4gICAqL1xuXG4gIC8vIEJhc2VkIG9uIDpcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gUmVtb3ZlIGFuaW1hdGlvbnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpXG4gIC8vIDIuIFJlbW92ZSBmaXhlZCBiYWNrZ3JvdW5kIGF0dGFjaG1lbnRzIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICAvLyAzLiBSZW1vdmUgdGltZWQgc2Nyb2xsaW5nIGJlaGF2aW9ycyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZClcbiAgLy8gNC4gUmVtb3ZlIHRyYW5zaXRpb25zIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gKjpub3QoW2FyaWEtYnVzeT1cInRydWVcIl0pLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSk6OmJlZm9yZSxcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDpub3QoW2FyaWEtYnVzeT1cInRydWVcIl0pOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWwgIWltcG9ydGFudDsgLy8gMlxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDsgLy8gMVxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMW1zICFpbXBvcnRhbnQ7IC8vIDFcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsgLy8gMVxuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7IC8vIDNcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7IC8vIDRcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7IC8vIDRcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuXG4vLyBUZW1hIFNvbGl0b1xuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1cImRhcmtcIl0pIHtcblxuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtYmFja2dyb3VuZC1jb2xvciwgI3skbXQtYmFja2dyb3VuZC1jb2xvcn0pO1xuICAtLXBpY28tY29sb3I6IHZhcigtLW10LWNvbG9yLCAjeyRtdC1jb2xvcn0pO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuXG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG5cbiAgLS1waWNvLXByaW1hcnk6IHZhcigtLW10LXByaW1hcnktY29sb3IsICN7JG10LXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjeyRtdC1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1kYXJrZW4sICN7JG10LXByaW1hcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6IHZhcigtLW10LXByaW1hcnktaW52ZXJzZS1jb2xvciwgI3skbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItZGFya2VuLCAjeyRtdC1zZWNvbmRhcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgI3skbXQtY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICN7JG10LWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgI3skbXQtY29udHJhc3QtY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1saWdodGVuLCAjeyRtdC1jb250cmFzdC1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjeyRtdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgI3skbXQtZm9udC1mYW1pbHl9KTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAjeyRtdC1mb250LXNpemV9KTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgI3skbXQtbGluZS1oZWlnaHR9KTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgI3skbXQtZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsICN7JG10LWhlYWRpbmctZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWxldHRlci1zcGFjaW5nOiB2YXIoLS1tdC1sZXR0ZXItc3BhY2luZywgI3skbXQtbGV0dGVyLXNwYWNpbmd9KTtcblxuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xuXG59XG5cbi8vIFRlbWEgRGFya1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdLFxuOnJvb3RbZGF0YS10aGVtZT1cImRhcmtcIl0ge1xuXG5cbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LXRkYXJrLWJhY2tncm91bmQtY29sb3IsICN7JG10LXRkYXJrLWJhY2tncm91bmQtY29sb3J9KTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1jb2xvciwgI3skbXQtdGRhcmstY29sb3J9KTtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcblxuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuXG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1zZWNvbmRhcnk6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1jb250cmFzdDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tbXQtZm9udC1mYW1pbHksICN7JG10LWZvbnQtZmFtaWx5fSk7XG4gIC0tcGljby1mb250LXNpemU6IHZhcigtLW10LWZvbnQtc2l6ZSwgI3skbXQtZm9udC1zaXplfSk7XG4gIC0tcGljby1saW5lLWhlaWdodDogdmFyKC0tbXQtbGluZS1oZWlnaHQsICN7JG10LWxpbmUtaGVpZ2h0fSk7XG4gIC0tcGljby1mb250LXdlaWdodDogdmFyKC0tbXQtZm9udC13ZWlnaHQsICN7JG10LWZvbnQtd2VpZ2h0fSk7XG4gIC0tcGljby1oZWFkaW5nLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCAjeyRtdC1oZWFkaW5nLWZvbnQtd2VpZ2h0fSk7XG4gIC0tcGljby1sZXR0ZXItc3BhY2luZzogdmFyKC0tbXQtbGV0dGVyLXNwYWNpbmcsICN7JG10LWxldHRlci1zcGFjaW5nfSk7XG5cbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWw6IDEuNXJlbTtcblxufVxuXG4iLCJAdXNlICdjb25maWdzL3ZhcmlhYmxlcycgYXMgKjtcblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbXQtaGVhZGluZy1mb250LWZhbWlseSwgI3skbXQtaGVhZGluZy1mb250LWZhbWlseX0pO1xufVxuXG51bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59IiwiaHRtbCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KTtcbiAgICAgICAgPi5zaXRlLWhlYWRlcixcbiAgICAgICAgPi5oZWFkZXItbmF2LW1lbnUsXG4gICAgICAgID4ubWFpbi1ncmlkLFxuICAgICAgICA+LnNpdGUtZm9vdGVyLFxuICAgICAgICA+LnBhZ2UtaW50cm8ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSxcbiAgICAgICAgICAgICAgICAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dvLWxpZ2h0LFxuLmxvZ28tbGlnaHQtYW5kLWRhcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxvZ28tbGlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmJyaWQgKltyb2xlPVwiYnV0dG9uXCJdLFxuLmJyaWQtY2xvc2UgKltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgIGJvcmRlcjogaW5pdGlhbDtcbn1cblxuLmJyaWQgKltyb2xlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLmJyaWQtY2xvc2UgKltyb2xlPVwiYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59IiwiQHVzZSAnLi4vLi4vbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9fc2V0dGluZ3Muc2NzcycgYXMgcGljby1zZXR0aW5ncztcbkB1c2UgJ3Nhc3M6bWFwJztcblxuQG1peGluIG1lZGlhX21pbl93aWR0aCgkc2l6ZSkge1xuICBAaWYgbWFwLmhhcy1rZXkocGljby1zZXR0aW5ncy4kYnJlYWtwb2ludHMsICRzaXplKSB7XG4gICAgJGJwOiBtYXAuZ2V0KG1hcC5nZXQocGljby1zZXR0aW5ncy4kYnJlYWtwb2ludHMsICRzaXplKSwgJ2JyZWFrcG9pbnQnKTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwi4pqg77iPIEJyZWFrcG9pbnQgYCN7JHNpemV9YCBub24gdHJvdmF0byBpbiBQaWNvLlwiO1xuICB9XG59XG4iLCJAdXNlICdjb25maWdzL3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG5cbmJvZHkuaG9tZSB7XG4gICAgPi5zaXRlLWhlYWRlcjpub3QoLmlzLXN0aWNreSkge1xuICAgICAgICAuaGVhZGVyLWNlbnRlcj5hIHtcblxuICAgICAgICAgICAgLmxvZ28tbGlnaHQsXG4gICAgICAgICAgICAubG9nby1saWdodC1hbmQtZGFyayxcbiAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgXG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5ib2R5Pi5zaXRlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogJG10LXNpdGUtaGVhZGVyLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHotaW5kZXg6ICRtdC16aW5kZXgtaGVhZGVyO1xuXG4gICAgJi5pcy1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG5cbiAgICAuaGVhZGVyLWxlZnQsXG4gICAgLmhlYWRlci1yaWdodCB7XG4gICAgICAgIHdpZHRoOiAkbXQtc2l0ZS1oZWFkZXItaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAubWVudS10b2dnbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLmhlYWRlci1jZW50ZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICA+YT5pbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDhweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID5hIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuYm9keSA+IC5zaXRlLWZvb3RlciB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5mb290ZXItc2VwYXJhdG9yIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWNvbHVtbnMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgICAuZm9vdGVyLWNvbCB7XG4gICAgICAgICAgPiBzdHJvbmcge1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgLnczYy1sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdWwge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIFxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjk1cmVtO1xuICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAuZm9vdGVyLWNyZWRpdHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5cbmJvZHkuYWRtaW4tYmFyIHtcbiAgLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgIHRvcDogNDZweDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3ODJweCkge1xuICAgICAgICAgIHRvcDogMzJweDtcbiAgICAgIH1cbiAgfVxufVxuXG4uc2lkZWJhci1oYW1idXJnZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDg1dnc7XG4gIG1heC13aWR0aDogNTYwcHg7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogJG10LXppbmRleC1zaWRlYmFyLWhhbWJ1cmdlcjtcblxuICAmLm9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gICYtb3ZlcmxheSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHotaW5kZXg6IDE5MDA7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYtbG9nbyB7XG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogNDhweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICB9XG5cbiAgJi1jbG9zZSB7XG4gICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xuICAgIH1cbiAgfVxuXG4gICYtY29udHJvbHMge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIC5mb250LXNpemUtY29udHJvbHMge1xuICAgICAgYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRoZW1lLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC4ycmVtO1xuXG4gICAgICBsYWJlbCxcbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtc2VhcmNoIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcblxuICAgICY+KjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC41cmVtO1xuICAgIH1cblxuICAgICY+KjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLW1lbnUge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi10b2dnbGUsXG4gICAgICAmLWxpbmsge1xuICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5zLTIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvY2lhbC1saW5rcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiYm9keT4uaGVhZGVyLW5hdi1tZW51IHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAxLjMzKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuXG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGhlaWdodDogNnB4O1xuICB9XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpIHRyYW5zcGFyZW50O1xuXG4gIC5tZW51LXNjcm9sbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7XG4gICAgICAgIGZvbnQtc2l6ZTogLjk1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4wMXJlbTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1ob3Zlcik7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWNvbnRyYXN0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cblxuYm9keS5ob21lLmhhcy1oZWFkZXItc3RpY2t5IHtcbiAgICA+LnBhZ2UtaW50cm8ge1xuICAgICAgICAuaW50cm8tY29sLWNlbnRlciB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkuaG9tZSB7XG4gICAgPi5wYWdlLWludHJvIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuYm9keT4ucGFnZS1pbnRybyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBtYXJnaW46IDAgYXV0bzsgICAgXG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgIC5pbnRyby1jb2wge1xuXG4gICAgICAgICYuaW50cm8tY29sLWxlZnQsXG4gICAgICAgICYuaW50cm8tY29sLXJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmludHJvLWNvbC1jZW50ZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBoMSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAuaDEtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NSU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuMjVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDhweDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgICAgICAgJi5wYWdlLWludHJvLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAuaW50cm8tY29sIHtcblxuICAgICAgICAgICAgJi5pbnRyby1jb2wtbGVmdCxcbiAgICAgICAgICAgICYuaW50cm8tY29sLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDkwcHhcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pbnRyby1jb2wtY2VudGVyIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG4ubWFpbi1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIFxuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgMCAwIDA7XG4gIFxuICAgICYud2l0aC1zaWRlYmFyIHtcbiAgICAgICAgZ2FwOiAwO1xuICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7XG4gICAgICAgIH1cbiAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aCh4eGwpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMi4yZnIgLjhmcjtcbiAgICAgICAgfVxuICAgIH1cbiAgfSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG4ubWFpbi1jb250ZW50IHtcblxuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5tYWluLXNpZGViYXIge1xuXG4gICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLFxuICAgICAgICAgICAgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICA+LndpZGdldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLndpZGdldC5uay1mZWVkLXJlYWRlci1saXN0LWZlZWQtcnVicmljYSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEge1xuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGF1dG87XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cykgdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDEwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LW1ldGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYW5jaW8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0xLjUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogLjdyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mZWF0dXJlZCAucG9zdC1tZXRhIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29tcGFjdCAucG9zdC1tZXRhIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCIud2lkZ2V0IHtcblxuICAgIC53aWRnZXQtdGl0bGUtaW1nLFxuICAgIC53aWRnZXQtdGl0bGUge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG5cbiAgICAgICAgPmltZyxcbiAgICAgICAgPnNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gICAgICAgICAgICA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aWRnZXQtdGl0bGUtaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAud2lkZ2V0LWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgIGFbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICB9XG4gICAgfVxufSIsIlxuQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbmJsb2NrcXVvdGUge1xuICAgIHBhZGRpbmc6IDAgMCAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGtleWZyYW1lcyBibGlua2VyIHtcbjUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xufVxufVxuLmNvbW1lbnQtZm9ybS11cmwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLndwLWNhcHRpb24ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4ud3AtY2FwdGlvbiBpbWcsXG5pbWcuc2l6ZS1mdWxsLFxuaW1nLnNpemUtbGFyZ2UsXG5pbWcuc2l6ZS1tZWRpdW0sXG5pbWcuc2l6ZS10aHVtYm5haWwge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbmltZywgXG5maWd1cmUsXG5kaXYud3AtY2FwdGlvbiB7XG4gICAgJi5hbGlnbnJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgbWFyZ2luOiAuMnJlbSBhdXRvIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1hcmdpbjogLjJyZW0gMCB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5hbGlnbmxlZnQge1xuICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICBtYXJnaW46IC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogLjJyZW0gdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9ICAgXG4gICAgJi5hbGlnbm5vbmUge1xuICAgICAgICBtYXJnaW46IC4ycmVtIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9ICAgIFxuICAgICYuYWxpZ25jZW50ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICB9XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jd3BhZG1pbmJhciB7XG4gICAgei1pbmRleDogOTk5OTk5OTtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59IiwiLmNvbnRhaW5lci5jb250YWluZXItbGRiMSB7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBib3gtc2hhZG93OiAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSwgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuXG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtbmstYWR2LXByaW50Om5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbmRpdltpZF49Zmx4LV0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46MCBhdXRvO1xufVxuXG5kaXZbaWRePWZseF9uZWNyb10ge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpO1xufVxuXG5kaXZbaWRePWZseC1pbml6aWF0aXZlXSB7XG4gICAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xufVxuXG5kaXZbaWRePWZseC1pbml6aWF0aXZlXTpub3QoOmhhcyg+ICo6bm90KDplbXB0eSkpKSAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuZGl2W2lkXj1mbHgtaW5mZWVkXSB7XG4gICAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpICB7XG4gICAgbWFyZ2luOiAwO1xufSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG5ib2R5LmhvbWUge1xuXG4gICAgbWFpbi5tYWluLWNvbnRlbnQge1xuICAgICAgICAud2lkZ2V0IHtcblxuICAgICAgICAgICAgLndpZGdldC10aXRsZS1pbWcsXG4gICAgICAgICAgICAud2lkZ2V0LXRpdGxlIHtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLndpZGdldF9tdF9saXN0X3Bvc3RzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIC5tb3NhaWNvIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSogLTEpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5tb3NhaWNvIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8gTW9iaWxlOiB1bm8gc290dG8gbCdhbHRyb1xuXG4gICZfX2l0ZW0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBmaWd1cmUge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcblxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAwO1xuXG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyAvLyBmaW50byBjcm9wXG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyAvLyBjZW50cmF0b1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgIH1cblxuICAgICYtdmlkZW8ge1xuICAgICAgZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmZmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAuNzVyZW07XG4gICAgICAgIHJpZ2h0OiAuNzVyZW07XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWdhbGxlcnkge1xuXG4gICAgICBmaWd1cmU6YmVmb3JlLFxuICAgICAgZmlndXJlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC41cmVtO1xuICAgICAgICByaWdodDogLjdyZW07XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAuMTVyZW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cblxuICAgICAgZmlndXJlOmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLjJyZW0sIC0uMnJlbSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1kaXJldHRhIHtcbiAgICAgIGZpZ3VyZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIkxJVkVcIjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1M2UzZTtcbiAgICAgICAgdG9wOiAuMXJlbTtcbiAgICAgICAgbGVmdDogLjFyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgICAgICBmb250LXNpemU6IDAuNjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi0tbWFpbiB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTI7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBoMiB7XG5cbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKS8yKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGluc2V0OiBhdXRvIDAgMCAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxuXG4gICZfX2NhdCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS44KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19sYW5jaW8ge1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cblxuICAmLS0xIHtcbiAgICAubW9zYWljb19faXRlbS0tbWFpbiB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLTIge1xuICAgIC5tb3NhaWNvX19pdGVtLS1tYWluIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5tb3NhaWNvX19pdGVtIHtcbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxuXG4gICYtLW11bHRpIHtcblxuICAgIC5tb3NhaWNvX19pdGVtLS1tYWluIHtcbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMmZyKTtcblxuICAgICAgJj4ubW9zYWljb19faXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKG1kKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAyZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aCh4bCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLnBvc3QtbGlzdC12ZXJ0aWNhbCB7XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBtYXJnaW46IDAgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLXByaXZhdGUge1xuICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLXBpY28tY29sb3IpO1xuICAgIH1cblxuICAgICZfX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcblxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICBmbGV4OiAwIDAgMjIwcHg7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19pdGVtLWRpcmV0dGEge1xuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJMSVZFXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUzZTNlO1xuICAgICAgICAgICAgdG9wOiAuMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IC4xcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tZ2FsbGVyeSB7XG5cbiAgICAgICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlLFxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAuN3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4xNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSguMnJlbSwgLS4ycmVtKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLXZpZGVvIHtcbiAgICAgICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmZmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC43NXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAuNzVyZW07XG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAuMDhyZW0gcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuOCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAycmVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgICAgICAgIFxuICAgIH1cblxuICAgICZfX2xhbmNpbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLmgzY2FyZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuXG4gIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDoxMDAlO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5oM2NhcmRzX19maWd1cmUge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmgzY2FyZHNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyogQmFkZ2Uvb3ZlcmxheSBmb3JtYXRpIHNwZWNpYWxpICovXG4gICAgJi12aWRlbyAuaDNjYXJkc19fZmlndXJlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAuNzVyZW07XG4gICAgICByaWdodDogLjc1cmVtO1xuICAgICAgd2lkdGg6IDA7IGhlaWdodDogMDtcbiAgICAgIGJvcmRlci10b3A6IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b206IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZjtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICB9XG5cbiAgICAmLWdhbGxlcnkgLmgzY2FyZHNfX2ZpZ3VyZTpiZWZvcmUsXG4gICAgJi1nYWxsZXJ5IC5oM2NhcmRzX19maWd1cmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLjVyZW07XG4gICAgICByaWdodDogLjdyZW07XG4gICAgICB3aWR0aDogMS4ycmVtO1xuICAgICAgaGVpZ2h0OiAuOXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC4xNXJlbTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuICAgICYtZ2FsbGVyeSAuaDNjYXJkc19fZmlndXJlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC4ycmVtLCAtLjJyZW0pO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAmLWRpcmV0dGEgLmgzY2FyZHNfX2ZpZ3VyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJMSVZFXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC4xcmVtO1xuICAgICAgbGVmdDogLjFyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZTUzZTNlO1xuICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKS8yKTtcbiAgICB9XG4gIH1cblxuICAmX19tZXRhIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykvMikgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBpbnNldDogYXV0byAwIDAgMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAmX19jYXQge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuOCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IC44cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDJyZW07XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNS41KTtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykvNCk7XG4gIH1cblxuICAmX19sYW5jaW8ge1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgfVxufVxuIl19 */
